# ANTREAN ROADMAP FITUR LANJUTAN CBT v2 (BACKLOG FASE 2)
> **Dokumen Antrean Fitur Pengembangan Lanjutan**  
> Disimpan di direktori utama proyek sebagai referensi resmi untuk tahapan implementasi setelah Kritik 1–3 selesai dikerjakan.

---

## 📌 Status Antrean Pengembangan
- **Fase 1 (Sedang Dikerjakan / Prioritas Utama)**:
  - Kritik 1: Bottleneck Konkurensi Database (Queue & In-Memory Answer Buffer)
  - Kritik 2: Beban Server Polling HTTP (Laravel Reverb Realtime WebSocket / SSE)
  - Kritik 3: Celah Kecurangan Baru (AI Extension Sentinel, DevTools Lockdown, & Dynamic Forensic Watermark)
- **Fase 2 (Dalam Antrean di Bawah Ini)**:
  - Kritik 4: Ketahanan Jaringan & Offline-First PWA (IndexedDB AES-256)
  - Kritik 5: Analisis Butir Soal Lengkap & Psikometri (Cronbach's Alpha, Distractor Heatmap, IRT 1PL)
  - Kritik 6: Desain Antarmuka Siswa (Focus Mode UI) & Accessibility Suite (OpenDyslexic, Text-to-Speech)

---

## 📋 Detail Item Antrean (Kritik 4 - 6)

### 1. Item Antrean #4: True Offline-First Resilience (IndexedDB AES-256 + Service Worker)
- **Kategori**: Keandalan Sistem & Ketahanan Jaringan
- **Latar Belakang**:
  Jaringan WiFi sekolah atau kuota siswa seringkali mengalami fluktuasi, drop sesaat, atau mati lampu. Sistem saat ini sangat bergantung pada koneksi internet stabil saat membuka nomor soal dan menyimpan jawaban.
- **Rencana Solusi 100% Gratis & Mandiri**:
  1. **Paket Soal Terenkripsi di Awal Ujian**: Seluruh soal di-download sekali di halaman konfirmasi dan disimpan di browser peserta menggunakan **IndexedDB** dengan enkripsi AES-GCM (menggunakan Web Crypto API bawaan browser, 0 rupiah).
  2. **Navigasi Soal 0ms (Zero Network Delay)**: Perpindahan nomor 1 ke nomor berikutnya berjalan instan dari memori lokal tanpa memanggil request AJAX ke server.
  3. **Outbox Queue & Auto-Sync**: Jawaban siswa disimpan seketika ke antrean outbox lokal di IndexedDB. Begitu koneksi terdeteksi pulih, *Background Sync Service Worker* otomatis mengirim delta jawaban yang belum tersinkron ke server dengan verifikasi signature hash integritas.
- **File Target Modifikasi**:
  - `public/assets/app/js/offline-engine.js` (Modul IndexedDB & Web Crypto API)
  - `resources/views/members/siswa/cbt/ujian.blade.php` (Integrasi local storage fallback)
  - `app/Http/Controllers/Siswa.php` (Endpoint `sync_offline_answers`)

---

### 2. Item Antrean #5: Analisis Butir Soal Lengkap & Psikometri (All Question Types)
- **Kategori**: Evaluasi Pendidikan & Mutu Soal
- **Latar Belakang**:
  Controller `Cbtanalisis.php` saat ini hanya menghitung Tingkat Kesukaran & Daya Pembeda klasik untuk Pilihan Ganda biasa (PG Tipe 1). Format soal lain (PG Kompleks, Menjodohkan, Isian, Esai) belum teranalisis, serta belum ada koefisien reliabilitas tes.
- **Rencana Solusi 100% Gratis & Mandiri**:
  1. **Koefisien Reliabilitas Tes (Cronbach's Alpha - $\alpha$)**:
     Menghitung konsistensi internal seluruh instrumen soal ujian:
     $$\alpha = \frac{K}{K-1} \left(1 - \frac{\sum \sigma_i^2}{\sigma_t^2}\right)$$
     Kategori otomatis: Sangat Tinggi ($\ge 0.80$), Tinggi, Cukup, atau Rendah.
  2. **Distractor Diagnostic Heatmap (Efektivitas Pengecoh Opsi A–E)**:
     Tabel visual persentase pemilihan distraktor oleh kelompok siswa atas vs kelompok bawah. Menandai opsi yang "Kurang Berfungsi" (< 5% pemilih) atau "Mengecoh Kunci Jawaban".
  3. **Perluasan ke Seluruh Tipe Soal**:
     Dukungan kalkulasi skor parsial untuk PG Kompleks, Isian Singkat, dan Menjodohkan.
  4. **Pemetaan Capaian Tujuan Pembelajaran (Kurikulum Merdeka)**:
     Laporan otomatis ketercapaian TP berdasarkan analisis ketercapaian nomor soal yang bersangkutan.
- **File Target Modifikasi**:
  - `app/Http/Controllers/Cbtanalisis.php` (Rumus Cronbach's Alpha, Distractor Analysis)
  - `resources/views/cbt/analisis/data.blade.php` (Visualisasi Card & Heatmap Tabular)

---

### 3. Item Antrean #6: Desain Antarmuka Siswa (Focus Mode) & Accessibility Suite
- **Kategori**: User Experience (UI/UX) & Inklusivitas Pendidikan
- **Latar Belakang**:
  Tampilan ujian siswa masih menggunakan tata letak padat era AdminLTE/Bootstrap 4, dan belum mengakomodasi siswa berkebutuhan khusus (siswa dengan disleksia atau hambatan penglihatan ringan).
- **Rencana Solusi 100% Gratis & Mandiri**:
  1. **Modern Clean Focus Mode UI**:
     Antarmuka pengerjaan ujian bebas distraksi (*distraction-free*), kartu soal modern, progress bar melingkar interaktif, dan navigasi nomor soal yang responsif di smartphone & tablet.
  2. **Accessibility Suite (Inklusivitas Penuh)**:
     - **Toggle Font OpenDyslexic**: Font gratis open-source yang dirancang khusus untuk mempermudah penderita disleksia membaca soal tanpa huruf tampak berputar.
     - **Text-to-Speech (TTS)**: Memanfaatkan `window.speechSynthesis` (Web Speech API bawaan peramban gratis tanpa langganan API cloud) untuk membacakan stimulus bacaan dan pertanyaan secara otomatis dengan suara bahasa Indonesia.
     - **Font Size & High-Contrast Scaler**: Pilihan ukuran teks (Normal, Besar, Sangat Besar) serta mode kontras tinggi (Dark High-Contrast).
- **File Target Modifikasi**:
  - `resources/views/members/siswa/cbt/ujian.blade.php` (Header kontrol aksesibilitas & panel focus mode)
  - `public/assets/app/css/ujian-modern-focus.css` (Stylesheet antarmuka bersih & token font)
  - `public/assets/fonts/OpenDyslexic/` (Asset font gratis open-source)

---

## 📌 Catatan Pelaksanaan:
Setelah Fase 1 (Kritik 1–3) selesai diuji dan disetujui, item antrean di atas dapat langsung diambil satu per satu sesuai urutan prioritas di atas.
