BAB 62. RISK ANALYSIS
62.1 Tujuan
Analisis risiko dilakukan untuk mengidentifikasi seluruh potensi hambatan teknis, operasional, keamanan, dan adopsi pengguna yang dapat memengaruhi keberhasilan implementasi TemuBelajar, beserta strategi mitigasinya.
62.2 Matriks Risiko
| Risiko | Probabilitas | Dampak | Prioritas |
|---|---|---|---|
| AI Matching kurang akurat | Sedang | Tinggi | 🔴 Tinggi |
| Siswa tidak aktif menggunakan aplikasi | Tinggi | Tinggi | 🔴 Sangat Tinggi |
| Guru tidak memanfaatkan dashboard | Sedang | Sedang | 🟡 Sedang |
| Server mengalami downtime | Rendah | Sangat Tinggi | 🔴 Tinggi |
| Kebocoran data pengguna | Rendah | Sangat Tinggi | 🔴 Sangat Tinggi |
| GPS Spoofing (fake check-in) | Sedang | Tinggi | 🔴 Tinggi |
| QR Code disalahgunakan | Sedang | Sedang | 🟡 Sedang |
| Perubahan struktur Dapodik | Sedang | Tinggi | 🔴 Tinggi |
| Server overload saat peak usage | Sedang | Tinggi | 🔴 Tinggi |
| Penyalahgunaan sistem rating | Sedang | Sedang | 🟡 Sedang |
62.3 Mitigasi per Kategori
Risiko Adopsi Pengguna
flowchart LR
RISK["😕 Siswa\nTidak Aktif"] --> M1["🎮 Gamification\n(XP, Badge, Level)"]
RISK --> M2["🏆 Leaderboard\n& Kompetisi"]
RISK --> M3["📊 Pengakuan\nKarakter Sekolah"]
RISK --> M4["🎖️ Program Duta\nTemuBelajar"]
M1 & M2 & M3 & M4 --> SOL["✅ Engagement\nMeningkat"]
style RISK fill:#dc2626,color:#fff
style SOL fill:#059669,color:#fff
Strategi tambahan:
- Integrasi dengan program sekolah resmi
- Incentive reward nyata (diskon kantin, pujian kepala sekolah)
- Notifikasi reminder yang dipersonalisasi
Risiko AI Matching
| Strategi | Implementasi |
|---|---|
| Transparansi | Rule-based yang dapat dijelaskan kepada pengguna |
| Monitoring | Dashboard akurasi AI untuk admin |
| Feedback Loop | Pengguna dapat melaporkan match yang buruk |
| Human Override | Guru dapat overrule keputusan AI |
| Recalibration | Bobot skor dikalibrasi ulang tiap semester |
Risiko Keamanan
| Ancaman | Mitigasi |
|---|---|
| Kebocoran data | HTTPS + AES-256 + Sanctum token |
| Fake check-in | QR one-time + GPS radius + mock detection |
| Brute force | Rate limiter 5x/menit per IP + lockout |
| Unauthorized access | RBAC + Policy + school_id isolation |
| SQL Injection | Eloquent ORM + prepared statement |
| Session hijacking | Sanctum + Secure Storage + HTTPS |
Risiko Infrastruktur
| Ancaman | Mitigasi |
|---|---|
| Server downtime | Auto restart, health check monitoring |
| Data hilang | Backup harian + cloud offsite |
| Server overload | Redis cache + queue + horizontal scaling |
| Database crash | Primary + Read Replica |
| Queue failure | Laravel Horizon monitoring + retry policy |
62.4 Risk Register
| ID | Risiko | Probabilitas | Dampak | Mitigasi | Status |
|---|---|---|---|---|---|
| R-01 | AI salah memilih tutor | Sedang | Tinggi | Feedback + recalibration berkala | 🟡 Dikontrol |
| R-02 | Tutor tidak hadir | Sedang | Sedang | Cascade notification + reschedule | 🟡 Dikontrol |
| R-03 | Meeting palsu (check-in fiktif) | Sedang | Tinggi | QR one-time + GPS validation | 🟡 Dikontrol |
| R-04 | Spam request | Sedang | Sedang | Rate limiting + max 3 active | ✅ Teratasi |
| R-05 | Server overload | Sedang | Tinggi | Queue + cache + horizontal scaling | 🟡 Dikontrol |
| R-06 | Data hilang | Rendah | Sangat Tinggi | Backup harian 3-2-1 strategy | ✅ Teratasi |
| R-07 | Penyalahgunaan akun | Rendah | Tinggi | Device verification + audit log | 🟡 Dikontrol |
| R-08 | Manipulasi lokasi GPS | Sedang | Tinggi | Mock location detection + accuracy check | 🟡 Dikontrol |
| R-09 | Dapodik API berubah | Sedang | Tinggi | Adapter pattern + versioning | ⚪ Dipantau |
| R-10 | Kebocoran data | Rendah | Sangat Tinggi | Enkripsi + audit + security headers | ✅ Teratasi |