BAB III ANALISIS DAN PERANCANGAN SISTEM
4.2 Pembuatan Database
4.4.16 Tampilan Form Perhitungan
Form perhitungan adalah form yang digunakan untuk menghitung indeks kesukaran aitem, indeks diskriminasi aitem, dan koefisien reliabilitas set sejenis. Untuk menuju form perhitungan maka admin P2TKP harus mengklik menu perhitungan pada menu admin P2TKP. Pertama-tama admin P2TKP diminta untuk menentukan set ujian mana yang akan dihitung yaitu dengan memilih tahun akademik dan gelombang. Apabila admin P2TKP tidak memilih tahun akademik dan gelombang terlebih dahulu, maka akan muncul peringatan untuk memilih tahun akademik dan gelombang terlebih dahulu. Tampilan form perhitungan dapat dilihat pada Gambar 4.26.
Admin P2TKP akan melakukan perhitungan dengan cara memilih satu per satu set sejenis dari set ujian yang telah dipilih, misal ingin melakukan perhitungan pada set soal penalaran verbal, maka admin P2TKP harus menekan link hitung pada data penalaran verbal dan admin P2TKP akan mendapatkan hasil perhitungan dari set sejenis penalaran verbal. Tampilan form hasil perhitungan dapat dilihat pada Gambar 4.27.
Gambar 4.27 TampilanForm Hasil Perhitungan
Dari tampilan form di atas terlihat bahwa ada tiga macam perhitungan yang dikerjakan oleh sistem, yaitu perhitungan indeks kesukaran setiap aitem, indeks diskriminasi setiap aitem, dan koefisian reliabilitas set sejenis. Pada saat sistem melakukan perhitunngan indeks kesukaran setiap aitem, indeks diskriminasi setiap aitem, dan koefisien reliabilitas setiap set sejenis, hal pertama yang dilakukan sistem yaitu sistem harus mengetahui terlebih dahulu detail soal / aitem dari jenis soal yang akan dihitung yaitu dengan men-select detail soal dari jenis soal yang dipilih. Perintah untuk men-select detail soal tersebut adalah:
$query_select_ds=" SELECT dsu.kode_set_ujian, dsu.kode_sejenis, dss.kode_dss, ds.kode_ds FROM detail_set_ujian dsu,
detail_set_sejenis dss, detail_soal ds WHERE dsu.kode_dsu=$kdsu and dss.kode_sejenis=dsu.kode_sejenis and
ds.kode_dss=dss.kode_dss and
ds.kode_set_ujian=dsu.kode_set_ujian;";
Pada perhitunngan indeks kesukaran setiap aitem, setelah detail soal diketahui maka sistem harus mengetahui calon mahasiswa yang mengerjakan set sejenis itu. Perintah untuk men-select calon mahasiswa tersebut adalah:
$query_select_jumlah_calon_mhs="SELECT c.no_pendaftaran, j.skor FROM calon_mhs c, jawaban j WHERE
c.kode_set_ujian=$kode_set_ujian and
j.no_pendaftaran=c.no_pendaftaran and j.kode_ds=$kode_ds;";
Setelah data detail soal dan calon mahasiswa diketahui maka sistem dapat melakukan perhitungan indeks kesukaran masing-masing aitem yaitu dengan menghitung jumlah penjawab benar dan menghitung jumlah penjawab salah terlebih dahulu. Perintah untuk perhitungan indeks kesukaran masing-masing aitem dan nilai pq adalah:
while(list($no_pendaftaran,$skor)=mysql_fetch_array($execute_quer y_select_jumlah_calon_mhs)){ if($skor==1) { $jawab_benar++; } } $p=$jawab_benar/$jumlah_mhs; $pq=(1-$p)*$p;
Setelah sistem melakukan perhitungan maka hasil perhitungan tersebut akan disimpan dalam database, yaitu sistem akan melakukan peng-update-an pada tabel detail_soal. Perintah untuk peng-update-an tabel detail soal adalah:
$query_update_detail_soal = "UPDATE detail_soal SET p='$p', pq='$pq' WHERE kode_ds='$kode_ds' ;";
Pada perhitunngan indeks diskriminasi setiap aitem, setelah detail soal diketahui maka sistem harus mengetahui calon mahasiswa kelompok tinggi dan calon mahasiswa kelompok rendah dan penjawab benar dari masing-masing kelompok tersebut. Perintah untuk men-select jumlah calon mahasiswa dari kelompok tinggi dan penjawab benar dari kelompok tinggi tersebut adalah:
$query_select_max_nil="SELECT j.skor FROM nilai n,jawaban j where n.kode_dsu=$kdsu and j.no_pendaftaran=n.no_pendaftaran and
j.kode_ds=$kode_ds order by nilai desc limit $jum_mhs_kel;"; $execute_query_select_max_nil = mysql_query($query_select_max_nil); while(list($skor)=mysql_fetch_array($execute_query_select_max_nil )){ if($skor==1) { $jawab_benar++; } }
Perintah untuk men-select jumlah calon mahasiswa dari kelompok rendah dan penjawab benar dari kelompok rendah tersebut adalah:
$query_select_min_nil="SELECT j.skor FROM nilai n,jawaban j where n.kode_dsu=$kdsu and j.no_pendaftaran=n.no_pendaftaran and
j.kode_ds=$kode_ds order by nilai asc limit $jum_mhs_kel;"; $execute_query_select_min_nil = mysql_query($query_select_min_nil); while(list($skor)=mysql_fetch_array($execute_query_select_min_nil )){ if($skor==1) { $jawab_benar2++; } }
Setelah data calon mahasiswa diketahui maka sistem dapat melakukan perhitungan indeks diskriminasi setiap aitem Perintah untuk perhitungan indeks diskriminasi setiap aitem adalah:
$pt=$jawab_benar/$jum_mhs_kel; $pr=$jawab_benar2/$jum_mhs_kel; $d=$pt-$pr;
Setelah sistem melakukan perhitungan maka hasil perhitungan tersebut akan disimpan dalam database, yaitu sistem akan melakukan peng-update-an pada tabel detail_soal. Perintah untuk peng-update-an tabel detail soal adalah:
$query_update_detail_soal = "UPDATE detail_soal SET d='$d' WHERE kode_ds='$kode_ds' ;";
Pada perhitunngan koefisien reliabilitas, setelah detail soal diketahui maka sistem harus mengetahui jumlah nilai pq. Perintah untuk men-select jumlah nilai pq adalah:
$sum_pq=$sum_pq+$pq;
Setelah jumlah nilai pq diketahui maka sistem akan menghitung rata-rata nilai dari calon mahasiswa yang mengerjakan set ujian tersebut. Perintah untuk menghitung rata-rata nilai adalah:
$query_hitung_rata2_nilai="SELECT * FROM nilai where kode_dsu=$kdsu;"; $execute_query_hitung_rata2_nilai = mysql_query($query_hitung_rata2_nilai); $jumlah_peserta=mysql_num_rows($execute_query_hitung_rata2_nilai) ; while($result_query_hitung_rata2_nilai=mysql_fetch_array($execute _query_hitung_rata2_nilai)){ $nilai=$result_query_hitung_rata2_nilai["nilai"]; $sum_nilai=$sum_nilai+$nilai; $rata2_nilai=$sum_nilai/$jumlah_peserta; }
Setelah menghitung rata-rata nilai maka sistem akan menghitung varian skor tes (sx2). Perintah untuk perhitungan varian skor tes adalah:
$query_hitung_sigma_rata2_nilai="SELECT * FROM nilai where kode_dsu=$kdsu;"; $execute_query_hitung_sigma_rata2_nilai = mysql_query($query_hitung_sigma_rata2_nilai); while($result_execute_query_hitung_sigma_rata2_nilai=mysql_fetch_ array($execute_query_hitung_sigma_rata2_nilai)){ $nilai=$result_execute_query_hitung_sigma_rata2_nilai["nilai"]; $sigma_rata2_nilai=($nilai-$rata2_nilai); $pangkat__sigma_rata2_nilai=$sigma_rata2_nilai*$sigma_rata2 _nilai; $sigma2_rata2_nilai=$sigma2_rata2_nilai+$pangkat__sigma_rat a2_nilai; }
Setelah sistem mengetahui detail soal, jumlah nilai pq, dan nilai varian skor tes, maka sistem akan menghitung nilai koefisien reliabilitas set ujian tersebut. Perintah untuk perhitungan nilai koefisien reliabilitas adalah:
$s_kuadrat=$sigma2_rata2_nilai/($jumlah_peserta-1); $reliabilitas1=$jumlah_soal/($jumlah_soal-1); $reliabilitas2=1-($sum_pq/$s_kuadrat);
$reliabilitas=$reliabilitas1*$reliabilitas2;
Setelah sistem melakukan perhitungan koefisien reliabilitas maka hasil perhitungan tersebut akan disimpan dalam database, yaitu sistem akan melakukan peng-update-an pada tabel detail_set_ujian. Perintah untuk peng-update-an tabel detail_set_ujian adalah:
$query_update_detail_set_ujian = "UPDATE detail_set_ujian SET reliabilitas='$reliabilitas' WHERE kode_dsu='$kdsu';";