Fakultas Ilmu Komputer
1295
Deteksi Penyakit Kucing dengan Menggunakan
Modified K-Nearest
Neighbor
Teroptimasi
(Studi Kasus: Puskeswan Klinik Hewan dan Satwa Sehat Kota Kediri)
Fitri Dwi Astuti1, Dian Eka Ratnawati2, Agus Wahyu Widodo3
Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya, Malang 65145, Indonesia Email: 1fitridwiastuti725@gmail.com, 2dian_ilkom@ub.ac.id, 3a_wahyu_w@ub.ac.id
Abstrak
Kucing merupakan hewan yang banyak dipelihara oleh masyarakat, sehingga saat ini terdapat berbagai penemuan yang berhubungan dengan penyakit kucing yang disebabkan oleh banyak faktor. Pengetahuan dan pemahaman mengenai gejala-gejala yang terjadi pada kucing menjadi faktor yang penting, sehingga masyarakat bisa lebih mengantisipasi terjadinya penyakit yang lebih parah. Dengan beberapa permasalahan yang telah dijelaskan sebelumnya kemudian memberikan ide untuk dibangun sebuah aplikasi “Deteksi Penyakit pada Kucing”. Dalam penelitian ini metode yang digunakan adalah Modified K-Nearest Neighbor, tetapi metode tersebut memiliki kelemahan pada nilai k yang bias, sehingga tingkat akurasi yang dihasilkan terkadang kurang maksimal. Dengan adanya permasalahan ini, maka pada penelitian ini algoritme genetika digunakan untuk optimasi nilai k pada metode
modified K-Nearest Neighbor. Data yang digunakan dalam penelitian ini adalah data kucing sakit pada Puskeswan Klinik Hewan dan Satwa Sehat Kota Kediri dengan jumlah data latih sebanyak 105 dan data uji sebanyak 35. Dari semua data tersebut akan diklasifikasi ke dalam 7 kelas dengan 19 kriteria gejala penyakit. Hasil akurasi Modified K-Nearest Neighbor menggunakan algoritme genetika untuk k optimal 1 adalah 100%. Dari hasil tersebut maka aplikasi deteksi penyakit kucing menggunakan metode Modified K-Nearest Neighbor teroptimasi dapat digunakan oleh masyarakat untuk mengenali penyakit-penyakit pada kucing.
Kata kunci: algoritma genetika, penyakit kucing, MKNN
Abstract
Cats are animals that are widely nurtured by people, so there are now many findings related to cat disease caused by many factors. Knowledge and understanding of the symptoms that occur in the cat to be an important factor, so that people can better anticipate the occurrence of more severe disease. With some of the problems that have been described before then give the idea to built an application "Deteksi Penyakit Kucing". In this study the method used is Modified K-Nearest Neighbor, but the method has a weakness in the biased k value, so the accuracy of the resulting level sometimes less than the maximum. Given the problem, the genetic algorithm is used to optimize k value in the Modified K-Nearest Neighbor method. Data used in this research is cat disease data at Puskeswan Klinik Hewan dan Satwa Sehat of Kediri with amount of training data as many as 105 and test data counted 35. From all data will be classified into 7 class with criterion as much as 19. Accuracy result of Modified K-Nearest Neighbor using genetic algorithm for optimal k 1 is 100%. From these results the application of cat disease detection with optimal k value can be used by the public to recognize diseases in cats.
Keywords: genetic algorithm, cat disease, MKNN
1. PENDAHULUAN
Kucing merupakan hewan yang banyak dipelihara oleh masyarakat. Jenis kucing yang biasa dipelihara adalah kucing ras seperti anggora dan persia. Pada saat ini terdapat
kontak langsung dengan inang atau induk virus (Paryati,2013).
Dengan berbagai macam penyakit yang dapat menyerang kucing terkadang masyarakat tidak dapat mengenali penyakit berdasarkan gejala yang terjadi. Hal tersebut menyebabkan penanganan untuk penyakit akan lambat sehingga akan membahayakan bagi kucing jika terjangkit penyakit kronis yang dapat menyebabkan kematian (Harun, 2013). Dengan beberapa permasalahan maka dibuatlah sebuah aplikasi untuk mengklasifikasi jenis penyakit pada kucing. Klasifikasi merupakan proses untuk mengidentifikasi obyek penelitian ke dalam sebuah kelas, grup, atau kategori berdasarkan ketentuan dan karakteristik obyek yang telah ditentukan sebelumnya (Simanjuntak, Mahmudy & Sutrisno, 2014) . Beberapa penyakit yang akan diklasifikasi sebanyak 7 penyakit diantaranya adalah calicivirus, panleukopenia virus, scabies, ringworm, cacingan, enteritis dan gastritis. Dari beberapa metode yang dapat digunakan untuk klasifikasi salah satu yang sering digunakan adalah metode Modified K-Nearest Neighbor
(Mutrofin, Ginardi & Fatichah, - ).
Metode Modified K-Nearest Neighbor atau yang biasa disebut MKNN merupakan pengembangan performasi dari metode K-Nearest Neighbor. Pemikiran utama dari metode ini adalah klasifikasi data uji yang sesuai dengan tag tetangganya. MKNN terdiri dari dua proses, yang pertama adalah pemrosesan validasi untuk data latih dan yang kedua adalah penerapan pembobotan KNN
(Parvin, Alizadeh&Minaei-Bidgoli, 2008). Pada metode MKNN juga memiliki kelemahan, yaitu nilai k yang bias dan komputasi yang kompleks. Sehingga tingkat akurasi yang dihasilkan terkadang kurang optimal.
Dengan adanya permasalahan nilai k yang bias pada metode modified K-Nearest Neighbor
kemudian digunakanlah sebuah algoritme genetika untuk optimasi nilai k pada metode
modified K-Nearest Neighbor. Dengan menggunakan algoritme genetika ini diharapkan diperoleh nilai k optimal yang nantinya akan memberikan tingkat akurasi yang lebih baik dari sistem. Sehingga sistem dapat dijadikan acuan bagi masyarakat dalam mendekteksi penyakit pada kucing.
Terdapat beberapa permasalahan yang akan diselesaikan dalam penelitian ini yang pertama bagaimana implementasi metode
Modified K-Nearest Neighbor untuk kasus
deteksi penyakit kucing, kedua bagaimana algoritme genetika diterapkan untuk mengoptimasi nilai k pada metode Modified K-Nearest Neighbor dan ketiga bagaimana hasil yang diperoleh dari implementasi sebelumnya.
2. TINJAUAN PUSTAKA
2.1 Penyakit Kucing
Penyakit yang sering menyerang kucing untuk studi kasus pada Puskeswan, Klinik Hewan dan Satwa Sehat Kota Kediri dibagi ke dalam dua kategori yaitu penyakit kulit dan penyakit dalam. Penyakit kulit yang digunakan sebagai salah satu klasifikasi penyakit pada sistem adalah scabies dan ringworm, sedangkan penyakit dalam yang digunakan sebagai klasifikasi penyakit pada sistem adalah calici virus, panleukopenia virus, gastritis, enteritis dan cacingan. Dari semua penyakit kucing yang akan diklasifikasi akan dibagi menjadi 2 kategori yaitu penyakit dalam dan penyakit kulit. Penyakit kulit yang dimaksud pada penelitian ini adalah penyakit yang menyerang kulit dari kucing, yaitu scabies dan ringworm. Penyakit Dalam yang dimaksud dalam penelitian ini adalah penyakit yang menyerang tubuh kucing bagian dalam, yaitu calici virus, panleukopenia virus, enteritis, gastritis dan cacingan.
2.2 Metode Modified K-Nearest Neighbor Algoritma Modified K-Nearest Neighbor
atau yang biasa disebut MKNN merupakan pengembangan dari metode K-Nearest Neighbor. Konsep utama dari metode ini adalah klasifikasi data uji sesuai dengan tag
tetangganya. Pada MKNN terdapat dua pemrosesan, yaitu validasi untuk data latih dan pembobotan KNN (Parvin, Alizadeh&Minaei-Bidgoli, 2008).
Perhitungan dengan metode modified K-Nearest Neighbor dilakukan dengan tahapan-tahapan sebagai berikut:
1. Menentukan data latih, testing dan nilai k. 2. Mencari jarak data kategorikal antara data
latih dari tiap gejala.
𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑡 (𝑥𝑖, 𝑦𝑖) = (1)
Keterangan :
Different (xi,yi): Jarak antar data latih
xi: Data latih yang pertama
yi: Data latih kedua
3. Menghitung validitas data latih. 0 if xi=yi
𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑎𝑠(𝑥) = 1
𝑘∑𝑘𝑖=1𝑆(𝑙𝑎𝑏𝑒𝑙(𝑥), 𝑙𝑎𝑏𝑒𝑙(𝑁𝑖(𝑥))) (2)
Keterangan : i: Jumlah data latih
k: Jumlah tetangga terdekat data latih dari similaritas yang terbaik
Ni: Banyaknya label kelas
4. Mencari jarak data kategorikal antara data uji dan data latih dari tiap gejala.
𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑡 (𝑥𝑖, 𝑦𝑖) =
(3)
Keterangan :
D (x,y): Jarak dari data uji dan data latih xi : Data uji
yi : Data latih
5. Menghitung weight voting berdasarkan nilai validitas dan jarakdata uji.
𝑊(𝑖) = 𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑎𝑠(𝑥) ×𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑡(𝑥)+𝜇1 (4)
Keterangan : W : Bobot
µ : Nilai smoothing(pemulusan)
6. Mengurutkan weight voting dari nilai terbesar ke terkecil.
7.
8. Mendapatkan hasil penyakit dengan nilai weight voting
2.3 Metode Genetic Modified K-Nearest
Neighbor
Optimasi yang akan dilakukan pada metode modified K-Nearest Neighbor adalah pada parameter nilai k yang digunakan. Sehingga selanjutnya metode modified K-Nearest Neighbor dinamakan Genetic Modified K-Nearest Neigbor (GMKNN) (Parvin, Alizadeh&Minaei-Bidgoli, 2008).
3. PERANCANGAN SISTEM
3.1 Data
Data yang digunakan dalam pembangunan perangkat lunak adalah data gejala penyakit dan data kucing penderita penyakit. Data diperoleh dari melalui studi literatur dan wawancara dengan pakar. Pengumpulan data dilakukan pada salah satu klinik hewan milik
Dinas Pertanian dan Ketahanan Pangan Kota Kediri.
3.2 Optimasi Metode MKNN Menggunakan
Algoritme Genetika
Perancangan sistem untuk optimasi metode MKNN menggunakan algoritme genetika secara singkat dapat dilihat pada Gambar 1.
Gambar 1. Flowchart Sistem
Langkah-langkah optimasi MKNN menggunakan algoritme genetika antara lain: 1. Menentukan data latih dan data uji yang
akan diproses menggunakan MKNN.
2. Inisialisasi populasi awal, Misalkan populasi yang diinginkan adalah 4 maka secara random kromosom yang dibangkitkan adalah sebanyak 4 buah. Representasi kromosom yang digunakan adalah biner. Misalkan kromosom yang dibangkitkan adalah
0 0 1 1 1 atau dalam nilai desimalnya adalah 7.
3. Proses seleksi dilakukan untuk mendapatkan dua kromosom sebagai
parent, misalkan yang terpilih adalah kromosom 9 dan 5.
4. Proses Crossover dari dua kromosom terpilih, titik potong untuk proses
crossover dalam penelitian ini dibuat
random pada index 0 hingga panjang kromosom-2. Dari proses crossover
diharapkan memiliki keberhasilan tinggi maka digunakan crossover rate sebesar 0,8. Jika dimisalkan dua parent terpilih adalah 01001 dan 00111, maka hasil
crossover adalah sebagai berikut: 0 if xi=yi
0 1 0 | 0 1
0 1 0 1 1 = 11
0 0 1| 1 1
5. Proses mutasi dengan mengambil 1 kromosom, titik proses mutasi dalam penelitian ini adalah random. Jika dimisalkan kromosom terpilih adalah 00011 dengan mutation rate sebesar 0,2, maka hasil mutasi adalah sebagai berikut:
00 0 1 1 0 0 0 0 1 = 1
6. Melakukan proses evaluasi dari semua kromosom awal(parent) dan kromomom hasil(offspring). Proses evaluasi dilakukan dengan menghitung nilai fitness untuk semua kromosom berdasarkan nilai rata-rata validitas pada setiap nilai k sehingga
fitness = rata-rata validitas.
7. Proses seleksi kromosom-kromosom dengan nilai terbaik sejumlah banyaknya populasi. Kemudian proses 1-8 akan diulang hingga iterasi yang ditentukan untuk menghasilkan nilai k optimal.
8. Mencari jarak dari antara data latih dari tiap gejala.
9. Menghitung nilai validitas dari semua data latih menggunakan persamaan 2.
10. Menghitung jarak data uji dengan semua data latih menggunakan persamaan 3.
11. Menghitung weight voting dengan menggunakan nilai validitas pada k optimal dan nilai jarak data uji menggunakan persamaan 4.
12. Mendapatkan hasil weight voting terbesar yang akan digunakan sebagai hasil deteksi.
4. IMPLEMENTASI
Implementasi antarmuka pada penelitian ini terdiri dari beberapa halaman utama yaitu halaman home, proses GA, deteksi, data dan informasi. Implementasi halaman home dapat dilihat pada Gambar 2.
Gambar 2. Implementasi Halaman Home
Halaman deteksi berisi tentang form input
gejala penyakit kucing yang akan diisi oleh pengguna. Data gejala yang dimasukkan akan digunakan sebagai data uji yang kemudian akan diproses oleh aplikasi untuk mendapatkan hasil kelas data uji. Antarmuka halaman deteksi dapat dilihat pada Gambar 3.
Gambar 3. Implementasi Halaman Deteksi
Gambar 4. Implementasi Halaman Informasi
5. PENGUJIAN DAN PEMBAHASAN
Beberapa pengujian ang digunakan pada penelitian ini antara lain:
1. Pengujian verifikasi sistem. 2. Pengujian ukuran populasi. 3. Pengujian ukuran generasi. 4. Pengujian kombinasi cr dan mr. 5. Pengujian akurasi
5.1 Hasil Pengujian Verifikasi Sistem
Pengujian verifikasi sistem bertujuan untuk mengetahui apakah hasil deteksi data uji pada Tabel 4.5 yang diperoleh dalam perhitungan manual memiliki hasil yang sama dengan hasil deteksi oleh sistem deteksi yang telah dibuat. Hasil pengujian verifikasi dapat dilihat pada Tabel 1.
Tabel 1. Hasil Pengujian Verifikasi
Manual Sistem dapat dilihat bahwa hasil perhitungan manual dan hasil deteksi oleh sistem adalah sama, sehingga sistem bisa dikatakan valid untuk kasus deteksi penyakit kucing ini.
5.2 Hasil Pengujian Ukuran Populasi
Pengujian ukuran populasi dilakukan untuk mengetahui pengaruh ukuran populasi terhadap solusi terbaik atau nilai fitness terbaik pada
permasalahan deteksi penyakit kucing ini. Beberapa parameter yang digunakan pada pengujian ukuran populasi antara lain:
1. Ukuran Populasi = 5-60 2. Banyak generasi = 10 3. Crossover rate = 0,8 4. Mutation rate = 0,2
Hasil dari peningkatan rata-rata nilai fitness
pada pengujian ukuran populasi ini dapat dilihat pada Gambar 7.
Gambar 5. Grafik Hasil Pengujian Ukuran Populasi
Berdasarkan hasil tersebut dapat dilihat bahwa pada ukuran populasi 5 menuju ukuran 30 mengalami peningkatan rata-rata fitness meskipun nilainya hanya berselisih sedikit. Pada ukuran populasi 30 hingga 60 dapat dilihat pada ukuran ini nilai fitness terbaik yang diambil dari masing masing pengujian memiliki nilai yang sama, hal ini menjelaskan bahwa nilai k yang dihasilkan sudah konvergen.
5.3 Hasil Pengujian Generasi
Pengujian ukuran generasi bertujuan untuk mengetahui pengaruh ukuran generasi terhadap solusi terbaik atau nilai fitness terbaik untuk kasus deteksi penyakit kucing ini. Pengujian ukuran generasi dilakukan dengan beberapa parameter algoritma genetia yang dibuat statis atau tetap. Parameter-parameter yang digunakan adalah sebagai berikut.
5. Ukuran Populasi = 30 6. Banyak generasi = 10-100 7. Crossover rate = 0,8 8. Mutation rate = 0,2
Hasil pengujian ukuran generasi dapat dilihat pada Gambar 6.
Fakultas Ilmu Komputer, Universitas Brawijaya Gambar 6. Hasil Pengujian Ukuran Generasi
Pada ukuran generasi 50 dapat dilihat bahwa fitness terbaik dari 10 kali pengujian memiliki nilai yang sama atau sudah dalam kondisi konvergen.
5.4 Hasil Pengujian Kombinasi Cr dan Mr
Pengujian crossover rate(cr) dan mutation
rate(mr) bertujuan untuk mengetahui kombinasi nilai cr dan mr yang sesuai untuk mendapatkan nilai fitness terbaik. Dalam pengujian kombinasi cr dan mr parameter-parameter lain dibuat statis atau tetap. Nilai parameter algoritme genetika yang digunakan adalah sebagai berikut.
1. Ukuran Populasi = 50 2. Ukuran Generasi = 10
Pengujian terhadap kombinasi nilai cr dan mr ini dilakukan masing-masing 10 kali pengujian pada setiap kombinasi nilai cr dan mr. Hasil dari pengujian kombinasi nilai cr dan mr dapat dilihat pada Gambar 7.
Gambar 7 Hasil Pengujian Ukuran Cr dan Mr
Berdasarkan hasil pengujian kombinasi cr dan mr pada Gambar 9 dapat dilihat bahwa kombinasi yang dapat digunakan untuk mendapatkan hasil rata-rata fitness terbaik
adalah cr = 0,4 dan mr = 0,8 atau cr = 0,2 dan mr = 0,8.
5.5 Hasil Pengujian Akurasi
Pengujian akurasi dilakukan untuk mengetahui tingkat akurasi data uji terhadap nilai k yang diambil secara random dan k optimal yang diperoleh dari proses algoritme genetika. Nilai k optimal dari implementasi algoritme genetika pada penelitian ini adalah k = 1, sehingga k inilah yang akan digunakan dalam proses Modified K-Nearest Neighbor
untuk melakukan pengujian tingkat akurasi. Data uji yang digunakan sejumlah 35 data uji, data diperoleh dari Klinik Hewan dan Satwa Sehat Kota Kediri. Hasil Pengujian akurasi dapat dilihat pada Tabel 2.
Tabel 2. Hasil Pengujian Akurasi GMKNN
K Akurasi
1 100%
Pengujian akurasi juga dilakukan untuk menguji akurasi pada metode Modified K-Nearest Neighbor tanpa melalui proses optimasi. Pengujian akurasi bertujuan untuk mengetahui apakah hasil optimasi nilai k menggunakan algoritme genetika memang benar-benar merupakan nilai k optimal, hal tersebut dapat dilihat pada hasil pengujian dengan nilai k 1 hingga 5 menggunakan
Modified K-Nearest Neighbor pada Tabel 3.
Tabel 3. Hasil Pengujian Akurasi MKNN
K Akurasi
Pengujian menggunakan data latih dan data uji yang diambil secara random yang diproses dengan nilai k optimal dari proses algoritme genetika, tujuan dari pengujian data ini untuk mengetahui rata-rata tingkat akurasi yang diperoleh dari 5 kali pengujian data
random yang dilakukan. Hasil pengujian data
Fakultas Ilmu Komputer, Universitas Brawijaya latih dan data uji random dapat dilihat pada Tabel 4.
Tabel 4. Hasil Pengujian Akurasi MKNN
Pengujian ke- Akurasi
1 100%
2 100%
3 100%
4 100%
5 100%
Rata-rata akurasi 100%
6. KESIMPULAN
Kesimpulan yang diperoleh pada penelitian ini antara lain:
1. Metode MKNN dapat digunakan dalam permasalahan deteksi penyakit kucing. Nilai k yang digunakan dalam sistem yaitu k=1 dengan tingkat akurasi hasil data uji sebesar 100%.
2. Algoritme genetika dapat digunakan untuk melakukan optimasi terhadap parameter nilai k pada metode MKNN dengan perhitungan nilai fitness diambil dari rata-rata validitas semua data latih terhadap nilai k. Nilai parameter yang digunakan pada proses algoritme genetika untuk mendapatkan fitness terbaik adalah sebagai berikut :
a. Ukuran populasi = 50 b. Ukuran Generasi = 10 c. Crossover rate = 0,8 d. Mutation rate = 0,2
3. Hasil yang didapatkan dari proses optimasi pada metode MKNN adalah k optimal=1, Dari hasil uji coba metode Modified K-Nearest Neighbor untuk nilai k 1 hingga 5 menghasilkan nilai akurasi terbaik ketika nilai k=1, hal ini menunjukkan bahwa algoritme genetika dapat digunakan untuk mencari nilai k optimal pada kasus deteksi penyakit kucing pada penelitian ini dengan tingkat akurasi untuk nilai k=1. Hasil rata-rata akurasi terhadap nilai k optimal dengan data latih dan data uji yang diambil
secara random pada 5 kali proses percobaan adalah 100%.
7. DAFTAR PUSTAKA
Parvin, Hamid., Alizadeh, Hosein., and Minae-Bidgoli, Behrouz. 2008. MKNN: Modification on K-Nearest Neighbor Classification. San Francisco. USA.
Harun, Muhamad. 2013. Aplikasi Sistem Pakar Diagnosa Penyakit Pada Kucing. Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika: Tangerang
Mutrofin, Siti., Ginardi, R. V. Hari., & Fatichah, Chastine. Teknik Genetic Modified K-Nearest Neighbor Untuk Estimasi Hasil Produksi Gula Tebu Berdasarkan Nilai Klorofil Daun Tebu. Institut Teknologi Sepuluh November : Surabaya.
Mutrofin, Siti. Izzah, Abidatul. dkk. 2014.
OPTIMASI TEKNIK KLASIFIKASI
MODIFIED K-NEAREST NEIGHBOR
MENGGUNAKAN ALGORITMA
GENETIKA. Unipdu : Jombang.
Paryati. 2013. SISTEM PAKAR BERBASIS
WEB UNTUK MENDIAGNOSA
PENYAKIT KUCING. UPN : Yogyakarta.
Simanjuntak, T. H., Mahmudy, W. F., & Sutrisno, 2014. IMPLEMENTASI
MODIFIED K-NEAREST NEIGHBOR
DENGAN OTOMATISASI NILAI K
PADA PENGKLASIFIKASIAN