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)