Lewati ke konten utama

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

AtributDetail
AktorSemua
Pre-conditionAkun sudah tersinkronisasi dari Dapodik
Main FlowPengguna memasukkan NISN/NIP dan password
Post-conditionSession aktif, pengguna masuk dashboard

UC2 — Kelola Profil Akademik

AtributDetail
AktorSiswa
Pre-conditionSudah login
Main FlowMenambahkan/mengubah skill akademik dan non-akademik
Post-conditionData profil tersimpan, siap digunakan AI Matching

UC3 — Buat Request Bantuan

AtributDetail
AktorSiswa
Pre-conditionProfil akademik sudah lengkap
Main FlowMemilih mapel, materi, lokasi, waktu, jumlah tutor
Post-conditionRequest aktif, AI Matching berjalan

UC4 — AI Matching

AtributDetail
AktorSistem (otomatis), Siswa (trigger)
Pre-conditionRequest aktif tersedia
Main FlowSistem menghitung skor tutor dan memilih kandidat terbaik
Post-conditionNotifikasi dikirim ke tutor terpilih

UC5 — Booking

AtributDetail
AktorTutor (Siswa)
Pre-conditionNotifikasi request diterima
Main FlowTutor memilih Accept / Reject / Reschedule
Post-conditionBooking aktif atau AI mencari tutor alternatif

UC6 — Chat

AtributDetail
AktorSiswa, Guru
Pre-conditionBooking aktif
Main FlowKoordinasi waktu dan lokasi pertemuan
Post-conditionJadwal disepakati

UC7 — Check-In QR + GPS

AtributDetail
AktorSiswa
Pre-conditionJadwal meeting sudah tiba
Main FlowScan QR Code + validasi GPS radius 100m
Post-conditionKehadiran tercatat, sesi dimulai

UC8 — Diskusi

AtributDetail
AktorSiswa, Guru (opsional)
Pre-conditionCheck-In berhasil
Main FlowDiskusi tatap muka berlangsung
Post-conditionMasalah terselesaikan

UC9 — Check-Out

AtributDetail
AktorSiswa
Pre-conditionDiskusi selesai
Main FlowKonfirmasi selesai sesi
Post-conditionRating dapat diberikan

UC10 — Rating

AtributDetail
AktorSiswa
Pre-conditionCheck-Out sudah dilakukan
Main FlowMemberi rating 1–5 dan komentar opsional
Post-conditionReputasi tutor diperbarui, XP dan SIS bertambah

UC11 — Leaderboard

AtributDetail
AktorSemua
Pre-conditionSudah login
Main FlowMelihat ranking siswa berdasarkan SIS/XP
Post-condition

UC12 — Monitoring

AtributDetail
AktorGuru, Admin, Super Admin
Pre-conditionSudah login dengan role yang sesuai
Main FlowMelihat sesi aktif, statistik, dan laporan
Post-condition

UC13 — Sinkronisasi Dapodik

AtributDetail
AktorAdmin Sekolah, Super Admin
Pre-conditionAkses ke data Dapodik tersedia
Main FlowImport data siswa dan guru dari Dapodik
Post-conditionAkun 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. :::