Published maart 31, 2023 by Jagoan website

ANALISIS PERFORMA METODE K-NEAREST NEIGHBOR (KNN) DALAM KLASIFIKASI DATA PASIEN PENYAKIT DIABETES

 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)