BAB 13. FUNCTIONAL REQUIREMENTS
Pendahuluan
Functional requirement mendefinisikan seluruh fungsi yang wajib disediakan oleh sistem TemuBelajar. Setiap requirement diberi kode unik untuk keperluan traceability dari desain hingga pengujian.
Ringkasan Modul
| Kode | Modul | Jumlah FR |
|---|
FR-AUTH | Authentication | 6 |
FR-PROFILE | Academic Portfolio | 6 |
FR-REQUEST | Request Bantuan | 5 |
FR-MATCH | AI Matching | 4 |
FR-BOOKING | Booking | 5 |
FR-CHAT | Chat | 5 |
FR-MEETING | Meeting | 5 |
FR-RATING | Rating & Feedback | 3 |
FR-GAME | Gamification | 5 |
FR-SIS | Social Impact Score | 3 |
FR-REPORT | Reporting | 4 |
FR-ADMIN | Administration | 4 |
FR-AUTH — Authentication
| ID | Requirement | Prioritas |
|---|
| FR-001 | Login siswa menggunakan NISN | 🔴 Wajib |
| FR-002 | Login guru menggunakan NIP | 🔴 Wajib |
| FR-003 | Login admin sekolah | 🔴 Wajib |
| FR-004 | Ganti password saat pertama kali login | 🔴 Wajib |
| FR-005 | Logout dari semua perangkat | 🔴 Wajib |
| FR-006 | Refresh token otomatis | 🟡 Penting |
FR-PROFILE — Academic Portfolio
| ID | Requirement | Prioritas |
|---|
| FR-010 | Melihat profil pengguna | 🔴 Wajib |
| FR-011 | Mengubah data profil | 🔴 Wajib |
| FR-012 | Mengelola skill akademik | 🔴 Wajib |
| FR-013 | Mengelola skill non-akademik | 🟡 Penting |
| FR-014 | Melihat koleksi badge | 🟡 Penting |
| FR-015 | Melihat riwayat membantu (tutor) | 🟡 Penting |
FR-REQUEST — Request Bantuan
| ID | Requirement | Prioritas |
|---|
| FR-020 | Membuat request bantuan belajar | 🔴 Wajib |
| FR-021 | Mengubah request yang belum diproses | 🟡 Penting |
| FR-022 | Membatalkan request | 🟡 Penting |
| FR-023 | Melihat status request secara real-time | 🔴 Wajib |
| FR-024 | Melihat histori request | 🟡 Penting |
FR-MATCH — AI Matching
| ID | Requirement | Prioritas |
|---|
| FR-030 | Menjalankan AI Matching setelah request dibuat | 🔴 Wajib |
| FR-031 | Menghasilkan skor kesesuaian untuk setiap tutor | 🔴 Wajib |
| FR-032 | Mengirim notifikasi ke tutor terpilih | 🔴 Wajib |
| FR-033 | Memilih tutor alternatif jika ditolak | 🔴 Wajib |
FR-BOOKING — Booking
| ID | Requirement | Prioritas |
|---|
| FR-040 | Tutor menerima (Accept) booking | 🔴 Wajib |
| FR-041 | Tutor menolak (Reject) booking | 🔴 Wajib |
| FR-042 | Tutor mengajukan reschedule | 🟡 Penting |
| FR-043 | Host membatalkan booking | 🟡 Penting |
| FR-044 | Melihat jadwal booking aktif | 🔴 Wajib |
FR-CHAT — Chat & Komunikasi
| ID | Requirement | Prioritas |
|---|
| FR-050 | Chat realtime antar pengguna | 🔴 Wajib |
| FR-051 | Mengirim gambar dalam chat | 🟡 Penting |
| FR-052 | Mengirim file PDF dalam chat | 🟡 Penting |
| FR-053 | Typing indicator | 🟢 Tambahan |
| FR-054 | Read receipt (tanda dibaca) | 🟢 Tambahan |
FR-MEETING — Meeting & Validasi
| ID | Requirement | Prioritas |
|---|
| FR-060 | Check-In menggunakan QR Code | 🔴 Wajib |
| FR-061 | Validasi GPS saat Check-In | 🔴 Wajib |
| FR-062 | Check-Out setelah sesi selesai | 🔴 Wajib |
| FR-063 | Upload dokumentasi/foto diskusi | 🟡 Penting |
| FR-064 | Ringkasan otomatis setelah sesi | 🟡 Penting |
FR-RATING — Rating & Feedback
| ID | Requirement | Prioritas |
|---|
| FR-070 | Siswa memberi rating ke tutor (1–5) | 🔴 Wajib |
| FR-071 | Rating ruang diskusi | 🟢 Tambahan |
| FR-072 | Pengisian feedback/komentar | 🟡 Penting |
FR-GAME — Gamification
| ID | Requirement | Prioritas |
|---|
| FR-080 | Sistem XP (Experience Points) | 🔴 Wajib |
| FR-081 | Sistem Level berdasarkan XP | 🟡 Penting |
| FR-082 | Pemberian Badge otomatis | 🔴 Wajib |
| FR-083 | Achievement dan pencapaian khusus | 🟡 Penting |
| FR-084 | Leaderboard dinamis | 🔴 Wajib |
FR-SIS — Social Impact Score
| ID | Requirement | Prioritas |
|---|
| FR-090 | Menghitung Social Impact Score (SIS) | 🔴 Wajib |
| FR-091 | Riwayat perubahan SIS | 🟡 Penting |
| FR-092 | Statistik SIS per periode | 🟡 Penting |
FR-REPORT — Reporting
| ID | Requirement | Prioritas |
|---|
| FR-100 | Dashboard monitoring untuk guru | 🔴 Wajib |
| FR-101 | Dashboard statistik untuk admin | 🔴 Wajib |
| FR-102 | Statistik kolaborasi belajar per sekolah | 🟡 Penting |
| FR-103 | Export laporan ke PDF/Excel | 🟡 Penting |
FR-ADMIN — Administration
| ID | Requirement | Prioritas |
|---|
| FR-110 | Sinkronisasi data dari Dapodik | 🔴 Wajib |
| FR-111 | Manajemen pengguna (siswa & guru) | 🔴 Wajib |
| FR-112 | Manajemen data sekolah | 🔴 Wajib |
| FR-113 | Audit log seluruh aktivitas sistem | 🟡 Penting |
:::tip Keterangan Prioritas
- 🔴 Wajib — Harus ada di versi pertama
- 🟡 Penting — Ditargetkan di sprint awal
- 🟢 Tambahan — Dapat ditambahkan setelah MVP
:::