Referensi & Keamanan
Backup Database & Keamanan Data
Penjelasan mekanisme pencadangan otomatis database SQLite (auto-backup), pemulihan data, serta arsitektur keamanan ujian di NILUJI.
Keamanan hasil ujian dan ketahanan data lokal merupakan prioritas utama pada arsitektur NILUJI.
Pencadangan Otomatis (Auto-Backup 14 Salinan Terakhir)
Setiap kali aplikasi desktop NILUJI dijalankan di komputer proktor:
- Sistem secara otomatis menyalin database aktif (
cbt.sqlite) menggunakan mekanisme konsisten SQLite ke dalam subdirektoribackups/dengan format nama berkascbt-backup-YYYYMMDD-HHMMSS.sqlite. - Sistem menyimpan hingga 14 berkas cadangan terakhir dan menghapus cadangan yang lebih lama secara otomatis agar ruang penyimpanan tetap hemat.
- Selain pencadangan otomatis, guru/proktor juga dapat membuat salinan cadangan kapan saja sebelum atau sesudah ujian penting.
Cara Memulihkan (Restore) Database dari Cadangan:
Jika Anda ingin memindahkan seluruh data sekolah ke komputer proktor baru atau memulihkan cadangan:
- Tutup aplikasi NILUJI.
- Buka folder data aplikasi (
%APPDATA%\com.narr07.nilujipada Windows). - Salin berkas cadangan dari folder
backups/lalu ganti namanya menjadicbt.sqlitedi folder utamacom.narr07.niluji(beserta folderuploads/jika memindahkan antar-komputer). - Buka kembali aplikasi NILUJI.
Ringkasan Lapisan Keamanan Ujian
| Lapisan Proteksi | Cara Kerja di NILUJI |
|---|---|
| Timer Berbasis Server (Server-Relative Timer) | Sisa waktu ujian dihitung dari selisih waktu server (started_at + duration + extra_minutes - server_now). Mengubah jam pada pengaturan HP/laptop siswa tidak memengaruhi sisa waktu ujian. |
| Penolakan Jawaban Saat Waktu Habis | Endpoint /api/exam/answer di server Rust memeriksa batas waktu sesi secara ketat. Jawaban yang dikirim melewati batas waktu ujian (+ grace period toleransi jaringan) otomatis ditolak. |
| Kunci Satu Perangkat (Single-Device Lock) | Saat siswa memulai ujian, sesi diikat pada device_token unik perangkat tersebut. Login dari perangkat kedua akan diblokir kecuali pengawas menekan tombol Buka Kunci Perangkat. |
| PIN Peserta 6 Digit | Mencegah siswa menebak atau meminjam NISN teman sekelasnya tanpa memegang fisik Kartu Peserta Ujian. |
| Acak Opsi & Soal Deterministik | Urutan soal PG, opsi A-D, dan soal Esai diacak menggunakan hash seed (session_id, question_id). Urutan opsi pada layar siswa tetap stabil saat halaman di-refresh, namun berbeda antar-siswa yang duduk bersebelahan. |
| Validasi Path & CSP Ketat | Perintah baca/tulis berkas di Tauri dilengkapi penjaga path validation yang memblokir akses ke berkas database mentah maupun direktori sistem operasi. |
Panduan Portal CBT Siswa (/cbt)
Cara siswa masuk ke halaman ujian lokal, menggunakan fitur Ragu-ragu, mengatur ukuran teks, memahami indikator penyimpanan, dan pintasan keyboard.
Tanya Jawab & Solusi Masalah (FAQ)
Kumpulan solusi cepat untuk kendala jaringan, login siswa, impor soal, dan pelaksanaan ujian di lapangan.