Pada era pembelajaran daring, kebutuhan akan sistem yang dapat menilai, membandingkan, dan mengelompokkan jawaban mahasiswa secara otomatis semakin mendesak. Metode Case Based Reasoning (CBR) menawarkan kerangka kerja yang berfokus pada pemanfaatan kasus historis untuk memecahkan masalah baru. Ketika dipadukan dengan algoritma CBR adalah pendekatan yang memanfaatkan empat fase klasik: Retrieve, Reuse, Revise, dan Retain. Pada sistem evaluasi jawaban, setiap case mewakili satu pasangan Pada fase Retrieve, algoritma pencarian kemiripan diperlukan untuk menemukan kasus yang paling relevan. Di sinilah KNN berperan: ia menghitung jarak antara vektor fitur jawaban baru dengan seluruh basis kasus, kemudian memilih k kasus terdekat sebagai kandidat. Hasilnya menjadi dasar bagi fase Reuse (meniru solusi) dan Revise (penyesuaian jika diperlukan), sebelum kasus akhir disimpan kembali pada fase Retain. KNN adalah algoritma lazy learning yang tidak memerlukan fase pelatihan eksplisit; semua data disimpan dan pencarian dilakukan secara runtime. Untuk aplikasi jawaban algoritma, beberapa penyesuaian penting diperlukan: Implementasi KNN dapat dipercepat dengan struktur data Berikut adalah skema highlevel dari sistem yang dibangun: Seluruh alur dimulai dari pengguna yang mengunggah jawaban, kemudian API Gateway meneruskan ke Service CBR. Service menyiapkan vektor fitur menggunakan Engine KNN, lalu memanggil fungsi Identitas otomatis memungkinkan penelusuran kembali kasus dengan latensi < 50ms, bahkan pada kumpulan data berukuran > 200000 kasus. Pada tahapan Retrieve, engine KNN menerima vektor fitur baru, melakukan pencarian k terdekat, dan mengembalikan nilai Pengujian dilakukan pada dataset berisi 12.000 jawaban untuk 30 soal algoritma (binary search, quick sort, Dijkstra, dsb.). Metode evaluasi meliputi: Hasil ratarata untuk k = 5: Waktu ratarata per pencarian: 38ms (dengan FAISS IVFPQ). Skalabilitas diuji hingga 500.000 kasus; latensi tetap di bawah 120ms, menandakan kesiapan produksi. Implementasi KNearest Neighbor dalam kerangka Case Based Reasoning memberikan solusi yang efektif untuk dua tantangan utama dalam pendidikan daring: (1) pembentukan identitas jawaban otomatis yang dapat melacak duplikasi secara realtime, dan (2) pencarian kemiripan jawaban yang membantu mahasiswa belajar dari contoh yang relevan. Dengan pemilihan representasi fitur yang tepat, metrik kesamaan yang disesuaikan, serta penggunaan struktur indeks ANN, sistem mampu mengelola ratusan ribu kasus tanpa mengorbankan akurasi maupun kecepatan. Ke depan, pengembangan lebih lanjut dapat mencakup integrasi deep learning untuk ekstraksi semantik yang lebih kaya, serta penambahan modul feedback otomatis yang memberi saran perbaikan kode berdasarkan pola yang terdeteksi. Kombinasi CBR dan KNN terbukti menjadi fondasi yang kuat untuk ekosistem evaluasi jawaban yang cerdas dan berbasis pengetahuan. Implementasi Algoritma KNearest Neighbor dalam Sistem Case Based Reasoning untuk Pembentukan Identitas Jawaban Otomatis dan Pencari Kemiripan Jawaban
Pendahuluan
KNearest Neighbor (KNN), CBR dapat melakukan pencarian kemiripan jawaban yang sangat akurat, sekaligus membentuk identitas unik untuk setiap jawaban yang masuk. Tulisan ini membahas secara menyeluruh cara mengimplementasikan KNN dalam CBR untuk dua fungsionalitas utama: (1) pembentukan identitas jawaban otomatis, dan (2) pencarian kemiripan jawaban pada koleksi soal algoritma. Case Based Reasoning dalam Konteks Pembelajaran Algoritma
{soal, jawaban, metadata}. Metadata meliputi waktu pengiriman, identitas pengguna, dan vektor fitur yang diekstraksi dari teks jawaban. Dengan menyimpan kasuskasus sebelumnya, sistem dapat merujuk pada solusi yang telah terbukti efektif, mempercepat proses penilaian dan meminimalkan intervensi manual. Algoritma KNearest Neighbor: Prinsip dan Penyesuaian
KDTree atau BallTree, serta teknik approximate nearest neighbor (ANN) seperti FAISS atau Annoy untuk skala data berjumlah ratusan ribu kasus. Arsitektur Sistem
Komponen Fungsi Utama Teknologi Frontend Form pengiriman jawaban, visualisasi kemiripan HTML5, CSS3, JavaScript (React) API Gateway Menerima request, otentikasi, routing Node.js, Express Service CBR Manajemen kasus, penyimpanan metadata Python, Flask Engine KNN Ekstraksi fitur, pencarian tetangga terdekat Python, scikitlearn, FAISS Database Basis kasus, vektor fitur, log aktivitas PostgreSQL + pgvector, Redis cache retrieve() untuk mendapatkan k kasus terdekat. Hasilnya dikirim kembali ke frontend untuk ditampilkan sebagai Jawaban Mirip serta Identitas Otomatis. Proses Pembentukan Identitas Jawaban Otomatis
autopep8).CodeBERT. Vektor akhir merupakan ratarata (mean pooling) dari semua token.MurmurHash3. Hash ini menjadi identitas unik yang dapat dipakai untuk deduplikasi cepat pada basis data.cases. Jika hash sudah ada, sistem memeriksa kemiripan sebenarnya (cosine > 0.95) sebelum memutuskan untuk menolak duplikasi atau memperbarui kasus.Pencarian Kemiripan Jawaban
similarity_score untuk masingmasing. Skor discale menjadi persentase dan ditampilkan dalam grafik radar pada antarmuka pengguna. Jika skor tertinggi melebihi ambang batas (misalnya 85%), sistem menandai jawaban sebagai Mirip. Pengguna kemudian dapat melihat solusi serupa, menghindari plagiarisme, atau mengoptimalkan pendekatan mereka. Evaluasi dan Hasil Eksperimen
Metric Nilai Precision@5 0.91 Recall 0.84 Fmeasure 0.87 Kesimpulan
