Lewati ke konten utama

BAB 31. AI MATCHING ARCHITECTURE

Pendahuluan​

AI Matching merupakan inti kecerdasan TemuBelajar yang bertugas mempertemukan siswa yang membutuhkan bantuan dengan tutor sebaya atau guru yang paling sesuai berdasarkan data nyata (evidence-based), bukan hanya klaim kemampuan pengguna.

Tujuan utama AI Matching:

  • Mempercepat pencarian tutor
  • Meningkatkan peluang masalah terselesaikan
  • Mendistribusikan beban tutor secara adil
  • Membangun reputasi berdasarkan kontribusi nyata

Prinsip Arsitektur​

PrinsipImplementasi
Evidence BasedMenggunakan histori aktivitas nyata, bukan klaim
ExplainableSkor dapat dijelaskan kepada pengguna
DeterministicHasil konsisten untuk input yang sama
ModularMudah diganti ke ML di masa depan
ScalableMendukung ribuan request secara bersamaan

Arsitektur Komponen​

flowchart LR
A["📝 Request Bantuan"] --> B["🔍 Candidate\nGenerator"]
B --> C["⚙️ Scoring\nEngine"]
C --> D["📊 Ranking\nEngine"]
D --> E["📲 Notification\nEngine"]
E --> F["✅ Tutor\nTerpilih"]

style A fill:#4f63d2,color:#fff
style C fill:#7c3aed,color:#fff
style F fill:#059669,color:#fff

Detail Komponen​

🔍 Candidate Generator​

Menghasilkan daftar tutor yang memenuhi syarat dasar sebelum memasuki proses scoring.

Filter awal:

  • Berada di sekolah yang sama
  • Status akun aktif
  • Tidak diblokir oleh sistem
  • Bukan siswa yang membuat request (diri sendiri)
  • Memiliki skill yang relevan dengan request

⚙️ Scoring Engine​

Menghitung skor kesesuaian untuk setiap kandidat tutor berdasarkan multi-faktor dengan bobot yang telah ditentukan.

📊 Ranking Engine​

Mengurutkan seluruh kandidat berdasarkan skor dari tertinggi ke terendah, dengan penyesuaian fairness.

📲 Notification Engine​

Mengirim push notification ke tutor berdasarkan urutan prioritas secara bertahap (cascade notification).


Data Input AI Matching​

DataSumber
Mata pelajaranRequest dari siswa
Materi spesifikRequest dari siswa
Skill tutorAcademic Portfolio siswa
Rating historisTabel ratings
Histori keberhasilanTabel meetings
Jadwal ketersediaanTabel bookings
LokasiMeeting location request
Beban aktif saat iniActive bookings
Response time rata-rataBooking history

Output AI Matching​

OutputDeskripsi
Tutor PrioritasTutor dengan matching score tertinggi
Matching ScoreNilai numerik 0–100
Confidence LevelTingkat keyakinan sistem terhadap rekomendasi
Recommendation ReasonAlasan pemilihan tutor yang dapat ditampilkan

Alur Lengkap AI Matching​

flowchart TD
A["📝 Request Baru Dibuat"] --> B["🔀 Dispatch MatchingJob ke Queue"]
B --> C["🔍 Candidate Generator\n— Filter awal —"]
C --> D{{"Kandidat\nTersedia?"}}
D -->|Tidak| E["⚠️ Notifikasi siswa:\nTutor tidak tersedia"]
D -->|Ya| F["⚙️ Scoring Engine\n— Hitung skor —"]
F --> G["📊 Ranking Engine\n— Urutkan —"]
G --> H["⚖️ Fairness Adjustment"]
H --> I["📲 Cascade Notification\nTutor #1 → #2 → #3"]
I --> J{{"Tutor\nMenerima?"}}
J -->|Ya| K["✅ Booking Aktif"]
J -->|Tidak (semua)| E

style A fill:#4f63d2,color:#fff
style K fill:#059669,color:#fff
style E fill:#dc2626,color:#fff