Anda di halaman 1dari 54

SKRIPSI

IMPLEMENTASI DATA MINING UNTUK


MENGKLASIFIKASIKAN PENYAKIT DIABETES
MENGGUNAAN ALGORITMA KNN

Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik
Informatika

Disusun Oleh:

Nama : Muhamad Nindyawan F


NIM : A11.2018.11019
Program Studi : Teknik Informatika

FAKULTAS ILMU KOMPUTER


UNIVERSITAS DIAN NUSWANTORO
SEMARANG
2022
PERSETUJUAN SKRIPSI

Nama : Muhamad Nindyawan Febrianto


NIM : A11.2018.11019
Program Studi : Teknik Informatika - Strata 1
Fakultas : Ilmu Komputer
Judul Tugas Akhir : Implementasi Data Mining Untuk Mengklasifikasikan
Penyakit Diabetes Menggunakan Metode KNN

Tugas Akhir ini telah diperiksa dan disetujui,


Semarang, 2022

Menyetujui : Mengetahui :
Pembimbing Dekan Fakultas Ilmu Komputer

Suprayogi, M.Kom. Dr. Drs. Abdul Syukur, M.M.

i
PENGESAHAN DEWAN PENGUJI

Nama : Muhamad Nindyawan Febrianto


NIM : A11.2018.11019
Program Studi : Teknik Informatika - Strata 1
Fakultas : Ilmu Komputer
Judul Tugas Akhir : Implementasi Data Mining Untuk Mengklasifikasikan
Penyakit Diabetes Menggunakan Algoritma C4.5

Tugas Akhir ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada
Sidang tugas akhir tanggal 15 Februari 2021. Menurut pandangan kami, tugas
akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan
penganugrahan gelar Sarjana Komputer (S.Kom.)

Dewan Penguji :

Ayu Pertiwi, S.Kom., M.T. Nisa’ul Hafidhoh, M.T.


Anggota Anggota

Slamet Sudaryanto, S.T., M.Kom.


Ketua Penguji
Semarang, 15 Februari 2020

ii
PERNYATAAN KEASLIAN SKRIPSI

Sebagai mahasiswa Universitas Dian Nuswantoro yang bertanda tangan dibawah


ini, saya :

Nama : Muhamad Nindyawan Febrianto


NIM : A11.2018.11019

Menyatakan bahwa karya ilmiah saya yang berjudul :

Implementasi Data Mining Untuk Mengklasifikasikan Penyakit Diabetes


Menggunakan Metode KNN

Merupakan karya asli (kecuali cuplikan dan ringkasan yang masing-masing telah
saya jelaskan sumbernya dan perangkat pendukung seperti web cam dll). Apabila
dikemudian hari, karya saya disinyalir bukan merupakan karya asli saya, yang
disertai dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan
gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian
surat pernyataan ini saya buat dengan sebenarnya.

Dibuat : Semarang
Pada Tanggal : 2023

Yang Menyatakan :

(Muhamad Nindyawan Febrianto)

iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah


ini saya :

Nama : Muhamad Nindyawan Febrianto


NIM : A11.2018.11019

Demi mengembangkan Ilmu Pengetahuan, menyetujui untuk memberikan kepada


Universitas Dian Nuswantoro Hak Bebas Non-Ekskusif (Non-exclusive Royalty-
Free Right) atas karya ilmiah saya yang berjudul :

IMPLEMENTASI DATA MINING UNTUK MENGKLASIFIKASIKAN


PENYAKIT DIABETES MENGGUNAKAN METODE KNN

Dengan Hak Bebas Royalti Non-Eksklusif ini Universitas Dian Nuswantoro berhak untuk
menyimpan, mengcopy ulang (memperbanyak), menggunakan, mengelolanya dalam
bentuk pangkalan data (database), mendistribusikannya dan
menampilkan/mempublikasikannya di internet atau media lain untuk kepentingan
akademis tanpa perlu meminta ijin dari saya selama tetap mencantumkan nama saya
sebagai penulis/pencipta. Saya bersedia untuk menanggung secara pribadi, tanpa
melibatkan pihak Unversitas Dian Nuswantoro, segala bentuk tuntutan hukum yang
timbul atas pelanggan Hak Cipta dalam karya ilmiah saya ini. Demikian surat pernyataan
ini saya buat dengan sebenarnya.

Dibuat : Semarang
Pada Tanggal : 15 Februari 2021
Yang Menyatakan :

(Muhamad Nindyawan Febrianto)

iv
UCAPAN TERIMAKASIH

Dengan memanjatkan puji syukur kehadirat Allah SWT. Tuhan Yang Maha
Pengasih dan Maha Penyayang yang telah melimpahkan segala Rahmat, Hidayah,
dan Inayahnya-Nya kepada penulis sehingga laporan tugas akhir dengan judul
“IMPLEMENTASI DATA MINING UNTUK MENGKLASIFIKASI
PENYAKIT DIABETES DENGAN METODE KNN” dapat penulis
selesaikan sesuai dengan rencana karena dukungan dari berbagai pihak yang tidak
ternilai besarnya. Oleh karena itu penulis menyampaikan terimakasih kepada :
1. Prof. Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian
Nuswantoro Semarang.
2. Dr. Drs. Abdul Syukur, M.M, selaku Dekan Fasilkom
3. Dr. Muljono, S.Si, M.Kom, selaku Ka. Progdi Teknik Informatika.
4. Suprayogi, M.Kom, selaku pembimbing tugas akhir yang memberikan ide
penelitian, memberikan informasi refrensi yang penulis butuhkan dan
bimbingan yang berkaitan dengan penelitian penulis.
5. Dosen-dosen pengampu di Fakultas Ilmu Komputer Teknik Informatika
Universitas Dian Nusantoro Semarang yang telah memberikan ilmu dan
pengalamannya masing - masing, sehingga penulis dapat
mengimplementasikan ilmu yang telah disampaikan.
6. M. Ali Munif dan Afni’ah selaku orang tua kandung yang selalu memberi
doa dan dukungan dalam pembuatan tugas akhir ini.
7. Rika Wulandari selaku support system dalam memberikan semangat dan
dukungan untuk menyelesaikan tugas akhir.
8. Teman-teman selaku yang memberikan dukungan dalam menyelesaikan
tugas akhir.
Semoga Tuhan Yang Maha Esa memberikan balasan yang lebih besar kepada
beliau - beliau, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas
akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.
Semarang, Februari 2021

Penulis

v
ABSTRAK

Banyaknya inovasi hidangan makanan dan jajanan yang mengandung


glukosa berlebihan sehingga menimbulkan masalah – masalah baru dalam dunia
kesehatan, utamanya menyerang pada insulin manusia. Penumpukan glukosa
dalam tubuh sangat tidak baik dan dapat menimbulkan penyakit berbahaya seperti
diabetes. Dari tahun ke tahun diabetes telah meningkat hingga kesulitan dalam
peningkatan kualitas klasifikasi data. Dataset uang digunakan dalam penelitian ini
adalah dataset diabetes dari National Institute of Diabetes and Disgestive and
Ginjal Diseases dari sebuah website analisis data yang menyediakan dataset untuk
digunakan (Smith, 1988). Kemudian terbitnya metode KNN berguna
meningkatkan akurasi dalam mengklasifikasi data banyaknya pasien yang terkena
penyakit diabetes untuk digolongkan menjadi 2 golongan, yaitu positif dan
negative. Metode ini menggunakan persamaan euclidean distance untuk
mengetahui jarak dan pengujian akurasinya menggunakan confusion matrix.
Kata Kunci : Klasifikasi, Penyakit diabetes,Algoritma KNN.

vi
DAFTAR ISI

PERSETUJUAN SKRIPSI.......................................................................................i
PENGESAHAN DEWAN PENGUJI......................................................................ii
PERNYATAAN KEASLIAN SKRIPSI................................................................iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS..............................................................................iv
UCAPAN TERIMAKASIH.....................................................................................v
ABSTRAK..............................................................................................................vi
DAFTAR ISI..........................................................................................................vii
DAFTAR TABEL...................................................................................................ix
DAFTAR GAMBAR...............................................................................................x
BAB I PENDAHULUAN........................................................................................1
1.1. Latar Belakang..........................................................................................1
1.2. Rumusan Masalah.....................................................................................3
1.3. Batasan Masalah........................................................................................3
1.4. Tujuan Penelitian.......................................................................................3
1.5. Manfaat Penelitian.....................................................................................3
BAB II LANDASAN TEORI..................................................................................5
2.1 Tinjauan Studi...........................................................................................5
2.2 Tinjauan Pustaka.......................................................................................9
2.2.1. Metode Prototype...............................................................................9

2.2.2. Deteksi.............................................................................................11

2.2.3. Diabetes Militus...............................................................................11

2.2.4. Data Mining.....................................................................................11

2.2.5. Klasifikasi........................................................................................13

2.2.6. K-Nearest Neighbor.........................................................................13

2.2.7. Unified Modeling Language (UML)................................................14

2.2.8. Bahasa Pemrograman.......................................................................15

2.2.9. Aplikasi pemograman......................................................................16

vii
2.2.10. Confusion Matrix.............................................................................16

2.3 Kerangka Pemikiran................................................................................17


BAB III METODE PENELITIAN........................................................................19
3.1 Instrumen Penelitian................................................................................19
3.2 Prosedur Pengumpulan Data...................................................................19
3.2.1 Sample..............................................................................................20

3.2.2 Explore.............................................................................................21

3.3 Teknik Analisis Data...............................................................................22


3.3.1 Pembersihan Data............................................................................22

3.3.2 Transformasi Data............................................................................23

3.3.3 Metode yang Diusulkan...................................................................24

3.3.4 Tahap Algoritma K-Nearest Neighbor.............................................26

3.4 Metode pengembangan sistem................................................................31


3.5 Pembangunan Sistem..............................................................................31
3.5.1. Rekayasa Perangkat Lunak..............................................................31

BAB IV METODE PENELITIAN........................................................................33


4.1.1 Persiapan Data..................................................................................33

4.1.2 Membaca data diabetes....................................................................35

viii
DAFTAR TABEL
Table 2. 1 State of The Art.......................................................................................5
Table 2. 2 Use Case Diagram.................................................................................13
Table 3. 1 Dataset...................................................................................................18
Table 3. 2 Sample Data..........................................................................................20
Table 3. 3 Pre-Processing.......................................................................................20
Table 3. 4 Kategori Value......................................................................................21
Table 3. 5 Penyesuaian Data..................................................................................22
Table 3. 6 Contoh Data yang Akan Dihitung.........................................................25
Table 3. 7 Pengelompokan Data Berdasarkan Kategori pada Table Kategori Value
................................................................................................................................25
Table 3. 8 Ecluidean Distance................................................................................27
Table 3. 9 Pemberian Ranking...............................................................................27
Table 3. 10 Pengurutan Ranking............................................................................28
Table 3. 11 Kategori Mayoritas.............................................................................28
Table 3. 12 Hasil Akhir Kategori...........................................................................28

ix
DAFTAR GAMBAR
Gambar 2. 1 Rumus KNN......................................................................................12
Gambar 2. 2 Kerangka Pemikiran..........................................................................16
Gambar 2. 3 Rumus Euclidean Distance...............................................................23
Gambar 2. 4 Tahapan KNN...................................................................................24
Gambar 3. 1 Model Prototype................................................................................30

x
BAB I
PENDAHULUAN

1.1. Latar Belakang


Diabetes merupakan penyakit paling tua di dunia. Penyakit
diabetes berhubungan dengan penumpukan kadar glukosa dalam darah.
Dalam penelitian diabetes timbul pada seseorang yang disebabkan oleh kadar
gula darah yang tinggi akibat kekurangan insulin.

Pada kasus diabetes, penyakit ini dapat menyebabkan kematian.


Diabetes merupakan penyakit paling tua diantara yang lainya di dunia, secara
medis diabetes berhubungan dengan metabolisme kadar gula dalam darah
yang mana meningkatkan kadar gula akibat kurangnya insulin. Menurut
jurnal (Pangaribuan, 2016) diabetes mengakibatkan produksi hormon insulin
oleh kelenjar pankreas, juga menyebabkan banyaknya komplikasi penyakit
lain. Maka dari itu sulit atau tidak ada masa penyembuhan total untuk
penyakit ini, terkecuali menghindarkan penyakit ini dengan mencegah
ataupun mengurangi makanan dan minuman berkadar gula tinggi, karena hal
itu memicu rusaknya metabolisme tubuh yang mengakibatkan banyaknya
kemunculan komplikasi penyakit akibat 1 penyakit yaitu diabetes militus.

Indonesia menempati peringkat keempat di dunia yang mempunyai


angka diabetes terbanyak dengan jumlah 14 juta jiwa, menurut Prof. Dr.
Sidartawan Soegondo. Meningkatnya jumlah diabetes akibat keterlambatnya
dalam diagnosa penyakit tersebut. Banyak orang baru tidak menyadari
terdapat komplikasi diabetes yang tidak dapat dikontrol yang menyebabkan
komplikasi jangka panjang, merusak pembuluh darah dan sel – sel lain.
Faktor lain yang memungkinkan kurangnya tenaga medis terutama kota –
kota kecil dan daerak plosok. Untuk saat ini data telah dikumpulkan belun
dapat digunakan secara optimal menurut jurnal (Umi kulsum Indah Lestari,
2021).

1
Banyak metode yang dapat digunakan untuk memprediksi ataupun
mengklasifikasikan penyakit diabtes militus dengan menggunakan
probabilitas yang dapat memberikan akurasi terhadap kondisi pada seseorang
apakah itu hasilnya menunjukan iya atau tidaknya penyakit diabetes.
Didapatkan gejala – gejala diagnosa diabetes seperti, luka yang sulit sembuh,
kelelahan yang berlebihan, kaki mati rasa, menurunnya berat badan, dan
sering buang air kecil. Kemudian gejala – gejala tersebut dikemas dalam
bentuk form.

Salah satu metode dengan akurasi tinggi untuk menentukan


probabilitas memungkinkan diagnosa suatu penyakit yang mana dapat
mengklasifikasi berdasarkan gejala – gejala yang di tentukan yaiu dengan
menggunakan K-Nearest Neighbor.

Memahami algoritma adalah cara berguna untuk


mengklasifikasikan objek baru berdasarkan (K) atau tetangga terdekatnya.
Disisi lain, menurut jurnal (M. Syukri Mustafa, 2019), pendekatan
penghitungan aksesibilitas kasus baru dengan kasus lama.

Sebelumnya telah dilakukan juga penelitian oleh (Faris Huwaidi,


2022). Dengan dataset Pima Indian Diabetes dengan pembuatan aplikasi
berbasis web dimana user diminta untuk menginputkan 7 atribut pada gejala
diabetes. Maka didapatkan 2 kode yaitu 1 yang artinya positif dan 0 artinya
negatif.

Berdasar latar belakang tersebut, dapat di simpulkan


mengidentifikasi penyakit diabetes militus yang meliputi gejala – gejala
tersebut dapat menggunakan metode K-Nearest Neighbor. Pada penelitian
yang akan dibuat oleh penulis akan meggunakan teknik dalam data mining
dengan 9 variabel yakni pregnancies kadar insulin, kadar gula darah, tekanan
darah, keturunan dari keluarga, usia, ketebalan kulit triseb, index masa tubuh,
serta kelas.

2
1.2. Rumusan Masalah
Dari latar belakang masalah dan identifikasi masalah, maka
permasalaahan dalam penelitian ini adalah sebagai berikut: Bagaimana
metode KNN dapat memprediksi diabetes dengan akurasi tertinggi?

1.3. Batasan Masalah


Berdasarkan dengan judul tugas akhir “Implementasi data mining
untuk mengklasifikasi penyakit diabetes menggunakan algoritma KNN” maka
terdapat beberapa masalah yaitu:

1. Belum terdapat sistem android yang dapat memudahkan dalam


penggunaan.
2. Tingkat akurat hanya 85%.
3. Data pasien yang terlalu banyak.
4. Kurang dalam pemilihan gejala pada prediksi penyakit diabetes.
5. Penggunaan bahasa pemograman Phyton dengan jupyter notebook.
6. Perhitungan jarak Euclidean distance dan confusion matrix.

1.4. Tujuan Penelitian


Didalam penelitian ini, bertujuan supaya terbentuk sistem yang
dapat mengklasifikasikan penyakit diabetes menggunakan Algoritma KNN.

1.5. Manfaat Penelitian


Manfaat dari penelitian ini adalah sebagai berikut :

1. Bagi Penulis
Penulis dapat mendalami dan memahami mengenai klasifikasi
diabetes secara akurat. Serta melatih tanggung jawab untuk dapat
diangkat sebagai salah satu syarat kelulusan.
2. Bagi pengguna

3
Penelitian ini diharapkan memudahkan masyarakat khususnya di
Indonesia untuk dapat memprediksi penyakit diabetes dengan akurasi
yang tinggi.
3. Bagi Universitas Dian Nuswantoro
Dapat menjadi masukan serta memberikan pengembangan ilmu
pengetahuan di bidang Data Mining.

4
BAB II
LANDASAN TEORI
2.1 Tinjauan Studi
Dalam melaksanakan penelitian ini, memerlukan adanya jurnal
terdahulu sebagai referensi perbandingan dengan tujuan untuk memperoleh
hasil yang lebih efektif dan akurat. Jurnal berikut ini merupakan penelitian
yang sudah dilakukan oleh peneliti sebelumnya berkaitan dengan penyakit
diabetes dengan menggunakan metode algoritma K-Nearest Neighbor, jurnal
tersebut akan digunakan sebagai acuan dalam mendukung penelitian
mengenai deteksi diabetes.

Berdasarkan tinjauan studi tersebut maka didapatkan tabel sebagai


berikut.

Table 2. 1 State of The Art

No Peneliti-
Judul Masalah Metode Hasil
Tahun
1. (Yunita, SISTEM Menguji Penyelesaian Disimpulk
2016) KLASIFIKASI pengklasifikasia kasus dengan an
PENYAKIT n metode KNN Data terdiri 6 presentase
DIABETES pada hasil variable dan kesamaan
MELLITUS sampel uji data target klasifikasi
MENGGUNAKAN penyakit sebanyak 2 antara
METODE K- diabetes RSUD kelas. rapid
NEAREST Puri Husada Umur, tinggi miner
NEIGHBOR Tembilan badan, berat yang
badan, dihasilkan
riwayat dengan
keluarga, mengguna

5
gangguan kan K-NN
destruksi, saat K=1
pola makan dengan
dengan keberhasil
menggunaka an sebesar
n algoritma 88%.
KNN Berdasar
hasil
evakuasi
akurasi
dengan K-
NN dalam
pengklasif
ikasian
diabetes
adalah
96%
2. (Ramadhan SISTEM Keterbatasan Menggunaka Data
, 2018) DIAGNOSA staf tenaga n metode K- testing
DIABETES medis dan NN dengan sebanyak
MENGGUNAKAN terkonsentrasi mengidentifi 7 orang,
N METODE KNN pada kota-kota kasi masalah, nilai K
besar. Untuk itu Analisis digunakan
perlu dibangun kebutuhan 3.
sistem diagnosa penderita Persentase
penyakit diabetes, yang
diabetes menganalisis didapatkan
menggunakan kebutuhan adalah
metode KNN sistem, 85.71%.
merancang KNN
sistem sangat

6
dengan tols optimal
Sybase power untuk
disainer mendiagn
mulai dari osa
ERD, DFD penyakit
Level 0, DFD diabetes.
Level1
sampai DFD
Level 2.
3. (M. Syukri IMPLEMENTASI Penyebab yang Dengan Dari data
Mustafa, ALGORITMA K- memungkinkan menggunaka set yang
2019) NEAREST pasien baru di n modified dilatih
NEIGHBOR (KNN) puskesmas K-Nearest kemudian
UNTUK menyapa Neighbor diekspor
MEMPREDIKSI Kabupaten (MKNN) dalam
PASIEN TERKENA Bulukumba terdapat 15 pengemba
PENYAKIT yang terkena gejala dan 2 ngan
DIABETES PADA penyakit jenis penyakit website
PUSKESMAS diabetes. sebagai mengguna
MENYAPA parameter. kan bahasa
KABUPATEN phyton.
BULUKUMBA Dengan
meninjau
angka
kehamilan,
kadar
insulin,
kadar
glukosa
BMI,
tekanan

7
darah,
riwayat
diabetes
keluarga,
ketebalan
kulit, dan
u,ur
4. (Umi PENERAPAN Proses uji klinis Menggunaka Dengan
kulsum ALGORITMA K- yang memakan n metode nilai k=23
Indah NN UNTUK waktu tidak klasifikasi K- didapatkan
Lestari, SISTEM sebentar dan Nearest akurasi
2021) PENDUKUNG harus dilakukan Neighbor sebesar
KEPUTUSAN untuk (KNN) 96%,
IDENTIFIKASI mengetahui dengan 8 penelitian
PENYAKIT apakah variabel. ini dapat
DIABETES seseorang dinilai
terjangkit berhasil
penyakit menerapka
diabetes atau n metode
tidak, maka K-NN
diperlukan
sebuah system
pendukung
keputusan yang
bertujuan guna
mengidentifikasi
penyakit
diabetes.
5. (Faris PENERAPAN Indonesia Menggunaka Data input
Huwaidi, ALGORITMA K- merupakan n jupyter diproses
2022) NEAREST peringkat ke- 5 notebook dengan

8
NEIGHBOR negara penderita dengan algoritma
UNTUK diabetes bahasa KNN
MENDETEKSI terbanyak. Hal pemograman untuk
DIABETES ini diakibatkan phyton menentuka
BERBASIS WEB buruknya pola menginputka n outcome
APPLICATION hidup, kemudian n data gejala berupa
di tambah penyakit positif
kurangnya diabetes lalu atau
kesadaran di proses negatif
masyarakat menggunaka diabetes.
untuk mengecek n algoritma
apakah terkena K-NN
diabetes atau
tidak.

2.2 Tinjauan Pustaka


2.2.1. Metode Prototype

Metode Prototyping merupakan suatu model dari Software


Development Life Cycles yang merupakan langkah-langkah pekerjaan
dalam pembangunan sistem informasi yang dilakukan oleh programmer
serta sistem analisis. Metode ini berguna untuk mensimulasikan suatu
aplikasi yang diberikan oleh pihak pengembang kepada user/pelanggan
sehingga user dapat lebih memahami program yang sesuai dimana
nantinya akan digunakan oleh user tersebut (Nugraha, 2018).
Model Prototype dapat digunakan sebagai jembatan antara
pelanggan dan pengembang perihal ketidakpahaman pengguna atau
pengembang mengenai hal-hal teknis dalam pengembangan. Model ini
juga memperjelas spesifikasi kebutuhan yang diharapkan pengguna
kepada pengembang aplikasi dimana dalam karya tulis ini pelanggan
adalah pihak industri.

9
Sumber : (Syaddad, 2017)

Paradigma pengembangan sistem menggunakan metode prototype


menggunakan 5 tahapan :
1. Communication, Komunikasi antara developer dan pengguna dalam
menetapkan tujuan dari sistem yang dikembangkan, kebutuhan yang
diperlukan serta deskripsi bagian sistem yang dibutuhkan selanjutnya.
2. Quick Plan, Perancangan dilaksanakan dengan cepat serta mewakili
setiap aspek dalam perangkat lunak yang ada. Rancangan dari tahap ini
akan menjadi pondasi dalam pengembangan dengam metode
prototype.
3. Modelling Quick Design, Ditahap ini lebih memfokuskan pada
representasi tiap aspek perangkat lunak yang dapat dilihat oleh
customer maupun user. Walaupun, fokus pada representasi tiap aspek,
tahap ini cenderung pada pengembangan prototipe.
4. Construction of Prototype, Implementasi dari kerangka ataupun
rancangan pada tahap sebelumnya dari perangkat lunak yang akan
dikembangkan.
5. Deployment Delivery & Feedback, Prototipe yang telah
diimplementasikan oleh pengembang pada tahap sebelumnya akan
diperlihatkan kepada pengguna untuk ditinjau kembali. Setelah itu
pengguna/user akan memberikan pendapat yang akan pengembang

10
gunakan untuk memperbaiki kebutuhan perangkat lunak yang
dibangun.

2.2.2. Deteksi

Deteksi diabetes merupakan upaya dalam mengidentifikasikan


suatu Penyakit yang belum jelas, walaupun telah melakukan tes ataupun
pemeriksaan tertentu (Riski Aulia, 2015).

2.2.3. Diabetes Militus

Menurut buku (Hall, 2007) diabetes adalah penyakit yang


mengganggu metabolisme lemak, karbohidrat dan protein. Penyakit
tersebut disebabkan karena kurangnya kepekaan otot atau jaringan
terhadap insulin, yang dikenal sebagai resistensi insulin, atau kurangnya
hormone insulin dalam kasus defisiensi insulin. Diperkuat oleh
pernyataan (Syahbudin, 2009) diabetes mellitus merupakan suatu
berbagai macam gejala yang tumbuh akibat meningkatnya kadar gula
glukosa darah akibat kurangnya insulin baik absolut maupun relative

2.2.4. Data Mining

Data mining atau Knowledge Discovery adalah ilmu komputer


yang melibatkan proses pengumpulan, pemakaian data historis,
penemuan dataset dengan tujuan untuk mengekstrak informasi agar dapat
dirubah menjadi format yang dapat dimengerti, atau proses pengambilan
suatu data dari data warehose berdasarkan prediksi variable untuk
menemukan data dari sekumpulan data yang ditentukan dengan berbagai
dominan seperti kecerdasan buatan.
2.2.3.1 Tahapan Data Mining

Menurut jurnal (Yunita, 2016) data mining memiliki beberapa


tahapan antara lain :

1. Pembersihan Data (data cleaning)

11
Menghapus data atau menghapus data noise yang tidak konsisten
dan tidak relevan.
2. Integrasi Data (data integration)
Pengumpulan data dari beberapa data menjadi satu database baru.
3. Seleksi Data (data selection)
Tidak semua data yang terdapat pada database digunakan semua,
sehingga dalam tahap seleksi data dapat menyaring data sesuai
dengan analisis yang akan dipakai dari database.
4. Transformasi data (data transformation)
Pengubahan data untuk dapat digabungkan ke dalam format yang
sesuai agar dapat diolah pada data mining.
5. Data Mining
Melakukan proses mining untuk mengekstrak data ke dalam
database.
6. Evalusi Pola (pattern evalution)
Melakukan identifikasi pola yang mengandung pengetahuan
(knowledge).
7. Presentasi pengetahuan (knowledge presentation)
Menyajikan pengetahuan atau mined knowledge terhadap
pengguna.
2.2.3.2 Pengelompokkan Data Mining

Menurut Jurnal (Pratiwi, 2018), data mining memiliki beberapa


pengelompokkan berdasarkan tugas yang akan dilakukan, seperti :

1. Deskripsi
Untuk menjelaskan bentuk serta trend yang terpendam di dalam
data.
2. Estimasi
Estimasi serupa dengan klasifikasi, hanya berbeda variabel dan
tujuan lebih kearah numerik daripada golongan.
3. Prediksi

12
Memprediksi hasil yang dapat berlangsung di masa yang akan
mendatang.
4. Klasifikasi
Klasifikasi bertujuan untuk mengelompokan atau mengategorikan
pendapatnya dalam 3 kelas yakni perolehan tinggi, perolehan
sedang, dan perolehan rendah.
5. Clustering
Pengelompokkan record atau masalah dalam class yang punyai
kesamaan
6. Asosiasi
Mengenali kaitan antara beragam perihal yang berlangsung pada
suatu waktu

2.2.5. Klasifikasi

Klasifikasi merupakan tugas yang dapat dilakukan oleh data


mining. Pertama kalinya klasifikasi diterapkan yaitu pada bidang
tanaman yang mengklasifikasikan sebuah spesies tertentu.
Algoritma klasifikasi terdapat 2 model yaitu data training dan data
testing. Proses klasifikasi telah dikembangkan oleh para ahli seperti
Artifical Neural Network, Support Vector Machine, K-Nearest Neighbor,
Naïve Bayes Classivier, Decision Tree dan lain sebagainya. Pada tiap
klasifikasi difungsikan masing-masing algoritma tersebut sama,
diharapkan dapat mengukur kinerja secara benar akan tetapi tidak dapat
dipungkiri bahwa sistem tidak bekerja 100% akurat. (Yunita, 2016)

2.2.6. K-Nearest Neighbor

K-Nearest Neighbor merupakan teknik yang meggunakan


supervised dimana nilai dari query instance yang baru di klasifikasikan
berdasar label terbanyak pada K-Nearest Neighbor.

13
K-Nearest Neighbor berfungsi dalam mengklasifikasikan objek
berdasarkan nilai k pada fitur space. Menentukan nilai jarak pada data
testing dengan data training berdasarkan nilai minimum dari nilai
terdekat. Persamaan Euclidian Distance dapat di presentasikan sebagai
berikut :

Gambar 2. 1 Rumus KNN

Keterangan :

D = Euclidean Distance

Xik = Nilai pada training data

Xij = Nilai pada testing data

m = Batas jumlah banya knya data

2.2.7. Unified Modeling Language (UML)

Unified Modeling Language (UML) merupakan pemodelan dalam


membangun secara spesifikasi serta mendokumentasi seluruh artifak
sistem perangkat lunak dengan tujuan agar dapat mengidentifikasi bagian
yang termasuk dalam lingkup sistem.

2.2.6.1 Use Case Diagram


Use Case adalah suatu permodelan pada sistem informasi yang
akan diciptakan, dengan menjelaskan sebuah interaksi antara satu atau
lebih.Use Case digunakan untuk mengetahui fungsi yang akan dibuat
dalam sebuah sistem. Use case melibatkan 2 aktor yaitu user dan admin
untuk dapat login pada tahap berikutnya. (M. Syukri Mustafa, 2019)
Berikut merupakan symbol yang ada pada use case diagram antara lain :

14
Table 2. 2 Use Case Diagram

No Simbol Keterangan
1 Use Case Fungsionalitas dari sistem sebagai
unit yang saling bertukar pesan
antar aktor

2 Actor Pengguna maupun admin yang


berinteraksi dengan sistem
informasi

3 Generalisation Hubungan generalisasi antar use


case dimana fungsinya lebih
umum dari yang lain

4 Include Relasi use case tambahan, dimana


terdapat masukan yang
memerlukan use case sebagai
syarat dijalankan atau
menjalankan fungsi
5 Extend Relasi use case tambahan ke use
case, dimana use case dapat
berdiri sendiri

6 Assosiation Penghubung antara dua aktor atau


lebih yang saling berinteraksi

2.2.8. Bahasa Pemrograman

15
2.2.7.1 Python

Python adalah bahasa pemrograman open source. Bahasa


pemrograman yang dioptimalkan untuk kualitas produktivitas
pengembang, perangkat lunak, integrasi komponen, dan
portabilitas program. Python telah digunakan dalam
mengembangkan banyak jenis perangkat lunak, termasuk skrip
internet, pemrograman sistem, antarmuka pengguna, kostumisasi
produk, dan pemrograman numeric. Python saat ini merupakan
bahasa pemrograman yang sangat popular atau sering digunakan
dan menempati posisi ke-4 atau ke-5 di dunia (Lutz, 2010).
Python adalah bahasa pemrograman yang ditafsirkan yang
berarti setelah file yang berisi kode Python dibuat dapat segera
menjalankan program yang ditulis kedalam bahasa pemrograman
Python. Oleh karena itu, aplikasi yang dibangun dengan Python
lebih mudah untuk dipecahkan dan diselesaikan lebih cepat jika
terjadi kesalahan dibandingkan dengan program lainnya. Python
dikenal sebagai bahasa pemrograman yang mudah dipelajari dan
didukung oleh komunitas pemrograman (Srinath, 2017).
2.2.7.2 Anaconda
Menurut (Yulita Mahardini Poysancin, 2019) Anaconda
ialah distribusi bebas dan open source bahasa pemograman Phyton
dan R untuk komputasi ilmiah. Dengan tujuan untuk
menyederhanakan manajemen paket dan penyebaran

2.2.9. Aplikasi pemograman

2.2.8.1 Visual Studio Code


Visual Studio Code adakah kode editor sumber
dikembangkan oleh microsoft untuk MacOS dan Windows Linux.
Dengan dukungan debugging, control git yang tertanam dan
GitHub, penyelesaian kode cerdas, penyorotan sintaksis dan
refactoring menurut jurnal (Agustin, 2019).

16
2.2.10. Confusion Matrix

Adalah suatu metode perhitungan akurasi data training


menggunakan algoritma SVM. Setiap kolom pada matriks adalah contoh
kelas prediksi, dan setiap dbaris mewakili kejadian di sebenarnya.
(Goronescu, 2011), yaitu:
1. Recall merupakan proporsi khusus yang sesyngguhnya.

TP
Recall = × 100%
TP+ FN
2. Precision untuk menghitung tingkat ketetapan informasi

TP
Precision = × 100%
TP+ FP
3. Accuracy untuk menghitung keberhasilan sistem

TP+TN
Accuracy = × 100%
TP+ TN + FP+ EN
4. Error rate perhitungan rata – rata kesalahan dalam sistem

FP+ EN
Error Rate = × 100%
TP+ TN+ FP+ EN

2.3 Kerangka Pemikiran


Masalah
Permasalahan yang diambil atas penelitian ini yakni dengan cara apa
menggunakan metode Algoritma KNN untuk mengklasifikasikan penyakit
diabetes pada dataset kaggle
Tujuan
Penelitian ini bertujuan supaya terbentuk sistem yang dapat
mengklasifikasikan penyakit diabetes.
Eksperimen

17
Data Metode Tool
Kaggle Diabetes Algoritma K-NN Phyton
Pengujian
Confusion Matrix
Hasil
 Penelitian ini menghasilkan perkiraan diagnosa pengklasifikasikan
apakah seseorang memiliki suatu penyakit diabetes atau tidak
dengan akurasi tinggi.
Gambar 2. 2 Kerangka Pemikiran

18
BAB III
METODE PENELITIAN

3.1 Instrumen Penelitian

Dalam melakukan penelitian ada kebutuhan spesifikasi Hardware,


Software, Sistem Operasi dan Bahasa Pemograman yaitu:
 Kebutuhan Hardware
1. Prosesor Intel core i5-7200U CPU @2.50GHz
2. Memory 8192MB RAM
3. BIOS V1.17
 Kebutuhan Software
1. Microsoft Excel
2. Visual Studio Code
3. Jupiter Notebook
 Sistem operasi
 Menggunakan sistem operasi windows 10 64 bit yang digunakan pada
laptop.

3.2 Prosedur Pengumpulan Data

Dalam memproses pengumpulan data merupakan langkah utama


dalam mencari sebuah hasil, dimana peneliti dapat menemukan data tersebut
dari referensi seperti jurnal, buku, maupun sumber lainya yang ada
keterkaitan dengan topik penelitian. Beberapa pustaka yang didapatkan ialah :
buku yang membahas mengenai metode K-Nearest Neighbor, buku mengenai
penyakit diabetes, jurnal mengenai metode penyelesaian algoritma K-NN.
Dimana semua data yang diperoleh dapat dikemas dalam membangun sistem
pembelajaran SEMMA (Sample, Explore,Modify, Model, Access ). Berikut
penjelasanya :

19
3.2.1 Sample

Pada penelitian ini, penulis menggunakan dataset yang digunakan


adalah berasal dari National Institute of Diabetes and Digestive Kidney
Diseases. Data ini didapatkan dari situs
https://www.kaggle.com/uciml/pima-indians-diabetes-database berupa
data penyakit database yang tersedia dalam bentuk Comma Separated
Value File Format atau format .CSV. Tujuan utama dari pegumpulan data
yaitu untuk memprediksi apakah pasien menderita diabetes atau tidak,
berdasarkan pengukuran uji gejala penyakit tertentu yang tergolong
dalam kumpulan data. Dataset terdiri dari beberapa predictor medis dan
variable target. Variabel tersebut meliputi jumlah kehamilan pasien, BMI
(body mass indeks), usia, jumlah insulin, dan sebagaonya. Dataset
tersebut berjumlah 768 record pasien diabetes, dengan 9 kolom atribut
gejala diabetes. Berikut merupakan dataset diabetes yang telah diubah
dalam bentuk tabel :

Table 3. 1 Dataset

Blood Skin
No Pregnancies Glucose Insulin BMI DPF Age Class
Pressure Thickness
1 6 148 72 35 0 33,6 0,627 50 1
2 1 85 66 29 0 26,6 0,351 31 0
3 8 183 64 0 0 23,3 0,467 32 1
4 1 89 66 23 94 28,1 0,167 21 0
5 0 137 40 35 168 43,1 2,288 33 1
6 5 116 74 0 0 25,6 0,201 30 0
7 3 78 50 32 88 31 0,248 26 1
8 10 115 0 0 0 35,3 0,134 29 0

20
9 2 197 70 45 543 30,5 0,158 53 1
10 8 125 96 0 0 0 0,232 54 1
11 4 110 92 0 0 37,6 0,191 30 0
12 10 168 74 0 0 38 0,537 34 1
13 10 139 80 0 0 27,1 1,441 57 0
14 1 189 60 23 846 30,1 0,398 59 1
15 5 166 72 19 175 25,8 0,587 51 1
16 7 100 0 0 0 30 0,484 32 1
17 0 118 84 47 230 45,8 0,551 31 1
18 7 107 74 0 0 29,6 0,254 31 1
19 1 103 30 38 83 43,3 0,183 33 0
20 1 115 70 30 96 34,6 0,529 32 ?
3.2.2 Explore

Dalam penelitian ini penggunaan dataset yang didapat dari kaggle


memiliki atribut sejumlah 9 yang diantaranya Blood Pressure,
Pregnancies, Insulin, Skin Thickness, Diabetes Pedigree Function, BMI,
Age, Class. Total data yang dimiliki sebanyak 768 record, dimana
diantaranya yang teridentifikasi negatif sebanyak 500 orang dan sisanya
268 orang teridentifikasi positif dalam penyakit diabetes, adapun atribut
yang berjumlah 9 dapat dijelaskan sebagai berikut:
 Pregnancies : Jumlah kali hamil.
 Glukosa : Tes glukosa plasma 2 jam.
 Blood Pressure : Tekanan darah diastolic (mm Hg).
 Skin Thickness : Ketebalan liatan kulit
 Insulin : Insulin serum 2 jam (mu U/ml).
 BMI : Body Mass Index (perhitungan berat badan).
 DPF : Fungsi silsilah Diabetes.
 Age : Usia pasien.
 Class : Variable kelas ya/tidak (0=negative atau 1=positif)
500 orang pada angka 0 lainya adalah 1.

21
3.3 Teknik Analisis Data

3.3.1 Pembersihan Data

Table 3. 2 Sample Data

Blood Skin
Pregnanci Glucos Insuli BM Ag Clas
No Pressur Thickne DPF
es e n I e s
e ss
0,62
1 6 148 72 35 0 33,6 50 1
7
0,35
2 1 85 66 29 0 26,6 31 0
1
0,46
3 8 183 64 0 0 23,3 32 1
7
0,16
4 1 89 66 23 94 28,1 21 0
7
2,28
5 0 137 40 35 168 43,1 33 1
8
0,20
6 5 116 74 0 0 25,6 30 0
1
0,24
7 3 78 50 32 88 31 26 1
8
0,13
8 10 115 0 0 0 35,3 29 0
4
0,15
9 2 197 70 45 543 30,5 53 1
8
0,23
10 8 125 96 0 0 0 54 1
2

Dalam mengolah data step pertama yang dilakukan adalah dengan cara pre
processing uang mana tahapan mengubah dari data mentah menjadi data yang
baik untuk di proses. Pada table sampel data diabetes terdapat missing value
dengan tanda sel berwarna merah. Data yang tidak lengkap atau kosong akan
dihapus.

Table 3. 3 Pre-Processing

No Pregnancies Glucos Blood Skin Insulin BM DPF Age Class

22
Thicknes
e Pressure I
s
1 6 148 72 35 0 33,6 0,627 50 1
2 1 85 66 29 0 26,6 0,351 31 0
3 8 183 64 0 0 23,3 0,467 32 1
4 1 89 66 23 94 28,1 0,167 21 0
5 0 137 40 35 168 43,1 2,288 33 1
6 5 116 74 0 0 25,6 0,201 30 0
7 3 78 50 32 88 31 0,248 26 1
8 10 115 0 0 0 35,3 0,134 29 0
9 2 197 70 45 543 30,5 0,158 53 1
10 8 125 96 0 0 0 0,232 54 1

3.3.2 Transformasi Data

Pada tahap transformasi data, data mentah akan diproses kedalam


bentuk angka dimana akan disesuaikan ke dalam kategori masing-masing
atribut. Berikut merupakan table kategori data atribut yang sudah
dikelompokkan.

Table 3. 4 Kategori Value

No Atribut Keterangan Nilai Kontinu Kategori


1 Pregnancies Banyaknya Kehamilan <1 1
2 Pregnancies Banyaknya Kehamilan 1<=Pregnant<=5 2
3 Pregnancies Banyaknya Kehamilan >5 3
4 Glucose Glukosa <95 1
5 Glucose Glukosa 95-140 2
6 Glucose Glukosa >140 3
7 BloodPlessure Tekanan Darah <80 1
8 BloodPlessure Tekanan Darah 90-90 2
9 BloodPlessure Tekanan Darah >90 3
10 SkinThickness Ketebalan Kulit <20 1

23
11 SkinThickness Ketebalan Kulit 20-30 2
12 SkinThickness Ketebalan Kulit >30 3
13 Insulin Insulin <100 1
14 Insulin Insulin 100-250 2
15 Insulin Insulin >250 3
16 BMI Index Masa Tubuh <25 1
17 BMI Index Masa Tubuh 25-30 2
18 BMI Index Masa Tubuh >30 3
19 DPF Riwayat Diabetes <=0,500 1
20 DPF Riwayat Diabetes >0.500 2
21 Age Umur <20 1
22 Age Umur 20-40 2
23 Age Umur >40 3
24 Class Kelas 0-4 0
25 Class Kelas >4 1
Dimana telah dilakukan transformasi data dengan begitu
proses pengkategorian pada data Diabetes sesudah sesuai dengan
atributnya supaya mudah untuk di proses

Table 3. 5 Penyesuaian Data

Skin
Glucos Blood BM
No Pregnancies Thicknes Insulin DPF Age Class
e Pressure I
s
1 3 3 1 3 0 3 2 3 1
2 1 1 1 2 0 2 1 2 0
3 3 3 1 0 0 1 1 2 1
4 1 1 1 2 1 2 1 2 0
5 1 2 1 3 2 3 2 2 1
6 2 2 1 0 0 3 1 2 0
7 2 1 1 3 1 3 1 2 1
8 3 2 0 0 0 3 1 2 0
9 2 3 1 3 3 3 1 2 1
10 3 2 2 0 0 0 1 2 1
3.3.3 Metode yang Diusulkan

24
Untuk melakukan penelitian ini menggunakan algoritma K-
Nearest Neighbohr, yang dimana perhitungan akurasi menggunakan
confusion matrix.

Dalam melakukan uji dataset dapat dibedakan menjadi 2 yaitu


data testing dan data training. Yang mana data testing dipakai sebagai uji
performa atau uji coba dalam model klasifikasi metode KNN. Sedangkan
training dipakai sebagai model klasifikasi diabetes dengan menggunakan
metode KNN.

Metode KNN dapat mengambil keputusan yang mana ditentukan


dari jarak yang paling terdekat dengan menggunakan matriks atau dengan
Eucliden:

Gambar 2. 3 Rumus Euclidean Distance

Keterangan :

D : jarak terdekat

X1 : Sampel data atau Data Training

X2 : Data uji atau data Testing

n : Jumlah atribut setiap kasus

i : Atribut individu dari 1 sampai n

Adapaun langkah-langkah penggunaan metode K-Nearest


Neighbor sebagai berikut

1. Perhitungan jarak euclidean data training.


2. Pengurutan hasil secara ascending.
3. Menentukan parameter K dengan K=1,3,5,7

25
4. Menentukan variabel Y kategori positif diabetes dengan nilai
K
5. Menentukan probabilitas tertinggi

Setelah dilakukan langkah-langkah diatas diperlukan pengujian


dengan 3 tahap yaitu precision, recall, dan accuracy.

3.3.4 Tahap Algoritma K-Nearest Neighbor

Metode yang diajukan pada penelitian ini menggunakan


Algoritma KNN untuk mengklasifikasi penyakit diabetes. Dataset akan
dibagi menjadi data training dan data testing yang kemudian akan diuji
dengan menggunakan Confusion Matrix untuk memastikan nilai akurasi
dalam klasifikasi penyakit diabetes. Berikut model tahapannya:

26
Gambar 2. 4 Tahapan KNN

Langkah-langkah perhitungan K-Nearest Neighbor:


1. Mulai proses
2. Input Data Uji
Input data uji dilakukan oleh dokter yang akan menguji
aplikasi, data uji yang dimasukkan merupakan atribut data
berupa Pregnancies, Glucose, BloodPlessure, SkinThickness,
Insulin, BMI, DPF, Age.
3. Tentukan Jumlah Tetangga Terdekat (Cluster) k

27
Tetangga terdekat ditentukan oleh sistem. Nilai k yang akan
digunakan adalah kelipatan angka ganjil, yaitu k=7. Penentuan
nilai k ini mempengaruhi tingkat akurasi dalam klasifikasi data.
4. Hitung Jarak Skalar Data Uji ke Data Training
5. Urutkan Hasil Perhitungan Jarak
Setelah didapatkan jarak dari rumus euclidean distance maka
akan diurutkan nilai jarak yang telah didapatkan.
6. Hasil Klasifikasi Diabetes Melitus pada Data Uji
Setelah didapatkan hasil klasifikasi pada data uji maka akan
disimpan kedalam database yang akan ditampilkan pada
aplikasi untuk divalidasi kembali menggunakan metode cross
validation.
Table 3. 6 Contoh Data yang Akan Dihitung

N Pregnanci Glucos Blood Skin Insuli BM DPF Ag Clas


o es e Pressur Thicknes n I e s
e s
1 1 89 66 23 94 28,1 0,16 21 0
7
2 0 137 40 35 168 43,1 2,28 33 1
8
3 3 78 50 32 88 31 0,24 26 1
8
4 2 197 70 45 543 30,5 0,15 53 1
8
5 1 189 60 23 846 30,1 0,39 59 1
8
6 5 166 72 19 175 25,8 0,58 51 ???
7

Table 3. 7 Pengelompokan Data Berdasarkan Kategori pada Table Kategori Value

N Pregnancie Glucos Blood Skin Insuli BM DP Ag Clas


o s e Pressur Thicknes n I F e s
e s
1 2 1 1 2 1 2 1 2 0
2 1 2 1 3 2 3 2 2 1

28
3 2 1 1 3 1 3 1 2 1
4 2 3 1 3 3 3 1 3 1
5 2 3 1 2 3 3 1 3 1
6 2 3 1 1 2 2 2 3 ???

Kemudian akan dilakukan tahap berikutnya yaitu perhitungan


dengan menggunakan algoritma K-Nearest Negihbor yaitu sebagi berikut:

1. Menentukan nilai K, yang mana diambil dari nilai tetangga


yang paling dekat, nilai K pada data uji tersebut ditentukan
oleh nilai K yang memiliki nilai optimum, nilai K optimum
didapatkan berdasarkan pada saat membandingkan data uji
dengan data latih.
2. Menghitung jarak Euclidean yang di kuadratkan dari
masing-masing objek data latih yang diambil. Berikut
merupakan contoh perhitungannya:

 D(1,6)

√¿¿

= 2,82

 D(2,6)

√¿¿

= 4,12

 D(3,6)

√¿¿

=3

 D(4,6)

29
√¿¿

= 2,64

 D(5,6)

√¿¿

=2

Table 3. 8 Ecluidean Distance

No Data latih ke data uji Distance


1 (1,6) 2,82
2 (2,6) 4,12
3 (3,6) 3
4 (4,6) 2,64
5 (5,6) 2

3. Kelompokkan atau beri peringkat pada objek berdasarkan


jarak Euclidean terkecil.

Table 3. 9 Pemberian Ranking

No Data latih ke data uji Distance Ranking


1 (1,6) 2,82 3
2 (2,6) 4,12 5
3 (3,6) 3 4
4 (4,6) 2,64 2
5 (5,6) 2 1

4. Tahap berikutnya pengurutan berdasarkan peringkat. Akan


diambil data sesuai dengan jumlah K yang sudah ditentukan

30
yaitu K=3, jadi data yang paling terdekat dengan nilai k=3
adalah data ke 3,1 dan 4 yaitu data (3,6), (1,6) dan (4,6).

Table 3. 10 Pengurutan Ranking

No Data latih ke data uji distance ranking


3 (3,6) 3 1
1 (1,6) 2,82 2
4 (4,6) 2,64 3
5 (5,6) 2 4
2 (2,6) 4,12 5

5. Dengan menggunakan kategori mayoritas, maka akan


mendapatkan hasil larifikasi dari ketiga data dengan jarak
terdekat dengan nilai K maka akan menghasilkan table
sesuai dataset awal

Table 3. 11 Kategori Mayoritas

N Pregnancie Glucos Blood Skin Insuli BM DP Ag Clas


o s e Pressur Thicknes n I F e s
e s
1 2 1 1 2 1 2 1 2 0
2 1 2 1 3 2 3 2 2 1
3 2 1 1 3 1 3 1 2 1
4 2 3 1 3 3 3 1 3 1
5 2 3 1 2 3 3 1 3 1
6 2 3 1 1 2 2 2 3 ???

Table 3. 12 Hasil Akhir Kategori

No Data Latih ke data Distance Ranking Kelas


uji
3 (3,6) 3 1 diabetes

1 (1,6) 2,82 2 diabetes

4 (4,6) 2,64 3 diabetes

31
6. Dengan perhitungan Euclidean distance didapat data
terdekat berdasarkan nilai K yaitu 3,4,1. Data tersebut
tergolongkan kelas ‘diabetes’, sehingga mayoritas diabetes.
Jadi hasil klarifikasi data testing adalah “diabetes”.

3.4 Metode pengembangan sistem

Metode ini menjelaskan bahwa ada beberapa tahapan yang dilakukan


oleh penulis. Berikut adalah tahapan tahapannya :

1. Menentukan objek dataset yang valid untuk dapat di implementasikan


pada metode KNN.
2. Proses design akan menerjemahkan syarat kebutuhan ke sebuah
perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat
coding. Proses ini berfokus pada : struktur data, arsitektur perangkat
lunak, representasi interface, dan detail algoritma (prosedural).
Perancangan pada sistem ini menggunakan UML.
3. Perancangan ke coding. Coding merupakan penerjemahan design dalam
bahasa yang bisa dikenali oleh komputer. Dalam pembuatan sistem ini
menggunakan bahasa pemograman Phyton.
4. Pengujian Tahapan ini bisa dikatakan final dalam pembuatan sebuah
sistem. Setelah melakukan analisa, design dan pengkodean maka sistem
yang sudah jadikan digunakan oleh user. Pada proses ini menentukan
akurasi dengan menentukan ecludean distance atau mencari tetangga
terdekatnya agar dapat mengetahui seberapa valid dengan menggunakan
metode KNN.

3.5 Pembangunan Sistem

3.5.1. Rekayasa Perangkat Lunak

Dalam tahapan rekayasa perangkat lunak, terdapat bahasa


pemodelan visual yang dirancang sebagai berikut:

32
1. Diagram Use Case merupakan sebuah aktivitas atau interaksi
berkelanjutan antara aktor dan sistem.

33
BAB IV
METODE PENELITIAN
4.1 Analisis data
4.1.1 Persiapan Data
Penelitian ini data yang digunakan berupa data dengan format
Comma Separated Values (CSV) yang dipisahkan dengan tanda koma
atau titik koma. Dimana data yang digunakan merupakan dataset publik
diabetes yang diambil dari website Kaggle kemudian ditransformasikan
dalam bentuk kolom lalu setiap nilai pada atribut dikategorikan
berdasarkan range yang sudah ditentukan, yang digunakan dalam
penelitian ini terdapat 768 data dengan 8 atribut dan 1 label class.
Dibawah ini merupakan tabel kategori tiap nilai pada atribut.

N
Atribut Keterangan Nilai Kontinu Level
o
Banyaknya
1 Pregnancies <1 Low
Kehamilan

Banyaknya
2 Pregnancies 1<=Pregnant<=5 Medium
Kehamilan

Banyaknya
3 Pregnancies >5 High
Kehamilan
4 Glucose Glukosa <95 Low
5 Glucose Glukosa 95 - 140 Medium
6 Glucose Glukosa >140 High
7 BloodPressure Tekanan Darah <80 Low

8 BloodPressure Tekanan Darah 80 - 90 Normal

9 BloodPressure Tekanan Darah >90 High

10 SkinThickness Ketebalan Kulit <20 Low

11 SkinThickness Ketebalan Kulit 20 - 30 Normal

34
12 SkinThickness Ketebalan Kulit >30 High
13 Insulin Insulin <100 Low
14 Insulin Insulin 100 - 250 Normal
15 Insulin Insulin >250 High
Index Masa
16 BMI <25 Low
Tubuh
Index Masa
17 BMI 25 -30 Normal
Tubuh
Index Masa Obesita
18 BMI >30
Tubuh s
Riwayat
19 DPF <=0,500 Low
Diabetes
Riwayat
20 DPF >0,500 High
Diabetes
21 Age Umur <20 Young
22 Age Umur 20 - 40 Medium
23 Age Umur >40 Old

Data yang digunakan sebanyak 768 dataset pasien yang berasal


dari National Institute of Diabetes and Digestive and Ginjal Diseases.
Dataset tersebut terdiri atas 9 atribut, yaitu :
1. Pregnancies : yaitu banyaknya jumlah berapa kali pasien wanita
mengalami kehamilan.
2. Glucose : yaitu konsentrasi glukosa plasma selama 2 jam dalam tes
toleransi glukosa oral.
3. BloodPressure : yaitu tekanan darah diastolik pasien, satuan yang
dipakai adalah mm Hg.
4. SkinThickness : yaitu ketebalan lipatan kulit triceps pada pasien,
dengan satuan mm.
5. Insulin : yaitu kadar insulin serum pasien selama 2 jam, satuan
yang dipakai adalah mu U / ml.
6. BMI : Body Mass Index atau indeks massa tubuh yaitu angka yang
menentukan apakah berat badan pasien ideal, kurang, atau berlebih,
satuan yang dipakai adalah Berat (Kg) / Tinggi (M) ^ 2.
7. DiabetesPedigreeFunction : yaitu fungsi silsilah diabetes.

35
8. Age : Umur pasien (tahun).
9. Class : yaitu hasil / kelas klasifikasi penyakit diabetes (0 = negatif
atau 1 = positif) 268 dari 768 adalah 1, yang lain adalah 0.

4.1.2 Membaca data diabetes


Pada tahap ini sistem yang dibuat, dataset diabetes menggunakan
format Comma Separated Values (CSV) dimuat dengan inisialisasi nama
atribut (feature_columns) dan data yang sudah dimuat akan ditampilkan 5
baris teratas. Berikut kode untuk memuat dataset dan menampilkan dataset
5 baris teratas.

Kemudian mengganti kolom [Glucose, BloodPressure, SkinThickness,


Insulin, BMI] dengan Nol sebagai nilai dengan rata-rata kolom masing-
masing

36
Fungsi ‘zero_not_accepted untuk mengganti nilai Nol

Mengambil variabel independent (variabel yang nilainya tidak


dipengaruhi oleh variabel lain), dengan menggunakan isi dari kolom 1
hingga kolom 8 [Pregnancies, Glucose, BloodPressure, SkinThickness,
Insulin, BMI, DiabetesPedigreefunction, Age]

Mengambil variabel dependent (variabel yang nilainya dipengaruhi


oleh variabel lain) yaitu variabel outcome atau kolom outcome untuk
menjadi prediksi

 Membuat grafik dengan matplotlib

37
Memisahkan kumpulan data menjadi data latih dan data uji. Disini
‘test_size’ merupakan data uji dengan 20% data yang dipakai dari
keseluruhan data

Melakukan normalisasi data agar data yang digunakan tidak


memiliki penyimpangan yang besar. Setelah itu membuat ‘classifier’
dengan memanggil fungsi klasifikasi KNN

Fitting model (masukkan data training pada fungsi klasifikasi


KNN)

Predictions (menentukan hasil prediksi dai x_test yang disebut


dengan y prediksi)

38
4.2 Analisis Pengujian
Menampilkan confusion matrix dari hasil prediksi dengan

klasifikasi KNN dalam tahapan ini didapatkan matrix [ 9415 1332] yang
diperoleh dari hasil kombinasi data actual (y_test) dengan nilai data
klasifikasi (y_pred). berikut merupakan kode untuk menguji hasil
klasifikasi menggunakan confusion matrix.

Hasil akurasi didapat dari perhitungan secara manual yaitu sebagai


berikut :

TP+TN 94+32 126


akurasi= X 100= X 100 %= X 100 %=0,8181 X 100 %=8
TP+ FN + FP+TN 94+13+15+ 32 154

Memanggil ‘classification_report’ dengan parameter y_test dan y_pred

39
Untuk laporan klasifikasi, akurasi menggunakan algoritma KNN
sebesar 0.81 dari 154 data testing terdapat pasien tidak terkena penyakit
diabetes (0) sebesar 107 data, serta pasien terkena penyakit diabetes (1)
sebesar 47 data.
Recall presentase dari 47 data pasien terkena penyakit diabetes (1)
diklasifikasikan terkena penyakit diabetes sebesar 0,68 serta dari 94 data
yang tidak terkena penyakit diabetes (0) diklasifikasikan terkena penyakit
diabetes 0,88. Berikut perhitungan dari recall.

TP 94 94
recall= = = =0,88
TP+ FN 94+13 107

Precision presentase dari 47 data pasien terkena penyakit diabetes


(1) diprediksikan terkena penyakit diabetes sebesar 0,71 serta dari 94 data
yang tidak terkena penyakit diabetes (0) diprediksikan terkena penyakit
diabetes 0,86. Berikut perhitungan dari precision.

TP 94 94
precision= = = =0,86
TP+ FP 94 +15 109

Setelah melakukan proses analisa pada data dari aturan-aturan


tersebut, maka dapat diimplementasikan dalam program sistem dengan
konsep dasar klasifikasi menggunakan bahasa pemrograman Python. Cara
kerja sistem ini yaitu dengan cara menginputkan data pasien pregnancies,
glucose, bloodpressure, skinthickness, insulin, BMI, diabetespedigree, age.

40
Jadi, untuk prediksi dari outcome pada setiap baris menghasilkan
keakuratan sekitar 81%, sehingga dapat dinyatakan memiliki keakurasian
sangat tinggi sekali untuk prediksi diabetes.

2.

41
DAFTAR PUSTAKA

Agustin, W. J. (2019). Sistem E-Learning Doa dan Iqro dalam peningkatan Proses
Pembelajaran pada TK Amal Ikhlas. Mahasiswa Aplikasi Tegnologi Komputer dan
Informasi, 154-159.

Aulia, d. (2015). Analisis Perbandingan KNN dengan SVM untuk Klasifikasi Penyakit
Diabetes Retinopati berdasarkan Citra Eksudat dan Mikroaneurisma. ELKOMIKA,
75-90.

Faris Huwaidi, h. T. (2022). Penerapan Algoritma K-Nearest Neighbor untuk Mendeteksi


Diabetes Berbasis Web Application. ResearchGate, 1-9.

Goronescu. (2011). Data Mining Concepts, Model and Techniques. Springer.

Hall, G. A. (2007). Ajar Fisiologi Kedokteran. Jakarta: EGC.

Lutz, M. (2010). Programming Python. Sebastopo: O'Reilly.

M. Syukri Mustafa, W. S. (2019). Implementasi Algoritma K-Nearest Neighbor (KNN)


Untuk Memprediksi Pasien Terkena Penyakit Diabetes Pada Puskesmas
Manyampa Kabupaten Bulukumba. Prosiding Seminar Ilmiah Sistem Informasi
dan Teknologi Inforrmasi, 1-10.

Nugraha, W. &. (2018). Penerapan Metode Prototype Dalam Perancangan Sistem


Informasi Perhitungan volume Dan Cost Penjualan Minuman Berbasis Website.
JUSIM (Jurnal Sistem Informasi Musirawas), 3(2), 94-101.

Pangaribuan, J. J. (2016). Mendiagnosis Penyakit Diabetes Melitus dengan Menggunakan


Metode Extreme Learnng Machine. ISD, 32-40.

Pratiwi, F. (2018). Sains dan Tegnologi Informasi Analisa Pemilihan Bahasa Pemograman
dakam Penyelesaian Tugas Akhir Mahasiswa. SATIN, 4(2).

Ramadhan, R. A. (2018). Sistem Diagnosa Diabetes Menggunakn Metode KNN. Sains dan
Informatika, 98-104.

Riski Aulia, S. H. (2015). Analisis Perbandingan KNN dengan SVM untuk Klasifikasi
Penyakit Diabetes Retinopati berdasarkan Citra Eksudad dan Mikroaneurisma.
ELKOMIKA, 75-90.

Smith, J. E. (1988). UCL Machine Learning. Retrieved from kaggle:


https://www.kaggle.com/uciml/pima-indians-diabetes-database

Srinath, K. (2017). Python - The Fastest Growing Programming Language. International


Research Journal of Engineering and Technology, 354-357.

42
Syaddad, H. (2017). Rancang Bangun Digital Archiving Di Pergurun Tinggi Menggunakan
Metode Prototype Metode Studi Kasus: Universitas Suryakancana. Media Jurnal
Informatika, 9(1), 49-57.

Syahbudin, S. (2009). Diabetes Melitus dan Pengelolaannya. Jakarta: FKUI.

Umi kulsum Indah Lestari, A. Y. (2021). Penerapan Metode K-Nearest Neighbor Untuk
Sistem Pendukung Keputusan Identifikasi Penyakit Diabetes. Teknik Informatika
dan Sistem Informasi, 2071-2082.

Waspada, I. (2019). Implementasi Data Mining untuk Klasifikasi Masas Studi Mahasiswa
Menggunakan Algoritma K-Nearest Neighbor. SIMETRIS, 421-432.

Yulita Mahardini Poysancin, A. N. (2019). 2019. incomtech, 69-76.

Yunita, F. (2016). Sistem Klasifikasi Peyakit Diabetes Melitus Menggunakan. Selodang


Mayang, 223-230.

43

Anda mungkin juga menyukai