JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) Perancangan Sistem Pakar Fuzzy Untuk Pengenalan Dini Potensi Terserang Stroke Berbasis Web Harmuda Pandiangan, M Isa Irawan dan Alvida Mustika Rukmi Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya E-mail: mii@its.ac.id Abstrak Sistem pakar fuzzy merupakan gabungan antara sistem pakar dengan logika fuzzy. Penerapan logika fuzzy dalam sistem pakar bertujuan untuk merepresentasikan pengetahuan seorang pakar pada lingkungan yang tidak pasti dan sangat kompleks. Sistem inferensi fuzzy menggunakan Metode Mamdani (max-min) dengan 4 tahapan utama, yaitu: pembentukan himpunan fuzzy, aplikasi fungsi implikasi, komposisi aturan dan penegasan. Fungsi implikasi yang digunakan adalah Min dengan komposisi aturan yang digunakan adalah metode Max. Proses defuzzifikasi menggunakan Metode Centroid of Gravity (CoG), yaitu solusi tegas diperoleh dengan cara mengambil titik pusat dari hasil komposisi aturan yang telah didapatkan. Permasalahan yang di bahas yaitu untuk mengetahui potensi stroke seseorang melalui sistem pakar fuzzy. Hasil ini nantinya akan menunjukkan apakah seseorang memiliki potensi terserang stroke atau tidak. Faktor yang digunakan adalah tingkat stres, usia, berat ideal, tekanan darah, kolesterol,kadar gula darah dan intensitas merokok. Sistem ini akan diimplementasikan dengan sistem berbasis web sehingga seseorang dapat mengetahui kemungkinan potensi stroke dan dapat segera menghindarinya. Kata kunci Sistem Pakar Fuzzy, Logika Fuzzy, Metode Mamdani, Centroid of Gravity, Potensi Stroke S I. PENDAHULUAN TROKE adalah gangguan fungsi saraf yang terjadi secara mendadak akibat berkurangnya pasokan darah ke bagian otak, sehingga peredaran darah ke otak terganggu. Kurangnya aliran darah oksigen menyebabkan serangkaian reaksi biokimia, yang dapat merusak atau mematikan sel sel saraf di otak, sehingga menyebabkan kelumpuhan anggota gerak, gangguan bicara, penurunan kesadaran bahkan kematian [8]. Makanan dengan kandungan kolesterol tinggi dapat memicu menumpuknya endapan lemak pada pembuluh darah menuju otak sehingga terjadi penyempitan, yang mengakibatkan darah dan oksigen berkurang. Hal ini memungkinkan terjadinya pecah pembuluh darah yang menyebabkan jantung memompa darah lebih cepat. Di Indonesia, penyakit stroke merupakan penyakit nomor tiga yang mematikan setelah penyakit jantung dan penyakit kanker. Kebanyakan penyakit stroke terjadi secara mendadak dan berlangsung dengan cepat []. Resiko terserang stroke ini juga tidak lepas dari kebiasaan sehari-hari. Sebagian orang kemungkinan tidak akan terserang stroke jika sebelumnya mereka sudah mengetahui rentan terhadap penyakit stroke. Oleh karena itu perlu dilakukan pengkajian apakah seseorang memiliki potensi terserang penyakit stroke atau tidak. Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke dalam komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan parapakar di bidangnya. Sistem pakar fuzzy merupakan penggabungan sistem pakar dengan logika fuzzy. Penerapan sistem fuzzy dalam sistem pakar bertujuan untuk merepresentasikan pengetahuan pakar pada lingkungan yang tidak pasti, tidak lengkap dan sangat kompleks. Sistem fuzzy merupakan penduga numerik yang terstruktur dan dinamik serta memiliki kemampuan untuk mengembangkan sebuah sistem dalam lingkungan yang tidak pasti. Sistem fuzzy menduga suatu fungsi dengan logika fuzzy yang digunakan untuk menangani konsep derajat kebenaran, yaitu nilai kebenaran antara benar dan salah. Oleh karena itu, logika fuzzy sering menggunakan informasi linguistik dan verbal [7]. Pada tugas akhir ini juga menggunakan logika fuzzy karena faktor yang digunakan bersifat tidak pasti dan tidak memiliki nilai mutlak. Untuk memudahkan implementasi sistem pakar tersebut maka dibangun suatu system aplikasi berbasis web menggunakan bahasa PHP dengan interpreter Netbeans IDE yang bersifat open-source, dengan harapan dapat membantu masyarakat agar mengetahui apakah memiliki potensi teserang stroke sehingga dapat dihindari dan diantisipasi. II. DASAR TEORI Sistem pakar fuzzy adalah sistem pakar yang penerapannya menggunakan basis pengetahuan logika fuzzy (fuzzy logic). Penerapan logika fuzzy dalam sistem pakar bertujuan untuk merepresentasikan pengetahuan pakar pada lingkungan yang tidak pasti dan sangat kompleks. A. Sistem Pakar Sistem pakar secara umum adalah sistem yang berusaha mengadopsi pengetahuan pakar ke komputer, agar dapat menyelesaikan masalah seperti yang dilakukan oleh para ahli. Dengan kata lain sistem pakar adalah sistem yang didesain
JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) 2 dan diimplementasikan dengan bantuan bahasa pemrogaman tertentu untuk dapat menyelesaikan masalah layaknya yang dilakukan oleh para ahli. Dengan sistem ini diharapkan orang awam dapat menyelesaikan masalah tertentu tanpa bantuan para ahli dalam bidang tersebut. Sedangkan bagi para ahli, sistem ini dapat digunakan sebagai asisten yang berpengalaman. B. Variabel Linguistik Variabel linguistik merupakan variabel fuzzy yang dibuat acuan untuk menilai suatu hal. Misalkan variabel linguistik UMUR memiliki tiga penilaian linguistik yaitu muda, dewasa, tua dan usia lanjut. C. Fuzzifikasi Fuzzifikasi merupakan proses pengam-bilan nilai crisp input dan menentukan derajat keanggotaan (degree of membership) dari setiap himpunan fuzzy yang sesuai. Setelah nilai derajat keanggotaan tersebut didapat, selanjutnya dilakukan proses perhitungan nilai kebenaran dari setiap premis yang ada dengan menggunakan operasi min atau operasi max. Jika sebuah premis dari suatu aturan memiliki derajat kebenaran tidak nol maka aturan dikatakan terpicu (fired) [4]. Misalkan dioperasikan min sebagai berikut: ) 3 )) terpicu (fired) 2 ) 4 )) terpicu (fired) 3 2 ) 3 )) terpicu (fired) 4 2 ) 4 )) terpicu (fired) µ (x) µ 2 (x) µ 3 (x) µ 4 (x) Variabel linguistik a (crisp input) Variabel linguistik 2 b (crisp input) Gambar 2. Proses fuzzifikasi untuk dua variabel linguistik x x Gambar 2.2 Proses pembentukan himpunan fuzzy D. Inferensi Fuzzy Inferensi diimplementasikan untuk setiap aturan dalam basis pengetahuan. Nilai kebenaran premis dari aturan-aturan yang terpicu digunakan untuk menentukan nilai kebenaran bagian kesimpulan dari aturan yang terpicu (fired). Dengan demikian, input untuk proses inferensi adalah nilai yang diberikan oleh premis, sedangkan output adalah suatu himpunan fuzzy [4]. Misalkan untuk dan 2 terpicu pada typical value Sangat Baik sedangkan 3 dan 4 terpicu pada Baik. Proses inferensi fuzzy ditunjukkan Gambar 2.2 dan Gambar 2.3. Baik v 3 v 4 Gambar 2.3 Proses pembentukan himpunan fuzzy untuk kesimpulan Baik E. Komposisi Baik Komposisi adalah proses dimana himpunan fuzzy yang menyatakan output dari setiap aturan dikombinasikan ke dalam sebuah himpunan fuzzy. Metode himpunan fuzzy yang digunakan dalam penelitian ini adalah max, himpunan fuzzy untuk output ditentukan dengan mengambil nilai maksimum. Seperti ditunjukkan pada Gambar 4. Misalkan diberikan nilai hasil operasi min pada masing-masing premis yang menghasilkan output penilaian linguistik ke- adalah 2 sedangkan penilaian linguistik ke-2 diberikan 2. Perhitungan komposisi max secara sistematis diberikan sebagai berikut: 2 v v 2 Kesimpulan Sangat baik Sangat baik x Dengan: = Hasil komposisi ke-n = Nilai hasil operasi min ke-i pada masing-masing aturan terpicu yang menghasilkan kesimpulan penilaian linguistik ke-. = Nilai hasil operasi min ke-i pada masing-masing aturan terpicu yang menghasilkan kesimpulan penilaian linguistik ke-2. = Nilai hasil operasi min ke-i pada masing-masing aturan terpicu yang menghasilkan kesimpulan linguistik ke-n.
JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) 3 Bentuk komposisi himpunan fuzzy pada bagian kesimpulan dengan metode max ditunjukkan pada Gambar 2.4. Baik Sangat baik tabel bobotdetail, tabel faktor, tabel fungsianggota, tabel potensistroke,tabel history dan tabel historydetail. Perancangan Proses Dalam perancangan proses dalam pembangunan sistem pakar ini melibatkan pemrograman PHP dan pemanggilan data dalam database. Berikut rancangan sistem secara umum: Mulai F. Defuzzifikasi Gambar 2.4 Hasil komposisi himpunan fuzzy Defuzzifikasi atau penegasan merupakan bagian proses sistem fuzzy dimana terjadi pengubahan dari input berupa himpunan fuzzy yang dihasilkan dari proses komposisi menjadi sebuah nilai crisp output. Metode yang dipakai dalam penelitian ini adalah metode centroid of gravity (CoG). Metode centroid of Gravity adalah salah satu metode yang digunakan untuk mendapatkan nilai crisp output dengan cara mengambil titik pusat ( ) daerah fuzzy [5]. Secara umum dirumuskan sebagai berikut: ) ) Dengan: = titik pusat daerah himpunan fuzzy = batas bawah bagian daerah ke-i himpunan fuzzy = batas atas bagian daerah ke-i himpunan fuzzy = batas atas bagian daerah ke-i himpunan fuzzy n = jumlah daerah himpunan fuzzy kesimpulan yang terbentuk z = variabel kesimpulan (consequent) ) = fungsi keanggotaan daerah himpunan fuzzy kesimpulan yang terbentuk tidak ya Proses login Login benar Proses Koikonsultasi Fuzzifikasi Evaluasi aturan Komposisi Defuzzifikasi Nilai dan hasil potensi stroke (Crisp output) III. PERANCANGAN DAN IMPLEMENTASI SISTEM Dalam pembangunan sistem pakar yang tersruktur diperlukan perancangan yang baik, mulai dari perancangan sistem, perancangan data, perancangan proses (process design) dan perancangan antarmuka (interface design). Penjelasan terkait perancangan dijelaskan pada subbab dibawah ini. A. Perancangan Sistem Pakar Dalam rancangan sistem dalam penelitian ini, setiap user yang akan menggunakan diagnosa sistem ini harus terlebih dahulu login. Hal ini dimaksudkan agar sistem dapat menyimpan semua history hasil diagnosa user. Sehingga sewaktu-waktu user dapat melihatnya kembali. Jika user belum memiliki account, pengguna dapat registrasi terlebih dahulu di form yang sudah disediakan. Perancangan Data Sesuai dengan permasalahan yang diangkat dalam penelitian ini, terdapat delapan tabel yang digunakan untuk pembangunan sistem pakar yaitu tabel member, tabel bobot, Saran dan Rujukan Selesai Gambar 3. Rancangan sistem secara umum B. Implementasi Sistem Berikut ini dijelaskan implementasi dari proses-proses yang dibutuhkan program seperti yang sudah dijelaskan pada perancangan proses ke dalam algoritma. Proses proses tersebut adalah sebagai berikut:. Proses Registrasi user 2. Proses Diagnosa/Konsultasi (Gambar 3.2) 3. Proses perhitungan titik pusat daerah menggunakan metode centroid of gravity (CoG) dan penentuan potensi stroke user. Pada bagian ini dijelaskan tentang bagaimana aktivitas yang menggambarkan proses berjalannya konsultasi atau diagnosa secara umum. Dimulai dengan mengisi semua faktor
JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) 4 yang diminta. Kemudian input yang telah di masukkan di hitung dalam sistem menggunakan algoritma fuzzy yang telah di buat di dalam program sebelumnya. Hasilnya adalah berupa nilai tegas dan nilai linguistik potensi terkena stroke. Jika user berhasil registrasi maka akan muncul pesan bahwa registrasi berhasil, namun jika user gagal atau terjadi kesalahan maka akan muncul juga pesan error bahwa registrasi gagal. Selanjutnya jika user sudah berhasil login maka user akan langsung menuju halaman home. 2. Ujicoba halaman home Halaman home merupakan halaman utama setelah user berhasil login. Gambar 3.2 Diagram aktivitas proses diagnosa IV. HASIL DAN PENGUJIAN SISTEM A. Lingkungan Pengujian Sistem Perangkat keras yang digunakan dalam uji coba adalah yaitu komputer dengan spesifikasi prosesor AMD Athlon(tm) II P-320 Dual-Core Processor @2.0 GHz, HDD 320GB, RAM memory 3GB, perangkat lunak open source PHP NetBeans IDE 7.2. untuk pembangunan sistem dan perangkat lunak open source MySQL 5.5 sebagai sistem manajemen basisdatanya. B. Hasil Uji Coba Sistem Berikut ini ditampilkan ujicoba terhadap sistem yang sudah di bangun. Ujicoba dilakukan dengan menampilkan halaman registrasi, home, konsultasi dan hasil konsultasi.. Ujicoba Halaman register Register merupakan halaman yang digunakan oleh user untuk registrasi jika user belum memiliki account. Gambar 4.2 Halaman home 3. Ujicoba halaman diagnosa Ujicoba diagnosa dapat dilakukan hanya user sudah login terlebih dahulu. Jika user belum login dan memilih menu diagnosa, maka link akan di redirect ke form harus login. Hal ini dimaksudkan agan sistem dapat menyimpan history diagnosa yang dilakukan oleh user. Pada bagian diagnosa, terdapat beberapa field yang akan diisi oleh user. Pada bagian pertama terdapat beberapa pertanyaan untuk menentukan apakah user sedang dalam kondisi stres atau tidak. Pertanyaan itu berupa kondisi user saat ini dan user hanya perlu mejawab dengan YA atau TIDAK. Pertanyaan ini mengenai kondisi user saat ini. Gambar 4. Halaman registrasi Gambar 4.3 Bagian diagnosa untuk mengetahui apakah dalam kondisi rentan stres atau tidak.
JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) 5 Kemudian bagian yang kedua adalah bagian yang harus diisi oleh user. Diantaranya usia, tinggi dan berat badan, tekanan darah, kolesterol, kadar gula darah dan intensitas merokok. Misal contoh inputan adalah sebagai berikut: Gambar 4.4 Bagian pertanyaan kedua bagian diagnosa. Gambar diatas menunjukkan contoh inputan. Kemudian setelah data yang diminta sudah lengkap dan benar, langkah selanjutnya adalah memilih tombol submit. Pada proses submit ini ada beberapa proses yang dijalankan. Salah satunya adalah menyimpan semua field diagnosa tersebut kedalam database. Hal ini dimaksudkan agar user sewaktuwaktu dapat membuka dan melihat history diagnosa dan history detailnya. Kemudian proses lainnya adalah proses perhitungan fuzzy untuk menghitung potensi stroke dan nilai defuzzifikasinya. Pada proses tersebut sistem akan menggenerate rule-rule base yang mungkin diapakai dengan nilai inputan seperti gambar 4.4. Maka hasilnya akan terlihat seperti gambar. Gambar 4.6 Rule-rule yang digenerate pada proses diagnosa 4. Ujicoba halaman history Pada uji coba kali ini akan di lihat kembali data-data inputan yang pernah dilakukan oleh user. Pada saat user memilih tombol submit pada saat diagnosa, semua inputan tersebut terlebih dahulu di simpan kedalam database. Kemudian untuk selanjutnya diolah dengan logika fuzzy untuk mendapatkan hasilnya. Pada tabel history terdapat empat kolom yaitu tanggal diagnosa, kemudian nilai defuzzifikasi dari diagnosa hasil diagnosa dan keterangan. Pada bagian keterangan hanya akan muncul tombol detail, tombol ini berfungsi untuk melihat kembali inputan data yang pernah dilakukan oleh user. Untuk history akan terlihat seperti gambar 4.7 berikut ini. Gambar 4.5 Hasil ujicoba diagnosa. Terlihat dengan inputan seperti gambar 5.4 maka user tersebut memiliki potensi kemungkinan terserang stroke dengan potensi ringan. Kemudian didalam sistem, sistem akan menggenerate rule-rule yang mungkin diapakai dengan inputan seperti sebelumnya. Rule-rule tersebut sperti gambar 4.6 berikut ini: Gambar 5.7 Uji coba halaman history Dapat dilihat bahwa hasil diagnosa sebelumnya sudah masuk kedalam history, baik tanggal history nilai diagnosa maupun hasil diagnosa. Selanjutnya jika user memilih detail, maka halaman akan menuju daftar inputan yang telah dilakukan pada saat diagnosa. Sebenarnya hasil tampilan untuk diagnosa dan history detail adalah sama, yang membedakan adalah pada halaman history detail user hanya bisa melihat inputan sebelumnya dan tidak bisa melakukan konsultasi.
JURNAL SAINS DAN SENI POMITS Vol. 2, No., (203) 2337-3520 (230-928X Print) 6 V. KESIMPULAN DAN RINGKASAN Berdasarkan penelitian tugas akhir ini maka deperoleh kesimpulan sebagai berikut:. Sistem pakar fuzzy dapat digunakan untuk mengetahui potensi stroke pada seseorang berdasarkan faktor faktor yang telah ditentukan. DAFTAR PUSTAKA [] Anonim. (202). Cara Mencegah Penyakit Stroke. http://gakbasi.com/202/07/5-cara-mencegah-penyakit-stroke.html [Diakses pada tanggal 4 maret 203] [2] Arhami, M. (2005). Konsep Dasar Sistem Pakar. Yogyakarta: Andi Offset. [3] Broto,A.S.(200). Perencanaan dan Implementasi Sistem Pakar untuk Analisa penyakit dalam. Tugas akhir Universitas Diponegoro, Semarang [4] Durkin, John. (994). Expert system design and development. USA : Macmillan, Inc. [5] Irawan, Jusak.(2007). Sistem pakar. Surabaya : STIKOM [6] Kusrini.( 2008). Aplikasi Sistem Pakar. Yogyakarta: Andi. [7] Kusumadewi, Sri. (2003). Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu [8] Sutrisno, Alfred.(2007). Stroke?? Sebaiknya anda tahu sebelum anda terserang Stroke. Jakarta: Aris Kelana