Tuesday, 7 March 2017

Elasticsearch

Status : Draft

Untuk proses pencarian teks, gambar dan persamaan matematika Bank Soal menggunakan elasticsearch [1].

Konfigurasi Elasticsearch 



Ketika menggunakan settingan default, terkadang, query ke soal Kimia terjadi error berikut :

Caused by: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024

Ketika menaikkan nilai indices.query.bool.max_clause_count di banksoal//elasticsearch/elasticsearch- 5.0.0/config/elasticsearch.yml menjadi 10000

indices.query.bool.max_clause_count: 10000
Alhamdulillah, error nya lenyap.

Referensi


  1. Belajar Bareng Elastic Search http://elastic.openthinklabs.com/ 





Saturday, 7 January 2017

Dokumentasi : Backup & Restore

Status : Draft

Disini kita ingin melakukan backup database dan folder upload setiap hari pada pukul 12 siang. 

Buat script backup di ~/bin/backup.sh

#!/bin/bash

hari=$(date +"%A")

pg_dump -Fp -U banksoalsbmptn banksoalsbmptn -h 127.0.0.1 >  /backup/banksoalsbmptn/postgresql/$hari.sql

mkdir -p /backup/banksoalsbmptn/webapps/upload/$hari

cp -rf /opt/www/banksoalsbmptn/application/webroot/upload /backup/banksoalsbmptn/webapps/upload/$hari

Buat entri cron :

$crontab  -e

# m h  dom mon dow   command
* 12 * * 1 /home/openthinklabs/bin/backup.sh
* 12 * * 2 /home/openthinklabs/bin/backup.sh
* 12 * * 3 /home/openthinklabs/bin/backup.sh
* 12 * * 4 /home/openthinklabs/bin/backup.sh
* 12 * * 5 /home/openthinklabs/bin/backup.sh
* 12 * * 6 /home/openthinklabs/bin/backup.sh

Friday, 6 January 2017

Dokumentasi : Database

Status : Draft

soal


soal.id_status_soal dan soal soal.status_akhir

soal.id_status_soal nilainya ada 4 kemungkinan :

1;"Diterima"
2;"Diterima dengan perbaikan"
3;"Ditolak"
0;"Belum direview"
4;"Ditolak Admin"

soal.status_akhir nilainya ada 2 kemungkinan, yaitu 1 jika soal.id_status_soalnya bernilai 1 dan 0 jika soal.id_status_soalnya bernilai selain 1. 

soal.status_akhir sama dengan 1, artinya soal tersebut dapat digunakan dalam set, jika nilainya 0, soal tersebut tidak dapat digunakan dalam set. 

Wednesday, 23 November 2016

Instalasi Bank Soal di NGINX

Status : Draft


Konfigurasi NGINX


server {
        #listen 80 default_server;
        #listen 443 ssl;

        server_name banksoal.np;
        #ssl_certificate /etc/nginx/ssl/nginx.crt;
        #ssl_certificate_key /etc/nginx/ssl/nginx.key;

        root /apps/banksoal/application/webroot;

        access_log /var/log/nginx/banksoal/access.log;
        error_log /var/log/nginx/banksoal/error.log;

        fastcgi_read_timeout 30000s;
        client_max_body_size 300M;   # adjust to taste


        location / {
                try_files $uri /index.php/$uri?$args;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }
                include fastcgi_params;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param   PATH_INFO               $fastcgi_path_info;
                fastcgi_param   KOHANA_ENV development;
                fastcgi_pass fpm;
        }
}

/etc/nginx/conf.d/fpm.conf

upstream fpm {
        server unix:/run/php/php7.0-fpm.sock;
}

 /etc/php/7.0/fpm/php.ini

upload_max_filesize = 500M
post_max_size = 500M

Monday, 15 August 2016

Dokumentasi : Daftar Set Soal - Per Kumpulan Mata Pelajaran

Menu : Generate Soal > Per Kumpulan Mata Pelajaran

Bobot (C)


Rumus : Jenjang Kemampuan + (0.2 * Tingkat Kesulitan * Jumlah Soal dengan Kemampuan dan Kesulitan yang sama pada Naskah)

Bobot


Rumus : 0.2 * Tingkat Kesulitan * Jumlah Soal dengan Kemampuan dan Kesulitan yang sama pada Naskah

Thursday, 14 April 2016

Dokumentasi : Pengacakan Soal

Status : Draft

Pendahuluan


Proses Mengacak Soal Secara Otomatis 


...

Melihat Kemiripan Antara Set Soal

Generate Soal > Kemiripan Set Soal
.....

Melihat Distribusi Penggunaan Soal 


.....