Bab 5: Sistem Ujian Online
Gambar 12: Ujian Nasional Online Sesuai dengan latar belakang digarapnya tugas akhir ini, pada bab ini akan dibahas mengenai pengembangan sistem ujian online menggunakan Hybrid Authentication Protocol Hybrid Authentication Protocol.
Skema Implementasi Pada Hybrid Authentication Protocol Hybrid Authentication Protocol, terdapat tiga instansi yang terlibat: User, server, dan KDC. Begitu pula dengan skema yang penulis buat. Terdapat tiga instansi utama yang terlibat dalam proses ujian. Peserta ujian ditempatkan sebagai User; Lokasi pemrosesan ujian - administrasi, bank soal, dan pengarsipan - ditempatkan sebagai KDC; Penghubung keduanya adalah server. Pemrosesan ujian sendiri dilakukan oleh tiga instansi yang berbeda. Bagian administrasi ujian (DATA) menangani perihal data peserta dan data sekolah yang menyelenggarakan ujian. Bank soal (EXAM) adalah tempat penyimpanan soal dan solusi. Pengarsipan (SCORE) menyimpan nomor soal, jawaban peserta beserta kuncinya. 41
Gambar 13: Skema Implementasi
42
Peran server, walau hanya menjadi penghubung, sangatlah penting. Agar data sensitif tidak dapat disentuh pihak ketiga, DATA, EXAM, dan SCORE tidak secara langsung terhubung dengan internet. Ketiganya diletakkan di jaringan pribadi (dengan NAT). Serverlah yang menghubungkan ketiga instansi tersebut ke User via Internet.
Gambar 14: Skema Jaringan NAT yang sebaiknya diimplementasi adalah Symmetric NAT. Dengan NAT ini, aliran data sensitif (mis: data peserta, soal, dsb) hanya bisa dilakukan oleh User yang telah diverifikasi oleh DATA melalui server. Pihak ketiga yang ingin melakukan pertukaran data sensitif harus ikut terverifikasi. Dengan kata lain, pihak ketiga yang bersangkutan haruslah ikut menjadi peserta ujian. Cara lain mengakses data sensitif adalah masuk ke jaringan pribadi DATA, EXAM, dan SCORE. Untuk melakukan ini, pihak ketiga harus memiliki akses fisik ke jaringan tersebut.
Alur Program Bagian Antar-Muka Dari sudut pandang User, proses ujian online yang dilakukan: 43
Gambar 15: Alur Program 1. Login Di tahap ini peserta ujian memasukkan username dan password untuk kemudian diproses sebagai autentikasi awal.
Gambar 16: Form Login 2. Konfirmasi Setelah sukses melakukan login, peserta ujian diberikan data mengenai diri mereka. Peserta ujian kemudian melakukan konfirmasi mengenai kebenaran data peserta yang tercatat di DATA. Apabila peserta ujian menyatakan ’YA’, peserta akan diberikan form soal. Selain itu, peserta akan keluar dan diharuskan login kembali. 44
Gambar 17: Form Konfirmasi 3. Soal Soal hanya diberikan setelah peserta melewati tahap konfirmasi. Soal yang keluar selalu acak dari EXAM sehingga diharapkan tidak ada peserta yang menerima soal yang identik. Kemungkinan ada dua orang peserta yang mendapatkan soal yang identik adalah 1 :n Pm dengan n adalah banyaknya soal yang tersimpan di EXAM dan m adalah banyaknya soal yang dikirim ke peserta. 4. Hasil Ketika peserta mengirimkan hasil pekerjaannya, jawaban peserta ujian langsung dicocokkan dengan kunci jawaban yang tersimpan di EXAM. Nilai yang didapat langsung ditampilkan di layar. Jawaban benar mendapat nilai 5, salah bernilai -1, dan kosong tidak mendapatkan nilai.
Bagian Proses Login dan Konfirmasi Ketika Pertama kali diakses, program menampilkan form login yang meminta username dan password. User diharuskan memasukkan username dan password miliknya. Setelah itu, program mencari data User berdasarkan username dan password yang dikirim. Apabila ditemukan, data ditampilkan untuk dikonfirmasi. Bila tidak, User ditolak dan harus melakukan login kembali. Sebelum melakukan konfirmasi, User yang telah melalui tahap login masih berstatus member. Untuk berubah status menjadi peserta ujian, User harus melakukan 45
Gambar 18: Form Soal
Gambar 19: Form Nilai
46
konfirmasi data. Proses konfirmasi ini sekaligus sebagai proses untuk membangkitkan challenge dan secret sebagai kunci untuk otentifikasi lanjutan.
Gambar 20: Algoritma Login
Soal Setelah melakukan konfirmasi, soal dipilih secara acak dari bank soal yang tersimpan di EXAM. Index soal dan kunci jawaban soal yang terpilih beserta challenge yang dibangkitkan di proses sebelumnya dikirim ke SCORE; Index soal beserta secret disimpan di EXAM. Data ini dipakai untuk verifkasi dan penanganan bilamana terdapat peserta yang mengalami kesalahan proses. Secret hanya berlaku selama rentang waktu tertentu. Jadi apabila kesalahan terjadi ditengah ujian, peserta masih dapat melanjutkan ujian selama waktu masih tersisa. 47
Gambar 21: Algoritma Soal Hasil Ketika peserta mengirim jawaban, challenge juga dikirim sebagai verifikator. SCORE akan mengambil kunci jawaban soal yang challenge-nya cocok dengan challenge yang telah disimpan sebelumnya. Setelah itu SCORE mengoreksi jawaban peserta dengan kunci, mengategorikan jawaban peserta sebagai jawaban ”benar”, ”salah”, atau ”kosong”, menghitung nilai peserta, dan menyimpan serta menampilkan data tersebut ke peserta.
48
Gambar 22: Algoritma Hasil
49
50