BAB 18. SYSTEM FLOW
Alur Sistem End-to-End
Diagram berikut menggambarkan keseluruhan alur sistem TemuBelajar dari sinkronisasi data Dapodik hingga pembaruan leaderboard setelah sesi belajar selesai.
flowchart TD
A["🗃️ Dapodik"] --> B["🔄 Sinkronisasi Admin"]
B --> C[("💾 Database TemuBelajar")]
C --> D["🔐 Login Pengguna"]
D --> E["🔑 Ganti Password\n(First Login)"]
E --> F["👤 Lengkapi Profil\nAcademic Portfolio"]
F --> G["📝 Buat Request Bantuan"]
G --> H["🤖 AI Matching Engine"]
H --> I["✅ Tutor Ditemukan"]
I --> J["📲 Booking — Accept / Reject"]
J --> K["💬 Chat Koordinasi"]
K --> L["📅 Penjadwalan Meeting"]
L --> M["📍 QR + GPS Check-In"]
M --> N["🤝 Diskusi Tatap Muka"]
N --> O["🔚 Check-Out"]
O --> P["📋 Feedback & Komentar"]
P --> Q["⭐ Rating Tutor"]
Q --> R["📈 Update XP & Level"]
R --> S["🌟 Update Social Impact Score"]
S --> T["🏆 Update Leaderboard & Badge"]
T --> U["📊 Laporan ke Guru & Admin"]
style A fill:#374151,color:#fff
style H fill:#7c3aed,color:#fff
style N fill:#059669,color:#fff
style T fill:#b45309,color:#fff
style U fill:#1d4ed8,color:#fff
Penjelasan Setiap Tahap
| Tahap | Aktor | Input | Output |
|---|---|---|---|
| Sinkronisasi | Admin + Dapodik | Data Dapodik | Akun aktif di sistem |
| Login | Pengguna | NISN / NIP | Session aktif |
| Ganti Password | Pengguna | Password baru | Keamanan akun |
| Profil | Siswa | Skill akademik | Data profil AI |
| Request | Siswa | Kebutuhan belajar | Permintaan aktif |
| Matching | AI System | Profil semua user | Skor & ranking tutor |
| Booking | Tutor | Notifikasi request | Status booking |
| Chat | Siswa & Tutor | Pesan koordinasi | Jadwal disepakati |
| Meeting | Semua | QR + GPS | Kehadiran valid |
| Diskusi | Semua | Materi belajar | Masalah terselesaikan |
| Rating | Siswa | Penilaian 1–5 | Reputasi tutor |
| XP & Level | Sistem | Data sesi | Poin bertambah |
| SIS | Sistem | Kontribusi tutor | Social Impact Score |
| Leaderboard | Sistem | Skor semua siswa | Ranking terbaru |
| Laporan | Sistem | Semua data sesi | Dashboard guru/admin |
Alur Penanganan Penolakan Tutor
flowchart TD
A["📲 Notifikasi ke Tutor #1"] --> B{Tutor Menerima?}
B -- Ya --> C["✅ Booking Aktif"]
B -- Tidak --> D["🔄 AI Cari Tutor Berikutnya"]
D --> E{Tutor Tersedia?}
E -- Ya --> F["📲 Notifikasi ke Tutor #2"]
F --> B
E -- Tidak --> G["⚠️ Notifikasi ke Siswa:\nTutor Tidak Tersedia"]
G --> H["🔁 Siswa dapat Edit Request"]