Fakultas Ilmu Komputer
Universitas Brawijaya 3319
Diagnosis Tingkat Risiko Penyakit Stroke Menggunakan Metode K-Nearest Neighbor dan Naïve Bayes
Annisa Puspitawuri1, Edy Santoso2, Candra Dewi3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Penyakit stroke merupakan penyakit yang timbul akibat terputusnya suplai darah menuju otak karena terdapat semburan pembuluh darah atau terjadi sumbatan berupa gumpalan darah. Stroke merupakan penyebab kecacatan nomor satu dan penyebab kematian nomor tiga di dunia setelah penyakit jantung dan kanker, baik di negara maju maupun berkembang. Berdasarkan data Riskedas, prevalensi stroke di Indonesia tahun 2013 akan terjadi kenaikan jika dibandingkan data Riskesdas pada tahun 2007 dengan nilai angka 8,3%, naik mencapai angka 12,1% per 1.000 penduduk. Untuk itu diperlukan suatu tindakan pendeteksian tingkat risiko penyakit stroke agar dapat segera diatasi sesuai dengan tingkat risikonya.
Penelitian ini mengusulkan adanya suatu aplikasi diagnosis tingkat risiko penyakit stroke menggunakan metode K-Nearest Neighbor dan Naïve Bayes karena data yang didapat menggunakan atribut numerik dan kategoris. Algoritme K-Nearest Neighbor digunakan untuk memproses data numerik, dan algoritme Naïve Bayes digunakan untuk memproses data kategoris. Hasil penelitian menunjukkan nilai akurasi tertinggi yang diperoleh pada data kelas seimbang adalah 96.67% dengan data latih 45, data uji 30 dan nilai K=15-22. Sedangkan pada data latih tidak seimbang, menunjukkan akurasi tertinggi sebesar 100%
dengan jumlah data latih 60, data uji 30 dan nilai K=20-30.
Kata kunci: penyakit stroke, klasifikasi, k-nearest neighbor, naïve bayes Abstract
Stroke is a disease that arises due to the dissolution of blood supply to the brain because of bursts in the blood vessels or there was a blockage of blood clots. The supply of oxygen and nutrients to the brain stops and can cause damage to the tissues in the brain. Stroke is number one leading cause of disability and number three cause of death after cancer and heart disease. Based on Riskesdas data, stroke prevalence in Indonesia in 2013 has increased when compared with Riskesdas data in 2007 with a value of 8.3%, increase up to 12.1% per 1,000 population. Therefore, we need an action to detect the level of risk of stroke to be immediately addressed in accordance with the level of risk. This research proposes an application of diagnosis of stroke risk level using K-Nearest Neighbor and Naïve Bayes methods, because the data obtained using numerical and categorical attributes. K-Nearest Neighbor algorithm is used to process numerical data, and Naïve Bayes algorithm is used to process categorical data. The results showed that the highest accuracy value obtained in the balanced class data was 96.67% with 45 training datasets, 30 testing datasets and value of K=15-22. Meanwhile, the training datasets that is not balanced shows the highest accuracy of 100% with the number of training datasets is 60, 30 testing datasets and the value of K=20-30.
Keywords: stroke, classification, k-nearest neighbor, naïve bayes
1. PENDAHULUAN
Stroke merupakan penyakit yang timbul akibat terputusnya suplai darah menuju otak karena terdapat semburan pada pembuluh darah atau terjadi sumbatan berupa darah yang menggumpal. Suplai oksigen dan nutrisi pada
otak menjadi terhenti dan dapat menyebabkan rusaknya jaringan pada otak. Gejala paling umum yang terjadi pada penyakit stroke adalah pada bagian wajah, lengan atau tungkai, sering terasa lemah atau mati rasa. Gejala lainnya yaitu kesulitan berbicara atau memahami perkataan orang lain, pusing, kebingungan, kesulitan
melihat menggunakan satu mata bahkan kedua mata, kesulitan dalam melakukan aktifitas ringan seperti berjalan, hilangnya keseimbangan, pingsan atau tidak sadar serta sakit kepala tanpa sebab. Efek stroke bergantung pada bagian otak mana yang terluka dan seberapa parah pengaruhnya. Kematian secara mendadak dapat terjadi ketika seorang pasien mengalami stroke yang sangat parah (WHO, 2014). Penyakit stroke termasuk dalam penyebab kecacatan nomor satu dan penyebab kematian nomor tiga di dunia setelah penyakit jantung dan kanker. Penyakit stroke di Indonesia memiliki nilai prevalensi yang cukup tinggi.
Berdasarkan data Riskedas, prevalensi stroke di Indonesia pada tahun 2013 semakin tinggi jika dibandingkan dengan data Riskesdas 2007 dengan nilai angka 8,3%, naik mencapai angka 12,1% per 1.000 penduduk (RI, 2013).
Penyakit stroke dapat terjadi karena beberapa faktor, diantaranya tekanan darah, riwayat fibrilasi atrium, kolesterol, diabetes dan lain sebagainya. Selama ini penanganan penyakit stroke dilakukan secara manual, dimana pasien melakukan pemeriksaan pada dokter spesialis penyakit syaraf. Kemudian dilakukan diagnosis pada pasien dengan cara mengajukan pertanyaan berupa keluhan yang dirasakan oleh pasien serta faktor-faktor yang dapat memicu terjadinya stroke. Sehingga akan didapatkan suatu kesimpulan tingkat risiko penyakit stroke pada pasien. Kegiatan semacam ini dapat menimbulkan permasalahan yaitu membutuhkan biaya serta waktu yang tidak sedikit. Berdasarkan penjelasan tersebut, maka diperlukan suatu aplikasi diagnosis tingkat risiko penyakit stroke agar stroke dapat segera diatasi sesuai dengan tingkat risikonya. Tingkat risiko penyakit stroke dibedakan menjadi 3, yaitu tingkat risiko stroke rendah, tingkat risiko stroke sedang dan tingkat risiko stroke tinggi.
Pemilihan metode yang tepat untuk deteksi tingkat risiko penyakit stroke sangat dibutuhkan karena berpengaruh pada hasil yang akan ditampilkan. Data sekunder yang digunakan pada penelitian ini diambil dari data kondisi kesehatan masyarakat Kota Malang di berbagai Puskesmas di Kota Malang pada tahun 2015.
Namun data yang didapatkan berupa data campuran, yaitu data numerik dan kategoris.
Maka penelitian ini dapat memanfaatkan penggabungan metode K-Nearest Neighbor dan Naïve Bayes. Penelitian yang dilakukan sebelumnya oleh Elma Zannatul Ferdousy, dkk
menunjukkan bahwa pendekatan sederhana yang diusulkan (algoritme K-Nearest Neighbor dan Naïve Bayes) dapat memperbaiki kinerja klasifikasi Naïve Bayes biasa melalui penggabungan dua pengklasifikasian, dimana data yang digunakan mengandung atribut numerik dan kategoris. Akurasi pada penelitian menunjukkan angka 89.58% pada dataset central bank, melebihi nilai akurasi pada metode lain dengan data yang sama (Ferdousy, et al., 2013).
Algoritme K-Nearest Neighbor disingkat KNN biasanya diaplikasikan dalam pengklasifikasian objek berdasar pada data pembelajaran yang memiliki nilai selisih kecil dan jarak tetangga terdekat dengan objek.
Algoritme ini memiliki tujuan untuk mengklasifikasikan objek baru berdasarkan dari atribut, data latih dan data uji. Prinsip umum dari algoritme ini adalah menentukan nilai K pada data latih yang kemudian akan diproses menggunakan KNN berdasarkan pada jarak.
Berikutnya nilai mayoritas dari KNN dijadikan dasar dalam menentukan jenis kelas atau kategori dari sample berikutnya (Shouman, et al., 2012).
Berdasarkan pada latar belakang diatas, maka perlu adanya suatu aplikasi diagnosis tingkat risiko penyakit stroke menggunakan metode K-Nearest Neighbor dan Naïve Bayes karena data yang didapat menggunakan atribut numerik dan kategoris. Pada aplikasi, terdapat karakteristik gejala penyakit stroke, seperti riwayat fibrilasi atrium, tekanan darah, riwayat keluarga, kolesterol, diabetes, diet, aktifitas fisik dan merokok yang akan digunakan dalam perhitungan untuk menentukan tingkat risiko penyakit stroke yang dialami oleh pasien. Dalam penelitian sebelumnya, metode K-Nearest Neighbor dan Naive Bayes memiliki akurasi yang baik. Maka, diharapkan ketika metode ini diterapkan dapat membantu dalam menentukan tingkat risiko penyakit stroke.
2. TINJAUAN PUSTAKA 2.1 Penyakit Stroke
Stroke pada umumnya dialami oleh penderita sekitar umur 65 tahun dengan presentase sebesar 33,5%. Angka kejadian penyakit stroke pada laki-laki biasanya lebih banyak dari pada perempuan. Stroke dapat terjadi tanpa munculnya gejala dini, dan muncul sangat mendadak. Stroke menjadi salah satu
penyebab kecacatan dan kematian paling tinggi di dunia. Tidak hanya berdampak bagi para penyandang, namun kecacatan akibat stroke juga berdampak buruk bagi keluarganya (Pinzon &
Asanti, 2010). Stroke menjadi salah satu masalah neurologik paling utama yang ada di dunia, negara Indonesia menjadi negara di Asia yang memiliki jumlah penderita stroke terbesar.
2.2 K-Nearest Neighbor
Algoritme K-Nearest Neighbor (KNN) pada umumnya menjadi algoritme yang dimanfaatkan untuk melakukan proses klasifikasi data. Algoritme K-Nearest Neighbor digunakan dalam pengklasifikasian objek berdasarkan pada data pembelajaran yang jarak tetangganya paling dekat atau memiliki nilai selisih yang kecil dengan objek. Algoritme ini memiliki tujuan untuk mengklasifikasikan objek baru berdasar dari atribut, data uji dan data lath.
Teknik data mining paling sederhana, salah satunya adalah KNN. Hal ini biasa disebut dengan klasifikasi memori berbasis, sebagai contoh data latih perlu berada di memori pada saat run-time. Ketika berhadapan dengan atribut yang berkelanjutan, perbedaan antara atribut dihitung menggunakan jarak Euclidean. Jika contoh pertama adalah (a1, a2, a3, ..., an) dan contoh kedua adalah (b1, b2, b3, …, bn), maka jarak di antaranya dihitung dengan menggunakan persamaan (1) dibawah:
(Shouman, et al., 2012)
𝑑 = √(𝑎1+ 𝑏1)2+ (𝑎2+ 𝑏2)2… (𝑎𝑛+ 𝑏𝑛)2 (1) Penjelasan rumus :
a : data uji, digunakan untuk melakukan tes pada permodelan yang dihasilkan dari data latih.
b : data latih, digunakan untuk mencari permodelan yang tepat.
n : data ke-n
2.3 Naïve Bayes
Untuk mengatasi masalah ketidakpastian pada data, dapat menggunakan probabilitas bayes Persamaan (2) dan (3) dibawah menunjukkan persamaan naïve bayes
𝑃(𝐻|𝐸) =𝑃(𝐸1|𝐻).𝑃(𝐻)
𝑃(𝐸) (2)
𝑃(𝐻|𝐸) = 𝑃(𝐸1|𝐻) ∗ 𝑃(𝐸2|𝐻) ∗ … ∗ 𝑃(𝐸𝑛|𝐻) ∗
𝑃(𝐻) (3)
Dimana:
P(H|E) : nilai probabilitas atribut jika diberikan kondisi E
P(E|H) : nilai probabilitas munculnya kondisi E jika diketahui atribut bersifat H
P(H) : nilai probabilitas atribut bersifat H tanpa melihat kondisi yang lain
P(E) : nilai probabilitas kondisi E
3. METODOLOGI 3.1. Dataset Penelitian
Pada tugas akhir ini, mengambil data sekunder yang dilaksanakan oleh Safira Adiputri Insani pada penelitian sebelumnyayang berjudul
“Sistem Pakr Deteksi Dini Penyakit Stroke Menggunakan Metode Fuzzy Naïve Bayes”.
Dataset penelitian ini dikumpulkan dengan cara melakukan wawancara secara langsung dengan metode data sekunder. Data yang digunakan diambil dari data kondisi kesehatan masyarakat Kota Malang di Puskesmas Arjuno, Puskesmas Ciptomulyo, Pusksmas Bareng, Puskesmas Arjowinangun, Pskesmas Gribig dan Puskesmas Janti pada tahun 2015. Data atribut penyakit meliputi riwayat fibrilasi atrium, tekanan darah, riwayat keluarga, kolesterol, diabetes, diet, aktifitas fisik, merokok serta kelas untuk penentuan tingkat risiko stroke apakah termasuk dalam tingkat rendah, sedang atau tinggi. Data yang digunakan sebanyak 150 data.
3.2. Alur K-Nearest Neighbor dan Naive Bayes
Ada beberapa pendekatan yang berhubungan dengan klasifikasi, misalnya algoritme berbasis statistik Naïve Bayes Classifier dan algoritme berbasis jarak K- Nearest Neighbor. Dalam kasus algoritme Naïve Bayes, salah satu faktor yang harus ditangani adalah atribut dengan tipe numerik. Dalam algoritme ini seseorang harus menentukan probabilitas bersyarat untuk setiap nilai dari semua atribut. Untuk mengatasi permasalahan ini, harus dilakukan diskretisasi atribut numerik yang kemudian akan dibagi kebeberapa kelas dengan menerapkan teknik diskretisasi dari pilihan-pilihan yang ada. Sehingga, teknik yang digunakan untuk diskretisasi memainkan peran penting atas keakuratan metode ini. Beberapa upaya telah dilakukan untuk meningkatkan keakuratan algoritme Naïve Bayes dengan mengadopsi skema diskretisasi baru (Yang &
Webb, 2002).
Dalam kasus algoritme K-Nearest
Neighbor, memiliki situasi yang berlawanan.
Algoritme ini memiliki masalah mengenai atribut kategoris. Diharapkan adanya skema pengukuran jarak untuk data yang bersifat kategoris. Karena algoritma ini melakukan klasifikasi pada data latih berdasarkan pada nilai jarak Umumnya dilakukan dengan teknik preprocessing, yaitu merubah data kategoris menjadi numerik dengan nilai-nilai tertentu (Ferdousy, et al., 2013).
Metode K-Nearest Neighbor dan Naïve Bayes diusulkan agar dapat memperbaiki kelemahan dari masing-masing algoritme. Pada algoritme ini tidak diperlukan diskretisasi pada data numerik dan juga tidak perlu mengukur jarak antar atribut kategoris. Diharapkan kombinasi ini dapat meningkatkan kinerja algoritme tersebut. K-Nearest Neighbor digunakan dalam menghitung jarak pada data dengan sifat numerik, dimana pada perhitungan tersebut hasilnya akan digunakan dalam pembentukan sebuah model klasifikasi.
Kemudian model klasifikasi tersebut akan diterapkan dalam perhitungan menggunakan metode Naïve Bayes dengan data kategoris (Ferdousy, et al., 2013).
Gambar 1. Diagram Alir Metode
Gambar 1 menunjukkan langkah-langkah pada metode K-Nearest Neighbor dan Naïve Bayes.
Langkah Pertama: Gunakan atribut dengan tipe numerik sebagai data uji dan data latih untuk proses klasifikasi menggunakan algoritme K- Nearest Neighbor.
Langkah Kedua: Menentukan K tetangga
terdekat untuk proses algoritme K-Nearest Neighbor menggunakan atribut yang bersifat numerik.
Langkah Ketiga: K tetangga terdekat yang telah didapatkan kemudian digunakan untuk langkah berikutnya, yaitu sebagai data latih dari model algoritme Naïve Bayes menggunakan atribut yang bersifat kategoris.
Langkah Keempat: Kemudian akan didapatkan hasil klasifikasi dari model-model yang telah dibangun.
4. PENGUJIAN DAN ANALISIS
Pada bab ini akan membahas pengujian serta analisis sistem diagnosis tingkat risiko penyakit stroke menggunakan metode K-Nearest Neighbor dan Naïve Bayes. Pengujian pertama yaitu pengujian pengaruh sebaran data pada kelas data latih seimbang dan yang kedua adalah pengujian pengaruh sebaran data pada kelas data latih tidak seimbang.
4.1 Pengujian Sebaran Data Kelas Seimbang Pada pengujian sebaran data kelas seimbang ini, menggunakan 30, 45 dan 60 data latih dengan komposisi data jumlah risiko penyakit stroke yang sama. Sebagai contoh dalam data latih 30, terdapat 10 data dengan kelas risiko rendah, 10 data dengan kelas risiko sedang dan 10 data dengan kelas risiko tinggi.
Data uji pada pengujian ini berjumlah 30 data dan menggunakan nilai K mulai dari K=1 sampai K=30. Hasil pengujian sebaran data pada kelas seimbang ditunjukkan pada Gambar 2.
Gambar 2. Grafik Sebaran Data Kelas Seimbang 0
10 20 30 40 50 60 70 80 90 100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Akurasi (%)
Nilai K
30 data 45 data 60 data
4.2 Pengujian Sebaran Data Kelas Tidak Seimbang
Pengujian sebaran data kelas tidak seimbang menggunakan 30, 45 dan 60 data latih dengan komposisi data jumlah risiko penyakit stroke tidak sama/berbeda. Sebagai contoh dalam data latih 30, terdapat 8 data dengan kelas risiko rendah, 8 data dengan kelas risiko sedang dan 14 data dengan kelas risiko tinggi. Data uji yang digunakan berjumlah 30 data dan menggunakan nilai K mulai dari K=1 sampai K=30. Hasil pengujian sebaran data pada kelas tidak seimbang dapat dilihat pada Gambar 3.
Gambar 3. Grafik Sebaran Data Kelas Tidak Seimbang
4.3 Analisis Hasil Pengujian
Berdasarkan grafik pada Gambar 2 dan 3, pada pengujian sebaran klas seimbang dan tidak seimbang memiliki nilai akurasi terendah dengan nilai K=2. Hal ini terjadi karena metode terakhir yang digunakan adalah Naïve Bayes dengan peluang K=2, maka untuk melakukan perhitungan probabilitas Naïve Bayes hanya menggunakan data latih berjumlah 2 data. Data latih tersebut diambil dari sorting K-Nearest Neighbor sebelumnya, dimana K=2 bernilai sangat sedikit jika menjadi data latih untuk perhitungan Naïve Bayes. Ketika dilakukan perhitungan probabilitas munculnya data, terdapat banyak data dengan nilai probabilitas 0 dan berakibat terjadinya kesalahan dalam hasil klasifikasi.
Akurasi data seimbang dan tidak seimbang pada pengujian yang sudah dilakukan menunjukkan bahwa dengan nilai K yang semakin besar, maka peluang pada proses Naïve Bayes akan semakin besar, sehingga dapat mempengaruhi hasil klasifikasi. Sebaran data kelas tidak seimbang memiliki akurasi yang lebih baik dan stabil daripada sebaran data kelas seimbang. Berdasarkan analisis pada atribut data uji yang digunakan, data latih dengan sebaran kelas tidak seimbang memiliki kedekatan nilai atribut yang lebih baik dibandingkan data latih dengan sebaran kelas seimbang. Sehingga, hal tersebut mempengaruhi hasil akurasi dari masing-masing sebaran data. Pada sebaran data kelas seimbang maupun tidak seimbang nilai K>5 sudah dapat menghasilkan nilai akurasi yang cukup baik.
5. KESIMPULAN
Dilihat dari hasil penelitian dan pengujian pada penelitian diagnosis tingkat risiko penyakit stroke menggunakan metode K-Nearest Neighbor dan Naïve Bayes, maka dapat diberikan kesimpulan sebagai berikut:
1. Metode kombinasi K-Nearest Neighbor dan Naïve Bayes dapat digunakan untuk melakukan diagnosis tingkat risiko penyakit stroke dengan 8 atribut dan 3 jenis tingkatan risiko penyakit stroke, yaitu tingkat risiko rendah, sedang dan tinggi.
Langkah pertama yang dilakukan adalah menggunakan atribut dengan tipe numerik sebagai data uji dan data latih untuk proses klasifikasi menggunakan algoritme K- Nearest Neighbor. Kemudian menentukan K tetangga terdekat untuk proses algoritme K-Nearest Neighbor menggunakan atribut yang bersifat numerik. K tetangga terdekat yang telah didapatkan kemudian digunakan untuk langkah berikutnya, yaitu sebagai data latih dari model algoritme Naïve Bayes menggunakan atribut yang bersifat kategoris. Kemudian akan didapatkan hasil klasifikasi dari model-model yang telah dibangun. Hasil klasifikasi berupa nilai tertinggi pada proses posterior Naïve Bayes, kemudian menjadi label kelas untuk data yang di uji. Jika terjadi kesamaan nilai tertinggi pada posterior, maka nilai mayor pada proses K-Nearest Neighbor akan menjadi label kelas data uji.
2. Pengujian pada penelitian ini menggunakan pengujian pengaruh sebaran data pada kelas
0 10 20 30 40 50 60 70 80 90 100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Akurasi (%)
Nilai K
Sebaran Data Kelas Tidak Seimbang
30 data 45 data 60 data
yang seimbang dan tidak seimbang. Nilai akurasi tertinggi diperoleh pada data kelas seimbang yaitu, 96.67% dengan data latih sejumlah 45 dan nilai K=15-22. Sedangkan pada data latih tidak seimbang, menunjukkan akurasi tertinggi sebesar 100% dengan jumlah data latih sebanyak 60 dan nilai K=20-30.
6. DAFTAR PUSTAKA
Adams, H., Adams, R., Zoppo, G. D. &
Goldstein, L. B., 2005. Guidelines for the Early Management of Patients With Ischemic Stroke. AHA/ASA Scientific Statement, pp. 916-923.
Arofah, A. N., 2011. Penatalaksanaan Stroke Trombotik: Peluang Peningkatan Prognosis Pasien. Volume 7, pp. 65-70.
Bustami, 2014. Penerapan Algoritma Naive Bayes untuk Mengklasifikasi Data Nasabah Asuransi. Jurnal Informatika, Volume 8, pp. 884-898.
Ferdousy, E. Z., Islam, M. M. & Matin, M. A., 2013. Combination of Naive Bayes Classifier and K-Nearest Neighbor (cNK) in the Classification Based Predictive Models. Computer and Information Science, Volume 6, pp. 48-56.
Insani, S. A., Soebroto, A. A. & Furqon, M. T., 2017. Sistem Pakar Deteksi Dini Penyakit Stroke Menggunakan Metode Fuzzy Naïve Bayes. Repositori Jurnal Mahasiswa PTIIK UB, Volume 9.
Pinzon, R. & Asanti, L., 2010. Awas Stroke!
Pengertian, Gejala, Tindakan, Perawatan dan Pencegahan. Yogyakarta: Penerbit Andi.
RI, K. K., 2013. Riset Kesehatan Dasar.
Riskedas, 1 Desember.
Shouman, M., Turner, T. & Stocker, R., 2012.
Applying k-Nearest Neighbour in Diagnosing Heart Disease Patients.
International Journal of Information and Education Technology, Volume 2-No. 3, pp. 220-223.
WHO, 2014. [Online]
Tersedia di: <http://www.who.int/
topics/cerebrovascular_accident/en/>
[Diakses 19 Maret 2018]