Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
ISSN : 1979 – 911X eISSN : 2541 – 528X
JARINGAN SYARAF TIRUAN DAN NAIVE BAYES UNTUK MENDETEKSI PENYAKIT GAGAL GINJAL DI RSUD Dr. ADHYATMA TUGUREJO SEMARANG 1,2
Yudi Setyawan1*, Zulfikar Adi Nugroho2 Prodi Statistika, Fakultas Sains Terapan, Institut Sains & Teknologi AKPRIND Jl. Kalisahak No. 28, Balapan, Yogyakarta
[email protected],
[email protected]
INTISARI Penyakit gagal ginjal merupakan penyakit dengan gejala penurunan fungsi atau bahkan tidak berfungsinya.ginjal. Akan sangat bermanfaat jika penyakit gagal ginjal ini dapat dideteksi lebih dini. Salah satu analisis matematika yang dapat digunakan untuk mendeteksi penyakit adalah metode Jaringan Syaraf Tiruan Backpropagation dan Naive Bayes. Penelitian ini bertujuan menentukan metode yang lebih baik dalam melakukan deteksi penyakit gagal ginjal. Analisis dengan Jaringan Syaraf Tiruan diawali dengan melakukan standarisasi data, dilanjutkan menentukan minimal error, laju pembelajaran, maksimum epoch, bobot masukan, menghitung keluaran dan menghitung perubahan bobot sampai dipenuhi maksimum epoch atau minimal error. Metode Naive Bayes diawali dengan merubah data menjadi optional dan dilanjutkan dengan menghitung probabilitas masing-masing dari tiap variabel dan dilanjutkan menghitung probabilitas keseluruhan, kemudian membandingkan kedua probabilitas. Hasil penelitian menunjukkan bahwa deteksi penyakit gagal ginjal dengan metode Jaringan Syaraf Tiruan backpropagation lebih baik dan lebih stabil dari pada metode Naive Bayes yakni metode Jaringan Syaraf Tiruan memiliki tingkat akurasi 96.375% dan metode Naive Bayes memiliki tingkat akurasi 89.29%. Kata kunci: Gagal Ginjal, Jaringan Syaraf Tiruan, Naive Bayes
1. PENDAHULUAN Ginjal merupakan organ dalam manusia yang berfungsi untuk mempertahankan komposisi atau menjaga keseimbangan kandungan zat kimia yang menunjang fungsi semua sel tubuh [Yaswir: 2012]. Apabila ginjal kehilangan kemampuan dalam menjalankan fungsinya seperti mengatur keseimbangan zat kimia dalam tubuh hingga akhirnya ginjal tidak dapat berfungsi sama sekali maka ginjal dikatakan mengalami gagal ginjal. Berdasarkan data PT ASKES, jumlah penderita penyakit gagal ginjal di Indonesia setiap tahun mengalami peningkatan. Gejala yang umumnya muncul pada penderita penyakit gagal ginjal diantaranya adalah menurunnya produksi urine, sering mual, sering muntah, sering muncul sakit kepala, hilang nafsu makan, dan tekanan darah tinggi. Gagal ginjal dapat diakibatkan oleh adanya riwayat penyakit diabetes, riwayat penyakit batu ginjal ataupun dikarenakan adanya kecelakaan [Hartono A : 2008]. Penelitian tentang hubungan antara fenomena-fenomena nyata merupakan tujuan utama dari sains. Seiring dengan perkembangan zaman banyak teknologi dan informasi yang mampu membantu meringankan beban manusia. Hal ini lah yang menyebabkan lahirnya teknologi kecerdasan buatan (Artificial Intelegence /AI). Salah satu metode AI adalah metode Jaringan Syaraf Tiruan. Jaringan Syaraf Tiruan atau disingkat dengan JST merupakan metode pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan syaraf biologi. Bagian terpenting dari Jaringan Syaraf Tiruan adalah kemampuannya dalam melakukan pembelajaran. Metode pembelajaran yang bekerja berdasarkan data training adalah metode Backpropagation [Kusumadewi dan Hartati : 2010]. Selain metode Jaringan Syaraf Tiruan yang dapat digunakan untuk menyelesaikan permasalahan berdasarkan data training adalah metode Naive Bayes. Metode Naive Bayes merupakan metode pengolahan informasi yang memanfaatkan probabilitas bersyarat untuk mengambil keputusan [Basuki : 2006]. Akan sangat membantu jika penyakit gagal ginjal yang banyak terjadi di Indonesia dapat dideteksi lebih dini, oleh karena itu dalam penelitian ini diangkat permasalahan Bagaimana penerapan metode Jaringan Syaraf Tiruan Backpropagation dan Naive Bayes dalam mendeteksi seseorang terkena penyakit gagal ginjal atau tidak serta akan dibahas juga mengenai metode manakah yang memiliki tingkat akurasi lebih baik antara Jaringan Syaraf Tiruan Backpropagation 540
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
ISSN : 1979 – 911X eISSN : 2541 – 528X
dan Naive Bayes dalam studi kasus untuk mendeteksi seseorang terkena penyakit gagal ginjal atau tidak. Data yang digunakan dalam penelitian ini adalah data rekam medis gejala penderita penyakit gagal ginjal di Rumah Sakit Umum Daerah Dr. Adhyatma Tugurejo Semarang. Data gejala yang digunakan meliputi kelompok umur, tekanan darah, gejala rasa gatal, sakit kepala, batu ginjal, dan diabetes yang diambil dari Unit Hemodialisa dan Rekam Medis di Rumah Sakit Umum Daerah Dr. Adhyatma Tugurejo Semarang. 2. METODOLOGI Metode yang digunakan dalam melakukan deteksi penyakit gagal ginjal dalam penelitian ini adalah menggunakan metode Jaringan Syaraf Tiruan Backpropagation dan Naive Bayes dengan bantuan program Matlab 7.0. Matlab adalah sebuah bahasa dengan kerja tinggi untuk menangani komputasi masalah teknik [Siang : 2009]. Populasi yang digunakan dalam penelitian ini adalah pasien yang terindikasi mengalami gagal ginjal selama tahun 2015 di Rumah Sakit Umum Daerah Dr. Adhyatma Tugurejo Semarang, sebanyak 137 pasien yang diambil di Unit Hemodialisa dan Unit Rekam Medis. Selanjutnya dengan menggunakan metode Slovin dan nilai α sebesar 0,05 diperoleh sampel sebanyak 102. Sampel pasien diambil secara random sistematis. Kerangka penelitian yang digunakan dalam penelitian ini digambarkan dalam Gambar 1 sedangkan rancangan jaringan syaraf yang digunakan dalam analisis Jaringan Jaraf Tiruan dalam penelitian ini digambarkan dalam Gambar 2 dan Rancangan metode Naive Bayes ditampilkan dalam Gambar 3 dengan keterangan X1 adalah kelompok umur, X2 adalah tekanan darah, X3 adalah rasa gatal, X4 adalah sakit kepala, X5 adalah batu ginjal, X6 adalah diabetes, W0j adalah bobot bias dari masukan menuju hidden layer, Wij adalah bobot masukan menjadi hidden layer dari setiap masukan, Zj adalah unit hidden layer, V0 adalah bobot bias menjuju keluaran, Vk adalah bobot baru dari hidden layer menuju unit keluaran.
Gambar 1. Kerangka Penelitian
541
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
ISSN : 1979 – 911X eISSN : 2541 – 528X
Gambar 2 Rancangan Jaringan Syaraf Tiruan
Gambar 3. Rancangan Naive Bayes 3. HASIL DAN PEMBAHASAN Hasil pengambilan sampel dengan random sistematis untuk 102 pasien didapatkan 83 pasien suspect gagal ginjal dan 19 pasien tidak suspect gagal ginjal. Data yang diperoleh terdiri dari data numerik dan data opsional, untuk data opsional meliputi data kelompok umur yang dibedakan menjadi kelompok umur diatas 45 tahun yang dikodekan 1 dan kelompok umur dibawah 45 tahun yang dikodekan 0, data gejala sakit kepala yang dikodekan menjadi pasien dengan gejala sering sakit kepala diberikan kode 1 dan pasien jarang mengalami sakit kepala dikodekan 0, data gejala rasa gatal yang dikodekan dengan 1 untuk pasien yang memiliki gejala rasa gatal dan 0 untuk pasien yang tidak memiliki gejala rasa gatal, data riwayat batu ginjal yang dikodekan 1 untuk pasien yang memiliki riwayat batu ginjal dan dikodekan 0 untuk pasien yang tidak memiliki riwayat batu ginjal, serta data diabetes yang dikodekan 1 untuk pasien yang memiliki riwayat penyakit diabetes dan 0 untuk pasien yang tidak memiliki riwayat diabetes. Sedangkan untuk data numerik hanyalah variabel tekanan darah saja. Dalam proses deteksi dengan menggunakan Jaringan Syaraf Tiruan diperlukan standarisasi terhadap data numerik agar memiliki skala nilai yang sama. Standarisasi yang digunakan dalam Jaringan Syaraf Tiruan Backpropagation adalah dengan cara membagi setiap nilai yang ada dengan nilai maksimum [Puspitaningrum : 2006]. Dalam variabel tekanan darah nilai maksimum yang dimiliki adalah 239 mmhg, sebagai contoh untuk data pasien dengan tekanan darah sebesar 110mmhg akan menjadi 0.39. Setelah dilakukan standarisasi maka selanjutnya akan masuk dalam 542
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
proses analisis Jaringan Syaraf Tiruan. Terdapat 8 langkah utama dalam analisis Jaringan Syaraf Tiruan, langkah pertama yang dilakukan adalah dengan menentukan bobot awal atau dikenal dengan melakukan inisialisasi bobot awal, bobot ditentukan dengan melakukan random angka dengan sekala -0.5 sampai 0.5. Bobot disini terdiri dari bobot dari input masukan menuju hidden layer dan bobot dari hidden layer menuju output. Bobot dari unit masukan menuju Hidden Layer disajikan dalam Tabel 1 dan bobot dari hidden layer menuju output disajikan dalam Tabel 2. Tabel 1. Bobot (Wij) dari Masukan Xi ke Hidden Layer Zj serta Bias W1j X1 X2 X3 X4 X5 X6 1
Z1
Z2
Z3
Z4
Z5
Z6
Z7
0.4 0.2 0.1 0.3 0.4 -0.3 -0.4
0.1 0.4 -0.4 0.3 -0.4 -0.1 0.1
-0.1 0.2 -0.2 0.3 0.3 0.4 0.4
0.1 0.2 -0.2 0.3 -0.3 0.4 -0.1
0.1 0.2 -0.5 0.3 -0.2 0.3 0.1
0.1 -0.4 -0.1 0.2 -0.5 -0.4 0.3
-0.3 0.3 0.1 0.4 -0.3 0.4 -0.1
Tabel 2. Bobot Vj dari Hidden Layer Hidden Layer
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Y
0.2
-0.2
-0.1
0.4
0.2
-0.3
-0.1
1 0.2
Langkah selanjutnya atau kedua adalah tes kondisi berhenti, namun dikarenakan merupakan iterasi atau epoch yang pertama langkah ini langsung dilanjutkan ke langkah ke-3, pada langkah ke-3 ini dipilih secara acak menggunakan bantuan program MS-Excel dan didapatkan pasien ke-20 dengan nilai masukan X1=1, X2=0.54, X3=0, X4=1, X5=0, X6=1 dan target adalah 1. Langkah selanjutnya atau langkah yang ke-4 adalah menghitung keluaran hidden layer dengan menggunakan Persamaan 1. Z_netj = W0j +
,
(1)
yakni: Z_net1= -0,4+1(0,4)+0,54(0,2)+0(0,1)+1(0,3)+0(0,4)+1(-0,3)= 0.1087 Z_net2= 0,1+1(0,1)+0,54(0,4)+0(-0,4)+1(0,3)+0(-0,4)+1(-0,1)= 0.6175 Z_net3= 0,4+1(-0,1)+0,54(0,2)+0(-0,2)+1(0,3)+0(0,3)+1(0,4)= 1.1087 Z_net4= -0,1+1(0,1)+0,54(0,2)+0(-0,2)+1(0,3)+0(-0,3)+1(0,4)=0.808787 Z_net5= 0,1+1(0,1)+0,54(0,2)+0(-0,5)+1(0,3)+0(-0,2)+1(0,3)=0.908787 Z_net6= 0,3+1(0,1)+0,54(-0,4)+0(-0,1)+1(0,2)+0(-0,5)+1(-0,4)= -0.01757 Z_net7= -0,1+1(-0,3)+0,54(0,3)+0(0,1)+1(0,4)+0(-0,3)+1(0,4)= 0.56318 Selanjutnya untuk mendapatkan nilai pada Zj maka nilai Z_netj akan diaktivasi menggunakan fungsi sigmoid seperti pada Persamaan 2. Zj= Z1= Z2= Z3= Z4=
(2)
0.52717
Z5=
0.64966 0,7519
0,7127
Z6=
0,4956
Z7=
0,63718
0,6918
Langkah selanjutnya adalah langkah yang ke-5 yaitu dengan menghitung semua keluaran di unit Yk dengan menggunakan Persamaan 3. 543
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
Y_netk=Vk0 +
(3)
Dikarenakan jaringan hanya memiliki satu buah unit keluaran Y, maka berlaku Persamaan 4. Y_netk =Y_net = V10+ (4) Y_netk =0.2 + ((0.52717)(0.2) + ((0.64966)(-0.2)) + ((0.7519)(-0.1)) + ((0.691851)(0.4) + ((0.71274)(0.2) + ((0.4956)(-0.3)) + ((0.63718)(-0.1) =0.3072
Selanjutnya nilai Y_net akan diaktivasi untuk mendapatkan nilai Y menggunakan Persamaan 5. (5) , yakni: = 0,576202 2
SSE =(1 - 0,57602) = 0,1796
Langkah selanjutnya sudah memasuki fase ke-2 atau yang dikenal dengan fase propagasi mundur. Langkah ini juga termasuk langkah yang ke-6 yaitu menghitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit keluaran dengan Persamaan 6. ,
(6)
yakni: = 0.103489 Langkah selanjutnya adalah menghitung bobot Vkj (dengan laju perubahan α=0,2) dengan menggunakan Persamaan 7. ; j= 0,1,2,…,7
(7)
Langkah selanjutnya atau langkah ke-7 adalah menghitung jumlah kesalahan dari unit hidden layer δ dengan menggunakan Persamaan 8. (8) Karena jaringan hanya memiliki satu output maka
=
sehingga didapatkan
hasil sebagai berikut. 0.020698
0.041395
-0.0207
0.020698
-0.01035
-0.03105
544
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
-0.01035 Selanjutnya dihitung faktor kesalahan δ di unit hidden layer dengan menggunakan Persamaan 9. (9) δ1 = 0.020698(0.52717)(1-0.52717) = 0.005159 δ2 = -0.0207(0.649666)(1-(0.649666)) = -0.00471 δ3 = -0.01035(0.751903)(1- (0.751903)) = -0.00193 δ4 = 0.041395(0.691851)(1-0.691851) = 0.008825 δ5 = 0.020698(0.712752)(1-0.712752) = 0.004238 δ6 = -0.03105(0.495607)(1-(0.495607)) = -0.00776 δ7 = -0.01035(0.637188)(1-(0.637188)) = -0.00239 Langkah selanjutnya adalah menghitung selisih perubahan bobot dengan menggunakan Perasamaan 10. (j=1,2,3, …, 7 ) (i=0,1,2, … ,6) 𝛥w11=0,2(-0.005159)(1) = 0.001032 𝛥w12=0,2(0.005159)( 0,54) = 0.000561 𝛥w13=0,2(0.005159)(0) = 0 𝛥w14=0,2(0.005159)(1) = 0.001032 𝛥w14=0,2(0.005159)(1) = 0.001032 𝛥w16=0,2(0.005159)(1) = 0.001032 𝛥w10=0,2(0.005159)(1) = 0.001032 𝛥w21=0,2(-0.00471)(1) = -0.00094 𝛥w22=0,2(-0.00471)( 0,54) = -0.00051 𝛥w23=0,2(-0.00471)(0) = 0 𝛥w24=0,2(-0.00471)(1) = -0.00094 𝛥w25=0,2(-0.00471)(0) = 0 𝛥w26=0,2(-0.00471)(1) = -0.00094 𝛥w20=0,2(-0.00471)(1) = -0.00094 𝛥w31=0,2(-0.00193)(1) = -0.00039 𝛥w32=0,2(-0.00193)( 0,54) = -0.00021 𝛥w33=0,2(-0.00193)(0) = 0 𝛥w34=0,2(-0.00193)(1) =-0.00039 𝛥w35=0,2(-0.00193)(0) = 0 𝛥w36=0,2(-0.00193)(1) = -0.0039 𝛥w30=0,2(-0.00193)(1) = -0.0039 𝛥w41=0,2(0.008825)(1) = 0.001765 𝛥w42=0,2((0.008825)( 0,54) = 0.00096 𝛥w43=0,2(0.008825)(0) = 0 𝛥w44=0,2(0.008825)(1) = 0.001765
(10)
𝛥w45=0,2(0.008825)(0) = 0 𝛥w46=0,2(0.008825)(1) = 0.001765 𝛥w40=0,2(0.008825)(1) = 0.001765 𝛥w51=0,2(0.004238)(1) = 0.000848 𝛥w52=0,2(0.004238)( 0,54) = 0.000461 𝛥w53=0,2(0.004238)(0) = 0 𝛥w54=0,2(0.004238)(1) = 0.000848 𝛥w55=0,2(0.004238)(0) = 0 𝛥w56=0,2(0.004238)(1) = 0.000848 𝛥w50=0,2(0.004238)(1) = 0.000848 𝛥w61=0,2(-0.00776)(1) = -0.00155 𝛥w62=0,2(-0.00776)( 0,54) = -0.00084 𝛥w63=0,2(-0.00776)(0) = 0 𝛥w64=0,2(-0.00776)(1) = -0.00155 𝛥w65=0,2(-0.00776)(0) = 0 𝛥w66=0,2(-0.00776)(1) = -0.00155 𝛥w60=0,2(-0.00776)(1) = -0.00155 𝛥w71=0,2(-0.00239)(1) = -0.00048 𝛥w72=0,2(-0.00239)( 0,54) = -0.00026 𝛥w73=0,2(-0.00239)(0) = 0 𝛥w74=0,2(-0.00239)(1) = -0.00048 𝛥w75=0,2(-0.00239)(0) = 0 𝛥w76=0,2(-0.00239)(1) = -0.00048 𝛥w70=0,2(-0.00239)(1) = -0.00048
Setelah didapat selisih perubahan bobot dari setiap bobot, maka langkah selanjutnya atau langkah ke-8 adalah menghitung bobot baru dengan menggunakan Persamaan 11. (k=1)(j=0,1,2, …, 7) (11) v11(baru) = 0,2 + 0,010911 = 0.210911 v12(baru)=-0,2+0.013447 = -0.18655 v13(baru)=-0,1+0.015563 = -0.08444 v14(baru)=0,4+0.01432 = 0.41432
v15(baru)=0,2+0.014752 = 0.214752 v16(baru)=-0,3+(-0.0310) = -0.28974 v17(baru)=-0,1+(-0.0023) = -0.08681 v10(baru)=0,2+0.02069 = 0.220698
545
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
Selanjutnya menghitung bobot masukan baru menuju hidden layer dengan menggunakan Persamaan 12 sehingga diperoleh bobot masukan baru seperti pada Tabel 3. wji(baru)=wji(lama) + 𝛥wji
(j=1,2,3, … , 7) (i=0,1,2, …, 6) (12)
Tabel 3. Bobot (Wij) baru dari Masukan Xi ke Hidden Layer Zj serta Bias W1j baru Input
Z1
Z2
Z3
Z4
Z5
Z6
X1
0.401
0.099
-0.100
0.102
0.101
0.098
-0.300
X2
0.201
0.399
0.200
0.201
0.200
-0.401
0.300
X3
0.100
-0.400
-0.200
-0.200
-0.500
-0.100
0.100
X4
0.301
0.299
0.300
0.302
0.301
0.198
0.400
X5
0.400
-0.400
0.300
-0.300
-0.200
-0.500
-0.300
X6
-0.299
-0.101
0.400
0.402
0.301
-0.402
0.400
-0.399
0.099
0.400
-0.098
0.101
0.298
-0.100
1
Z7
Sampai langkah ini epoch pertama telah selesai dilaksanakan, selanjutnya akan memasuki epoch yang ke-2 dengan bobot yang digunakan berdasarkan bobot baru yang didapatkan pada epoch yang pertama dan nilai masukan yang sama. Pada epoch yang ke-2 ini diawali dengan menghitung nilai keluaran baru dari hidden layer dengan menggunakan Persamaan 1 dan didapatkan hasil sebagai berikut. Z_net1 =-0.39897+1(0,401032)+0,54(0.200561)+0(0,1)+1(0.301032)+ 0(0,4) + 1(0,29897) = 0.113219 Z_net2 = 0,099058 + 1(0.099058) + 0,54(0.399488) + 0(-0,4) + 1(0.299058) + 0(-0,4) + 1(0,10094) = 0.613526 Z_net3 = 0,399614+1(-0.10039) + 0,54(0.19979)+0(-0,2) + 1(0.299614) +0(0,3) + 1(0,399614) = 1.107128 Z_net4 = -0,09823 + 1(0.101765) + 0,54(0.20096) + 0(-0,2) + 1(0.301765) + 0(-0,3) + 1(0,401765) =0.816369 Z_net5 = 0.100848 + 1(0.100848) + 0,54(0.200461) + 0(-0,5) + 1(0.300848) + 0(-0,2) + 1(0.300848) =0.912427 Z_net6 = 0,298448 + 1(0.098448) + 0,54(-0.40084) + 0(-0,1) + 1(0.198448) + 0(-0,5) + 1(0,40155) = -0.02424 Z_net7 = -0,10048 + 1(-0,30048) + 0,54(0.29974) + 0(0,1) + 1(0.399522) + 0(-0,3) + 1(0,399522) = 0.561124 Selanjutnya untuk mendapatkan nilai pada Zj maka nilai Z_netj akan diaktivasi menggunakan fungsi sigmoid seperti pada persamaan 2 sehingga hasilnya sebagai berikut. Z1=
0,528275
Z5=
0.713497
Z2=
0.648745
Z6=
0.49394
Z3=
0.751593
Z7=
0.636713
Z4=
0.693465
Langkah selanjutnya adalah menghitung semua keluaran di unit Yk dengan menggunakan Persamaan 5 sehingga hasilnya sebagai berikut.
546
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
= 0,59623 SSE = (1 - 0,59623)2=0,16303 Pada Epoch yang ke-2 didapatkan nilai output 0.59623 yang artinya lebih besar dari 0.5 sehingga dapat diartikan pasien no 20 untuk data yang digunakan Suspect menderita gagal ginjal. Sedangkan nilai error yang didapatkan adalah sebesar 0.16303, nilai error tersebut lebih besar dari nilai minimum error yang sudah ditetapkan sebelumnya yaitu sebesar 0.165. Data penelitian percobaan sebanyak 102 data pasien, sehingga akan membutuhkan tenaga dan waktu yang lama jika menghitung semuanya secara manual. Terlebih apabila diinginkan nilai error yang lebih kecil maka akan diperlukan lebih banyak epoch yang nilainya bisa sampai 10000 epoch, terkait dengan hal tersebut maka dipergunakan bantuan menggunakan Program Matlab dengan maksimum epoch 10000, laju pembelajaran 0.2, jumlah hidden layer 7, dan minimal error adalah 0.1. Dengan menggunakan fungsi TrainBP pada Matlab didapatkan nilai Sum Square Error (SSE) sebesar 1.779, meski nilai minimum error yang diinginkan belum tercapai namun dikarenakan maksimum epoch 10000 sudah terpenuhi maka epoch dihentikan. Langkah selanjutnya adalah melakukan pengujian dengan data uji. Data uji yang digunakan disusun menjadi 4 variasi data yang terdiri dari variasi I untuk 20 data uji, variasi II untuk 40 data uji, variasi III untuk 50 data uji dan variasi IV untuk 102 data uji. Dari analisis yang dilakukan diperoleh nilai akurasi sebesar 96.375%. Sebagai pembanding sekaligus sebagai upaya untuk menemukan metode yang tepat untuk mendeteksi penyakit gagal ginjal maka selanjutnya dilakukan pengujian dengan menggunakan metode Naive Bayes. Langkah awal yang harus dilakukan dalam melakukan pengujian dengan Naive Bayes adalah data harus dikonversikan ke dalam bentuk opsional semuanya. Dari data yang ada hanya variabel tekanan darah yang perlu dilakukan konversi. Untuk tekanan darah di atas 140 mmhg dapat dikategorikan sebagai penderita hipertensi sehingga dikodekan menjadi 1, sedangkan untuk penderita dengan tekanan darah di bawah 140mmhg dikategorikan tidak menderita hypertensi dan dikodekan 0. Langkah selanjutnya adalah mencari probabilitas dari gejala yang ada dalam menjadikan potensi terkena penyakit gagal ginjal.Tabel 4 adalah daftar probabilitas dari setiap variabel. Tabel 4. Probabilitas Tiap Variabel X1
Tidak Suspect Suspect
X2
X3
X4
X5
X6
0
1
0
1
0
1
0
1
0
1
0
1
0.316
0.684
0.684
0.316
0.579
0.421
0.421
0.579
1
0
0
1
0.253
0.747
0.06
0.939
0.482
0.518
0.12
0.879
0.964
0.036
0.494
0.506
Langkah berikutnya adalah menghitung peluang bersyarat berdasarkan probabilitas yang sudah dimiliki. Selanjutnya dipilih secara acak dan didapatkan pasien no 5. Pasien ini memiliki usia di bawah 45 tahun, tekanan darah 90mmhg, tidak memiliki gejala rasa gatal, sering mengalami gejala sakit kepala, tidak memiliki riwayat batu ginjal, namun memiliki riwayat penyakit diabetes melitus. Selanjutnya adalah menghitung nilai probabilitas untuk setiap faktor gejala penyakit gagal ginjal dihitung dengan menggunakan Persamaan 16. P(X|Tidak) = P(X1|Tidak) P(X2|Tidak) P(X3|Tidak) P(X4|Tidak) P(X5|Tidak) P(X6|Tidak) P(X|Suspect) = P(X1|Suspect) P(X2|Suspect) P(X3|Suspect) P(X4|Suspect) P(X5|Suspect) P(X6|Suspect) (16) P(X|Suspect) = (0.253012) (0.060241) (0.481928) (0.879518) (0.963855) (0.506024) = 0.003150961 P(X|Tidak) = (0.31579) (0.684211) (0.57895) (0.57895) (1) (1) =0.072422 Nilai Probabilitas akhir dapat dihitung dengan menggunakan persamaan 17. 547
ISSN : 1979 – 911X eISSN : 2541 – 528X
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
P(Suspect|X)=αP(X) P(X|Suspect) P(Tidak|X)=α P(X) P(X|Tidak)
(17)
P(Suspect|X)= α(0.805) (0.00315) = 0.0025365α P(Tidak|X)= α (0.194)( 0.072422) = 0.01404986α α= dengan ketentuan nilainya konstan sehingga tidak perlu diketahui karena terbesar dari dua kelas tersebut tidak dapat dipengaruhi p(x) [Sutojo : 2011]. Karena nilai probabilitas akhir terbesar berada di tidak suspect gagal ginjal dengan hasil 0.01404986α, maka uji pada data pasien tersebut dinyatakan pasien Tidak Suspect Gagal Ginjal. Dengan kata lain pendeteksian penyakit gagal ginjal dengan Naive Bayes yang dilakukan pada pasien ke-5 sesuai target. Demi sebuah evisiensi waktu maka digunakan bantuan program untuk menghitung deteksi penyakit gagal ginjal dengan menggunakan metode Naive Bayes dan dilakukan denga 4 variasi uji seperti yang digunakan pada metode Jaringan Syaraf Tiruan. Didapatkan nilai akurasi sebesar 89.29%. Setelah didapatkan nilai akurasi untuk tiap metode, langkah selanjutnya adalah melakukan perbandingan antara kedua metode seperti pada Tabel 5. Tabel 5. Hasil Perbandingan Jaringan Syaraf Tiruan dan Naive Bayes banyak data uji
Jaringan Syaraf Tiruan Persentase Tidak Akurasi Sesuai Sesuai
Naive Bayes Persentase Akurasi
Sesuai
Tidak Sesuai
20
100
20
0
90
18
2
40
92,5
38
2
90
34
4
50
96
48
2
86
43
7
102
97
100
2
91,17
93
9
Rata-rata
96.375
89.29
Berdasarkan Tabel 4 dapat dilihat mengenai perbandingan nilai akurasi antara Jaringan Syaraf Tiruan dan Metode Naive Bayes lebih tinggi metode Jaringan Syaraf Tiruan dengan rata-rata tingkat akurasi mencapai 96.375% dan 89.29% untuk Metode Naive Bayes. 4. KESIMPULAN Berdasarkan hasil penelitian dan pembahasan sebelumnya terdapat beberapa kesimpulan yang dapat diambil sebagai berikut 1) Deteksi penyakit gagal ginjal menggunakan metode Jaringan Syaraf Tiruan Backpropagation dan Naive Bayes dilakukan dengan memanfaatkan data gejala umum pada penyakit gagal ginjal, data gejala tersebut digunakan sebagai data training dan data uji dalam kedua metode tersebut dengan nilai target adalah data suspect gagal ginjal atau tidak suspect gagal ginjal. 2) Berdasarkan hasil pengujian pada data uji yang telah dilakukan dengan 4 variasi data uji maka dapat diketahui bahwa Metode Jaringan Syaraf Tiruan memiliki nilai akurasi yang lebih baik dengan perolehan nilai akurasi atau keberhasilan sebesar 96.375%, sedangkan dalam metode Naive Bayes memperoleh nilai akurasi sebesar 89.29%. dalam berbagai variasi data uji yang digunakan, metode Jaringan Syaraf Tiruan juga memiliki tingkat akurasi yang lebih stabil jika dibandingkan dengan metode Naive Bayes DAFTAR PUSTAKA Basuki A, 2006, Metode Bayes, Surabaya, PERS_ITS. Hartono A, 2008, Rawat Ginjal, Cegah Cuci Darah, Penerbit Kanisius, Yogyakarta. Kusumadewi S dan Hartati S, 2010, Neuro Fuzzy Integrasi Sistem Fuzzy dan Jaringan Syaraf, Ed 2, Graha Ilmu, Yogyakarta. Puspitaningrum D, 2006, Pengantar Jaringan Syaraf Tiruan, Penerbit Andi, Yogyakarta. 548
Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Yogyakarta, 26 November 2016
ISSN : 1979 – 911X eISSN : 2541 – 528X
Rahayu S, 2013, Sistem Pakar untuk Mendiagnosa Penyakit Gagal Ginjal dengan Menggunakan Metode Bayes, http://pelita-informatika.com/berkas/jurnal/4314.pdf, diakses tgl 6 Februari 2016. Rohmana I, 2014, Perbandingan jaringan Syaraf Tiruan dan Naive Bayes dalam Deteksi Seseorang Terkena Penyakit Stroke, Skripsi, FMIPA, Univ. Negeri Semarang, Semarang Siang J J, 2009, Jaringan Syaraf Tiruan & Pemprogramanya Menggunakan Matlab, Penerbit Andi, Yogyakarta. Sutojo Dkk, 2011, Kecerdasan Buatan, Penerbit Andi, Yogyakarta. Yaswir R dan Maiyesi A, 2012, Pemeriksaan Laboratorium Cystatin C untuk Uji Fungsi Ginjal, Jurnal Kesehatan Andalas, No.1, Vol.1 : http://jurnal.fk.unand.ac.id/ev/ pemeriksaan-lb.pdf.
549