File soal.php Halaman Untuk Peserta a. File peserta.php

224 mengambil soal dari database query = SELECT FROM un_cbt.un_soal JOIN un_cbt.un_daftar_tes USINGkd_paket_soal join un_cbt.un_peserta USINGkd_grup where kd_paket_soal={_SESSION[kd_paket_soal]} and kd_peserta={_SESSION[kdpeserta]} and kd_judul_tes={_SESSION[kd_judul_tes]} ORDER BY RAND; result= mysql_queryquery; jum_soal = mysql_num_rowsresult; per_page = 1; page_awal = page_now = 1; page_akhir = ceiljum_soal per_page; page = 1; menampilkan soal no=0; include ..soal.php; } if isset_GET[ajax] _GET[ajax] == simpanjawaban { echo pre. print_r_GET, 1 .pre; proses parsing data untuk diinsert data_to_insert = array; foreach _GET as key = get { if key == ajax { continue; } if substrkey,0,6==answer { no = substrkey,6; data_to_insert[no][answer] = get; } if substrkey,0,13==kd_nomor_soal{ no = substrkey,13; data_to_insert[no][kd_soal] = get; } } echo answer pertama . data_to_insert[1][answer]; echo br; echo kode soal pertama . data_to_insert[1][kd_soal]; proses menentukan skor for i=1; i=no ;i++ { echo data_to_insert[i][answer]; echo data_to_insert[i][kd_soal]; mengubah data array ke data string untuk membuat seleksi pengambilan soal yang cocok kd_soal_jawaban = data_to_insert[i][kd_soal]; mengambil soal yang mau dicocokkan query = SELECT FROM un_cbt.un_soal JOIN un_cbt.un_daftar_tes USINGkd_paket_soal join un_cbt.un_peserta USINGkd_grup where kd_paket_soal={_SESSION[kd_paket_soal]} and kd_peserta={_SESSION[kdpeserta]} and kd_judul_tes={_SESSION[kd_judul_tes]} and kd_soal=kd_soal_jawaban; result= mysql_queryquery; datasoal=mysql_fetch_arrayresult; menyeleksi kunci soal dengan jawaban siswa kemudian memberi skor if data_to_insert[i][answer]==datasoal[kunci_soal] { data_to_insert[i][skor_jawaban]=1; } else { data_to_insert[i][skor_jawaban]=0; } } nilai=0; proses menyimpan data for i=1; i=no ;i++ { mengubah data array ke data string untuk diinput ke database kd_soal_jawaban = data_to_insert[i][kd_soal]; jawaban = data_to_insert[i][answer]; skor_jawaban = data_to_insert[i][skor_jawaban]; echo _SESSION[kd_tes]; mysql_queryINSERT INTO un_cbt.un_detail_tes kd_tes, kd_soal, jawaban, skor_jawaban VALUES{_SESSION[kd_tes]},kd_soal_jawaban ,jawaban,skor_jawaban; nilai=nilai+skor_jawaban; } nilaiakhir=nilai100no; proses memasukkan nilai akhir ke database mysql_queryUPDATE un_cbt.un_tes SET nilai=nilaiakhir WHERE kd_tes= {_SESSION[kd_tes]}; tampilan setelah selesai tes include sukses_simpan_jawaban.php; } ?

e. File soal.php

style .tombol-nav { width:18px; margin-top:3px; margin-right:2px; } style div form id=durasiinput type=hidden name=durasi value=?php echo _SESSION[durasi]?form ?php echo div class=soal_ujian page_.page_now.? 225 -- untuk daftar soal -- div id=daftarsoal style=margin-bottom:1em; display:none; h4Daftar Soalh4hr style=margin-top:5px; margin-bottom:10px ?php nomorsoal = mysql_num_rowsresult; nomor=1; whilenomor=nomorsoal{ echo a id=nav-nomor class=btn tombol-nav onclick=jumpnomor; value=.nomor.nomora; nomor++; } ? p style=margin-top:10px;bketerangan: bbiru sudah terisi jawaban, putih jawaban kosong p hr style=margin-top:15px; margin-bottom:0px div -- tombol navigasi -- div class=pull-right style=margin-bottom:1em; a style=display: none; id=btn-prev href=_ onclick=prev class=btn btn-successSebelumnyaa a id=btn-next href=_ onclick=next class=btn btn-infoSelanjutnyaa a id=jwbn href=_ onclick=konfirmasi class=btn btn-primary btn-large pull- rightKirim Jawabana a id=hideshow value=hideshow class=btnDaftar Soala div -- soal -- form id=form_soal table class=table tr th style=width:20pxbNo.bth thcenterbSoalbcenterth ?php echo tr; whilesoal = mysql_fetch_assocresult{ no++; if no per_page page_now{ page_now++; } isisoal = soal[isi_soal]; isisoal = str_replaceA., input type=radio onclick=tandaisudahno name=\answer.no.\ value=A A., isisoal; isisoal = str_replaceB., input type=radio onclick=tandaisudahno name=\answer.no.\ value=B B., isisoal; isisoal = str_replaceC., input type=radio onclick=tandaisudahno name=\answer.no.\ value=C C., isisoal; isisoal = str_replaceD., input type=radio onclick=tandaisudahno name=\answer.no.\ value=D D., isisoal; isisoal = str_replaceE., input type=radio onclick=tandaisudahno name=\answer.no.\ value=E E., isisoal; default_jawaban = input type=radio name=\answer.no.\ value=kosong checked=checked style=display:none;; echo tr class=row_soal page=.page_now.; echo td.no.td; echo td.isisoal.default_jawaban.td; kodesoal = soal[kd_soal]; echo input type=hidden name=kd_nomor_soalno value=kodesoal; echo tr; echo a class=btn value=.no.noa; } ? table form div div id=konfirmasi class=modal hide fade div class=modal-header button type=button class=close data- dismiss=modal aria-hidden=truetimes;button div div class=modal-body center h3Ada jawaban yang belum terisi.h3 h4Apakah anda yakin ingin melanjutkan kirim jawaban?h4center div div class=modal-footer form centertableth tda data- dismiss=modal class=btn btn-danger btn-large style=width:75px onclick=jawabLanjutkanatd tda data- dismiss=modal class=btn btn-large style=width:75pxBatalatd thtablecenter form div div div id=kurang15 class=modal hide fade div class=modal-header button type=button class=close data- dismiss=modal aria-hidden=truetimes;button div div class=modal-body center h3Waktu kurang 15 menit.h3 h4Segera selesaikan pekerjaan anda.h4center 226 div div class=modal-footer form centertableth tda data- dismiss=modal class=btn btn-large style=width:75pxOKatd thtablecenter form div div script type=textjavascript untuk slide daftar soal jQuerydocument.readyfunction{ jQueryhideshow.onclick, functionevent { jQuerydaftarsoal.toggleshow; }; }; var page = 1; var page_akhir = ?php echo page_akhir; ?; load pertama kali load_halamanpage; skrip untuk timer countdown mengambil data durasi dari database var durasi=durasi.serialize.replacedurasi=, ; mengolah data menit menjadi milisekon var count=durasi60000; mengatur perulangan fungsi timer setiap 1000 milisekon var counter=setIntervaltimer,1000; fungsi untuk timer function timer { count=count-1000; menghitung konversi ke jam, menit, dan detik seconds = Math.floorcount100060; minutes = Math.floorcount10006060; hours = Math.floorcount1000606024; alert; ifcount=0 { clearIntervalcounter; waktuhabis; return; } document.getElementByIdtimer.innerHTML=Wa ktu Tersisa : + hours + jam + minutes+ menit + seconds+ detik; } skrip alert 15 menut function alert { ifcount==900000 { kurang15.modalshow; } } skrip ketika waktu habis function waktuhabis{ alertMaaf. Waktu telah habis.; waktuhabis.modalshow; .blockUI{message: div class=modal-headerdivdiv class=modal- bodycenterh3Maaf waktu habis.h3h4Waktu telah habis. Anda tidak diperkenankan mengerjakan lagi.h4centerdivdiv class=modal- footerformformdiv}; .blockOverlay.attrtitle,Klik untuk keluar.click.unblockUI; jawab; } skrip konfirmasi terhadap jawaban ketika hendak kirim dan simpan jawaban function konfirmasi{ var query = form_soal.serialize.replace22g, ; var carikosong = query.searchkosong; if carikosong0 { menampilkan dialog box ketika masih ada soal yang belum terjawab var k = confirmAda jawaban yang masih belum terisi. Apa yakin ingin kirim jawaban?; if k == true { jawab; } } else { jawab; } konfirmasi.modalshow; } else { jawab; } } skrip untuk menyimpan dan menginput jawaban ke database function jawab{ var query = form_soal.serialize.replace22g, ; .ajax{ url: handlerajax_handler.php?ajax=simpanjawaban, data: query, success: functionresult{ div1.htmlresult; console.logresult; soal.htmlresult; } }; } function sembunyikan_semua { .row_soal.hide } function tampilkan_barispage { tr[page=+page+].show } fungsi untuk ke halaman sesudahnya function next { page += 1; load_halamanpage; } 227 fungsi untuk ke halaman sebelumnya function prev { page -= 1; load_halamanpage; } fungsi untuk menampilkan data di halaman function load_halamanpage { if page 1 { btn-prev.show; } else { btn-prev.hide; } if page== page_akhir { btn-next.hide; jwbn.show; } else { btn-next.show; jwbn.hide; } menampilkan blink biar keliatan ketika habis ngeload halaman .blockUI{ message: null }; setTimeout.unblockUI, 500; perintah menampilkan sembunyikan_semua; tampilkan_barispage; } function tandaisudahnomor{ nav-+nomor.addClassbtn- primary; } function jumpnomor{ page = nomor; load_halamannomor; } script

f. File handlersukses_simpan_jawaban.php

Dokumen yang terkait

PENGEMBANGAN MEDIA PEMBELAJARAN BERBASIS MULTIMEDIA INTERAKTIF PADA MATA PELAJARAN TEKNIK ELEKTRONIKA DASAR DI SMK NEGERI 1 BANSARI TEMANGGUNG.

2 4 118

PENGEMBANGAN MEDIA PEMBELAJARAN CATU DAYA PADA MATA PELAJARAN ELEKTRONIKA DASAR UNTUK SEKOLAH MENENGAH KEJURUAN (SMK).

0 1 104

PENGEMBANGAN MEDIA PEMBELAJARAN INTERAKTIF MATERI FLIP-FLOP PADA MATA PELAJARAN TEKNIK ELEKTRONIKA DASAR UNTUK PESERTA DIDIK KELAS X TEKNIK ELEKTRONIKA INDUSTRI DI SMK NEGERI 2 PURWOKERTO.

1 2 293

PENGARUH PENGGUNAAN MEDIA PEMBELAJARAN ELECTRONIC WORK BENCH (EWB) DAN PROTEUS TERHADAP PENCAPAIAN KOMPETENSI PADA MATA PELAJARAN TEKNIK ELEKTRONIKA DASAR SISWA KELAS X TEKNIK ELEKTRONIKA INDUSTRI SMK N 2 PENGASIH.

2 12 252

Pengembangan Trainer Mikrokontroler AT89S51 sebagai Media Pembelajaran pada Mata Pelajaran Mikrokontroler Program Keahlian Teknik Elektronika Industri di SMK Negeri 1 Nanggulan.

0 0 213

PENGEMBANGAN MEDIA PEMBELAJARAN TRANSISTOR MENGGUNAKAN TRAINER TRANSISTOR PADA MATA PELAJARAN ELEKTRONIKA DASAR KELAS X TEKNIK ELEKTRONIKA INDUSTRI SMK MUHAMMADIYAH PRAMBANAN.

2 3 152

PENGEMBANGAN MODUL TEKNIK ELEKTRONIKA DASAR PADA MATA PELAJARAN TEKNIK ELEKTRONIKA DASAR KELAS X TEKNIK AUDIO VIDEO DI SMK NEGERI 2 YOGYAKARTA.

1 9 255

Pengembangan Sistem Pengujian Terkomputerisasi untuk Kompetensi Bidang Kejuruan Siswa SMK di DIY

0 1 14

PENGEMBANGAN MEDIA PEMBELAJARAN INTERAKTIF MATERI FLIP-FLOP PADA MATA PELAJARAN TEKNIK ELEKTRONIKA DASAR UNTUK PESERTA DIDIK KELAS X TEKNIK ELEKTRONIKA INDUSTRI DI SMK NEGERI 2 PURWOKERTO.

1 2 293

PENGEMBANGAN SISTEM TES DIAGNOSTIK KESULITAN BELAJAR KOMPETENSI DASAR KEJURUAN SISWA SMK.

0 1 69