Dunia Kode & Teknologi

Strategi Membangun Sistem CBT Anti-Curang: Pelajaran dari Pengembangan SecureExam

S

Shandi Irawan

February 10, 2026 123 Views

Strategi Membangun Sistem CBT Anti-Curang: Pelajaran dari Pengembangan SecureExam

Di era digitalisasi pendidikan, sistem Computer Based Test (CBT) telah menjadi standar baru. Namun, tantangan terbesar bagi pengembang bukan hanya soal menampilkan soal di layar, melainkan bagaimana menjamin integritas hasil ujian tersebut. Baru-baru ini, saya menyelesaikan pengembangan SecureExam, sebuah platform CBT yang dirancang khusus untuk menutup celah kecurangan yang sering terjadi pada aplikasi berbasis web.

 

Masalah Klasik: Celah "Refresh" dan Pindah Tab

Banyak platform CBT sederhana hanya mengandalkan durasi ujian di sisi client (JavaScript). Hasilnya? Siswa cukup menekan tombol refresh atau melakukan re-login untuk mendapatkan durasi tambahan. Belum lagi godaan untuk membuka tab baru guna mencari jawaban di mesin pencari.

 

Bagaimana SecureExam Menyelesaikannya?

1. Keamanan Waktu dengan Server-Side Locking Kita tidak bisa mempercayai waktu di browser siswa. Di SecureExam, saya menerapkan sistem Server-Side Locked Timer. Begitu ujian dimulai, server akan mengunci end_time secara absolut. Jika siswa keluar dan masuk lagi 10 menit kemudian, sisa waktu mereka akan berkurang secara nyata karena sistem menghitung selisih waktu berdasarkan jam server, bukan jam browser.

2. Anti-Cheat Guard dengan Fullscreen API Mengamankan layar adalah kunci. Dengan memanfaatkan Fullscreen API dan event listener visibilitychange, sistem dapat mendeteksi secara real-time kapan siswa mencoba meminimalkan jendela atau berpindah aplikasi. Di SecureExam, saya menambahkan fitur Auto-Submit jika siswa melanggar aturan ini berkali-kali, memberikan efek jera yang nyata.

3. Arsitektur Reaktif dengan Alpine.js Dari sisi User Experience (UX), performa adalah segalanya. Penggunaan Alpine.js memungkinkan dashboard navigasi soal dan statistik jawaban diperbarui secara instan (reactive) tanpa membebani server dengan full-page reload. Ini memastikan siswa tetap fokus pada soal, sementara sistem bekerja di latar belakang mengamankan setiap klik jawaban melalui Axios.

 

Kesimpulan

Membangun sistem ujian bukan hanya soal fungsionalitas CRUD (Create, Read, Update, Delete), tapi soal membangun kepercayaan. Dengan kombinasi Laravel di sisi backend untuk keamanan data dan Alpine.js di sisi frontend untuk reaktivitas, kita bisa menciptakan lingkungan ujian digital yang adil dan transparan.

Bagikan Postingan

Klik ikon untuk menyebarkan cerita ini.

Komentar (0)

Belum ada komentar. Yuk, jadi yang pertama!

Tinggalkan Komentar

Tautan artikel berhasil disalin ke papan klip!