Implementasi Algoritme Modified K-Nearest Neighbor (MK-NN) Untuk Diagnosis Penyakit Anjing

  

Vol. 2, No. 11, November 2018, hlm. 4340-4346 http://j-ptiik.ub.ac.id

Implementasi Algoritme Modified K-Nearest Neighbor (MK-NN) Untuk

Diagnosis Penyakit Anjing

1 2 3 Luh Putu Novita Budiarti , Nurul Hidayat , Tri Afirianto

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: nouvita.budi@gmail.com, ntayadih@ub.ac.id, tri.afirianto@ub.ac.id

  

Abstrak

  Anjing adalah salah satu hewan yang banyak dijadikan peliharaan. Berinteraksi dengan anjing memiliki banyak manfaat bagi kesehatan seperti membantu menurunkan stres dan membuat pemiliknya memiliki gaya hidup yang lebih aktif. Tetapi, kondisi kesehatan hewan peliharaan itu sendiri harus diperhatikan. Anjing yang terserang penyakit memiliki resiko dapat menularkannya pada hewan peliharaan lainnya atau bahkan pada manusia, Kondisi menjadi sedikit sulit apabila pemilik baru menyadari bahwa anjingnya sedang dalam keadaan tidak sehat pada jam-jam di luar jam kerja. Terbatasnya jumlah klinik hewan yang dapat menangani pasien di luar jam kerja membuat pemilik anjing harus dapat memberikan penanganan awal dengan segera. Untuk menangani masalah tersebut, diperlukan suatu sistem untuk membantu mendiagnosis penyakit anjing dengan memanfaatkan metode klasifikasi Modified K-Nearest

  

Neighbor (MK-NN) untuk membantu pemilik anjing melakukan deteksi dini penyakit anjing agar dapat

  dilakukan penanganan awal dengan segera. Sistem diimplementasikan menggunakan bahasa pemrograman Java. Ada 10 macam penyakit dengan gejala sebanyak 46. Berdasarkan pengujian akurasi yang dilakukan, didapatkan rata-rata akurasi maksimal sebesar 96,6% dengan k=2.

  Kata kunci: Modified K-Nearest Neighbor (MK-NN), klasifikasi, penyakit anjing

Abstract

  

Dog is one of the most favorite pets. Interacting with dogs has its benefit such as lowering stress levels

and leading the owners to have a more active lifestyle. However, the dog’s health itself should be taken

care of. Dog who suffers from a disease can infect other pets or even humans, so veterinarian help is

needed. Things will be difficult if the owners realize that their dogs are sick outside of working hours

because there is not much veterinary clinic that open for 24 hours. So the owners should be capable of

giving immediate response to their dogs. Therefore, a system is needed to help this problem using

Modified K-Nearest Neighbor (MK-NN) algorithm, to help the owner getting their dog diagnosed and

giving immediate response. The system is implemented using Java programming language. There are

10 types of the diseases with 46 clinical symptoms. Based on the accuracy test, the maximum average

of accuracy obtained is 96.6% with k=2.

  Keywords: Modified K-Nearest Neighbor (MK-NN), classification, dog diseases

  mereka dapat kembali normal lebih cepat 1. dibanding mereka yang tidak memiliki anjing

   PENDAHULUAN

  atau kucing (Allen et al, 2002). Meskipun Salah satu hewan yang banyak dijadikan memiliki manfaat bagi kesehatan manusia, peliharaan adalah anjing. Salah satu manfaat namun kesehatan anjing itu sendiri harus memiliki hewan peliharaan adalah dapat diperhatikan. Anjing yang terserang penyakit meningkatkan kesehatan mental manusia. memiliki resiko dapat menularkannya ke anjing

  Berdasarkan penelitian, kecil kemungkinan bagi lain atau hewan peliharaannya, atau bahkan mereka yang memiliki anjing atau kucing untuk kepada manusia. mengalami lonjakan denyut jantung dan tekanan

  Kondisi menjadi sulit apabila pemilik baru darah dalam kondisi stres seperti saat menyadari bahwa anjingnya sedang dalam mengerjakan tugas matematika dengan waktu keadaan tidak sehat pada jam-jam di luar jam yang terbatas. Denyut jantung dan tekanan darah

  Fakultas Ilmu Komputer Universitas Brawijaya

4340 kerja. Terbatasnya jumlah klinik hewan yang dapat menangani pasien di luar jam kerja membuat pemilik anjing harus dapat memberikan penanganan awal dengan segera. Oleh karena itu, diperlukan suatu sistem yang dapat melakukan klasifikasi penyakit anjing untuk membantu pemilik anjing melakukan deteksi dini penyakit anjing sehingga penanganan awal dapat dilakukan dengan segera.

  Klasifikasi merupakan salah satu fungsionalitas dari data mining yang digunakan untuk melakukan pengelompokan data atau objek ke dalam kelas-kelas, di mana kelas-kelas tersebut sudah didefinisikan sebelumnya. Pada klasifikasi, data masukan (input) berupa sekumpulan atribut-atribut atau fitur-fitur yang merupakan ciri-ciri dari suatu data atau objek. Terdapat berbagai macam algoritme klasifikasi yang dapat digunakan, salah satunya adalah

  Helminthiasis, Canine Parvovirus, Ringworm, Coccidiosis Ehrlichiosis, Urolithiasis dan Canine Distemper.

  2.4 Modified K-Nearest Neighbor (MK-NN)

  Model yang telah didapatkan menggunakan algoritme klasifikasi merupakan aturan-aturan klasifikasi (classification rules) yang akan diuji menggunakan data uji untuk memperkirakan akurasinya. Data yang digunakan sebagai data uji tidak digunakan dalam proses pelatihan.

  supervised learning .

  Dalam proses pelatihan, suatu set data latih yang kelasnya telah diketahui dianalisis kemudian sebuah model dibangun dari setiap kelas menggunakan algoritme klasifikasi. Karena setiap data latih telah diketahui kelasnya, proses pelatihan pada klasifikasi disebut

  Salah satu fungsionalitas data mining adalah klasifikasi. Terdapat 2 langkah dalam klasifikasi yaitu pelatihan (learning) dan klasifikasi (classification). Pelatihan merupakan langkah untuk membuat model klasifikasi, sedangkan klasifikasi adalah langkah untuk menetukan kelas dari data menggunakan model klasifikasi yang telah dibuat (Han, 2012).

  2.3 Klasifikasi

  menemukan pengetahuan dan pola dari sejumlah data yang berukuran besar yang berasal dari basis data, data warehouse , web dan penyimpanan informasi lainnya. Data mining mempunyai fungsionalitas-fungsionalitas yang digunakan untuk menentukan pola yang ditemukan dalam tugas data mining. Secara umum, tugas data mining dikategorikan menjadi 2, yaitu deskriptif dan prediktif. Tugas dekriptif adalah untuk menggambarkan properti-properti data dalam data set, sedangkan tugas prediktif adalah untuk membuat prediksi dengan melakukan induksi pada data yang ada (Han, 2012).

  2.2 Data Mining Data mining merupakan suatu proses

  Ada 10 penyakit anjing yang diklasifikasi pada sistem yaitu Demodicosis, Scabiosis, Otitis,

  Modified K-Nearest Neighbor (MK-NN).

  2.1 Penyakit Anjing

  2. LANDASAN KEPUSTAKAAN

  Berdasarkan permasalahan dan pemaparan tersebut, maka pada penelitian ini dibangun sebuah sistem menggunakan algoritme MK-NN untuk diagnosis penyakit anjing. Sistem ini diharapkan dapat membantu pemilik anjing melakukan deteksi dini penyakit sehingga penanganan awal dapat dilakukan dengan segera. Tujuan dari penelitian ini adalah menerapkan algoritme MK-NN untuk diagnosis penyakit anjing dan mengetahui tingkat akurasi yang dihasilkan sistem.

  Penelitian lainnya mengenai penentuan status gizi balita menggunakan MK-NN untuk mengklasifikasikan status gizi balita ke dalam 4 kelas yaitu gizi baik, gizi kurang, gizi buruk, dan gizi lebih, memiliki akurasi yang berada pada kisaran 80% (Khotimah, 2015).

  Penelitian sebelumnya berkaitan dengan MK-NN salah satunya adalah untuk klasifikasi penyakit demam berdasarkan gejala-gejala klinis, yang memiliki rata-rata akurasi terhadap perubahan nilai k sebesar 88,55%, sedangkan rata-rata akurasi terhadap pengaruh komposisi data latih sebesar 87,89% (Wafiyah et al, 2017).

  weight voting menggunakan nilai validasi tersebut (Parvin, 2010).

  dengan adanya penambahan proses baru yaitu perhitungan validitas dan weight voting, sehingga seluruh data latih harus divalidasi satu kali terlebih dahulu, yang dihitung sesuai dengan tetangga terdekatnya kemudian melakukan

  Nearest Neighbor (K-NN) yang dimodifikasi

  Algoritme MK-NN berasal dari algortime K-

  Algoritme MK-NN adalah pengembangan dari algoritme K-NN. Perbedaan MK-NN dari K-NN adalah adanya proses perhitungan validitas data latih dan weight voting (Parvin, 2010). Berikut ini adalah tahapan-tahapan

  • 0.5

  Studi Literatur

  W (i)

  = bobot - setiap tetangga

  d

  = jarak - Euclidean data uji dengan data latih

  α = smoothing regulator, bernilai 0,5

  Pembobotan ini kemudian dijumlahkan untuk setiap kelas dan kelas dengan total yang terbesar dipilih. Validitas data latih dikalikan dengan bobot tersebut berdasarkan pada jarak Euclidean, sehingga didapatkan perhitungan weight voting pada MK-NN yang didefinisikan oleh Persamaan (5).

  ( )

  =

  ( )

  ×

  1

  (5) Keterangan:

  = weight voting i

  W (i)

  Validitas (i) = nilai - validitas d = jarak data uji dengan data

  latih

  Weight voting pada MK-NN berpengaruh

  besar pada data yang memiliki nilai validitas lebih tinggi dan lebih dekat dengan data uji. Perkalian validitas dengan bobot pada Persamaan (5) mampu mengatasi kelemahan dalam hal outlier. Oleh karena itu, MK-NN merupakan algoritme yang lebih kuat dari K- NN yang hanya berdasarkan pada jarak (Parvin, 2010).

  6. Menentukan kelas data uji.

  Untuk menentukan kelas data uji, diambil nilai weight voting terbesar. Kelas data dari nilai weight voting yang paling besar merupakan kelas data uji.

  3. METODOLOGI PENELITIAN

  Penelitian ini dilakukan mengikuti tahapan- tahapan yang ditunjukan pada Gambar 1.

  3.1. Data Penelitian

  Data penelitian didapatkan dari Klinik Hewan Yudisthira, Denpasar, berupa penyakit- penyakit anjing yang berjumlah 10 penyakit, gejala-gejala penyakit anjing yang berjumlah 46 gejala beserta bobot masing-masing gejala, dan data rekam medis pasien anjing yang berjumlah 250 data.

  4. PERANCANGAN

  Perancangan menjelaskan kebutuhan yang diperlukan untuk membangun sistem diagnosis penyakit anjing menggunakan MK-NN.

  Keterangan:

  =

  1

  1

  klasifikasi algoritme MK-NN.

  1. Menetukan nilai k tetangga terdekat.

  2. Menghitung jarak Euclidean antar data latih menggunakan Persamaan (1).

  ( , )

  = √∑ ( − )

  2 =1

  (1) Keterangan:

  d = jarak i i = variabel data x i = sampel data y i = data uji n = dimensi data 3.

  Menghitung nilai validitas data latih.

  Nilai validitas data latih tergantung pada tetangga terdekatnya, yang digunakan untuk menghitung jumlah titik dengan label yang sama untuk data tersebut. Persamaan (2) merupakan persamaan menghitung nilai validitas.

  ( )

  =

  ∑ ( ( ), ( ))

  ( )

  =1

  (2) Keterangan:

  k . = jumlah - titik - terdekat label(x) . = kelas x i labelN i (x) = kelas titik tedekat x

  Fungsi S dalam Persamaan (2) digunakan untuk menghitung kesamaan antara titik x dan data ke-i tetangga terdekat, yang didefinisikan dalam Persamaan (3).

  ( , )

  = {1 = 0 ≠ (3)

  Keterangan:

  a = kelas a pada data latih b = kelas selain a pada data latih a dan b adalah kelas dari suatu data latih.

  Jika a dan b sama, maka S bernilai 1. Jika a dan b tidak sama, maka S bernilai 0.

  4. Menghitung jarak Euclidean antara data latih dengan data uji menggunakan Persamaan (1).

  5. Menghitung weight voting Pada variasi metode metode K-NN,

  weighted K-NN, bobot setiap tetangganya dihitung dengan Persamaan (4).

  • (4)
Gambar 1. Metodologi Penelitian

  4.1 Analisis Kebutuhan Proses

  Proses Klasifikasi MK-NN Mulai Dataset penyakit anjing, nilai k Perhitungan jarak

  Mulai Dataset penyakit anjing, nilai k Proses klasifikasi

  Implementasi sistem Pengujian dan Analsis Kesimpulan dan Saran

  Gambar 3. Diagram alir proses klasifikasi MK-NN Analisis Kebutuhan Pengumpulan Data Perancangan Sistem

  Klasifikasi penyakit anjing Selesai Menentukan kelas data uji

  Euclidean data latih dan data uji Perhitungan weight voting

  Euclidean data latih Perhitungan Validitas Perhitungan jarak

  Setelah jarak antar data latih didapatkan, dilakukan perhitungan validitas. Diambil jarak terdekat sejumlah nilai k, lalu membandingkan kelas data latih dengan kelas tetangga terdekat tersebut. Nilai kesamaan kelas yang didapatkan kemudian dijumlahkan dan hasilnya dibagi dengan nilai k. Proses perhitungan validitas ditunjukan pada Gambar 5.

  Masukan pada sistem berupa nilai k dan gejala-gejala penyakit anjing. Sistem kemudian akan memproses masukan-masukan tersebut menggunakan MK-NN dan memberikan keluaran berupa hasil klasifikasi penyakit anjing. Secara umum, diagram alir sistem ditunjukan pada Gambar 2.

  4.2.2 Perhitungan Validitas

  Setelah memasukan nilai k dan dataset penyakit anjing yang berupa data latih dan data uji, langkah pertama adalah menghitung jarak euclidean antar data latih. Proses perhitungan jarak euclidean antar data latih ditunjukan pada Gambar 4.

  4.2.1 Perhitungan Jarak Data Latih

  latih dengan data uji, menghitung weight voting, dan menentukan kelas data uji. Proses klasifikasi MK-NN ditunjukan pada Gambar 3.

  Gambar 2. Diagram alir sistem

  Klasifikasi menggunakan MK-NN terdiri dari beberapa tahap yaitu, memasukan data set penyakit anjing dan nilai k, menghitung jarak Euclidean antar data latih, menghitung nilai validitas, menghitung jarak Euclidean antara data

  4.2 Perancangan Klasifikasi

  MK-NN Selesai Hasil klasifikasi Perhitungan jarak Euclidean data latih Mulai data_latih for x=0; x < data_latih.length; x++ for y=0; y < data_latih.length; y++ total = 0 for z=0; z < data_latih[0].length; z++ total += (data_latih[x][z] – data_latih[y][z])^2 z euclidean_data_latih[x][y] = sqrt(total) y x Kembali

  Gambar 4. Proses perhitungan jarak antar data latih

  4.2.3 Perhitungan Jarak Data Latih dan Uji

  Setelah validitas didapatkan, proses selanjutnya adalah menghitung jarak euclidean antara data latih dengan data uji, yang ditunjukan pada Gambar 6.

  4.2.4 Perhitungan Weight Voting

  Setelah jarak data latih dengan data uji didapatkan, dilakukan perhitungan weight voting menggunakan nilai validitas dan jarak antara data latih dengan data uji. Proses perhitungan

  weight voting ditunjukan pada Gambar 7.

  4.2.5 Menentukan Kelas Data Uji

  Setelah didapatkan hasil perhitungan weight voting , diambil nilai weight voting yang terbesar. Kelas dari nilai weight voting yang terbesar tersebut merupakan kelas dari data uji. Proses menentukan data uji ditunjukan pada Gambar 8.

  Perhitungan Validitas Mulai jarak, K, K_euclidean_data_latih, kelas_data for x=0; x < K_euclidean_data_latih.length; x++

  Urutkan jarak dari yang terkecil ambil jarak terdekat sebanyak K (K_euclidean_data_latih) for y=0; y < K_euclidean_data_latih[0].length; y++ validitas[x] = 0 kelas_data[x] == kelas_data[x][y] validitas[x] +=1 y validitas[x] = validitas[x]/k x Kembali

  Ya Tidak Gambar 5. Proses perhitungan validitas 5.

PENGUJIAN DAN ANALISIS

  Pengujian yang dilakukan adalah pengujian akurasi untuk mengukur tingkat akurasi sistem yang telah dibangun. Pengujian tingkat akurasi dilakukan dengan melakukan perbandingan hasil keluaran sistem dengan data sebenarnya, yaitu data rekam medis.

  Pengujian dilakukan dengan memasukan nilai k yang bervariasi mulai dari 1 sampai 15. Jumlah data latih yang digunakan sebanyak 100 data yang diambil secara acak dari 250 data yang ada. Data yang telah digunakan sebagai data latih tidak digunakan lagi sebagai data uji. Untuk data uji, dilakukan pengacakan sebanyak 5 kali terhadap 150 data sisa. Setiap pengacakan diambil 100 data untuk dijadikan sebagai data uji. Hasil pengujian akurasi dapat dilihat pada Tabel 1. Perhitungan jarak Euclidean data latih dan data uji Mulai data_latih, data_uji for x=0; x < data_uji.length; x++ for y=0; y < data_latih.length; y++ total = 0 for z=0; z < data_latih[0].length; z++ total += (data_uji[x][z] – data_latih[y][z])^2 z euclidean_data_uji[x][y] = sqrt(total) y x Kembali

  Gambar 6. Perhitungan jarak data latih dan data uji Perhitungan weight voting

  Mulai euclidean_data_uji, validitas for x=0; x < euclidean_data_uji.length; x++ for y=0; y < euclidean_data_uji[0].length; y++ weight_voting[x][y] = validitas[y] *

  (1/(euclidean_data_uji [x][y]+0.5)) y x Kembali

  Gambar 7. Proses perhitungan weight voting Mulai kelas_data_uji, weight_voting Urutkan weight_voting dari yang terbesar ke terkecil hasil_klasifikasi = kelas_data_uji.length for x=0; x < hasil_klasifikasi.length; x++ hasil_klasifikasi[x] = kelas_data_uji[x][0] x

  Kembali Menentukan kelas data uji Gambar 8. Proses menentukan kelas data uji Tabel 1. Hasil Pengujian Akurasi

  Nilai k Akurasi Pengujian ke- Rata- rata Akurasi

  1

  2

  3

  4

  5 1 95% 95% 96% 97% 96% 95,80% 2 96% 96% 96% 98% 97% 96,60% 3 95% 94% 95% 96% 95% 95% 4 93% 90% 89% 90% 91% 90,60% 5 92% 89% 89% 90% 90% 90% 6 89% 86% 86% 87% 86% 86,80% 7 86% 81% 84% 83% 85% 83,80% 8 83% 79% 81% 81% 84% 81,60% 9 81% 79% 79% 80% 84% 80,60%

  10 77% 74% 76% 77% 80% 76,80% 11 78% 75% 77% 78% 80% 77,60% 12 77% 73% 76% 77% 79% 76,40% 13 77% 73% 76% 77% 79% 76,40% 14 77% 73% 76% 77% 79% 76,40% 15 74% 70% 73% 73% 78% 73,60% Gambar 9. Grafik rata-rata akurasi pengujian

  Berdasarkan Tabel 1, perubahan nilai k mempunyai pengaruh terhadap nilai akurasi pengujian. Nilai akurasi mengalami penurunan dengan bertambahnya nilai k. Hal ini dikarenakan, semakin besar nilai k yang digunakan maka semakin banyak tetangga terdekat yang diambil untuk perhitungan validitas. Tetangga-tetangga terdekat tersebut berkemungkinan memiliki kelas yang berbeda sehingga mempengaruhi nilai kesamaan kelas penyakit yang akan mempengaruhi nilai validitas dan nilai weight voting. Selain itu, hasil klasifikasi juga dipengaruhi oleh komposisi data latih yang tidak seimbang. Pada data latih, terdapat kelas penyakit yang mendominasi. Hal ini membuat hasil klasifikasi menjadi tidak akurat karena data uji akan cenderung diklasifikasikan ke dalam kelas yang dominan tersebut. Berdasarkan Tabel 1, rata-rata akurasi maksimal yang didapatkan sebesar 96,6% dengan k=2. Grafik rata-rata pengujian akurasi ditunjukan pada Gambar 9.

  United States of America. Khotimah, H., 2015, Penentuan Status Gizi

  Rata-rata Akurasi

  0,00% 50,00% 100,00% k=1 k=3 k=5 k=7 k=9 k=11 k=13 k=15

  p.1210-1219.

  Pengembangan Teknologi Informasi dan Ilmu Komputer (JPTIIK) , 1(10),

  Wafiyah, F., Hidayat, N., Perdana, R.S., 2017, Implementasi Algoritma Modified K- Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit Demam, Jurnal

  Science and Technology , 10(14), p.37- 41.

  Parvin, H., Alizadeh, H., Minati, B., 2010, A Modification on K-Nearest Neighbor Classifier, Global Journal of Computer

  Balita menggunakan Metode Modified K-Nearest Neighbor (MK-NN) (Studi Kasus: Kecamatan Kertosono), FILKOM Universitas Brawijaya, Malang.

  Morgan Kaufmann Publisher.

  Kesimpulan yang didapatkan berdasarkan pengujian yang telah dilakukan adalah sebagai berikut: 1.

  Han, J., Kamber, M., Pei, J., 2012, Data Mining: Concepts and Techniques Third Edition.

  Psychosomatic Medicine, 64(5 ), p.727- 739.

  Allen, K., Blascovich, J., Mendes, W.B., 2002, Cardiovascular reactivity and the presence of pets, friends, and spouses: the truth about cats and dogs,

  7. DAFTAR PUSTAKA

6. KESIMPULAN

  2. Penurunan akurasi dipengaruh oleh penambahan nilai k. Rata-rata akurasi maksimal yang didapatkan adalah sebesar 96,6% dengan k=2. Komposisi data latih yang tidak seimbang juga mempengaruhi hasil klasifikasi dan akurasi di mana terdapat kelas penyakit yang dominan sehingga data uji akan cenderung diklasifikasikan ke dalam kelas yang dominan tersebut dan membuat hasil klasifikasi menjadi tidak akurat.

  voting terbesar tersebut merupakan kelas penyakit data uji.

  diambil di mana kelas dari nilai weight

  weight voting . Nilai weight voting terbesar

  Algoritme MK-NN dapat diterapkan untuk melakukan diagnosis penyakit anjing dengan beberapa tahapan yaitu menghitung jarak antar data latih, menghitung nilai validitas data latih, menghitung jarak antara data latih dengan data uji, dan menghitung