Pelaksanaan Ujian
Panduan lengkap alur ujian dari sisi siswa dan monitoring oleh guru/admin.
Alur Ujian Siswa
1. Login
Siswa mengakses subdomain sekolah (contoh: sma-contoh.exsao.xyz)
Login menggunakan Username (NISN) dan Password yang diberikan admin
Selesai
Dashboard siswa menampilkan daftar ujian yang tersedia beserta informasi sesi, waktu, dan status
2. Memasukkan Token
Klik kartu ujian yang ingin dikerjakan — muncul dialog token
Masukkan token ujian yang diberikan oleh guru/pengawas (token otomatis diubah ke huruf besar)
Klik Mulai Ujian atau tekan Enter
Selesai
Jika token valid, siswa langsung diarahkan ke halaman ujian
⚠️ Jika token salah, sistem menampilkan pesan error dan input bergoyang (shake animation) sebagai indikator visual.
3. Mode Fullscreen & Keamanan
Sebelum soal ditampilkan, siswa wajib masuk mode fullscreen:
| Platform | Mekanisme |
|---|---|
| Desktop | Menggunakan Fullscreen API — browser masuk fullscreen otomatis |
| Mobile | UI chrome browser disembunyikan, layar penuh diaktifkan |
| Secure Browser | Kiosk mode — desktop/mobile app khusus yang mengunci akses |
Deteksi Pelanggaran
Sistem keamanan berjalan real-time selama ujian:
| Jenis Pelanggaran | Deteksi |
|---|---|
| Keluar fullscreen | Menekan Escape, Alt+Tab, atau minimize browser |
| Split screen | Membagi layar (mobile) — deteksi via viewport vs screen ratio |
| Berpindah tab | Membuka tab baru atau berpindah aplikasi |
| DevTools | Membuka inspect element / developer console |
| Resize window | Mengubah ukuran jendela browser secara manual |
Sistem 3 Strike
- Setiap pelanggaran tercatat dan dilaporkan ke server secara real-time
- Setelah 3 pelanggaran, siswa otomatis diblokir dari ujian
- Halaman "AKSES DIBLOKIR" ditampilkan dengan alasan pelanggaran dan waktu blokir
- Siswa harus menghubungi admin/pengawas untuk proses banding
💡 Admin bisa melihat seluruh riwayat pelanggaran di menu Violation Tracker.
4. Mengerjakan Soal
Berikut tampilan soal dari perspektif siswa untuk setiap tipe:
Tampilan ujian terdiri dari beberapa komponen utama:
Header Ujian
- Timer countdown — berjalan real-time di pojok atas
- 🟢 Normal — waktu masih banyak
- 🟡 Warning — waktu mulai menipis
- 🔴 Critical — waktu hampir habis (teks berkedip)
- Progress bar — persentase soal yang sudah dijawab
- Informasi ujian — nama ujian, jumlah soal, sesi
Navigasi Soal
- Tombol Sebelumnya / Berikutnya — pindah antar soal
- Navigator grid — panel nomor soal yang bisa diklik langsung
- ⬜ Belum dijawab
- 🟩 Sudah dijawab
- 🟨 Ditandai ragu-ragu
- Keyboard shortcut — navigasi dengan keyboard untuk kecepatan
Tipe Soal yang Didukung
| Tipe | Cara Menjawab |
|---|---|
| Pilihan Ganda (PG) | Klik satu opsi jawaban (A–E) |
| PG Kompleks (PGK) | Centang satu atau lebih opsi yang benar |
| Benar/Salah (BS) | Pilih Benar atau Salah per pernyataan |
| Menjodohkan (JD) | Hubungkan item kiri ke kanan (drag-drop atau klik) |
| Essay | Ketik jawaban panjang di text area |
Fitur Ragu-Ragu (Doubt Marking)
Siswa bisa menandai soal yang masih ragu:
Klik ikon bendera (🚩) pada soal yang ingin ditandai
Soal akan berwarna kuning di navigator — mudah ditemukan kembali
Selesai
Tandai ulang untuk menghapus status ragu-ragu
💡 Data ragu-ragu disimpan di browser lokal — tidak hilang meskipun halaman di-refresh.
5. Auto-Save
Jawaban otomatis tersimpan ke server:
- Setiap kali siswa memilih/mengubah jawaban, data langsung dikirim
- Menggunakan debounce — menunggu siswa selesai mengetik sebelum mengirim (untuk essay)
- Indikator status simpan di header:
- 💾 Menyimpan... — sedang mengirim ke server
- ✅ Tersimpan — data aman di server
- ❌ Gagal — koneksi bermasalah, akan otomatis retry
💡 Jika koneksi terputus sementara, siswa bisa melanjutkan. Jawaban tersimpan secara lokal dan dikirim saat koneksi kembali.
6. Menyelesaikan Ujian
Klik tombol Selesai di pojok kanan bawah
Sistem menampilkan ringkasan ujian:
- Jumlah soal terjawab vs belum
- Jumlah soal ditandai ragu-ragu
- Konfirmasi final sebelum submit
Klik Kirim Jawaban untuk submit secara final
Selesai
Siswa diarahkan ke halaman hasil atau survei (jika ada survei pasca-ujian)
Waktu Habis (Auto-Submit)
Jika waktu countdown habis sebelum siswa menekan Selesai:
- Jawaban otomatis terkirim — tidak perlu aksi manual
- Semua jawaban yang sudah di-save akan ter-submit
- Siswa diarahkan ke halaman hasil/dashboard
7. Survei Pasca-Ujian
Jika jadwal ujian memiliki survei yang ditautkan:
- Setelah submit jawaban, siswa otomatis diarahkan ke halaman survei
- Survei menggunakan skala 4 poin (Sangat Baik → Kurang)
- Setelah mengisi survei, siswa kembali ke dashboard
Monitoring Real-Time (Guru/Admin)
Guru dan admin bisa memantau progress ujian secara langsung:
Buka menu Live Monitoring dari sidebar atau klik jadwal yang sedang berlangsung
Dashboard monitoring menampilkan:
- Statistik ringkasan — siswa aktif, selesai, rata-rata skor, total
- Kartu siswa — badge Online/Terblokir, jam mulai, sisa waktu, jumlah pelanggaran
- Pelanggaran yang terdeteksi selama ujian
Real-time
Data diperbarui secara real-time tanpa perlu refresh halaman — menggunakan polling otomatis
💡 Untuk detail lengkap fitur monitoring, lihat halaman Live Monitoring.
Troubleshooting
| Masalah | Solusi |
|---|---|
| Siswa tidak bisa login | Periksa username dan password di menu Data Siswa. Pastikan status siswa Aktif |
| Token ditolak | Pastikan jadwal ujian sudah diaktifkan tokennya dan waktu masih valid |
| Tidak bisa fullscreen | Pastikan browser mendukung Fullscreen API. Coba gunakan Chrome/Edge versi terbaru |
| Split screen terdeteksi | Tutup mode split screen di HP, lalu klik Mulai Ujian kembali |
| Koneksi terputus | Jawaban sudah auto-save. Siswa bisa login ulang dan melanjutkan dari soal terakhir |
| Timer habis | Jawaban otomatis terkirim ke server, tidak perlu panik |
| Siswa diblokir (3 strike) | Admin bisa membuka blokir via menu Violation Tracker |
| Soal tidak muncul | Periksa apakah paket soal sudah di-publish dan jadwal sudah aktif |