PENERAPAN CASE BASED REASONING DALAM MENDUKUNG PENYELESAIAN KASUS Emha Taufiq Luthfi STMIK AMIKOM Yogyakarta Jl. Ring Road Utara Condong Catur Depok Sleman Yogyakarta E-mail :
[email protected]
ABSTRAKSI Rule Based System dengan database konvensional memiliki kekurangan dalam mendukung penyelesaian kasus/permasalahan yang bersifat samar atau dengan level kemiripan yang tidak 100% terhadap informasi tersimpan. Untuk itu diperlukan sistem yang lebih fleksibel yang dapat mendukung hal tersebut. Dalam tulisan ini diterapkan model Case Based Reasoning dengan Algoritma Nearest Neighbor untuk mendukung penyelesaian kasus/permasalahan berdasar kasus/permasalahan terdahulu yang telah diketahui statusnya. Kata Kunci : Case Based Reasoning, Nearest Neighbor 1.
PENDAHULUAN Tehnologi database sepertinya tampak ideal dalam proses pencarian solusi yang diketahui untuk suatu masalah. Database dapat menyimpan informasi dengan jumlah besar, menjaga relasi antar item dan mengakses informasi dengan cepat. Akan tetapi tidak sesederhana itu. Untuk dapat mengambil solusi yang tepat, harus diidentifikasi apa permasalahannya. Hal tersebutlah yang belum sepenuhnya dapat dilakukan dengan sistem database konvensional. Untuk mengenali masalah dengan tepat dan selanjutnya mengetahui solusinya, harus dilakukan pengecekan kemiripan permasalahan baru yang muncul dengan permasalahan yang terdapat di database. Permasalahan nyata yang muncul seringkali sangat kompleks dengan berbagai faktor, sehingga permasalahan yang muncul tidak sama persis dengan permasalahan yang telah tersimpan
dalam database. Database sangat bagus dalam pencarian informasi yang memiliki kesamaan akan tetapi memiliki kekurangan untuk pencarian informasi yang memiliki kemiripan atau bernilai samar. Dalam kasus tersebut dibutuhkan metode pencarian yang lebih fleksibel dengan kemampuan (1) Memberikan fleksibilitas dalam mendeskripsikan permasalahan yang dilihat, bahkan menggunakan bahasa yang natural, (2) Mencari permasalahan/ informasi yang memiliki dekripsi mirip dalam database atau bahkan sekumpulan permasalahan/informasi yang mirip, (3) Menanyakan beberapa pertanyaan untuk mengkonfirmasikan permasalahan yang mirip atau fokus pada yang paling mirip, (4) Memberikan solusi dikenali berdasar permasalahan yang paling mirip (5) Mengadaptasikan solusi dengan permasalahan yang baru. Keseluruhan kemampuan yang diharapkan tersebut merupakan karakteristik dari Case Based Reasoning (CBR) yang membedakan dengan model Rule Based System. 2.
LANDASAN TEORI Case Based Reasoning (CBR) suatu model penalaran yang penggabungkan pemecahan masalah, pemahaman dan pembelajaran serta memadukan keseluruhannya dengan pemrosesan memori. Tugas tersebut dilakukan dengan memanfaatkan kasus yang pernah dialami oleh sistem, yang mana kasus merupakan pengetahuan dalam konteks tertentu yang mewakili suatu pengalaman yang menjadi dasar pembelajaran untuk mencapai tujuan sistem [1]. Atau dalam definisi lain CBR merupakan metode pemecahan masalah/kasus baru dengan melakukan adaptasi terhadap metode yang digunakan untuk memecahkan masalah/kasus lama [2]. Alur proses CBR dalam memecahkan masalah didefinisikan dalam 4 langkah RE, yaitu [2] : 1. REtrive, mengambil masalah/kasus yang paling serupa. 2. REuse, menggunakan kembali masalah/kasus untuk mencoba memecahkan masalah/kasus. 3. REvise, merevisi solusi yang diajukan jika perlukan.
4. REtain, mempertahankan/menyimpan solusi baru sebagai bagian dari masalah/kasus baru.
Problem
Retrieve
Retain Case‐base
R e u s e
Revise
Confirmed solution
Proposed solution
Gambar 1 Alur Proses CBR Masalah/kasus baru akan dicocokkan dengan kasus-kasus dalam CBR sistem, dan satu atau lebih kasus serupa yang akan diambil. Solusi yang disarankan berdasar kasus yang serupa kemudian digunakan dan diujikan terhadap kasus baru. Kecuali jika kasus disarankan sangat cocok dengan kasus baru, maka kemungkinan akan diperlukan revisi terhadap solusi, dan menghasilkan kasus baru untuk dipertahankan/disimpan. Keseluruhan proses CBR tersebut dijalankan tanpa intervensi manusia atau dengan kata lain secara otomatis.
Contoh proses CBR adalah dalam proses persetujuan pemberian pinjaman kepada seseorang oleh bank. Pihak bank harus memastikan untuk tidak meminjamkan uang kepada orang yang tidak akan bisa mengembalikan. Keputusan harus dibuat hati-hati karena bank mengambil keuntungan dari bunga pembayaran pinjaman. Salah satu cara untuk pemecahan masalah tersebut adalah dengan membandingkan permohonan pinjaman baru dengan permohonanpermohonan pinjaman sebelumnya. Jika kondisi permohonan sama dengan permohonan sebelumnya yang berjalan baik, maka permohonan akan disetujui. Sebaliknya jika permohonan serupa dengan permohonan sebelumnya yang gagal, maka permohonan akan ditolak. Proses yang dilakukan untuk kasus tersebut kemungkinan adalah : 1. Pihak bank mencari dalam permohonan sebelumnya dan menaksir kesamaan dengan pemohonan baru. 2. Pihak bank akan memberikan kesimpulan berdasar pinjaman sebelumnya yang paling mirip dan dapat dibandingkan 3. Pihak bank kemungkinan harus melakukan penyesuaian terhadap perubahan kondisi kasus lama dengan kondisi saat ini. 4. Jika permohonan disetujui, pihak bank akan memantau dan mencatat proses pinjaman untuk kebutuhan mendatang. Proses dalam CBR dapat menggunakan berbagai teknik, diantaranya adalah algoritma nearest neighbor. Nearest Neighbor menghitung tingkat kemiripan (jarak) suatu kasus terhadap kasus lain berdasarkan beberapa atribut yang didefinisikan berdasar pembobotan tertentu dan kemudian tingkat kemiripan (jarak) dari keseluruhan atribut akan dijumlahkan. Nearest Neighbor didefinsikan berdasar bersamaan sebagai berikut [2] :
T S n i f w
: Kasus target / baru : Kasus sumber / lama / pembanding : Jumlah atribut dalam setiap kasus : Atribut individu dari 1 sampai n : Fungsi kemiripan untuk atribut I dalam kasus T dan S : Bobot atribut i
3. PENGEMBANGAN APLIKASI 3.1. Perancangan Mulai
Ambil data kasus lama Konfigurasi Bobot Atribut Input Data Kasus Baru Hitung Level Kemiripan Kasus Baru dengan data kasuskasus lama Cari Kasus Lama dengan level kemiripan terkecil dan tampilkan Selesai
Gambar 2 Flowchart CBR dirancang
3.2. Pengkodean package cbr1; public class CBR1GUI extends javax.swing.JFrame { // data sekunder - kasus pinjaman String []atributDataKasus = {"status","jml pinjaman","status peminjam","pembayaran"}; Object [][]dataKasus = { {"good", 2000, "salaried", 200}, {"very bad", 4000, "salaried", 600}, {"very good", 3000, "waged", 300}, {"bad", 1500, "salaried", 400}}; Object []kasusBaru = {3500,"salaried",400}; Object []bobotAtribut = {4, 2.5, 3.5}; /** Creates new form CBR1GUI */ public CBR1GUI() { initComponents(); setSize(700, 400); CBR(); } public void CBR() { /** konversikan * salaried = 2 * waged = 1 */ for (int j=0;j
ldataPinjaman = "\n"; dataKasus[i][2] = (dataKasus[i][2].toString().trim().equals("salaried") ? 2 : 1); } } void proses() { // ambil input baru kasusBaru[0] = txtInputJmlPinjaman.getText(); kasusBaru[1] = cbInputStatusPeminjam.getModel().getSelectedItem().toStri ng(); kasusBaru[1] = (kasusBaru[1].toString().trim().equals("salaried") ? 2 : 1); kasusBaru[2] = txtInputPembayaran.getText(); bobotAtribut[0] = txtBobotJmlPinjaman.getText(); bobotAtribut[1] = txtBobotStatusPeminjam.getText(); bobotAtribut[2] = txtBobotPembayaran.getText();
// hitung double []jarak = new double[dataKasus.length]; for (int i=0;i
for (int j=i+1;j<jarak.length;j++) { idxTerkecil = (jarak[i]<jarak[j]? i: j); } } txtHasil.append("\n"); txtHasil.append("Jarak terkecil kasus baru dengan kasus ke-" + (idxTerkecil + 1) + " yaitu " + jarak[idxTerkecil]); txtHasil.append("\n"); txtHasil.append("Dengan status pinjaman kasus lama (kasus ke-"+ (idxTerkecil + 1) +") : " + dataKasus[idxTerkecil][0]); } private void btnProsesActionPerformed (java.awt.event.ActionEvent evt) { proses(); } public static void main(String args[]) { new CBR1GUI().setVisible(true); } }
4.
HASIL
Gambar 3 Data Pinjaman
Gambar 4 Konfigurasi Bobot dan Input Data Pinjaman Baru
Gambar 5 Hasil Proses : Level Kemiripan Kasus Baru Dengan menganalisa data hasil CBR, pihak bank memiliki acuan untuk pengambilan keputusan persetujuan terhadap pinjaman baru. Yaitu bahwa untuk kondisi pinjaman serupa pada kasus yang terdahulu didapatkan kondisi pinjaman adalah sangat baik (very good) sehingga kemungkinan pinjaman baru dapat direkomendasikan untuk disetujui.
5.
KESIMPULAN CBR merupakan proses penalaran terhadap suatu kasus dengan memanfaatkan memori terhadap kasus serupa yang terdahulu. Dalam percobaan dibuktikan penggunaan CBR dengan algoritma nearest neighbor untuk mencari level kedekatan data kasus baru dengan datadata kasus lama untuk di acuan pengambilan keputusan terhadap kasus baru.
6. DAFTAR PUSTAKA [1] Sankar, K.P dan Simon, C.K, 2004, Foundation Of Soft CaseBased Reasoning, Wiley Publishing, New Jersey [2] Watson, I.D, 1997, Applying Case-Based Reasoning: Technique for Enterprise Systems, Morgan Kaufmann Publishing, San Francisco