Ahmad Fashel Sholeh 5209100707
Dosen Pembimbing : Prof. Ir. Arif Djunaidy, M.Sc., Ph.D. Wiwik Anggraeni, S.Si., M.Kom.
• Stroke merupakan salah satu penyakit yang menyebabkan kematian dan cacat tertinggi. • Organisasi stroke dunia mencatat hampir 85% orang yang mempunyai faktor risiko dapat terhindar dari penyakit stroke bila menyadari dan mengatasi faktor risiko tersebut sejak dini
• Bagi para ahli saraf, diagnosis risiko terkena penyakit stroke merupakan hal yang tidak mudah • Selain faktor risikonya yang sangat banyak, juga tidak terdapat batas yang ketat antara apa yang sehat, apa yang berisiko dan apa yang sakit, sehingga membedakannya tidak pasti dan jelas. • Sebuah sistem pendukung keputusan untuk membantu ahli saraf dalam melakukan analisis terhadap faktor-faktor risiko tersebut sehingga didapatkan hasil diagnosis yang akurat
• Aplikasi ini menggunakan konsep logika fuzzy mamdani sebagai dasar dalam pemrosesan data • Metode yang diterapkan, dibuat berdasarkan sistem pakar dan data rekam medik rumah sakit XYZ
• Bagaimana merumuskan fungsi keanggotaan metode fuzzy dari faktor-faktor yang akan digunakan untuk mendeteksi dini tingkat risiko terkena serangan stroke ? • Bagaimana merumuskan komposisi aturan yang akan digunakan untuk mendeteksi dini tingkat risiko terkena serangan stroke berdasarkan fungsi keanggotaan yang telah dirumuskan ?
• Secara umum aplikasi pendukung keputusan untuk deteksi dini penyakit stroke ini dapat digunakan sebagai alat bantu ahli saraf dalam mendeteksi risiko terkena penyakit stroke • Selain itu, dapat dilihat sebagai metode alternatif yang berbeda dalam mendeteksi dini risiko terkena penyakit stroke.
Mendesain dan mengimplementasikan aplikasi pendukung keputusan deteksi dini risiko penyakit stroke menggunakan logika fuzzy mamdani.
• Data rekam medik pada RS XYZ dalam kurun waktu 9 bulan yaitu dari bulan september 2012 sampai bulan mei 2013. • Total data sebesar 226 data • Total data yang digunakan sebesar 156 data
• Data hasil wawancara dengan pakar yakni dokter spesialis saraf.
Status Data
Jumlah data yang memiliki nilai kosong Tinggi 70 Sedang 22 Rendah 11 Total 103
Jumlah data yang lengkap 93 20 10 123
Jumlah Jumlah data data yang yang digunakan sudah diproses 163 93 42 42 21 21 226 156
1) Analisis nilai data yang kosong Jumlah data Variabel yang tidak kosong BUN 191 Kreatinin 191 Kadar Gula 208 Asam urat 149 LDL 159 Kolesterol total 165 Total data yang kosong Total data yang tidak kosong
Data yang kosong Rata-rata 19,98 1,491 154,514 6,19 126,950 194,68
Jumlah
Persentase
35 35 18 77 67 61 103 123
15,5 15,5 8 34,1 29,6 27 45,6% 54,4%
2) Pengisian nilai data yang kosong (mean imputation)
a. Variabel Masukan Ada Sembilan variabel yang digunakan yaitu tekanan darah, diabetes, kolesterol total, kolesterol LDL, usia, asam urat, jenis kelamin, BUN dan kreatinin.
b. Variabel Keluaran Variabel keluaran mengacu pada adanya risiko terkena serangan stroke dengan rentang nilai 0-10 yang mewakili status risiko rendah, sedang dan tinggi.
a) Tekanan Darah Variabel Tekanan Darah
Rentang Nilai < 120 120–139 140–159 > 160
Himpunan Fuzzy Normal Prahipertensi Hipertensi Tahap I Hipertensi Tahap II
a) Tekanan Darah
b) Kadar Gula Darah -> Gula 2 JPP Variabel Kadar Gula Darah
Rentang Nilai < 60 mg/dl 60-139 mg/dl 140-199 mg/dl >= 200 mg/dl
Himpunan Fuzzy Rendah Normal Intermediete Diabetes
b) Kadar Gula Darah
c) Kolesterol Total Variabel Kolesterol Total
Rentang Nilai < 200 mg/dL 200-239 mg/dl >= 240 mg/dl
Himpunan Fuzzy Normal Tinggi Sangat Tinggi
c) Kolesterol Total
d) Kolesterol - LDL Variabel Rentang Nilai Kolesterol - < 100 mg/dl LDL 130-159 mg/dl >= 190 mg/dl
Himpunan Fuzzy Normal Tinggi Sangat Tinggi
d) Kolesterol - LDL
e) Usia Variabel Usia
Rentang Nilai <= 30 40 – 50 >= 60
Himpunan Fuzzy Muda Paruh baya Tua
e) Usia
f) Asam urat (lk) Variabel Asaam urat (lk)
Rentang Nilai <= 3,5 mg/dL 3,5 - 7,0 mg/dl >= 7,0 mg/dl
Himpunan Fuzzy Rendah Normal Asam urat
f) Asam urat (lk)
g) Asam urat (pr) Variabel Asaam urat (pr)
Rentang Nilai <= 2,6 mg/dL 2,6 - 6,0 mg/dl >= 6,0 mg/dl
Himpunan Fuzzy Rendah Normal Asam urat
g) Asam urat (pr)
h) Jenis kelamin Menurut studi kasus yang sering ditemukan, laki-laki lebih berisiko terkena tiga kali lipat dibandingkan dengan wanita. Laki-laki cenderung terkena stroke iskemik, sedangkan wanita cenderung terkena stroke hemorragik (Nabyl, 2012). Pada variabel ini terdapat satu himpunan fuzzy “benar” yang memiliki 2 nilai (0,1). Jika perempuan, maka nilai “0” akan masuk ke aplikasi dan jika lakilaki, maka nilai “1” akan masuk ke aplikasi.
i) Blood Urea Nitrogen (BUN) Variabel BUN
Rentang Nilai < 6 mg/dL 6-23 mg/dl > 23 mg/dl
Himpunan Fuzzy Rendah Normal Tinggi
i) Blood Urea Nitrogen (BUN)
j) Kreatinin Variabel Kreatinin
Rentang Nilai < 0,7 mg/dL 0,7 - 1,2 mg/dl > 1,2 mg/dl
Himpunan Fuzzy Rendah Normal Tinggi
j) Kreatinin
Variabel Status Risiko
Rentang Nilai 0 – 1.7 1.7 – 3 3 – 10
Himpunan Fuzzy Rendah Normal Tinggi
• Terdapat 253 aturan, •90 aturan dengan status risiko “tinggi” •83 aturan dengan status risiko “sedang” •80 aturan dengan status risiko “rendah”
No
Kondisi
Status
1
IF tekanan_darah IS hipertensi_tahap_II AND kolesterol_total IS normal AND Tinggi LDL IS normal AND usia IS tua AND jenis_kelamin IS laki AND BUN IS normal
2
IF tekanan_darah IS normal AND kadar_gula IS normal AND kolesterol_total IS normal AND LDL IS tinggi AND jenis_kelamin IS laki AND usia IS tua AND Sedang au_lk IS asam_urat AND BUN IS normal AND kreatinin IS tinggi
3
IF tekanan_darah IS hipertensi_tahap_I AND kadar_gula IS intermediete AND kolesterol_total IS normal AND LDL IS normal AND usia IS muda AND Sedang jenis_kelamin IS perempuan AND au_pr IS rendah AND BUN IS rendah AND kreatinin IS normal
4 5
IF kadar_gula IS diabetes AND kolesterol_total IS sangat_tinggi AND LDL IS Rendah sangat_tinggi AND au_lk IS rendah IF tekanan_darah IS normal AND kadar_gula IS rendah AND LDL IS normal AND usia IS muda AND jenis_kelamin IS perempuan AND au_pr IS normal Rendah AND BUN IS rendah
• Implementasi Fuzzy Control Language (FCL) • Implementasi proses klasifikasi logika fuzzy • Implementasi hasil keluaran • Implementasi verifikasi hasil keluaran
Perangkat keras
Processor Intel Core 2 Duo Memory 2 GB Kapasitas harddisk free sebesar 350 GB
Perangkat lunak
Operating System : XP Service Pack 3 MATLAB R2009a Netbeans IDE 7.1.1 Java SE Development Kit 6 Update 18 Microsoft Excel 2010
Variabel
Uji coba 1
2
3
190 (hipertensi tahap II)
100 (normal)
100 (normal)
173 (intermediate)
155 (intermediate)
100 (normal)
Kolesterol total
147 (normal)
195 (normal)
195 (normal)
LDL
80 (normal)
127 (normal)
127 (normal)
Usia
70 th (tua)
35 th (muda)
28 th (muda)
Jenis kelamin
Laki-laki
Perempuan
Laki-laki
Asam urat (lk)
6.6 (normal)
0
6.2 (normal)
Asam urat (pr)
0
6.2 (asam urat)
0
BUN
21.5 (normal)
20 (normal)
16.2 (normal)
Kreatinin
0.9 (normal)
1.5 (tinggi)
0.6 (normal)
Hasil pada MATLAB
4,93
1,79
0,871
Hasil pada aplikasi JAVA
4,92
1,79
0,87
Tekanan darah Kadar gula darah
Status Risiko Stroke
Sedang
Rendah
precision
85,71% 76,92%
83,33%
recall accuration F-Measure
85,71% 76,92% 82,98% 86,67% 85,71% 76,92%
83,33% 95,12% 83,33%
Jenis Penilaian
Tinggi
Akurasi Total
82,98%
• Akurasi keluaran aplikasi cukup baik, yaitu mencapai 82,98% • Tingkat kepercayaan hasil analisis untuk kelas tinggi, sedang dan rendah masing-masing sebesar 85,71%, 76,92% dan 83,33%
Kelas Tinggi Sedang Rendah Tingkat Kesalahan Prediksi Total
• • •
•
•
False positive (FP)
False negative (FN)
Tingkat Kesalahan Prediksi
15,22% 19,44% 39,29%
16,12% 30,95% 19,04%
14,29% 23,08% 16,64%
20,51%
Tingkat kesalahan prediksi aplikasi secara keseluruhan tergolong besar, yaitu sebesar 20,51% kelas tinggi perlu mendapat perhatian yang serius karena tingkat kesalahan prediksinya terbilang cukup tinggi yang mencapai 15,22% pada FP dan 16,12% pada FN. Sedangkan pada kesalahan prediksi FP yang mencapai 19,44% juga perlu diwaspadai karena enam dari tujuh prediksi yang salah merupakan kelas tinggi dimana kondisi kelas tinggi memerlukan penanganan khusus. Pada kelas sedang juga perlu mendapat perhatian yang serius, khususnya pada FN karena tingkat kesalahan prediksinya merupakan yang paling besar yakni mencapai 30,95%. Tingkat kesalahan FP pada kelas rendah terbilang cukup besar yaitu sebesar 39,29% dan berpotensi mengakibatkan kesalahan fatal dimana sembilan dari 11 kesalahan prediksinya merupakan kelas tinggi pada data yang sebenarnya
• Aplikasi yang telah diuji coba dengan menggunakan data yang diperoleh dari Rumah Sakit XYZ memberikan hasil yang memuaskan. Selain itu, uji coba verifikasi menunjukkan bahwa aplikasi memberikan hasil yang sama dengan yang dihasilkan oleh perangkat lunak MATLAB. • Dari keseluruhan data yang diuji cobakan, aplikasi mampu melakukan proses klasifikasi tingkat risiko secara benar sebesar 82,98%.
• Dari aspek pengukuran keakuratan proses klasifikasi, akurasi sebesar 82,98%, 86,67%, dan 95,12% berturut-turut diperoleh untuk pengujian proses klasifikasi tingkat risiko tinggi, sedang, dan rendah. • Dari aspek pengukuran kehandalan proses klasifikasi, kehandalan sebesar 85,71%, 76,92%, dan 83,33% berturut-turut diperoleh untuk pengujian proses klasifikasi tingkat risiko tinggi, sedang, dan rendah.
• Potensi kesalahan untuk mendeteksi risiko sedang masih terbilang cukup besar dengan nilai sebesar 23,08%. • Potensi kesalahan prediksi aplikasi secara keseluruhan tergolong besar, yaitu sebesar 20,51%. • Kesalahan prediksi pada kelas sedang dan rendah cenderung mengarah ke prediksi tinggi dapat disebabkan karena rentang nilai variabel keluaran kelas tinggi merupakan yang paling panjang. • Tingkat kesalahan prediksi pada kelas sedang cukup besar dapat disebabkan rentang nilai variabel keluaran kelas sedang yang merupakan paling pendek dibandingkan rentang nilai variabel keluaran kelas yang lain.
Saran yang dapat diberikan oleh penulis terhadap pengembangan lebih lanjut mengenai topik tugas akhir ini yaitu sebaiknya melibatkan banyak pakar, sehingga fungsi keanggotaan dan aturan logika fuzzy yang terbentuk tidak hanya berdasarkan pemikiran satu pakar.