ANALISIS PERFORMA METODE K-NEAREST NEIGHBOR
(KNN) DALAM KLASIFIKASI DATA PASIEN PENYAKIT
DIABETES
Oleh
Nur Adhim Rosadi
13020150077
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA
MAKASSAR
2022
ABSTRAK
Nur Adhim Rosadi 13020150077, Analisis Performa Metode K-Nearest Neighbor
(K-NN) dalam klasifikasi data pasien penyakit Diabetes.Purnawansyah,Huzain
Azis.
Diabetes Mellitus atau biasa disebut diabetes merupakan penyakit ganguan
metabolic menahun akibat pangkreas tidak memproduksi cukup insulin atau tubuh
tidak dapat menggunakan insulin yang diproduksi secara efektif. Insulin adalah
hormon yang mengatur keseimbangan kadar gula darah. Akibatnya terjadi
peningkatan konsentrasi glukosa di dalam darah atau biasa disebut Hiperglikemia
(Gripp et al., 2013).
Tujuan dari penelitian ini adalah mengukur performa (akurasi, presisi, recall dan f-
measure) metode knn pada dataset penyakit diabetes . dataset yang digunakan
sebanyak 768 record terdiri dari 8 atribut diantaranya (Pregnancies, Glucose, B lood
Pressure, dll..) data pasien penyakit diabetes dan tidak terkena diabetes, dataset
tersebut diperoleh dari UCI Machine Learning Repository yang dikelola oleh
National Institute of Diabetes and Digestive and Kidney Diseases: Smith, J.W.,
Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S. . Tahapan yang
dilakukan membagi dataset menjadi 2 bagian yaitu data testing serta data
training.dilanjutkan dengan penerapan metode knn (k=2 sampai dengan
k=384),Hasil penelitian dari simulasi rasio dataset 50;50 menggunakan perhitungan
jarak Euclidean diperoleh nilai performa terbaik yaitu akurasi sebesar 76%,presisi
75%,recal 95% , f-masure 84%, pada nilai K=45 .Dan Hasil penelitian dari simulasi
rasio dataset 50;50 menggunakan perhitungan jarak Manhattan diperoleh nilai
performa terbaik yaitu akurasi sebesar 75%,presisi 74%,recal 95% , f-masure 84%,
pada nilai K=23 .
Kata Kunci : K-Nearest Neighbor, Akurasi,Presisi,Recall,F-measure,Penyakit
Diabetes.
BAB I PENDAHULUAN
A. Latar Belakang
Diabetes Mellitus merupakan penyakit yang banyak diderita oleh
masyarakat pada saat ini, penyakit ini timbul karena pola hidup yang kurang
baik. Penyakit tersebut ditandai dengan kenaikan kadar gula dalam darah.
Penyakit ini biasanya disebabkan pengaruh destruksi sel beta, pola makan,
dan kurangnya olahraga yang teratur (Yunita, 2016) .
Diabetes Mellitus atau biasa disebut diabetes merupakan penyakit
ganguan metabolic menahun akibat pangkreas tidak memproduksi cukup
insulin atau tubuh tidak dapat menggunakan insulin yang diproduksi secara
efektif. Insulin adalah hormon yang mengatur keseimbangan kadar gula
darah. Akibatnya terjadi peningkatan konsentrasi glukosa di dalam darah atau
biasa disebut Hiperglikemia (Gripp dkk., 2013). Sementara itu penyakit
diabetes tergolong penyakit yang mematikan dan meningkatkan gula darah.
Munculnya penyakit disebabkan oleh masyarakat yang memiliki kebiasaan
aktivitas fisik dengan diet tinggi kalori dan lemak yang tidak cukup serat pada
makanan (Ahmed dkk., 2012).
Tedapat 768 data pasien dari National Institute of Diabetes and
Digestive and Kidney Diseases yang dapat digunakan untuk memprediksi
secara diagnostik apakah pasien memiliki diabetes maupun tidak. Data
tersebut merupakan data pasien yang berumur paling rendah 21 tahun dan
semuanya wanita, berdasarkan pengukuran melalui diagnostik tertentu yang
terdiri dari delapan atribut yaitu jumlah kali kehamilan, kadar glukosa yang
dites 2 jam setelah Oral Glucose Tolerance Test (OGTT). Tes OGTT biasanya
digunakan untuk mengetes diabetes pada saat masa kehamilan, tekanan darah,
ketebalan lipatan kulit, insulin, indeks massa tubuh , Diabetes pedigree
function, dan yang terakhir atribut umur pasien (Smith dkk., n.d.).
Data Mining adalah serangkaian proses mendapatkan pengetahuan atau
pola dari kumpulan data. Data Mining akan memecahkan masalah dengan
menganalisis data yang telah ada dalam basis data. Hasil keluaran dari data
mining ini dapat dijadikan untuk memperbaiki pengambilan keputusan di
masa depan (Rohman, 2015).
Salah satu metode yang sering digunakan dalam mengolah data mining
adalah metode K-Nearest Neighbor (KNN). K-Nearest Neighbor dilakukan
dengan mencari kelompok objek dalam data training yang paling dekat
(mirip) dengan objek pada data baru atau data testing (Leidiyana, 2013).
Pada penelitian sebelumnya (Yunita, 2016) melakukan uji klasifikasi
diabetes menggunakan KNN dengan menggunakan beberapa atribut yaitu
atribut usia, berat badan, tinggi badan, riwayat keluarga, gangguan destruksi
sel beta, dan pengaruh pola makan dengan jumlah sebanyak 339 dengan
tingkat akurasi terendah 88% dan tertinggi 96%. Peneliti tersebut
menyarankan untuk menambahan variable faktor yang mempengaruhi
penyakit Diabetes Mellitus lainnya.
Berdasarkan uraian diatas maka penulis mencoba melanjutkan
penelitian tersebut dengan menggunakan data dari National Institute of
Diabetes and Digestive and Kidney Diseases dengan judul “Analisis
digunakan untuk mengetes diabetes pada saat masa kehamilan, tekanan darah,
ketebalan lipatan kulit, insulin, indeks massa tubuh , Diabetes pedigree
function, dan yang terakhir atribut umur pasien (Smith dkk., n.d.).
Data Mining adalah serangkaian proses mendapatkan pengetahuan atau
pola dari kumpulan data. Data Mining akan memecahkan masalah dengan
menganalisis data yang telah ada dalam basis data. Hasil keluaran dari data
mining ini dapat dijadikan untuk memperbaiki pengambilan keputusan di
masa depan (Rohman, 2015).
Salah satu metode yang sering digunakan dalam mengolah data mining
adalah metode K-Nearest Neighbor (KNN). K-Nearest Neighbor dilakukan
dengan mencari kelompok objek dalam data training yang paling dekat
(mirip) dengan objek pada data baru atau data testing (Leidiyana, 2013).
Pada penelitian sebelumnya (Yunita, 2016) melakukan uji klasifikasi
diabetes menggunakan KNN dengan menggunakan beberapa atribut yaitu
atribut usia, berat badan, tinggi badan, riwayat keluarga, gangguan destruksi
sel beta, dan pengaruh pola makan dengan jumlah sebanyak 339 dengan
tingkat akurasi terendah 88% dan tertinggi 96%. Peneliti tersebut
menyarankan untuk menambahan variable faktor yang mempengaruhi
penyakit Diabetes Mellitus lainnya.
Berdasarkan uraian diatas maka penulis mencoba melanjutkan
penelitian tersebut dengan menggunakan data dari National Institute of
Diabetes and Digestive and Kidney Diseases dengan judul “Analisis
Performa Metode K-Nearest Neighbor (KNN) dalam Klasifikasi Data Pasien
Performa Metode K-Nearest Neighbor (KNN) dalam Klasifikasi Data Pasien
Penyakit Diabetes” dimana performa yang diukur adalah nilai Akurasi,
Presisi, Recall dan F-measure.
B. Rumusan Masalah
Berdasarkan dari latar belakang sebelumnya, maka rumusan masalah pada
penelitian ini adalah bagaimana menganalisis Performa Metode KNN dalam
Klasifikasi Data Pasien Penyakit Diabetes
C. Tujuan Penelitian
Tujuan Penelitian ini untuk menganalisis performa metode KNN dalam
klasifikasi data pasien penyakit diabetes.
D. Batasan Masalah
Berdasarkan rumusan masalah di atas, maka penulis membatasi pada
masalah yaitu :
1. Pada panelitian ini akan menggunakan data pasien terdiagnosa diabetes
dan tidak terkena penyakit diabetes.
2. Jumlah data yang digunakan dalam penerapan metode KNN sebanyak
768 data, 50% sebagai data latih dan 50% sebagai data uji dengan 8
atribut yaitu jumlah kali kehamilan, kadar glukosa, tekanan darah,
ketebalan lipatan kulit, insulin, indeks massa tubuh , Diabetes pedigree
function, dan yang terakhir atribut umur pasien
3. Analisis performa yang diukur yaitu Akurasi, Presisi, Recall, dan F-
measure
E. Manfaat Penelitian
Setiap hasil penelitian pada prisipnya harus berguna sebagai penunjuk
praktek pengambilan keputusan dalam artian yang cukup jelas. Manfaat
tersebut baik bagi perkembangan ilmu pengetahuan, manfaat bagi objek yang
diteliti dan manfaat bagi peneliti sendiri maupun bagi pengembangan negara
pada umumnya.
Setelah melalui proses penelitian ini, diharapkan dapat memberikan
manfaat yang bisa digunakan dalam pengembangan keilmuan yang
masyarakat miliki. Manfaat dari penelitian ini dapat diuraikan sebagai
berikut yaitu :
1. Manfaat bagi Penulis
Menambah pengetahuan dan wawasan dalam hal informasi penyakit
Diabetes Mellitus dan Metode K- Nearest Neighbor itu sendiri, Serta
dalam pengelolahan data mining yang akan di telili.
2. Manfaat bagi Dunia Akademik
Menambah data penelitian tentang dunia teknologi yang di terapkan pada
bidang kesehatan sehingga dapat memudahkan mengembangkan, riset
atau peneliti selanjutnya.
BAB II LANDASAN TEORI
A. Tinjauan Pustaka
1. Data Mining
Didefinisikan sebagai proses penemuan pola dalam data. Berdasarkan
tugasnya, data mining dikelompokkan menjadi deskripsi, estimasi, prediksi,
klasifikasi, clustering dan asosiasi. Proses dalam tahap data mining terdiri
dari tiga langkah utama, yaitu : a. Data Preparation pada langkah ini, data
dipilih, dibersihkan, dan dilakukan preprocessed mengikuti pedoman dan
knowledge dari ahli domain yang menangkap dan mengintegrasikan data
internal dan eksternal ke dalam tinjauan organisasi secara menyeluruh. b.
Algoritma data mining penggunaan algoritma data mining dilakukan pada
langkah ini untuk menggali data yang terintegrasi untuk memudahkan
identifikasi informasi bernilai (Leidiyana, 2013)..
2. Machine Learning
Machine learning sering digambarkan sebagai pembelajaran dari
pengalaman atau tanpa pengawasan dari manusia. Dalam masalah belajar
yang diawasi, sebuah program memprediksi output untuk input dengan
belajar dari pasangan input dan output berlabel yaitu, program belajar dari
contoh jawaban yang benar. Tanpa pengawasan belajar, suatu program tidak
belajar dari data berlabel.
Dua dari tugas pembelajaran mesin yang paling umum diawasi adalah
klasifikasi dan regresi. Dalam tugas-tugas klasifikasi, program harus belajar
memprediksi diskrit nilai untuk variabel respons dari satu atau lebih variabel
penjelas. Bahwa program harus memprediksi kategori, kelas, atau label yang
paling mungkin untuk yang baru pengamatan. Aplikasi klasifikasi termasuk
memprediksi apakah suatu saham harganya akan naik atau turun, atau
memutuskan apakah artikel berita milik politik atau waktu luang. Dalam masalah
regresi program harus memprediksi nilai kontinu variabel respons. Contoh
masalah regresi termasuk memprediksi penjualan untuk sebuah produk baru,
atau gaji untuk pekerjaan berdasarkan uraiannya. Mirip dengan klasifikasi,
masalah regresi membutuhkan pembelajaran yang diawasi (Gaving
Hackeling, 2014).
Machine learning adalah bidang ilmu komputer yang berkembang dari
studi pengenalan pola dan teori pembelajaran komputasi di Indonesia
kecerdasan buatan. Machine learning mengeksplorasi studi dan konstruksi
algoritma yang dapat belajar dari dan membuat prediksi pada data. Algoritma
tersebut beroperasi dengan membangun model dari input contoh untuk
membuat prediksi berbasis data atau keputusan, dari pada mengikuti instruksi
program yang benar-benar statis. Machine learning terkait erat dan sering
tumpang tindih dengan statistik komputasi sebuah disiplin yang juga
berspesialisasi dalam pembuatan prediksi. Ini memiliki ikatan yang kuat
dengan matematika optimasi, yang memberikan metode, teori dan domain
aplikasi ke lapangan.
3. Metode K-Nearest Neighbors
K-Nearest Neighbor (KNN) adalah sebuah metode untuk melakukan
klasidikasi terhadap objek berdasarkan data pembelajaran yang jaraknya
paling dekat dengan objek yang diuji. KNN bias digunakan untuk
memasukkan data baru (data uji) ke dalam kelompok data yang jaraknya
berdekatan dengan data latih, sehingga metode ini bias digunakan untuk
menklasifikasi data uji dengan kelompok data yang seharusnya.KNN akan
mengelompokkan hasil perhitungan dengan data latih mempunyai karabat
terbanyak dalam nilai jangkauan yang ditentukan (Apriansyah et al., 2016).
Tujuan dari algoritma ini adalah mengklasifikasikan objek baru
berdasarkan atribut dan training sample. Algoritma K-Nearest Neighbor
menggunakan klasifikasi ketetanggaan (neighbor) sebagai nilai prediksi dari
query instance yang baru. Algoritma ini sederhana, bekerja berdasarkan jarak
terpendek dari query instance ke training sample untuk menentukan
ketetanggaannya (Syaliman et al., 2017).
Langkah-langkah dalam implementasi perhitungan metode KNearest
Neighbor adalah sebagai berikut:
1. Menentukan parameter k (jumlah tetangga terdekat)
2. Menghitung kuadrat jarak euclidean (euclidean distance) antara
data yang akan dievaluasi dengan semua pelatihan.
3. Mengurutkan jarak yang terbentuk (urut naik).
Memilih alternative jarak terdekat sebanyak k.
4. Euclidean Distance
Euclidean distance merupakan salah satu metode perhitungan jarak
yang digunakan untuk mengukur jarak dari 2 (dua) buah titik dalam
euclidean space (meliputi bidang euclidean dua dimensi, tiga dimensi, atau
bahkan lebih). Untuk mengukur tingkat kemiripan data dengan rumus
euclidean distance digunakan rumus berikut (Nishom, 2019):
𝑑(𝑥, 𝑦) = √∑ (𝑥𝑖 − 𝑦𝑖)
𝑛 2
𝑖=1
………………. (1)
Keterangan:
d(x,y) : Jarak Euclidean (Euclidean Distance).
x : sampel data
y : data uji/testing
i : variable data
n : dimensi data
5. Manhattan Distance
Manhattan Distance digunakan untuk mengambil kasus yang cocok dari
basis kasus dengan menghitung jumlah bobot absolut dari perbedaan antara
kasus yang sekarang dan kasus yang lain dalam basis kasus untuk menghitung
bobot yang digunakan sebagai berikut (Latifah, 2015):
𝐷 = ∑ |𝑥𝑖 − 𝑦𝑖|
𝑛
𝑖=1 ……………….(2)
Keterangan:
D ; Jarak Manhattan (Manhattan Distance)
x : Sample data
y : data uji/testing
i : variable data
n : dimensi data
6. Pemrograman Phyton
Python adalah bahasa pemrograman interpretatif multiguna dengan
filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python
diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan,
dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan
fungsionalitas pustaka standar yang besar serta komprehensif.
Python merupakan salah satu bahasa pemrograman tingkat tinggi
(high level language). Python dirancang untuk memberikan kemudahan
bagi programmer melalui segi efisiensi waktu, kemudahan dalam
pengembangan dan kompatibilitas dengan sistem. Python bisa digunakan
untuk membuat aplikasi standalone (berdiri sendiri) dan pemrograman
script (scripting programming).
Keunggulan Python Mudah digunakan Python merupakan bahasa
pemrograman tingkat tinggi, artinya bahasa python lebih mendekati bahasa
manusia daripada bahasa mesin. Python juga tidak memiliki stuktur dasar
seperti C++ yang mengharuskan kamu menginclude sistemnya sebelum
membuat program. Perintah-perintah yang digunakan di Python
menggunakan bahasa inggris yang digunakan sehari-hari seperti print,
input, dll.
Kompabilitas dan Kemampuan tinggi Python memiliki kemampuan
yang tinggi dan mampu menciptakan aplikasi yang sederhana hingga
aplikasi yang kompleks. Bahasa pemrograman python mendukung
pemrograman berbasis grafis (GUI Programming). Python juga memiliki
kelebihan berupa pengalokasian memori secara dinamis.
Mendukung OOP Python mendukung bahasa pemrograman
berorientasi objek (OOP) sehingga programmer semakin mudah dalam
menyelesaikan masalah karena pemrograman berorientasi objek merupakan
teknik pendekatan dengan objek-objek nyata yang ada di kehidupan sehari-
hari.
Platform Independent Maksud dari platform independent adalah
program yang di buat bisa dijalankan di sistem operasi apa saja selama di
sistem operasi tersebut terdapat platform Python (Interpreter Python).
(Saragih, 2018).
7. Performa
Performa merupakan bentuk tindakan, perbuatan, pekerjaan yang telah
dicapai atau dilaksanakan, Kinerja dari klasifikasi dapat dievaluasi
berdasarkan perhitungan performa nilai akurasi, presisi, recall, f-measure (Ul
Hassan dkk, 2019).
1. Akurasi
Akurasi didefinisikan sebagai tingkat kedekatan antara nilai prediksi
dengan nilai aktual. rumus akurasi sebagai berikut:
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
(𝑇𝑃+𝑇𝑁)
(𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁) ……..(3)
2. Presisi
Presisi didefinisikan sebagai rasio item relevan yang dipilih terhadap
semua item yang terpilih. Presisi dapat diartikan sebagai kecocokan
antara permintaan informasi dengan jawaban terhadap permintaan
tersebut. rumus presisi ditunjukkan pada persamaan 4.
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 =
𝑇𝑃
𝑇𝑃+𝐹𝑃 …………(4)
2. Recall
Recall didefinisikan sebagai rasio dari item relevan yang dipilih
terhadap total jumlah item relevan yang tersedia. Rumus Recall
diuraikan pada persamaan 5.
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑃
𝑇𝑃+𝐹𝑁 …………..(5)
3. F- measure
F- measure adalah harmonic mean antara nilai presisi dan recall,
F-measure juga kadang disebut dengan nama F-measure. Rumus F-
measure dijabarkan pada persamaan 6.
𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 = 2
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 + 𝑅𝑒𝑐𝑎𝑙𝑙
.……………....(6)