DIAGNOSA PENYAKIT SINUSITIS MENGGUNAKAN METODE

advertisement
DIAGNOSA PENYAKIT SINUSITIS MENGGUNAKAN
METODE ALGORITMA GENETIKA DAN BAYESIAN
BERBASIS JSP
Angga Asfan Candra, Entin Martiana S.Kom, M.Kom.
Jurusan Teknik Informatika, PENS - ITS Surabaya
Jl. Raya ITS, Surabaya
+62(31) 594 7280; Fax: +62(31) 594 6114
E-mail : [email protected], [email protected]
ABSTRAK
Saat ini di indonesia penyakit sinusitis merupakan penyakit dengan jumlah penderita cukup banyak.
Selain itu masyarakat indonesia sedikit mengetahui gejala penyakit sinusitis karena hampir sama dengan gejala
penyakit flu biasa. Hal ini bisa menyebabkan kesalahan dalam menindaklanjuti penyakit sinusitis dan bisa
menyebabkan dampak yang lebih besar lagi. Dengan adanya sistem pakar untuk mediagnosa penyakit sinusits
masyarakat diharapkan lebih waspada dalam penanganan penyakit sinusitis. Sistem ini menggunakan
algoritma Genetika dan Bayesian yang dimaksudkan untuk membandingkan hasil solusi kedua algoritma
tersebut dalam permasalahan yang telah dijelaskan diatas, algoritma mana yang lebih baik untuk menangani
permasalahan tersebut. Sistem ini dibuat berdasarkan gejala mayor dan minor yang diadaptasi dari The Task
Force On Rhinosinusitis Of The American Assosiation Of Otolaryngology Head And Neck Surgery.
Kata kunci : Sinusitis, Algoritma Genetika, Bayesian, Diagnosa, Sistem Pakar.
1. PENDAHULUAN
Pada saat ini, peranan teknologi informasi
dan komunikasi sebagai alat bantu mutlak
dibutuhkan dalam beberapa proses di bidang
kesehatan. Aplikasi teknologi informasi di bidang
kesehatan tumbuh begitu subur. Beberapa peralatan
yang digunakan di laboratorium radiologi,
laboritoum patologi dan sistem rekamedis
elektronik. Dukungan perkembangan teknologi
komunikasi semakin melengkapi dan memantapkan
dibangunnya beberapa aplikasi di bidang
informatika kesehatan. Beberapa aplikasi berbasis
web, pocket PC, dan SMS gateway mulai
dikembangkan untuk memberikan kemudahan
akses bagi para pengguna layanan kesehatan yang
sangat aktif. Medical reminder system dan
telemedicine
merupakan
fasilitas
yang
membutuhkan dukungan teknologi informasi dan
komunikasi.
Penggunaan teknologi informasi dan
metode komputasi juga semakin berkembang
terutama untuk membantu para klinisi dalam
mengambil keputusan klinis. Sistem pendukung
pengambilan keputusan klinis mulai dikembangkan
dimana-man terutama untuk aplikasi proses
anamnesis, diagnosis, terapi, dan prognosis.
Meskipun sistem semacam ini hanya bersifat
membantu para klinisi, namun keberadaannya
sangat dibutuhkan terutama bagi para kinisi yang
masih pemula. Beberapa sistem pendukung
keputusan klasik, sistem cerdas, teknologi
datamining, dan pengolahan citra digital
mengambil peranan penting dalam sistem
pendukung
keputusan
tersebut.
Selain
permasalahan yang bersentuhan langsung dengan
dunia klinis, teknilogi informasi untuk berperan di
bidang kesehatan juga dapan berbentuk lain, seperti
surveillance. Untuk keperluan tersebut, sitem
informasi geografis memegang peran yang sangat
besar
Di era modernisasi ini manusia dituntut
untuk
mengerjakan segala aktivitas dan
memutuskan suatu hal secara cepat, tepat dan
efisien. Oleh karena itu terjadi pergeseran dalam
bidang kesehatan di dalam pengambilan keputusan
suatu masalah dari paradigma konvensional
(manual) ke arah digital. Penggunaan metode
digital dinilai lebih hemat tenaga, efisien dan
memiliki akurasi tinggi.
Teknologi memegang peranan penting
terutama dalam bidang teknologi informasi.
Kemampuan komputer dalam mengingat dan
menyimpan informasi dapat dimanfaatkan tanpa
harus bergantung kepada hambatan-hambatan
seperti yang dimiliki manusia, yaitu kondisi lapar,
haus, ataupun emosi. Dengan menyimpan
informasi dan sehimpunan aturan penalaran yang
memadai, memungkinkan komputer memberikan
kesimpulan atau pengambilan keputusan yang
kualitasnya sama dengan seorang pakar bidang
keilmuan tertentu. Salah satu cabang dari ilmu
komputer yang dapat mendukung hal tersebut
adalah sistem pakar.
Sistem pakar merupakan salah satu cabang
dari kecerdasan buatan yang mempelajari
bagaimana “mengadopsi” cara seorang pakar
berpikir dan bernalar dalam menyelesaikan suatu
permasalahan untuk membuat suatu keputusan
maupun pengambilan kesimpulan berdasarkan
pengetahuan itu.
Sampai saat ini ada beberapa hasil
perkembangan sistem pakar dalam berbagai bidang
sesuai dengan kepakarannya seseorang, misalnya
bidang kedokteran, pendidikan ataupun pertanian.
Pada bidang kesehatan sendiri, telah
terjadi pegeseran dari penganalisaan secara manual
menjadi
penganalisaan
penyakit
dengan
menggunakan alat/sistem pakar yang lebih efisien
dan hemat tenaga.
Dengan
adanya
penelitian
dari
Depertemen Kesehatan bahwa sinusitis dianggap
salah satu penyebab gangguan kesehatan tersering
di dunia. Data dari DEPKES RI tahun 2003
menyebutkan bahwa penyakit hidung dan sinus
berada pada urutan ke-25 dari 50 pola penyakit
peringkat utama atau sekitar 102.817 penderita
rawat jalan di rumah sakit. Survei Kesehatan Indera
Penglihatan dan Pendengaran 1996 yang diadakan
oleh Binkesmas bekerja sama dengan PERHATI
dan Bagian THT RSCM mendapatkan data
penyakit hidung dari 7 propinsi. Data dari Divisi
Rinologi Departemen THT RSCM Januari-Agustus
2005 menyebutkan jumlah pasien rinologi pada
kurun waktu tersebut adalah 435 pasien, 69%nya
adalah sinusitis.
Dari data diatas oleh karena itu “Diagnosa
Penyakit Sinusitis Menggunakan Metode Algorima
Genetika dan Bayesian berbasis JSP”, merupakan
penggabungan antara perkembangan teknologi
informasi dan pakar itu sendiri yang menjadi
jawaban atas permasalahan yang dihadapi dengan
berpatokan pada The Task Force On Rhinosinusitis
Of The American Assosiation Of Otolaryngology
Head And Neck Surgery untuk penentuan gejala
mayor dan minor dari sinusitis.
Aplikasi ini sangat bermanfaat membantu
para penderita dalam menganalisa permasalahan
tentang penyakit sinusitis pada khususnya.
Sehingga sistem ini mampu memberi referensi
kepada penderita dalam menyimpulan hasil analisa
pada suatu penyakit khususnya sinusitis.
2. PENELITIAN YANG TERKAIT
Identifikasi penyakit dapat dilakukan
berdasarkan gejala yang diderita oleh seorang
pasien. Terkadang satu penyakit dan penyakit yang
lain mempunyai gejala yang hampir sama hingga
sulit ditentukan panyakit yang sebenarnya diderita
oleh seorang pasien. Tetapi setiap penyakit pasti
mempunya
gejala
yang
spesifik
dalam
perkembangannya. Inilah dasar pembuatan simulasi
identifikasi penyait, dengan memodelkan korelasi
silang dari masing-masing gejala dan relasinya
dengan jenis penyakit tertentudapati dibuat suatu
model yang dapat digunakan dalam penmpakan
gejala dan jenis penyakit, sehigga diharapkan akan
diperoleh akurasi yang baik. Simulasi dilakukan
dengan mendefinisikan penampakan gejala yang
dialami pasien yang diurutkan dalam bentuk
database indeks gejala, yang kemudian dilakukan
dilakukan penentuan korelasi silang dari masing-
masing gejala yang akhirnya direlasikan dengan
data indeks penyakit.
3. PERANCANGAN SISTEM
Di bawah ini adalah rancangan system
secara keseluruhan :
Gambar 1. Rancangan Sistem
Dalam perancangan sistem diatas seorang
user dapat berinteraksi dengan aplikasi melalui
tampilan web yang di bangun dari JSP, dimana
seorang user dapat menginputkan gejalanya melalu
web tersebut. Setelah itu maka inputan tersebut
akan diproses melalui dua metode yaitu bayes dan
algoritma genetika dimana akan dibandingkan
dengan data training yang sudah di simpan di
dalam data base dan selelah di proses maka akan
ditampilkan hasil kesimpulan kedalam halaman
web. Untuk algoritma genetika akan menghasilkan
role dari setiap penyakit ISPA melalui data training
yang telah di simpan di dalam basis data tersebut
dan akan dibandingkan dengan fitness untuk
mendapatkan hasil kesimpulan.
4.
ALGORITMA
GENETIKA
DAN
BAYESIAN
4.1. Algoritma Genetika
Proses algoritma genetika yang akan
dilakukan dalam proyek akhir ini adalah
membangkitkan populasi awal, pengoptimalan
kromosom sequence, mengevaluasi nilai fitness,
seleksi individu dengan roulette wheel selection,
reproduksi yaitu cross over dan mutasi, elitism dan
akhirnya menghasilkan populasi baru. Proses ini
akan berlangsung sampai generasi yang telah
ditentukan atau sampai ketemu solusi yang
diharapkan. Berikut urutan tahapan tersebut :
optimal dalam algoritma genetika. Algoritma
genetika bertujuan mencari individu dengan nilai
fitness yang paling tinggi.
Gambar 4. Kalkulasi dari Akurasi
TP = Jumlah dari karakteristik yang
dengan hasil yang identik (++)
FP = Jumlah dari karakteristik yang tidak
dengan hasil yang identik (-+)
FN = Jumlah dari karakteristik yang
dengan hasil yang tidak identik (+-)\
TN = Jumlah dari karekteristik yang tidak
dengan hasil yang tidak identik (--)
identik
identik
identik
identik
- Seleksi
Seleksi dilakukan dalam rangka untuk
mendapatkan induk yang baik. Karena induk yang
baik akan menghasilkan keturunan yang baik.
Sehingga semakin tinggi nilai fitness suatu individu
maka semakin besar kemungkinannya untuk
terpilih. Dalam tahap seleksi ini dilakukan dengan
menggunakan mesin roulette.
Gambar 2. Rancangan Sistem Algoritma Genetika
- Representasi Gen
Untuk menyelesaikan permasalahan ini
pertama-tama kita terlebih dahulu harus bisa
membuat representasi dari tiap-tiap individu yang
akan ikut dalam siklus Algoritma Genetika
ini.Banyaknya gen tergantuk dengan banyaknya
gejala.
Gambar 5. Grafik seleksi
Gambar 3. Representasi Gen
- Pembangkitan Populasi Awal
Pembangkitan populasi awal dilakukan
secara acak dan jumlah populasi ditentukan oleh
masukan user. Semakin besar ukuran populasi,
semakin besar pula untuk menemukan solusi yang
diharapkan
- Evaluasi Nilai Fitness
Nilai fitness adalah nilai yang menyatakan
baik tidaknya suatu solusi (individu). Nilai fitness
ini yang dijadikan acuan dalam mencapai nilai
- Cross Over / Rekombinasi
Pada proyek akhir ini dilakukan cross over
terhadap Individu yang terpilih dari hasil seleksi.
Cross Over dilakukan terhadap dua individu yang
terpilih dari hasil seleksi. Dalam aplikasi ini, saya
menggunakan pertukaran gen secara langsung
untuk saling merekombinasikan kedua gen yang
terlibat. Algoritma pertukaran gen secara langsung
adalah:
1. Tentukan probabilitas crossover yang
diinginkan (biasanya antara range 0.75 sampai
0.9).
2. Untuk setiap populasi sebanyak jumlah
populasi lakukan:
a. Generate sebuah bilangan random antara
nol sampai satu.
b.
Jika bilangan tersebut lebih kecil
daripada probabilitas crossover, maka
lakukan crossover.
a. Random pertama adalah mengacak
gen awal .
b. Random kedua adalah mengacak
gen akhir.
c. Gen awal dan akhir akan
menentukan panjang dari gen yang
di crossover.
d. Gen awal tidak boleh melebihi dari
gen akhir.
c. Sedangkan apabila bilangan tersebut
lebih besar, maka induk 1 dan induk 2
langsung turun menjadi anak 1 dan anak
2.
3. Untuk setiap pasangan yang melakukan
crossover lakukan:
a. Generate dua buah bilangan antara satu
sampai jumlah gen setiap individu.
b. Turunkan gen induk di lokasi antara dua
bilangan tersebut ke gen anak.
Untuk lebih jelasnya, bisa dilihat di grafis berikut
ini :
individu ada 13, maka random
bilangan antara 1-13.
- Setelah mendapatkan posisi gen yang
akan dimutasi, selanjutnya yaitu
membangkitkan bilangan representasi
solusi yaitu antara 0 – 1 untuk
menggantikan nilai gen yang baru dan
nilai gen tidak boleh sama dengan nilai
gen yang lama.
Untuk lebih jelasnya bisa dilihat di grafis berikut:
Misal: bilangan random =2
Gambar 7. Contoh Mutasi Individu
- Elitisme
Pada proyek akhir ini memakai system
ranking. Jika jumlah individu dalam populasi
adalah sebanyak p, maka terdapat p individu dan p
individu turunan. Dalam sistem ranking populasi
induk dan populasi turunan digabung sehingga
berjumlah 2p individu. Selanjutnya setiap individu
tersebut dihitung nilai fitnessnya dan diranking
yang terbaik. Kemudian diambil p yang terbaik
untuk menjadi populasi baru.
Gambar 6. Contoh Cross Over
- Mutasi
Mutasi dalam proyek akhir menggunakan
metode pemilihan nilai secara acak. Suatu gen yang
terpilih untuk dimutasi nilainya diganti dengan gen
baru yang dibangkitkan secara acak dalam interval
nilai – nilai gen yang diizinkan, dalam hal ini nilai
dari representasi solusi yaitu 1 – 13. Berikut proses
dari mutasi :
i. Tentukan nilai probabilitas mutasi ( pM ) .
Biasanya nilai pM antara range 0 – 0,3.
ii. Bangkitkan bilangan random antara 0 – 1, cek
apabila nilai random tersebut lebih kecil dari
pada probabilitas mutasi, maka lakukan mutasi
gen pada individu. Jika nilai random tersebut
lebih besar dari pada probabilitas mutasi, maka
gen pada individu tersebut tidak perlu di mutasi.
iii. Untuk gen pada individu yang akan di
mutasi lakukan berikut:
- Lakukan pengacakan posisi gen yang
akan
dimutasi.
Dengan
cara
membangkitkan
bilangan random
sesuai jumlah gen yang ada pada
populasi. Misal jumlah gen pada
Gambar 7. Elitisme
4.2. Algoritma Bayesian
Metode ini berfungsi untuk mencari nilai
probabilitas tiap faktor resiko sehingga nantinya
hasilnya akan dijadikan perhitungan untuk
menentukan apakah resikonya kecil sedang atau
besar.
Alur metode Naive Bayes pada Proyek
Akhir ini sebagai berikut :
1. Baca database
2. Apakah data berupa numerik ?
a. Cari nilai mean dan standart deviasi dari
masing-masng paameter yang merupakan
data numerik.
b. Cari nilai probabilitasnya dengan cara
menghitung jumlah data yang sesuai dari
kategori yang sama dibagi dengan jumlah
data pada kategori tersebut
3. Mendapatkan nilai dalam tabel mean, standart
deviasi dan probabilitas
Untuk lebih jelasnya dapat dilihat pada gambar
Variabel
Jumlah Representasi Gen
Ukuran Populasi
Probabilitas Crossover
Probabilitas Mutasi
Value
13
10
0.8
0.2
Gambar 4.2. Form Inputan Gejala Mayor dan
Minor
Gambar 4.3. Hasil Analisa dari Form Gejala
Mayor dan Minor
Gambar 8. Naïve Bayes
Untuk mengolah data inputan dalam
Naive Bayes harus meakukan perhituganan
terhadap database/data training. Pada proyek akhir
ini hanya menggunakan 1 jenis data yaitu data
optional (0, 1).
Contoh tabelnya seperti tabel 3
Tabel 3.3. Contoh Tabel Probabilitas
6. HASIL UJI COBA
Tabel 4.2. Inputan Default Sistem
Dalam form inputan untuk keluhan pada
penyakit sinusits setelah keluhan di isi baik keluhan
mayor dan minur maka sistem pakar akan
menkakulasi keluhan tersebut dan menampilkan
hasil dari keluhan tersebut.
Ada dua kemungkinan dari hasil analisa
diagnosa yaitu SUSPECT dan TIDAK SUSPECT
terkena penyakit sinusitis. Jika hasil dari keluhan
awal SUSPECT maka akan dilanjutkan ke diagnosa
selanjutnya.
Gambar 4.4. Form Diagnosa Lanjutan
Dalam form inputan untuk keluhan / diagnosa
lanjut pada penyakit sinusits setelah keluhan di isi
maka sistem pakar akan menkakulasi keluhan
tersebut dan menampilkan hasil dari keluhan
tersebut
Gambar 4.9. Dampak Cross Over terhadap
Generasi
Gambar 4.5. Hasil Diagnosa Lanjutan
Ada tiga kemungkinan dari hasil analisa
diagnosa lanjut dari penyakit sinusitis yaitu
SINUSITIS AKUT, SINUSITIS KRONIS, dan
SINUSITIS KOMPLIKASI. Diamana hasil
tersebut dikeluarkan dalam bentuk persentase. Ada
dua algoritma yang di pakai untuk menentukan
persentase dari penyakit sinusits yaitu disebelah
kiri menggunakan algoritma bayesian dan
algoritma genetika disebelah kanan. Selain itu akan
ditampilkan saran pencegahan dini berdasarkan
keluhanan yang di inputkan.
- Dampak Populasi Terhadap Generasi dan Waktu
Dari hasil percobaan diatas dapat
disimpulkan bahwa probabilitas cross over yang di
inputkan sangat berpengaruh terhadap generasi
untuk memperoleh solusi jika hal tersebut
berdampak pada generasi, otomatis akan bertampak
pada waktu yang dibutuhkan untuk mencari solusi
terbaik. Jadi tren percobaan diatas dari probabilitas
cross over 0.2 – 1.0 maka kita bisa lihat tren yang
semakin menurun atau generasi terbaik bisa didapat
lebih cepat jika probabilitas cross over diperbesar.
- Perbandingan antara algoritma genetika dengan
bayesian
Tabel 4.7. Tabel Perbandingan Algoritma
Tingkat Kebenaran
Tingkat Kesalahan
Tinggat Kecepatan
Kesetabilan
Pencarian
Algoritma
Genetika
83.71 %
16.29 %
8.81 detik
Tidak
Naïve
Bayes
91.29 %
8.71 %
0.58 detik
Ya
Dari tabel di atas bisa disimpulkan, secara
keseluruhan algoritma bayesian merupakan teknik
yang lebih bagus dalam kasus yang ada pada
proyek ini dengan memiliki kecenderungan akurasi
yang tinggi dan merupakan algoritma yang paling
baik dalam hal waktu komputasi (waktu yang
dibutuhkan untuk membangun sebuah model).
Gambar 4.8. Hubungan Antara Waktu, Generasi
dan Populasi
- Dampak Cross Over Terhadap Generasi
Dalam tabel ini adalah untuk menganalisa
dampak cross over terhadap penentuan solusi
dengan mengubah nilai cross over.
7. KESIMPULAN
Dari hasil uji coba perangkat lunak yang telah
dikembangkan, dapat ditarik beberapa kesimpulan
yaitu :
1. Berdasarkan hasil percobaan Algoritma
Genetika cocok untuk mendapatkan solusi
optimal, namun masih sedikit terkendala
dengan beberapa kelemahan. Algoritma
ini membutuhkan tiga aspek penting untuk
implementasinya yaitu fitness function,
representasi genetika dan operasi genetika
(crossover dan mutation).
2. Fitness function pada proyek akhir ini
ditetepakan sebesar 0.50 karena angka
tersebut adalah angka ideal dengan
keakuratan hasil diagnosa yang cukup
tinggi dengan waktu yang relatif
pendek/singkat.
3. Probabilitas cross over yang di inputkan
sangat berpengaruh terhadap generasi
untuk memperoleh solusi jika hal tersebut
berdampak pada generasi, otomatis akan
bertampak pada waktu yang dibutuhkan
untuk mencari solusi terbaik. Jadi tren
percobaan diatas dari probabilitas cross
over 0.2 – 1.0 maka kita bisa lihat tren
yang semakin menurun atau generasi
terbaik bisa didapat lebih cepat jika
probabilitas cross over diperbesar.
4.
Semakin besar nilai probabilitas mutasi
yang dimasukan kecenderungan nilai
semakin tidak konsisten, konsisten disini
adalah generasi yang diperoleh terkadang
besar atau terkadang kecil.
5. Pembangkitan individu random pada
populasi awal sangat berpengaruh pada
waktu yang dibutuhkan dan jumlah
generasi yang dicapai hingga menemukan
solusi.
6. Perubahan – perubahan paramater
algoritma genetika seperti probabilitas
crossover dan probabilitas mutasi sangat
berpengaruh pada proses algoritma
genetika. Semakin besar probabilitas
crossover, semakin besar peluang individu
tersebut untuk di rekombinasi. Dan
semakin besar probabilitas mutasi,
semakin besar peluang individu tersebut
untuk dimutasi. Dan nantinya semakin
mempercepat perubahan total fitness pada
setiap generasi.
7. Perubahan probabilitas CrossOver dan
Mutasi juga mempengaruhi waktu
komputasi, karena semakin besar nilai
probabilitas tersebut, maka akan semakin
sering pula dilakukan operasi CrossOver
dan Mutasi yang bisa semakin menambah
waktu komputasi.
8. Karena ruang solusi yang besar, maka
setiap kali melakukan running program,
hasil yang didapatkan bisa berbeda-beda.
Hal ini juga dipengaruhi oleh random awal
dari Algoritma ini.
9. Dari dua algoritma yang dipakai dalam
proyek akhir ini, secara keseluruhan
algoritma bayesian merupakan teknik yang
lebih bagus dalam kasus yang ada pada
proyek
ini
dengan
memiliki
kecenderungan akurasi yang tinggi dan
merupakan algoritma yang paling baik
dalam hal waktu komputasi (waktu yang
dibutuhkan untuk membangun sebuah
model).
8. DAFTAR PUSTAKA
[1]. Gundogan, Korkut Koray, bilal Alatas, Ali
Karci. 2004. Mining Classification Rule By
Using Genetic Algrorithms With Non-random
Initial Population and Uniform Operator.
TURKEY : Firat University.
[2]. Martiana, Entin. 2008. Minggu10 - Algoritma
Genetika. Surabaya : PENS-ITS
[3]. Basuki, Achmad dan Nana Ramadiyanti. 2009.
Simulasi Identifikasi Penyakit Berdasarkan
Gejala Menggunakan Algoritma Genetika.
Surabaya : PENS-ITS.
[4]. Widiastuti, Dwi., Analisa Perbandingan
Algoritma SVM, Naive Bayes, Dan Decision
Tree Dalam Menklasifikasikan Serangan
(Attacks) Pada Sistem Pendeteksi Intrusi.
Jakarta : Universitas Gunadarma.
[5]. Basuki, Achmad. 2003. Strategi Menggunakan
Algoritma Genetika. Surabaya : PENS-ITS
[6]. Kristyono,
Irwan.
2011.
Pendidikan
Kedokteran Berkelanjutan IX Ilmu Kesehatan
THT-KL. Surabaya.
[7]. Kusumadewi, Sri dkk. 2009. Informatika
Kesehatan. Yogyakarta.
[8]. Manjoer, Arif. 2001. Kapital Selekta
Kedokteran. Depok : Fakultas Kedokteran
Universitas Indonesia.
[9]. American
Rhinologic
Society.
http://www.americanrhinologic.org/patientinfo.sinusitisqa.phtml.
(14 Juli 2011)
Download