Laporan Akhir UAS

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 50

PENERAPAN ALGORITMA K-NEAREST

NEIGHBOUR UNTUK DIAGNOSIS PENYAKIT


DIABETES MELLITUS

Dosen Pengampu: Eka Mala Sari Rochman, S.Kom., M.Kom

Disusun Oleh:
Rendi Agus Sucipto 210411100071
Wendy Adji Firmansyah 210411100089
Muhammad Sofa Adiyat Suryono 210411100230

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2023
Abstrak
Diabetes Mellitus (DM) merupakan penyakit yang disebabkan oleh
pankreas yang sudah tidak dapat memproduksi insulin yang cukup atau tubuh
sudah tidak dapat memprodiksi insulin yang cukup atau tubuh sudah tidak mampu
menggunakan insulin dengan efektif. DM telah menyebar luas ke seluruh dunia.
Banyak masyarakat yang belum sadar jika sudah terjangkit penyakit ini, terutama
mengenai gejala – gejala yang timbul sebelumnya. Kesulitan dalam mendiagnosis
penyakit DM secara lebih dini mendorong berbagai algoritma metode komputasi
untuk membantu mendiagnosis penyakit ini. Tujuan penelitian ini berfokus pada
pengujian algoritma K – Nearest Neighbour (KNN) untuk diagnosis penyakit DM.
Metode yang digunakan yakni algoritma KNN, dimana suatu metode yang
menggunakan algoritma supervised yang bertujuan mengklasifikasikan objek baru
berdasarkan atribut dan data training. Data yang digunakan adalah data penyakit
DM yang didapatkan dari RSUD Syarifah Ambami Rato Ebu Bangkalan dengan
enam variabel yaitu usia, glukosa, tekanan darah, ketebalan kulit, insulin, dan
Body Mass Index (BMI). Hasil dari penelitian ini didapatkan nilai akurasi dari
metode kNN untuk nilai K = 7 adalah 71% dan ini adalah nilai akurasi yang
paling baik. Nilai akurasi ini terbilang cukup baik apabila dibandingkan beberapa
metode klasifikasi lainnya. Selain itu, dihasilkan pula tampilan GUI untuk sistem
klasifikasi atau prediksi ini dengan basis web.

Kata Kunci: Diabetes Mellitus, K – Nearest Neighbour, Diagnosis, Metode


Komputasi
Abstract

Diabetes Mellitus (DM) is a disease caused by the pancreas which is no


longer able to produce enough insulin or the body is unable to produce enough
insulin or the body is unable to use insulin effectively. DM has spread widely
throughout the world. Many people are not aware that they have contracted this
disease, especially regarding the symptoms that appeared before. Difficulties in
diagnosing DM disease earlier encourage various computational method
algorithms to help diagnose this disease. The purpose of this study focuses on
testing the K – Nearest Neighbor (KNN) algorithm for diagnosing DM. The
method used is the KNN algorithm, which is a method that uses a supervised
algorithm that aims to classify new objects based on attributes and training data.
The data used is DM disease data obtained from Syarifah Ambami Rato Ebu
Bangkalan Hospital with six variables, namely age, glucose, blood pressure, skin
thickness, insulin, and Body Mass Index (BMI). The results of this study obtained
the accuracy value of the kNN method for the value of K = 7 is 71% and this is
the best accuracy value. This accuracy value is quite good when compared to
several other classification methods. In addition, a GUI display is also produced
for this classification or prediction system on a web basis.

Keywords: Diabetes Mellitus, K – Nearest Neighbor, Diagnosis,


Computational Methods
BAB 1
PENDAHULUAN

1.1. Latar Belakang

Diabetes Melitus (DM) merupakan penyakit yang tersebar luas di dunia.


DM adalah suatu penyakit yang ditandai oleh kadar gula darah (glukosa) yang
tinggi dalam rentang waktu yang lama. Hal ini terjadi saat tubuh tidak mampu
memproduksi atau menggunakan hormon insulin dengan efektif. Insulin
merupakan hormon yang diproduksi oleh pankreas dan berperan dalam mengatur
kadar gula dalam darah (Nugroho, Tarno, & Prahutama, 2017).

Penyebaran penyakit DM telah mencakup ke segala belahan dunia dan


termasuk dalam daftar penyakit paling mematikan. Pada tahun 2015, DM
mempengaruhi lebih dari 415 juta orang dan diperkirakan akan meningkat
menjadi 642 juta pada tahun 2040 (Lestari, Nadhiroh, & Novia, 2021). Menurut
World Health Organization jumlah pengidap penyakit DM terus bertambah
banyak hingga empat kali lebih banyak dibandingkan tahun sebelumnya (Putry &
Sari, 2022).

DM dapat disebabkan oleh banyak hal, seperti tekanan darah tinggi,


riwayat keluarga, usia, obesitas, serta gaya hidup dan makanan yang tidak sehat .
Gejala awal DM seringkali tidak terdeteksi sehingga banyak masyarakat yang
terlambat sadar setelah mengalami komplikasi. Faktor lain yang menjadi pemicu
tingginya tingkat kematian sebab DM yakni lambatnya diagnosa pada pasien
karena terbatasnya jumlah tenaga medis, khususnya pada kota – kota kecil.
Penyakit DM dapat ditangani asalkan penderita sudah menyadari dan mengikuti
pengobatan sejak dini sebelum penyakit ini bertambah parah. Oleh karena itu,
perlunya informasi terhadap masyarakat mengenai faktor – faktor penyebab
penyakit DM (Lestari, Nadhiroh, & Novia, 2021).

Ditinjau dari penelitian – penelitian terkait sebelumnya, metode KNN


menjadi metode yang paling umum digunakan. KNN merupakan metode
klasifikasi data menggunakan algoritma supervised yang efektif untuk data
dengan jumlah besar dan memiliki performa yang cukup baik. Pada penelitian ini
juga akan menggunakan metode KNN tetapi akan dilakukan beberapa scenario uji
coba, yakni melakukan perbandingan menggunakan jarak metrik Euclidean,
Manhattan, dan Minkowski serta dibandingkan untuk beberapa nilai K. Metode
KNN ini akan digunakan pada dataset pasien penyakit Diabetes Mellitus yang
terdiri dari enam variabel, yaitu usia, glukosa, tekanan darah, ketebalan kulit,
insulin, dan body mass index (BMI). Dengan adanya penelitian ini, diharapkan
dapat memberikan informasi yang bermanfaat mengenai prediksi penyakit DM
dengan metode KNN menggunakan jarak dan nilai K dengan tingkat akurasi yang
tertinggi serta dapat menjadi acuan pengembangan ilmu pengetahuan untuk
penelitan selanjutnya.

1.2. Perumusan Masalah

Perumusan masalah dituliskan dalam beberapa poin dibawah, yaitu


permasalahan yang diangkat, metode yang diusulkan, dan pertanyaan terkait
penelitian. Rumusan ditulis berdasarkan paparan di dalam sub-bab latar belakang.
1.2.1. Permasalahan
Permasalahan yang diangkat adalah upaya untuk melakukan diagnosis
lebih awal mengenai penyakit Diabetes Mellitus. Hal ini dilakukan agar pasien
bisa mengetahui diagnosa awal mengenai gejala atau kondisi tubuh yang dialami.
Dengan begitu, pasien bisa mengetahui lebih awal apakah gejala atau ciri tubuh
yang dialaminya merupakan gejala atau kondisi tubuh Diabetes Mellitus atau
bukan.
1.2.2. Metode Usulan
Metode yang digunakan pada penelitian ini sekaligus menjadi usulan
penggunaan metode dalam penelitian ini adalah metode K-Nearest Neighbour
atau KNN. Pada penelitian sebelumnya ataupun penelitian terkait, metode ini
memiliki akurasi yang cukup tinggi dan memungkinkan untuk diaplikasikan ke
dalam sistem untuk diagnosa awal gejala atau kondisi yang dialami pasien.
1.2.3. Pertanyaan Penelitian
Berdasarkan latar belakang yang telah dibahas sebelumnya, maka
pertanyaan penelitian dapat dirumuskan sebagai berikut.

1. Seberapa akurat penggunaan metode KNN dalam menyelesaikan masalah


yang diangkat?
2. Jarak metrik dan nilai K manakah yang akan mendapatkan tingkat akurasi
paling tinggi?
3. Bagaimana membangun sebuah sistem yang dapat melakukan diagnosis
awal terhadap gejala atau kondisi yang dialami pasien?

1.3. Tujuan dan Manfaat


Tujuan dan manfaat berikut ini dipaparkan berdasarkan pembahasan pada
perumusan masalah sebelumnya. Berikut paparan mengenai tujuan dan manfaat
penelitian.

1.3.1. Tujuan Penelitian


Berdasarkan paparan pada bagian perumusan masalah, maka tujuan
penelitian dituliskan sebagai berikut.
1. Untuk mengetahui akurasi dari penggunaan metode KNN dalam
melakukan diagnosis awal terhadap pasien yang diduga menderita
Diabetes Mellitus.
2. Untuk mengetahui Jarak metrik apa dan nilai K berapa dengan nilai
akurasi paling tinggi.
3. Untuk mengetahui bagaimana membangun sebuah sistem untuk diagnosis
awal terhadap gejala atau kondisi yang dialami pasien.
1.3.2. Manfaat Penelitian
Dihasilkan akurasi, jarak metrik terbaik, dan nilai K terbaik dari
penggunaan metode yang digunakan. Selain itu, dihasilkan juga sebuah sistem
yang mampu untuk melakukan diagnosis awal terhadap gejala atau kondisi yang
dialami oleh pasien yang diduga menderita penyakit Diabetes Mellitus.
1.4. Batasan – Batasan
Dalam penelitian yang dilakukan ini, terdapat batasan batasan yang
diperlukan agar penelitian ini tidak terlalu luas dan tidak menyimpang dari apa
yang tertulis di dalam rumusan masalah dan tujuan penelitian.
Batasan – batasan dalam penelitian ini adalah sebagai berikut.
1. Variabel yang digunakan dalam penelitian ini adalah usia, glukosa,
tekanan darah, ketebalan kulit, insulin dan BMI.
2. Total data yang digunakan dalam penelitian ini berjumlah 120 data dari
tahun 2022.
3. Lokasi studi kasus bisa diartikan sebagai lokasi pengambilan data, yaitu di
RSUD Syarifah Ambami Rato Ebu.
4. Metode yang diterapkan adalah K-Nearest Neighbour dengan skenario
perubahan jarak metrik dan nilai K.
5. Jarak metrik yang digunakan adalah jarak Euclidean, Manhattan, dan
Minkowski
6. Nilai K yang dibandingkan adalah 3,5,7, dan 9.

1.5. Sistematika Proposal


1. Pendahuluan
A. Latar Belakang
B. Perumusan Masalah
a) Permasalahan
b) Metode Usulan
c) Pertanyaan Penelitian
C. Tujuan dan Manfaat
a) Tujuan Penelitian
b) Manfaat Penelitian
D. Batasan – Batasan
E. Sistematika Proposal
2. Kajian Pustaka
A. Landasan Teori
B. Penelitian Terkait
3. Metode Penelitian
A. Metode atau Algoritma
B. Arsitektur Sistem
C. Dataset
D. Tahapan Penelitian
E. Skenario Pengujian
4. Hasil dan Pembahasan
5. Penutup
A. Kesimpulan
B. Saran
BAB II
KAJIAN PUSTAKA
2.1. Landasan Teori
2.2.1. Diabetes Mellitus
Penyakit Diabetes Mellitus (DM) merupakan penyakit yang sangat
berbahaya dan sudah banyak membunuh manusia pada tiap tahunnya. DM terjadi
karena kadar gula darah (glukosa) yang tinggi dalam tubuh. Hal ini disebabkan
oleh kekurangan hormon insulin yang merupakan hormon dalam pankreas yang
memberi sinyal pada sel tubuh untuk menyerap glukosa, akibatnya kadar glukosa
menjadi tidak terkendali. DM akan menyebabkan kondisi yang sangat
membahayakan penderitanya apabila tidak segera dilakukan perawatan dan
pengobatan yang tepat dan cepat (Putry & Sari, 2022). Penyakit ini juga akan
mengakibatkan berbagai macam komplikasi kronis yang terjadi pada mata, ginjal,
syaraf, dan pembuluh darah (Yunita, 2016).

2.2.2. Data Mining


Data mining adalah ilmu komputer yang melibatkan banyak proses
komputasi, clustering, klasifikasi, teknik statistik, serta menemukan pola yang ada
pada dataset yang bertujuan untuk menggali informasi dari dataset yang besar
dengan melakukan perubahan format sehingga lebih dapat dimengerti dan
dipahami untuk penggunaan masa depan (Fernanda, Ratnawati, & Adikara, 2017).

2.2.3. K – Nearest Neighbour (KNN)


K – Nearest Neighbour (KNN) merupakan metode yang mencari
kelompok k objek dalam data training yang paling mirip dengan objek pada data
testing atau data baru. Algoritma KNN adalah metode klasifikasi terhadap data
berdasarkan pembelajaran data yang sudah terklasifikasi sebelumnya sehingga
KNN termasuk dalam supervised learning, yaitu hasil query instance yang baru
diklasifikasikan berdasarkan rerata atau mayoritas kedekatan jarak dari parameter
yang terdapat pada KNN. Dekat atau jauhnya tetangga dapat dihitung
menggunakan jarak Euclidean, Manhattan, maupun Minkowski (Argina, 2020).
2.2.4. Missing Value
Missing Value merupakan masalah dalam menjaga suatu kualitas data
yang dapat terjadi karena informasi tentang objek tidak dibagikan, sukar dicari,
atau memang informasi tersebut tidak ada, hal tersebut dapat mengakibatkan
menurunnya keakuratan dan kualitas data pada pengolahan data. Missing Value
juga sering terjadi ketika responden tidak memberikan jawaban pada pilihan
jawaban yang disediakan (Irawan, Wijono, & Setyawati, 2017). Penanganan
Missing Value dapat dengan beberapa cara seperti mengganti dengan nilai rata –
rata, mengganti dengan nilai yang paling sering muncul, atau menghapus objek
yang memiliki atribut yang berisi Missing Value.

2.2.5. Jarak Euclidean


Jarak Euclidean merupakan metode penghitungan jarak untuk mengukur
jarak dari dua titik dalam Euclidean space (Nishom, 2019). Rumus Euclidean
yang digunakan untuk mengukur tingkat kemiripan data sebagai berikut.

d ( x , y )= √ ❑
dimana, (1)

d = jarak antara x dan y


x = data pusat klaster
y = data pada atribut
i = setiap data
n = jumlah data
xi = data pada pusat klaster
yi = data pada setiap data ke i

2.2.6. Jarak Manhattan


Jarak Manhattan digunakan untuk menghitung perbedaan mutlak antar
koordinat sepasang objek (Nishom, 2019). Rumus yang digunakan sebagai
berikut.

n (2)
d ( x , y )=∑ ¿ xi − y i
i=1

dimana,
d = jarak antara x dan y
x = data pusat klaster
y = data pada atribut
i = setiap data
n = jumlah data
xi = data pada pusat klaster ke i
yi = data pada setiap data ke i

2.2.7. Jarak Minkowski


Jarak Minkowski dianggap sebagai bentuk generalisasi dari jarak
Euclidean dan Jarak Manhattan. Dalam mengukur jarak objek menggunakan jarak
Minkowski biasanya menggunakan nilai p adalah 1 atau 2 (Nishom, 2019).
Berikut rumus untuk jarak Minskowski.

( )
n ❑

∑|x i− y i|
p
d ( x , y )=
i=1
(3)

dimana,
d = jarak antara x dan y
x = data pusat klaster
y = data pada atribut
i = setiap data
n = jumlah data
xi = data pada pusat klaster ke i
yi = data pada setiap data ke i

2.2.8. Streamlit
Streamlit merupakan library Python yang digunakan untuk membuat
model kemudian dibangun menjadi berbasis web dan mudah digunakan (Prasetyo
& Laksana, 2022). Dalam penggunaan Streamlit ini tidak diperlukan pengetahuan
banyak hal seperti web development, CSS, HTML, atau Javascript, melainkan
hanya menggunakan bahasa pemrograman Python.

2.2.9. Software Orange


Orange merupakan perangkat lunak data mining yang open source untuk
analisis data dan visualisasi data. Fitur yang disediakan oleh Orange antara lain
pemodelan supervised dan unsupervised, menjalankan beberapa model sekaligus,
serta menyediakan fitur evaluasi seperti presisi, akurasi, serta waktu yang
dibutuhkan untuk training dan testing, spesifisitas, dan sebagainya. (Hikmah &
Yasa, 2021)

2.2. Penelitian Terkait


Berikut merupakan tabel penelitian terkait yang menjadi referensi acuan
pada penelitian ini.

No Judul Penulis Tahun Hasil

Metode KNN yang


Penerapan
diterapkan
Metode K-
menggunakan nilai K =
Nearest
Umikulsum 23 menghasilkan tingkat
Neighbor Untuk
Indah Lestari, akurasi sebesar 0.96 atau
Sistem
1. Anis Yusrotun 2021 96% yang dinilai
Pendukung
Nadhiroh, berhasil untuk sistem
Keputusan
Cahyuni Novia pendukung keputusan
Identifikasi
identifikasi penyakit
Penyakit
diabetes melitus sejak
Diabetes Melitus
dini.

Dari kedua metode yang


Komparasi dibandingkan diketahui
Algoritma KNN Naïve Bayes memiliki
dan Naïve Bayes Naisah Marito nilai akurasi dan presisi
Untuk Putry, Betha tertinggi yakni sebesar
2. 2022
Klasifikasi Nurina Sari, 80% dan 0.86. Namun,
Diagnosis M.Kom untuk nilai recall
Penyakit tertinggi dihasilkan oleh
Diabetes Melitus metode KNN sebesar
0.92.

3. Klasifikasi Rizky Adhi 2017 Pada pengujian


Pasien Diabetes Nugroho, menggunakan metode
SSVM nilai akurasi dua
kelas yang didapatkan
adalah 97,03%, nilai
akurasi uuntuk kelas
Mellitus positif dan negative
Menggunakan masing – masing sebesar
Metode Smooth Tarno, Alan 98,33% dan 95,12%.
Support Vector Prahutama Nilai AUC yang
Machine diperoleh sebesar
(SSVM) 97,11% yang
menyimpulkan metode
SSVM dapat
menghasilkan akurasi
yang sangat baik.

Dari hasil perhitungan


KNN, diperoleh akurasi
tertinggi 39% pada K =
Penerapan
3, presisi tertinggi 65%
Metode
pada K = 3 dan K = 5,
Klasifikasi K-
recall tertinggi 36%
Nearest Neigbor Andi Maulida
4. 2020 pada K = 3, dan F –
pada Dataset Argina
Measure tertinggi 46%
Penderita
pada K = 3. Nilai yang
Penyakit
diperoleh tersebut tidak
Diabetes
cukup baik dikarenakan
jumlah data yang
digunakan cukup kecil.
BAB III
METODE PENELITIAN
3.1. Metode atau Algoritma
Metode yang diterapkan dalam penelitian ini adalah algoritma K-Nearest
Neighbour (KNN). KNN merupakan metode algoritma supervised yang bertujuan
mengklasifikasikan objek baru berdasarkan atribut dan data training. KNN
membandingkan data uji dengan data pelatihan yang berada dekat dan memiliki
kemiripan dengan data uji tersebut.

Gambar 3.1 Diagram alir metode KNN

3.2. Arsitektur Sistem


Berikut merupakan arsitektur sistem penerapan algoritma KNN dan
beberapa algoritm lainnya pada diagnosis penyakit Diabetes Mellitus
menggunakan Streamlit.

Gambar 3.2 Arsitektur sistem pada Streamlit

a. Input Data
Mengimport dataset penyakit Diabetes Mellitus ke dalam program
python.
b. Pembersihan Data (Pre – Processing Data)
Pada tahap ini dilakukan proses cleaning data yakni memproses
missing value yang terdapat pada dataset. Terdapat beberapa cara untuk
mengatasi missing value, seperti menghapus objek yang memiliki atribut
missing value¸ mengganti missing value dengan nilai rata – rata tiap
variabel, atau menggantinya dengan nilai yang paling sering muncul pada
tiap variabel. Pada penelitian ini, kami menggunakan nilai rata – rata pada
tiap variabel untuk mengatasi missing value tersebut.
c. Tranformasi Data
Pada tahap ini dilakukan proses normalisasi data yaitu membuat
data bernilai dari rentang 0 hingga 1, proses ini bertujuan untuk membantu
mengorganisis data ke dalam bentuk yang lebih efisien, konsisten, dan
berguna pada analisis dan pengolahan lebih lanjut. Sebelum normalisasi,
perlu adanya nilai tertinggi dan terendah pada masing – masing variabel.
Setelah ditentukan nilai tertinggi dan terendah, kemudian dicari nilai baru
menggunakan rumus berikut.
Xold− Xmin
Xnew= (4)
Xmax− Xmin
d. Data Mining
Setelah melakukan tahapan – tahapan di atas, dilakukan proses
data mining menggunakan algoritma yang dipilih antara KNN, Naïve
Bayes, SVM, atau Random Forest. Dilakukan pembagian data training dan
data testing dengan skala 80:20, sehingga diperoleh data training sebanyak
96 dan data testing sebanyak 24 data. Setelah pembagian tersebut,
dilakukan penghitungan jarak antara data training terhadap data testing.
e. Penampilan Akurasi, Presisi, Recall, dan F measure
Setelah melalui tahapan – tahapan sebelumnya, dapat diperoleh
seberapa besar akurasi, presisi, recall, dan F measure yang tercipta dari
tiap – tiap metode yang telah diterapkan. Akurasi diartikan sebagai tingkat
kedekatan antara nilai aktual dengan nilai prediksi. Presisi diartika sebagai
rasio item relevan yang dipilih terhadap semua item yang terpilih. Recall
diartikan sebagai rasio dari item relevan yang dipilih terhadap total jumlah
item relevan yang ada. Sedangkan measure atau kadang disebut juga F1-
Score adalah harmonic mean antara nilai presisi dan recall.
f. Penampilan Grafik
Data ditampilkan dalam bentuk grafik performa dan tabel
confussion matrix.
g. Input Data Baru
Langkah selanjutnya, kami akan melakukan prediksi pada data
baru dengan menginputkan variabel – variabel pada data tersebut.
h. Prediksi Data Baru
kemudian data yang telah diinputkan dilakukan normalisasi
berdasarkan data yang telah ada sebelumnya dan menerapkan algoritma
yang dipilih sebelumnya hingga diperoleh prediksi atau target pada data
tersebut.

Selain menggunakan Streamlit, juga digunakan perangkat lunak Orange


untuk menghitung akurasi, presisi, recall, dan F measure. Berikut merupakan
arsitektur sistem pada Orange.

Gambar 3.4 Arsitektur sistem pada Orange.

a. Input data
Mengimport dataset penyakit Diabetes Mellitus ke dalam Orange.
b. Preprocessing
Pada tahap ini dilakukan pembersihan data dengan mengganti
Missing Value dengan nilai rata – rata serta dilakukan normalisasi data
dengan rentang 0 hingga 1.
c. Data sampler
Pada tahap ini dilakukan pembagian data training dan data testing
dengan skala 80:20, sehingga diperoleh data training sebanyak 96 dan data
testing sebanyak 24 data.
d. Proses Data Mining
Proses data mining dilakukan dengan membandingkan empat
algoritma atau metode yaitu KNN (menggunakan Euclidean dengan nilai
K = 5), Naïve Bayes, SVM, serta Random Forest.
e. Prediction
Setelah melalui tahapan – tahapan sebelumnya, dapat diperoleh
seberapa besar akurasi, presisi, recall, dan F measure yang tercipta dari
tiap – tiap metode yang telah diterapkan.
f. Confussion Matrix
Pada fitur ini, data divisualisasikan dalam bentuk tabel dengan
empat kombinasi berbeda dari nilai prediksi dan nilai aktual.
g. Scatter Plot
Pada fitur ini, data divisualisasikan dalam bentuk grafik
penyebaran.

3.3. Dataset
Data yang digunakan dalam penelitian ini adalah data rekam medis
pasien penyakit diabetes mellitus sebanyak 120 data. Data diperoleh dari RSUD
Syarifah Ambami Rato Ebu Bangkalan. Data ini memiliki enam variabel yaitu
usia, glukosa, tekanan darah, ketebalan kulit, insulin, dan Body Mass Index (BMI)
serta satu target penyakit yang bernilai Diabetes Mellitus dan penyakit lain selain
Diabetes Mellitus (NonDiabetes Mellitus). Berikut merupakan dataset yang
digunakan dalam penelitian ini.
Gambar 3.4 Dataset Penyakit Diabetes Mellitus

3.4. Tahapan Penelitian


Langkah awal untuk melakukan penelitian ini adalah mengkonfirmasi
dan memohon persetujuan dari dosen pengajar kami, Ibu Eka Mala Sari
Rochman, S.Kom., M.Kom. mengenai topik penelitian yang akan kami lakukan
dan instansi yang menjadi sumber dataset yang digunakan. Setelah mendapat
konfirmasi, kami membuat surat pengantar untuk melakukan pengambilan data di
Dekanat Fakultas Teknik Universitas Trunojoyo Madura dan proposal penelitian.
Proposal dan Surat pengantar ini selanjutnya diserahkan ke Badan Kesatuan
Bangsa dan Politik (BAKESBANGPOL) untuk mendapatkan surat izin penelitian
atau pengambilan data. Proposal dan surat pengantar juga diserahkan ke RSUD
Syarifah Ambami Rato Ebu Bangkalan beserta Surat izin penelitian dari
BAKESBANGPOL untuk melakukan pengambilan data.
3.5. Skenario Pengujian
Pada penelitian ini akan dilakukan beberapa skenario pengujian sebagai
berikut.

a. Perbandingan akurasi, presisi, recall, dan F measure pada metode KNN


dengan metode SVM, Naïve Bayes, serta Random Forest.
b. Pada algoritma KNN, dilakukan perbandingan pada jarak metrik. Jarak
metrik yang digunakan yakni Euclidean, Manhattan, dan Minkowski.
c. Pada algoritma KNN, setelah memilih jarak metrik yang digunakan akan
dilakukan perbandingan nilai K. nilai K yang akan dibandingan adalah K =
3, 5, 7, dan 9.
BAB IV
HASIL DAN PEMBAHASAN

4.1. Hasil Pengujian Akurasi


Dalam penggunaan metode klasifikasi, diperlukan pembuktian bahwa
metode yang digunakan optimal. Karena itu, perlu dilakukan penghitungan nilai
akurasi. Penghitungan ini diperlukan untuk menunjukkan bahwa kinerja
klasifikasi dengan metode yang digunakan dapat berjalan dengan optimal dengan
persentase ketepatan yang tinggi.
Penghitungan nilai akurasi dapat dilakukan dengan banyak cara. Bahkan
terdapat beberapa software yang dapat membantu dalam proses klasifikasi sampai
di dapatkan nilai akurasi. Beberapa software tersebut diantaranya adalah Orange
dan Python.
4.1.1. Software Orange
Penggunaan software Orange dapat sangat membantu dalam proses
Machine Learning. Software dapat membantu dalam cleaning data sampai proses
data yang diinginkan pengguna selesai.
Dalam penghitungan nilai akurasi menggunakan Orange, diperlukan
dataset yang ingin diolah. Setelah itu, data perlu di proses terlebih dahulu untuk
menghilangkan missing value dan melakukan normalisasi data apabila diperlukan.
Setelah itu, dilanjutkan dengan melakukan proses klasifikasi data dengan metode
KNN.
Nilai akurasi yang diperoleh berbeda antara data yang di normalisasi
dengan data tanpa proses normalisasi. Nilai akurasi pada data yang di normalisasi
menghasilkan akurasi yang lebih rendah dibandingkan data tanpa proses
normalisasi.

Gambar 4. 1. Struktur Orange


Gambar 4.1 merupakan alur dari proses prediksi dengan menggunakan
software Orange. Proses dimulai dari input data sampai output data berupa hasil
prediksi serta visualisasi hasil yang berupa matrix dan grafik. Alur penghitungan
nilai akurasi dengan menggunakan Orange adalah sebagai berikut.
I. Input data ke dalam widget data. Data yang digunakan adalah data yang
akan dilakukan pemrosesan nantinya.

Gambar 4. 2. Fitur Data

Pada gambar 4.2 diatas, fitur yang terdapat di dalam widget data. Source
untuk mengambil dan memilih data yang akan diproses atau dipergunakan,
File Type untuk memilih tipe atau ekstensi dari file yang digunakan seperti
excel, csv, dan lain lain. Selanjutnya, terdapat fitur Columns yang
menunjukkan kolom kolom yang terdapat di dalam file yang pakai. Pada
bagian ini, user dapat mengatur tampilan data yang akan digunakan seperti
mengubah nama kolom, mengubah tipe data dari setiap kolom dan
mengatur role dari setiap kolom seperti features atau target. Pada bagian
kolom yang dipergunakan sebagai target klasifikasi atau prediksi, tipe data
yang digunakan adalah categorical dengan role target.
II. Prepocessing Data. Pada tahapan ini, data dilakukan preprocessing
sebelum benar benar dapat digunakan. Hal ini untuk menghindari
kecacatan data seperti missing value ataupun ketimpangan data besar.
Oleh karena itu, diperlukan processing data agar data yang digunakan bisa
diolah dengan baik.
Gambar 4. 3. Prepocessing Data

Pada bagian ini terdapat bebearapa fitur yang terlihat seperti pada gambar
4.3. Fitur fitur yang tersedia dapat membantu dalam proses preprocessing
data seperti cleaning data dan lain lain.
Pada dataset yang digunakan, masih terdapat missing value untuk setiap
kolom. Maka dari itu, preprocessing data yang pertama dilakukan adalah
melakukan pengisian pada missing value. Ada beberapa metode yang bisa
dipilih seperti average atau rata rata, replace with random value, dan
remove row. Metode yang digunakan adalah dengan menggunakan
average atau rata rata.
Setelah missing value terisi dan dataset memiliki nilai yang lengkap, maka
langkah berikutnya adalah normalisasi data untuk setiap fitur. Terdapat
beberapa pilihan normalisasi data. Normalisasi data yang dipilih yaitu,
Normalize to interval [0, 1]. Fitur ini merubah nilai data menjadi nilai
angka antara 0 sampai 1. Hal ini untuk menghindari ketimpangan data
yang besar pada setiap data di dalam fitur atau variabel.

III. Data Sampler. Data sample digunakan untuk membagi dataset menjadi dua
kelompok data. Biasanya tujuan pembagiannya adalah untuk menentukan
data testing dan data training.
Gambar 4. 4. Data Sampler

Pada gambar 4.4 diatas, pembagian data sampler menggunakan metode


Cross Validation. Jumlah subset yang digunakan adalah 5 dan subset yang
tidak digunakan adalah 1. Pada bagian kanan bawah, menunjukan hasil
pembagian data sample yaitu sebanyak 96 data training dan 24 data
testing.
IV. Metode Klasifikasi. Pada tahapan ini, metode klasifikasi mulai diterapkan.
Metode yang digunakan adalah metode KNN sebagai metode utama dan
tiga metode lain sebagai pembanding hasil. Metode lainnya adalah SVM,
Random Forest dan Naïve Bayes.

Gambar 4. 5. kNN Regression

Pada gambar 4.5, ditunjukkan fitur untuk untuk widget kNN. Jumlah
neighbour yang dipilih adalah 7. Untuk metric atau jarak yang digunakan
adalah euclidean distance. Hasil pengujian dengan menggunakan metode
metric yang berbeda menghasilkan nilai akhir yang berbeda pula.
Metode pembanding yang pertama adalah Naïve Bayes. Metode ini tidak
memerlukan pengaturan khusus seperti pada metode-metode lainnya.

Gambar 4. 6. SVM

Metode selanjutnya adalah metode SVM. Metode ini memiliki fitur yang
lebih banyak dibandingkan metode lain. Terdapat kolom SVM type,
Kernel, dan Optimization Parameters. Pada bagian SVM Type, nilai Cost
diatur di angka 2. Kernel yang digunakan adalah kernel RBF.
Gambar 4. 7. Random Forest

Pada metode Random Forest, fitur yang disediakan cukup banyak. Jumlah
trees atau pohon diatur di angka 15. Hal ini dilakukan karena jumlah
optimal trees adalah 15 trees.

Gambar 4. 8. Nodes Data Sampler, Metode, dan Prediction

Untuk menghubungkan antara Data Sampler, Metode dan Hasil,


diperlukan link penghubung antar node atau widget. Pada bagian ini, hal
yang harus diperhatikan adalah jenis data yang terhubung antara Data
Sampler dengan metode ataupun Data Sampler dengan Prediction.
Gambar 4. 9. Link Data Sampler - Prediction

Pada gambar 4.9, link yang menghubungkan Data Sampler dengan


Prediction, data yang dihubungkan adalah remaining data. Remaining data
adalah data yang akan di test nantinya. Karena itu, link langsung
menghubungkan Data Sampler dengan Prediction.

Gambar 4. 10. Link Data Sampler – Metode

Pada gambar 4.10 diatas, link menghubungkan antara Data Sampler


dengan metode. Jenis data yang dihubungkan adalah data sample karena
data ini akan menjadi data training yang perlu diolah. Link tersebut
diperlukan dan dihubungkan pada setiap metode yang digunakan.
V. Hasil Prediction. Untuk menampilkan hasil prediction, dapat
menggunakan widget Prediction. Output dari fitur ini adalah akurasi,
presisi, recall, dan F score. Disini juga dapat dilihat perbandingan nilai
setiap output untuk setiap metode metode yang digunakan.

Gambar 4. 11. Hasil Akhir

Pada tabel hasil pengujian didapatkan nilai nilai akhir dari prediksi. CA
menunjukkan nilai akurasi, Prec menunjukkan nilai precision, F1
menunjukkan nilai F, dan nilai Recall. Pada nilai akurasi, nilai tertinggi
ditunjukkan oleh metode kNN dengan K = 7 dan Random Forest dengan
jumlah 15 trees.
Selanjutnya pada kolom F1, didapatkan nilai tertinggi adalah metode kNN
dan Random Forest. Begitu juga untuk kolom precision dan recall. Ini
menunjukkan bahwa metode yang digunakan pada penelitian ini yaitu
kNN memiliki nilai akurasi tertinggi dibandingkan metode
pembandingnya.
VI. Visualization. Pada bagian ini, dilakukan dua output visual dari data yaitu
Confussion Matrix dan Line Plot Grafik. Confussion matrix digunakan
untuk menampilkan performa klasifikasi ke dalam bentuk table atau
matrix.

Gambar 4. 12. Confussion Matrix

Pada gambar 4.12 merupakan hasil dari Confussion Matrix. Pada


pembacaan matrix secara horizontal, data menunjukkan data actual yang
terdapat di dalam dataset. Sedangkan, pembacaan secara vertikal
menunjukkan data hasil prediksi dengan metode kNN. Pada data prediksi,
didapatkan hasil berupa prediksi target 0 sebanyak tiga data dan target 1
sebanyak 21 data. Sedangkan pada data actual, menunjukkan data dengan
target 1 sebanyak 19 data dan target 0 sebanyak 5 data.
Pada output visual lainnya, dapat menggunakan Line Plot atau Scatter Plot
untuk melihat hasil prediksi dan data actual. Penggunaan line plot
menghasilkan grafik berupa garis sedangkan penggunaan scatter plot
menghasilkan grafik penyebaran data.
Gambar 4. 13. Line Plot

Pada gambar 4.13, ditunjukkan line plot untuk metode kNN. Line
berwarna merah menunjukkan target class 1 sedangkan line biru
menunjukkan target class 0.

4.1.2. Python
Pengujian nilai akurasi dapat dilakukan dengan memanfaatkan bahasa
pemrograman. Bahasa yang biasa dilakukan dalam pengolahan data adalah bahasa
Python. Hal ini dikarenakan Python memiliki banyak sekali library yang
mendukung Machine Learning termasuk klasifikasi atau prediksi ini. Library yang
biasa digunakan untuk Machine Learning diantaranya adalah ScikitLearn, Pandas,
Numpy, Matplotlib, dll. Library ini berguna dalam pemrosesan data mentah
sampai menjadi data yang memiliki insight. Sedangkan untuk menampilkan hasil
dapat menggunakan IDE seperti Visual Studio Code, Pycharm, dan lainnya atau
juga dapat menggunakan library Streamlit yang berbasis web.
Pada langkah pertama pengujian, yang perlu dilakukan adalah meyiapkan
data yang akan diolah. Selanjutnya, memanggil setiap library yang diperlukan.
Library yang diperlukan dalam mencari nilai akurasi adalah Pandas dan
ScikitLearn. Data yang akan digunakan dalam pemrosesan prediksi perlu
dipanggil terlebih dahulu dengan menggunakan library pandas.

Gambar 4. 14. Pemanggilan Data


Langkah selanjutnya adalah menampilkan data ke dalam Streamlit. Hal ini
bersifat opsional karena dapat menampilkan data melalui console python dengan
melakukan run file. Pada gambar 4.14, data dipanggil dengan menggunakan
library pandas dan method yang tersedia di pandas yaitu read_excel.
Data yang dipanggil merupakan data mentah yang perlu diolah lebih lanjut
agar didapat hasil yang baik. Data masih memiliki missing value sehingga perlu
dilakukan pengisian terhadap missing value terlebih dahulu.

Gambar 4. 15. Prepocessing Missing Value

Pengisian missing value dilakukan dengan memanfaatkan method yang


ada di library Pandas. Seperti pada gambar 4,15, method yang digunakan adalah
mean() dan fillna(). Method atau fungsi mean digunakan untuk mencari nilai rata
rata dari setiap fitur atau kolom. Kemudian nilai rata rata tersebut dipergunakan
untuk mengisi missing value.
Data yang memiliki ketimpangan nilai tinggi perlu dilakukan proses
normalisasi. Hal ini untuk mencegah pengaruh ketimpangan data tinggi terhadap
nilai akurasi. Normalisasi dilakukan dengan memanfaatkan method atau fungsi di
dalam library Scikit Learn. Metode normalisasi yang digunakan adalah metode
MinMaxScaler.
Gambar 4. 16. Prepocessing Normalisasi Data

Pada gambar 4.16, method normalisasi perlu di import terlebih dahulu.


Selanjutnya, menggunakan metode min-max dengan memanfaatkan method yang
tersedia di ScikitLearn atau Sklearn. Feature range diatur di angka 0 sampai 1.
Perlu diketahui, variabel fitur perlu diinisiasi terlebih dahulu untuk seleksi fitur
karena fitur target tidak perlu dilakukan normalisasi.

Gambar 4. 17. Penghitungan Nilai Akurasi dengan metrics Euclidean

Pada gambar 4.17 diatas, algoritma yang ingin dicari nilai akurasinya
dituliskan ke dalam satu variabel. Metode yang digunakan adalah kNN dengan
menggunakan method KNeighborsClassifier. Parameter yang digunakan adalah
nilai K yang ditunjukkan pada parameter n_neighbors dan metric euclidean yang
menunjukkan metode penghitungan jarak yang digunakan.
Selanjutnya, membuat variabel untuk menampung xTrain, xTest, yTrain,
yTest dengan memanfaatkan method train_test_split. Lalu, berikutnya adalah
menentukan training data dan memasukkannya ke dalam algoritma atau metode
yang digunakan. Langkah berikutnya adalah melakukan prediksi dengan
menggunakan fungsi .predict dengan parameter xTest yaitu data testing. Untuk
menentukan nilai akurasi, dapat menggunakan fungsi ‘accuracy_score’ dengan
parameter data testing asli dengan data testing hasil prediksi. Sistem penggunaan
fungsi ini adalah untuk membandingkan antara data test dengan data hasil
prediksi.
4.2. Aplikasi Sistem
Penggunaan metode klasifikasi untuk memprediksi data dapat
diimplementasikan ke dalam sebuah sistem. Sistem ini ditujukan agar prediksi
data dapat lebih mudah. Data juga dapat divisualisasikan ke dalam bentuk GUI.
Pengembangan sistem prediksi berbasis GUI ini dapat menggunakan bahasa
pemrograman Python. Python memiliki banyak library machine learning yang
dapat digunakan untuk memprediksi data dan library GUI untuk menampilkan
data ke dalam bentuk visual.
4.2.1. Library
Untuk meng-implementasikan prediksi ke dalam bentuk visual, diperlukan
library library di dalam python untuk melakukan proses pengolahan data sampai
menjadi bentuk data visual. Library python yang digunakan untuk melakukan
klasifikasi atau prediksi data adalah sebagai berikut.
a. Streamlit. Library ini merupakan library berbasis web untuk melakukan
visualisasi data.
b. Scikitlearn. Library ini digunakan untuk melakukan proses data dari data
mentah sampai ke hasil prediksi atau klasifikasi.
c. Pandas. Library ini digunakan untuk melakukan prepocessing data.
d. Numpy. Library ini digunakan untuk mengolah data menjadi sebuah
grafik performa.
e. Matplotlib. Library ini digunakan untuk visualisasi data ke dalam bentuk
grafik ataupun confussion matrix
f. Seaborn. Sama halnya dengan matplotlib, metode ini juga akan digunakan
untuk visualisasi data.

4.2.2. Implementasi Sistem


Sistem yang dibangun menggunakan Python sebagai basis bahasa
pemrograman. Bahasa ini dipilih karena Python merupakan bahasa yang paling
optimal. Hal ini dikarenakan Python memiliki sejumlah library yang sangat
membantu dalam proses Machine Learning termasuk klasifikasi dengan KNN ini.
Library yang digunakan dalam membangun sistem ini diantaranya adalah
Streamlit, Pandas, dan Sklearn.
Hasil yang ditampilkan dalam sistem merupakan hasil dari proses
klasifikasi. Dalam hal tersebut, output yang dihasilkan adalah dataset mentah,
dataset setelah preprocessing, nilai akurasi, serta prediksi terhadap data baru.
Berikut adalah proses dalam membangun sistem berupa code dan hasil setiap
code.
A. Code dan Hasil
Setelah melakukan instalasasi untuk setiap library yang digunakan,
langkah selanjutnya adalah tahap coding. Langkah langkah coding adalah
sebagai berikut.

Gambar 4. 18. Import Library dan Method

Pada gambar 4.18, langkah pertama adalah melakukan import terhadap


modul yang akan digunakan. Bagian ini tidak harus dilakukan pada langkah
pertama untuk import semua modul secara langsung namun bisa berangsur
sesuai dengan modul atau fungsi yang dibutuhkan nantinya.

Gambar 4. 19. Judul Halaman Streamlit

Untuk langkah pada gambar 4.19, dilakukan untuk memberi judul pada
halaman streamlit. Judul yang diberikan adalah GUI Prediksi Diabetes
Mellitus dengan output yang dihasilkan adalah sebagai berikut.
Gambar 4. 20. Output Judul

Langkah berikutnya adalah pengambilan data. Data yang diambil berupa


data berekstensi excel. Pengambilan data menggunakan library Pandas.

Gambar 4. 21. Pengambilan Data

Pada gambar 4.21, data yang akan diolah diambil dengan menggunakan
Pandas dengan memanggil modul atau method read_excel. Pada parameter,
dibutuhkan setidaknya satu parameter yaitu nama file yang dipanggil.
Sedangkan, pemanggilan nama sheet bersifat opsional tergantung pada file
excel yang dipanggil. Selanjutnya, data ditampilkan dengan menggunakan
streamlit dataframe. Output yang dihasilkan terdapat pada gambar 4.22.
Gambar 4. 22. Output Dataset

Pada langkah berikutnya, karena dataset masih memiliki missing value di


dalamnya, maka kita perlu melakukan prepocessing dengan mengisikan
missing value. Pengisian missing value menggunakan library Pandas dengan
menggunakan fungsi fillna() dan metode rata-rata.

Gambar 4. 23. Missing Value

Pada gambar 4.23, pada section missing value, bagian tersebut berguna
untuk menampilkan jumlah missing value untuk setiap fitur. Hal ini cukup
diperlukan untuk mengetahui variabel atau fitur apa saja yang perlu dilakukan
proses pengisian missing value. Seperti yang terlihat pada gambar 4.24
dibawah dimana terdapat fitur yang masih memiliki missing value.
Gambar 4. 24. Jumlah Missing Value

Oleh karena itu, diperlukan pengisian missing value seperti yang terdapat
pada section Fill Missing Value di gambar 4.23. Pengisian missing value
tersebut menggunakan metode mean untuk mengisi dengan rata rata untuk
setiap fitur. Output yang dihasilkan terdapat pada gambar 4.25 dan 4.26
dibawah.

Gambar 4. 25. Dataset Setelah diisi


Gambar 4. 26. Jumlah Missing Value Setelah Diisi

Langkah selanjutnya adalah melakukan normalisasi data. Hal ini dilakukan


untuk mencegah ketimpangan data yang besar antar data dan antar variabel.
Normalisasi data dilakukan dengan memanfaatkan fungsi MinMaxScaler dari
Scikitlearn.

Gambar 4. 27. Normalisasi Data

Pada gambar 4.27, langkah pertama normalisasi adalah seleksi fitur


terlebih dahulu. Hal ini dilakukan karena pada fitur yang menjadi target
klasifikasi tidak perlu dilakukan normalisasi. Lalu, memanggil modul
MinMaxScaler dengan mengatur feature_range di angka 0 sampai 1.
Gambar 4. 28. Data Setelah Normalisasi

Langkah selanjutnya setelah normalisasi data adalah melakukan proses


klasifikasi. Untuk metode klasifikasi utama adalah metode kNN. Namun,
untuk sistem ini diberikan fitur tambahan untuk memilih metode lain dengan
tujuan sebagai perbandingan hasil metode.

Gambar 4. 29. Metode Klasifikasi

Pada gambar 4.29 diatas, dibuat pemilihan metode klasifikasi pada


streamlit. Hal ini agar dapat memilih metode klasifikasi yang ingin digunakan
untuk mencari nilai akurasi maupun prediksi data baru nantinya.
Gambar 4. 30. Pemilihan Metode

Pada gambar 4.30, pemilihan metode perlu diatur agar pemilihan fitur
setiap metode bisa berubah bergantung pada metode yang dipilih seperti
contoh, apabila memilih metode kNN maka fitur yang ditampilkan adalah
pemilihan nilai K. Sehingga output yang akan dihasilkan terlihat seperti pada
gambar 4.31 dibawah.

Gambar 4. 31. Output Pemilihan Algoritma

Setelah pemilihan algoritma, maka langkah selanjutnya adalah melakukan


proses klasifikasi.
Gambar 4. 32. Proses Klasifikasi

Pada gambar 4.32 diatas, langkah pertama yang dilakukan adalah


melakukan split data. Hal ini bertujuan untuk membagi data menjadi data
testing dan data training. Lalu, berikutnya adalah menentukan training data
dan memasukkannya ke dalam algoritma atau metode yang digunakan.
Langkah berikutnya adalah melakukan prediksi dengan menggunakan
fungsi .predict dengan parameter xTest yaitu data testing. Untuk menentukan
nilai akurasi, dapat menggunakan fungsi ‘accuracy_score’ dengan parameter
data testing asli dengan data testing hasil prediksi. Lalu, untuk mencari nilai
presisi dan recall, dilakukan proses berbeda yaitu dengan menggunakan funsgi
precision_recall_curve. Output yang dihasilkan adalah nilai precision dan
recall dari prediksi yang sudah dilakukan diatas.

Gambar 4. 33. Hasil Akurasi Presisi dan Recall

Langkah berikutnya adalah menampilkan hasil perhitungan berupa nilai


akurasi presisi dan recall ke dalam bentuk grafik performa.
Gambar 4. 34. Code Grafik Performa

Pada gambar 4.34 diatas, untuk menampilkan grafik performa,


menggunakan matplotlib. Untuk menampilkan cukup dengan menggunakan
method plt.plot dengan parameter seperti diatas. Output yang dihasilkan
nantinya seperti pada gambar 4.35 dibawah ini.

Gambar 4. 35. Grafik Performa

Selanjutnya adalah menampilkan Confussion Matrix. Untuk menampilkan


confussion matrix, menggunakan library matplotlib juga.
Gambar 4. 36. Code Confussion Matrix

Pada gambar 4.36 diatas, merupakan code yang digunakan untuk


menampilkan confussion matrix. Selain itu, perlu juga menggunakan library
seaborn sebagai library bantuan untuk menampilkan heatmap. Output dari
code diatas adalah gambar 4.37 dibawah ini.

Gambar 4. 37. Confussion Matrix

Pada bagian akhir, terdapat pengujian dari prediksi berupa input data baru
lalu memprediksi hasil akhir dengan metode yang ditentukan. Pengguna dapat
melakukan input untuk setiap fitur atau variabel lalu sistem akan menentukan
prediksi hasil akhir apakah data tersebut tergolong ke dalam Diabetes Mellitus
atau Bukan.
Gambar 4. 38. Prediksi Data Baru

Sebagai contoh diatas pada gambar 4.38, prediksi menggunakan metode


KNN dengan menggunakan jarak euclidean distance dan nilai K adalah 7.
B. Metode Pembanding
Pada bagian ini ditampilkan metode metode komputasi lain yang
digunakan sebagai pembanding hasil akhir pengujian. Metode yang digunakan
sebagai pembanding adalah metode SVM, Random Forest, dan Naïve Bayes.
Pada komponen SVM, diperlukan opsi pemilihan nilai Cost dan Kernel. Pada
Random Forest diperlukan opsi pemilihan nilai Tree dan Max Depth.
Sedangkan, untuk Naïve Bayes tidak memerlukan parameter lain.
1. Support Vector Machine (SVM)
Pada metode ini, untuk melakukan klasifikasi dan penghitungan nilai
performa klasifikasi, masih tetap menggunakan library scikit-learn. Scikt-
learn menyediakan method untuk melakukan klasifikasi dengan metode
SVM.
Code yang digunakan untuk implementasi metode SVM menggunakan
python terdapat pada gambar 4.29 dan 4.30. Pada gambar 4.29 merupakan
code pengkondisian dimana fitur yang menjadi input user nantinya
bergantung pada metode yang dipilih. Pada gambar 4.30, code digunakan
untuk memilih algoritma untuk prediksi berdasarkan input pada gambar
4.29 dan parameter metode juga berdasarkan input yang digunakan pada
gambar 4.29.
Fitur yang disediakan untuk metode SVM adalah pemilihan nilai Cost
dan pemilihan kernel. Pada parameter nilai gamma, diatur menggunakan
default karena gamma hanya digunakan apabila kernel yang dipilih adalah
kernel RBF.
Gambar 4. 39. Tampilan Input Fitur

Pada gambar 4.39 diatas, merupakan fitur yang tersedia untuk metode
atau algoritma SVM. Pengguna dapat melakukan input pada nilai Cost dan
pemilihan kernel. Nilai cost yang optimal dengan akurasi tertinggi terdapat
di angka 5.2 sampai 10. Pilihan kernel yang tersedia adalah linear,
polynomial, rbf, sigmoid, precomputed.

Gambar 4. 40. Nilai Akurasi SVM

Pada gambar 4.40 diatas, nilai akurasi yang didapat dari metode SVM
dengan nilai Cost dan Kernel seperti pada gambar 4.39 sebelumnya adalah
79%. Nilai ini merupakan yang tertinggi dibandingkan dengan nilai Cost
lain di rentang 0 sampai 10.
2. Random Forest
Pada metode ini, untuk melakukan klasifikasi dan penghitungan nilai
performa klasifikasi, masih tetap menggunakan library scikit-learn. Scikt-
learn menyediakan method untuk melakukan klasifikasi dengan metode
Random Forest.
Metode ini memiliki parameter utama yaitu n estimator atau
banyaknya tree dan max_depth yang menunjukkan kedalaman atau
banyaknya node untuk setiap tree. Parameter diatas nantinya akan berupa
input user untuk mencari tahu pilihan fitur yang menghasilkan nilai
akurasi tertinggi.
Code yang digunakan untuk implementasi metode Random Forest
menggunakan python terdapat pada gambar 4.29 dan 4.30. Pada gambar
4.29 merupakan code pengkondisian dimana fitur yang menjadi input user
nantinya bergantung pada metode yang dipilih. Pada gambar 4.30, code
digunakan untuk memilih algoritma untuk prediksi berdasarkan input pada
gambar 4.29 dan parameter metode juga berdasarkan input yang
digunakan pada gambar 4.29.

Gambar 4. 41. Input Fitur Random Forest

Pada gambar 4.41, fitur yang tersedia untuk Random Forest adalah
max_depth dan n_estimators. Untuk max_depth diberikan rentang 2-15
dan n_estimators memiliki rentang nilai 1-100. Metode ini memiliki
akurasi yang cukup tinggi apabila dibandingkan dengan metode lain.
Berdasarkan hasil uji coba, nilai akurasi tertinggi didapatkan dari nilai
max_depth di rentang 3 – 5 dan n_estimators di angka 22 – 55.

Gambar 4. 42. Akurasi Random Forest


Nilai akurasi yang didapatkan ditunjukkan pada gambar 4.42 diatas.
Nilai akurasi yang didapatkan berdasar input pada gambar 4.41 adalah
83%. Akurasi ini merupakan nilai yang paling besar dibandingkan nilai
akurasi terbesar di setiap metode lainnya. Uji coba menggunakan nilai
max_depth 4 dan n_estimators di angka 22.
3. Naïve Bayes
Metode ini merupakan metode yang paling sederhana apabila
diimplementasikan dengan menggunakan metode. Hal itu dikarenakan
metode Naïve Bayes tidak memerlukan input fitur khusus sehingga
implementasinya cukup dengan memanggil metode GaussianNB saja.
Metode ini disediakan oleh library scikit-learn.
Code yang digunakan untuk implementasi Naïve Bayes terdapat pada
gambar dan 4.30 diatas. Gambar 4.30 merupakan pemanggilan metode
yang akan digunakan untuk prediksi sesuai dengan input dari pengguna.

Gambar 4. 43. Metode Naive Bayes

Pada gambar 4.43, menunjukkan pilihan metode Naïve Bayes. Gambar


tersebut menunjukkan bahwa metode ini tidak memiliki parameter khusus
seperti metode metode sebelumnya. Oleh karena itu, metode ini terbilang
cukup mudah apabila ingin di implementasikan dengan menggunakan
python.
Gambar 4. 44. Nilai Akurasi Naive Bayes

Gambar 4.44 diatas menunjukkan nilai akurasi dari penggunaan


metode Naïve Bayes. Nilai akurasi yang didapatkan berada di angka 75%.
Nilai ini merupakan yang terkecil apabila dibandingkan dengan metode
utama kNN dan metode pembanding, SVM dan Random Forest.

C. Scenario Uji Coba


Pada bagian scenario uji coba, ditunjukkan langkah langkah untuk menguji
sistem yang telah dibangun. Langkah pengujian hanya dilakukan untuk
metode utama yaitu metode kNN. Berikut adalah skenario uji coba untuk
metode kNN.
Scenario uji coba dilakukan pada setiap nilai K untuk setiap metode
metrics yang ada. Nilai K yang akan diuji coba adalah 1, 3, 5, 7 untuk setiap
metode. Pengujian dilakukan satu persatu untuk setiap metode dan setiap nilai
K.
1. Metode Euclidean Distance
Untuk metode euclidean distance, didapatkan nilai akurasi, presisi,
dan recall untuk setiap K seperti dibawah ini.
Nilai K Akurasi Precision Recall
3 62% 70% 1
5 67% 70% 1
7 71% 70% 1
9 79% 70% 1

2. Metode Manhattan Distance


Untuk metode manhattan distance, didapatkan nilai akurasi, presisi,
dan recall untuk setiap K seperti dibawah ini.
Nilai K Akurasi Precision Recall
3 67% 70% 1
5 71% 70% 1
7 71% 70% 1
9 71% 70% 1

3. Metode Minkowski
Untuk metode manhattan distance, didapatkan nilai akurasi, presisi,
dan recall untuk setiap K seperti dibawah ini.
Nilai K Akurasi Precision Recall
3 62% 70% 1
5 67% 70% 1
7 71% 70% 1
9 79% 70% 1
BAB V
PENUTUP
5.1. Kesimpulan
Kesimpulan yang didapatkan dari penelitian ini adalah sebagai berikut.
1. Pengujian nilai akurasi dapat dilakukan dengan menggunakan
software Orange ataupun Python.
2. Nilai akurasi bergantung pada fitur untuk setiap metode seperti
nilai K pada kNN atau nilai Cost pada SVM.
3. Nilai akurasi paling besar untuk setiap metode didapat dari nilai K
= 9 untuk kNN dengan metode jarak Euclidean Distance, nilai Cost
2-5 untuk SVM dengan Kernel apapun, serta maxdepth = 5 dan
tree = 15 untuk Random Forest.
4. Nilai akurasi terbesar untuk metode kNN berada di angka 79%.
5. Nilai akurasi terbesar untuk metode SVM di angka 79%.
6. Nilai akurasi terbesar untuk metode Random Forest di angka 83%.
7. Nilai akurasi untuk metode Naïve Bayes di angka 75%.
8. Metode KNN masih cukup dapat diandalkan apabila dilihat dari
nilai akurasinya yang cukup tinggi. Bahkan tertinggi kedua setelah
Random Forest dan hanya memiliki selisih sekitar 4% saja.
9. Implementasi sistem ke dalam GUI untuk saat ini dapat berjalan
dengan baik dengan output sesuai harapan.

5.2. Saran
1. Penelitian masih dapat dikembangkan dengan menambahkan
variabel tambahan yang mendukung hasil dari diagnosis Diabetes
Mellitus.
2. Jumlah dataset yang digunakan dapat ditambahkan agar nilai
akurasi bisa lebih baik dan hasil prediksi menjadi lebih akurat.
3. Nilai K yang digunakan dapat menggunakan nilai K yang lebih
besar agar nilai akurasi bisa lebih baik. Hal ini dikarenakan
pemilihan nilai K yang tepat dapat mempengaruhi baik tidaknya
nilai akurasi yang dihasilkan.
DAFTAR PUSTAKA

Argina, A. M. (2020). Penerapan Metode Klasifikasi K-Nearest Neigbor pada


Dataset Penderita Penyakit Diabetes. Indonesian Journal of Data and
Science, 29 - 33.
Fernanda, S. I., Ratnawati, D. E., & Adikara, P. P. (2017). Identifikasi Penyakit
Diabetes Mellitus Menggunakan Metode Modified K-Nearest Neighbor
(MKNN). Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer,
507 - 513.
Hikmah, I. R., & Yasa, R. N. (2021). Perbandingan Hasil Prediksi Diagnosis pada
Indian Liver Patient Dataset (ILPD) dengan Teknik Supervised Learning
Menggunakan Software Orange. Jurnal Telematika, 69 - 76.
Irawan, N. D., Wijono, & Setyawati, O. (2017). Perbaikan Missing Value
Menggunakan Pendekatan Korelasi Pada Metode K-Nearest Neighbor.
Jurnal INFOTEL, 305 - 311.
Lestari, U. I., Nadhiroh, A. Y., & Novia, C. (2021). Penerapan Metode K-Nearest
Neighbor Untuk Sistem Pendukung Keputusan Identifikasi Penyakit
Diabetes Melitus. Jurnal Teknik Informatika dan Sistem Informasi, 2017 -
2082.
Nishom, M. (2019). Perbandingan Akurasi Euclidean Distance, Minkowski
Distance, dan Manhattan Distance pada Algoritma K-Means Clustering
berbasis Chi-Square. Jurnal Pengembangan IT (JPIT), 20 - 24.
Nugroho, R. A., Tarno, & Prahutama, A. (2017). Klasifikasi Pasien Diabetes
Mellitus Menggunakan Metode Smooth Support Vector Machine (SSVM).
Jurnal Gaussian, 439 - 448.
Prasetyo, A. B., & Laksana, T. G. (2022). Optimasi Algoritma K-Nearest
Neighbors dengan Teknik Cross Validation Dengan Streamlit (Studi Data:
Penyakit Diabetes). Journal of Applied Informatics and Computing
(JAIC), 194 - 204.
Putry, N. M., & Sari, B. N. (2022). Komparasi Algoritma KNN Dan Naive Bayes
Untuk Klasifikasi Diagnosis Penyakit Diabetes Melitus. Jurnal Sains dan
Manajemen, 45 - 57.
Yunita, F. (2016). Sistem Klasifikasi Penyakit Diabetes Mellitus Menggunakan
Metode K-Nearest Neighbor (K-NN). Jurnal BAPPEDA, 223 - 230.

Anda mungkin juga menyukai