BAB 20. USE CASE DIAGRAM
Pendahuluan
Use case diagram menggambarkan interaksi antara aktor (pengguna) dengan fungsi-fungsi utama sistem TemuBelajar.
Use Case Diagram Utama
flowchart LR
siswa(["👨🎓 Siswa"])
guru(["👩🏫 Guru"])
admin(["🏫 Admin Sekolah"])
super(["🛡️ Super Admin"])
subgraph SYS ["Sistem TemuBelajar"]
UC1(("🔐 Login"))
UC2(("👤 Kelola Profil\nAkademik"))
UC3(("📝 Buat Request\nBantuan"))
UC4(("🤖 AI Matching"))
UC5(("📅 Booking"))
UC6(("💬 Chat"))
UC7(("📍 Check-In QR"))
UC8(("🤝 Diskusi"))
UC9(("🔚 Check-Out"))
UC10(("⭐ Rating"))
UC11(("🏆 Leaderboard"))
UC12(("📊 Monitoring"))
UC13(("🔄 Sinkron Dapodik"))
end
siswa --> UC1
siswa --> UC2
siswa --> UC3
siswa --> UC4
siswa --> UC5
siswa --> UC6
siswa --> UC7
siswa --> UC8
siswa --> UC9
siswa --> UC10
siswa --> UC11
guru --> UC1
guru --> UC6
guru --> UC8
guru --> UC12
admin --> UC1
admin --> UC12
admin --> UC13
super --> UC1
super --> UC12
super --> UC13
Deskripsi Use Case
UC1 — Login
| Atribut | Detail |
|---|---|
| Aktor | Semua |
| Pre-condition | Akun sudah tersinkronisasi dari Dapodik |
| Main Flow | Pengguna memasukkan NISN/NIP dan password |
| Post-condition | Session aktif, pengguna masuk dashboard |
UC2 — Kelola Profil Akademik
| Atribut | Detail |
|---|---|
| Aktor | Siswa |
| Pre-condition | Sudah login |
| Main Flow | Menambahkan/mengubah skill akademik dan non-akademik |
| Post-condition | Data profil tersimpan, siap digunakan AI Matching |
UC3 — Buat Request Bantuan
| Atribut | Detail |
|---|---|
| Aktor | Siswa |
| Pre-condition | Profil akademik sudah lengkap |
| Main Flow | Memilih mapel, materi, lokasi, waktu, jumlah tutor |
| Post-condition | Request aktif, AI Matching berjalan |
UC4 — AI Matching
| Atribut | Detail |
|---|---|
| Aktor | Sistem (otomatis), Siswa (trigger) |
| Pre-condition | Request aktif tersedia |
| Main Flow | Sistem menghitung skor tutor dan memilih kandidat terbaik |
| Post-condition | Notifikasi dikirim ke tutor terpilih |
UC5 — Booking
| Atribut | Detail |
|---|---|
| Aktor | Tutor (Siswa) |
| Pre-condition | Notifikasi request diterima |
| Main Flow | Tutor memilih Accept / Reject / Reschedule |
| Post-condition | Booking aktif atau AI mencari tutor alternatif |
UC6 — Chat
| Atribut | Detail |
|---|---|
| Aktor | Siswa, Guru |
| Pre-condition | Booking aktif |
| Main Flow | Koordinasi waktu dan lokasi pertemuan |
| Post-condition | Jadwal disepakati |
UC7 — Check-In QR + GPS
| Atribut | Detail |
|---|---|
| Aktor | Siswa |
| Pre-condition | Jadwal meeting sudah tiba |
| Main Flow | Scan QR Code + validasi GPS radius 100m |
| Post-condition | Kehadiran tercatat, sesi dimulai |
UC8 — Diskusi
| Atribut | Detail |
|---|---|
| Aktor | Siswa, Guru (opsional) |
| Pre-condition | Check-In berhasil |
| Main Flow | Diskusi tatap muka berlangsung |
| Post-condition | Masalah terselesaikan |
UC9 — Check-Out
| Atribut | Detail |
|---|---|
| Aktor | Siswa |
| Pre-condition | Diskusi selesai |
| Main Flow | Konfirmasi selesai sesi |
| Post-condition | Rating dapat diberikan |
UC10 — Rating
| Atribut | Detail |
|---|---|
| Aktor | Siswa |
| Pre-condition | Check-Out sudah dilakukan |
| Main Flow | Memberi rating 1–5 dan komentar opsional |
| Post-condition | Reputasi tutor diperbarui, XP dan SIS bertambah |
UC11 — Leaderboard
| Atribut | Detail |
|---|---|
| Aktor | Semua |
| Pre-condition | Sudah login |
| Main Flow | Melihat ranking siswa berdasarkan SIS/XP |
| Post-condition | — |
UC12 — Monitoring
| Atribut | Detail |
|---|---|
| Aktor | Guru, Admin, Super Admin |
| Pre-condition | Sudah login dengan role yang sesuai |
| Main Flow | Melihat sesi aktif, statistik, dan laporan |
| Post-condition | — |
UC13 — Sinkronisasi Dapodik
| Atribut | Detail |
|---|---|
| Aktor | Admin Sekolah, Super Admin |
| Pre-condition | Akses ke data Dapodik tersedia |
| Main Flow | Import data siswa dan guru dari Dapodik |
| Post-condition | Akun pengguna terbuat/diperbarui |
:::note Catatan Dokumen ini menjadi dasar untuk perancangan UML rinci, database schema, REST API specification, serta arsitektur Flutter dan Laravel pada bab berikutnya. :::