Violation Tracker
Violation Tracker mendeteksi dan mencatat pelanggaran siswa secara otomatis selama ujian berlangsung, memastikan integritas ujian tetap terjaga.
Jenis Pelanggaran
Sistem mendeteksi berbagai jenis pelanggaran tergantung platform yang digunakan siswa:
Browser Biasa (Web)
| Pelanggaran | Cara Deteksi |
|---|---|
| Keluar Fullscreen | Siswa menekan Escape, minimize, atau keluar dari mode fullscreen |
| Berpindah Tab | Siswa membuka tab baru atau berpindah ke aplikasi lain (visibility change API) |
| Resize Window | Siswa mengubah ukuran jendela browser secara manual |
| Split Screen | Membagi layar di mobile — terdeteksi via rasio viewport vs layar fisik |
| DevTools | Membuka panel developer/inspect element (detection via resize + debugger) |
Secure Browser (Desktop & Mobile)
Semua pelanggaran di atas ditambah:
| Pelanggaran | Cara Deteksi |
|---|---|
| App Switch | Berpindah ke aplikasi lain di luar secure browser |
| Screenshot | Mencoba mengambil tangkapan layar (blocked + tercatat) |
| Copy/Paste | Mencoba menyalin atau menempel teks (clipboard blocked) |
| Shortcut Keyboard | Menekan Alt+Tab, Alt+F4, Ctrl+Alt+Del, dan shortcut lainnya |
💡 Rekomendasi: Untuk deteksi pelanggaran paling lengkap, pastikan siswa menggunakan Secure Browser.
Sistem 3-Strike
Setiap pelanggaran dihitung dan diakumulasi per sesi ujian:
Pelanggaran ke-1
Peringatan ditampilkan ke siswa — "Anda terdeteksi melakukan pelanggaran." Siswa masih bisa melanjutkan ujian
Pelanggaran ke-2
Peringatan kedua ditampilkan dengan nada lebih serius — "Pelanggaran kedua terdeteksi. Satu pelanggaran lagi akan menyebabkan akses Anda diblokir."
Pelanggaran ke-3 — BLOKIR
Akses siswa ke ujian dicabut secara permanen. Halaman "AKSES DIBLOKIR" ditampilkan. Siswa harus menghubungi admin/pengawas untuk banding
⚠️ Penting: Blokir bersifat permanen per sesi ujian. Admin harus membuka blokir secara manual jika ingin memberikan kesempatan mengulang.
Melihat Log Pelanggaran
Login sebagai Admin dan buka menu Pelanggaran dari sidebar
Pilih jadwal ujian yang ingin ditinjau dari dropdown filter
Daftar siswa beserta jumlah pelanggaran masing-masing akan ditampilkan dalam tabel
Detail
Klik nama siswa untuk melihat timeline pelanggaran — menampilkan urutan kronologis setiap pelanggaran yang terjadi
Informasi yang Dicatat
Setiap pelanggaran menyimpan data lengkap:
| Field | Keterangan |
|---|---|
| Timestamp | Waktu tepat pelanggaran terjadi (format: tanggal dan jam) |
| Jenis Pelanggaran | Kategori: tab switch, fullscreen exit, split screen, dll |
| Siswa | Nama dan NISN siswa yang melakukan pelanggaran |
| Jadwal Ujian | Ujian yang sedang berlangsung saat pelanggaran terjadi |
| Perangkat | Browser biasa atau Secure Browser (Desktop/Mobile) |
| Total Akumulasi | Jumlah pelanggaran kumulatif siswa di sesi tersebut |
Tindakan yang Bisa Dilakukan
| Aksi | Keterangan |
|---|---|
| Lihat Ringkasan | Melihat total pelanggaran per jadwal ujian |
| Timeline Detail | Melihat urutan kronologis pelanggaran per siswa |
| Buka Blokir | Admin dapat membuka blokir siswa yang ter-block oleh 3-strike |
⚠️ Integritas Data: Data pelanggaran bersifat read-only dan tidak bisa dihapus, untuk menjaga integritas audit trail secara penuh.
Split Screen Detection (Mobile)
Khusus perangkat mobile, sistem memiliki engine deteksi split screen yang canggih:
| Metode | Cara Kerja |
|---|---|
| Outer Width Check | Membandingkan lebar browser vs lebar layar fisik — jika berbeda jauh, berarti split |
| Viewport Ratio | Jika viewport width < 90% screen width, terdeteksi split |
| Visual Viewport API | Cadangan: jika visual height anjlok < 60% layar dan user tidak sedang mengetik |
| Keyboard Exclusion | Sistem pintar tidak salah mendeteksi saat keyboard virtual terbuka |
💡 Engine ini aktif secara berkala (interval polling) selama ujian berlangsung — tidak hanya saat pertama masuk.