digilib@itb.ac.id +62 812 2508 8800

ABSTRAK Yonas Adiel Wiguna
PUBLIC Alice Diniarti

Pada tugas akhir ini sudah dibuat sebuah perangkat lunak yang dapat digunakan untuk menyelenggarakan ujian secara semi-online. Ujian semi-online adalah ujian serentak di berbagai lokasi sekaligus yang memanfaatkan adanya server lokal di tiap lokasi ujian. Pada ujian semi-online, peserta ujian tidak akan berinteraksi dengan sebuah server pusat, namun hanya dengan server lokal. Penggunaan server lokal ini bertujuan agar tidak diperlukan server yang menangani seluruh peserta ujian sekaligus dan mengatasi masalah jaringan internet tiap lokasi ujian. Dengan adanya server lokal, muncul ancaman terhadap keamanan berkas soal dan jawaban ujian. Karena itu, dibangun sebuah sistem yang menjaga keamanan berkas soal dan jawaban ujian. Sistem ini bertujuan agar lokasi ujian dapat mendapat soal ujian sebelum ujian dimulai dan soal terdekripsi saat ujian dimulai tanpa interaksi antara server pusat dan lokal. Untuk itu, diajukan tiga alternatif solusi. Alternatif pertama adalah menggunakan medium atau agen lain, namun lokasi ujian harus memiliki medium atau agen lain. Alternatif kedua adalah menggunakan enkripsi berbasis waktu, sehingga soal selesai didekripsi saat ujian dimulai dan tidak dapat didekripsi sebelumnya. Namun alternatif ini membutuhkan komputasi tercepat di tiap lokasi ujian. Alternatif ketiga adalah menggunakan secret sharing dan membagikan kunci ke peserta ujian. Dengan demikian, dibutuhkan banyak peserta yang mengumpulkan bagian kuncinya untuk membangun kembali kunci dekripsi, namun keamanan kunci ujian bergantung pada peserta ujian. Jawaban peserta dienkripsi secara simetris menggunakan kunci yang hanya dimiliki peserta tersebut untuk menghindari perubahan jawaban. Kunci digabungkan dengan kunci yang diberikan panitia lokal terlebih dahulu, untuk memastikan peserta hanya dapat mengerjakan dari lokasi ujian. Selain itu, panitia lokal dapat mengunci sesi peserta, untuk mencegah autentikasi dari perangkat lain.