Artikel ini dapat digunakan, disalin, dan disebarluaskan. Cukup cantumkan sumber asli. Jika isinya mengandung kebenaran, semoga memberi kebaikan bagi kita yang memanfaatkannya. Jika ada yang salah, mohon kiranya penulis dimaafkan. Dan sangat baik, jika kesalahan tersebut dapat diberitahukan kepada penulis.
Yanmarshus, 6 Agustus 2007, yan[at]daunsalam[dot]net

Aplikasi Quiz

Beberapa hari yang lalu seorang teman mengajak saya untuk ikut mengisi beberapa sesi dalam acara pelatihan komputer di sebuah hotel di Cisarua, Bogor. Kebetulan juga, karena diperlukan sedikit tes untuk peserta, maka saya buat sebuah aplikasi berbasis web untuk keperluan ini. Aplikasi ini tentu sederhana saja. Yang akan saya ceritakan di sini adalah ide dasar tentang aplikasi quiz ini. Sedangkan kode program yang waktu itu saya buat menggunakan PHP tidak saya sertakan. Mengapa? Malu ah, kodenya masih berantakan :)

Gambaran umum penggunaan adalah seperti berikut :

Tabel yang diperlukan untuk aplikasi ini adalah seperti berikut :

Tabel soal
----------
id       : integer, key
kategori : kode kategori yang merujuk ke tabel kategori
soal     : isi soal
benar    : jawaban benar untuk soal ini
salah1   : jawaban salah
salah2   : jawaban salah
salah3   : jawaban salah
Tabel kategori
--------------
kode : integer, kode kategori
nama : nama kategori
Tabel tugas
-----------
id         : integer, key
user       : data user yang merujuk ke tabel user
idsoal     : id soal yang merujuk ke field id tabel soal
kunci      : tiniyint, kunci jawaban untuk soal yang memiliki id sesuai idsoal
jawaban    : tiniyint, jawaban yang diberikan oleh pengguna
dikerjakan : tiniyint, untuk status, bahwa soal ini sudah dikerjakan 

Bagian-bagian yang ada dalam aplikasi ini adalah :

Tabel kategori hanya diisi dengan kode dan nama kategori. Misalnya ada 3 kategori, maka tabel kategori isinya bisa seperti berikut :

kode : nama kategori
--------------------
1    : Internet
2    : Word Processor
3    : Spreadsheet

Tabel soal diisi dengan soal-soal sesuai kategori yang ada dalam tabel kategori. Untuk masing-masing kategori, jumlah soal sebaiknya lebih banyak dari yang akan dikerjakan peserta. Misalnya kategori Internet akan dikerjakan oleh masing-masing peserta sebanyak 10 soal, maka sebaiknya kita buat sebanyak 25 soal misalnya. Dari 25 soal ini akan dipilih secara acak sebanyak 10 soal yang akan dikerjakan user. Dan seorang user mendapat 10 soal yang bisa berbeda dengan 10 soal yang dikerjakan user lainnya.

Yang menjadi ide utama di sini adalah penggunaan tabel tugas. Soal yang akan ditampilkan pada pengguna ketika menjalani tes dengan aplikasi ini diambil dari tabel tugas. Jika tabel tugas ini masih kosong, maka user tidak akan memperoleh soal, meskipun tabel soal sudah berisi sejumlah soal.

Untuk mengisi tabel tugas ini, dilakukan langkah sebagai berikut :

Proses mengerjakan oleh pengguna adalah seperti berikut :

Untuk memberi nilai, tinggal bandingkan kunci dan jawaban yang dikirim oleh peserta.

Apakah keterangan di atas cukup membingungkan Anda? Aha, saya juga dibuat bingung bagaimana cara menerangkannya dengan kata-kata agar menjadi jelas :) Jadi, nikmati saja.