23 SISTEM PAKAR MENDETEKSI PENYAKIT DALAM DENGAN METODE
BACKWARD CHAINING MENGGUNAKAN VISUAL BASIC 2010
Agustinus Prasetyo Mahardika
Abstrak
Kurang tahunya seseorang dalam menyadari gejala-gejala penyakit dalam yang menyerang organ vital manusia karena tidak adanya waktu untuk konsultasi langsung kepada dokter spesaialis penyakit dalam, akan membuat seseorang semakin tidak mengetahui kesehatannya sendiri.
System pakar mendeteksi penyakit dalam ini adalah alat bantu dalam mendeteksi gangguan yang ada pada organ jantung, ginjal, dan liver pada manusia, yang dibuat menggunakan Visual Basic 2010. Metode yang digunakan adalah metode backward chaining, yaitu dengan cara diawali dari tujuan yang kemudian akan dicari aturan yang memiliki tujuan tersebut untuk dijadikan kesimpulan.
Manfaat dari sistem pakar mendeteksi penyakit dalam ini untuk membantu seseorang yang kurang punya waktu luang untuk konsultasi kepada dokter spesialis penyakit dalamsecara langsung. Dengan program ini diharapkan dapat membantu orang untuk mendeteksi penyakit dalam, khususnya jantung, ginjal, dan liver.
24 SISTEM PAKAR PENDETEKSI PENYAKIT KULIT PADA MANUSIA DENGAN
METODE FORWARD CHAINING
Agustinus Prasetyo Mahardika
Abstract
Less him realize someone in disease symptoms in humans that attacks vital organs due to lack of time for consultation directly to a specialist in internal medicine, will make a person less able to control their own health.
An expert system to detect the disease in this is an invaluable tool in detecting disturbances in cardiac, renal, and liver in humans, created using Visual Basic 2010. The method used is the backward chaining method, that is by starting from the goals which will then be sought rules that have to be objective conclusions.
Benefits of an expert system to detect the disease in this to help someone less had time to consult a specialist in internal medicine doctor directly. With this program expected to help people to detect diseases, especially heart, kidneys, and liver.
Keywords: Expert systems, Backward Chaining, Kidney, Heart, Liver, Visual Basic 2010
PENDAHULUAN
Banyaknya ketidaksadaran
seseorang akan gejala-gejala penyakit yang dirasakan, sering dianggap enteng dan menilai bahwa gejala-gejala yang dialami adalah gejala penyakit biasa yang tidak
berakibat fatal. Khususnya penyakit
jantung, ginjal, dan liver yang kurang
dipahami kebanyakan orang tentang
berbagai gejalanya. Karena kesibukan yang menyita waktu hingga kurangnya
konsultasi kepada dokter, membuat
seseorang semakin acuh terhadap gejala-gejala yang dialaminya. Padahal dokter-dokter juga menyarankan untuk kontrol secara rutin demi kesehatan badan. Karena gejala dari beberapa penyakit yang berbahaya itu juga terasa seperti gejala-gejala penyakit umum yang tidak begitu berbahaya.
Penggunaan teknologi informasi saat ini berkembang sangat pesat. Dengan teknologi informasi dinilai membantu
berbagai praktisi di segala bidang. Karena
dapat menyimpan data hingga
mengolahnya menjadi suatu hasil yang diinginkan pembuatnya.
Dalam ilmu komputer, banyak ahli yang berkonsentrasi pada pengembangan
kecerdasan buatan atau Artificial
Intelligence (AI). AI adalah suatu studi
kasus dimana tujuannya adalah membuat komputer dapat berpikir dan bertindak seperti manusia.
Perkembangan AI merupakan
terobosan baru dalam dunia komputer. banyak implementasi AI dalam segala bidang. Seperti Decission Support System (Sistem Pendukung Keputusan), Robotic,
Natural Language (Bahasa Alami), Neural Network (Jaringan Saraf), dan lain-lain.
Salah satu contohnya adalah sistem pakar. Sistem pakar dibuat berdasarkan dari pemikiran atau ilmu dari berbagai orang yang sudah menjadi pakar atau
25
membantu mereka dalam memecahkan masalah di bidangnya secara tak langsung. Tujuan dari sistem pakar sebenarnya bukan untuk menggantikan peran mansia, tetapi untuk mensubtitusikan pengetahuan manusia kedalam bentuk sistem, sehingga dapat digunakan oleh banyak orang. Banyak manfaat yang dapat diperoleh dari sistem pakar. Diantaranya adalah dapat meningkatkan efisiensi pekerjaan tertentu, penghematan waktu dalam menyelesaikan
masalah, pengetahuan pakar dapat
didokumentasikan tanpa ada batas waktu, dan sebagainya.
Dari masalah yang telah dibahas tersebut, dapat diperoleh rumusan masalah
yaitu bagaimana cara membantu
mengunformasikan kepada seseorang yang kurang mempunyai waktu untuk konsultasi kepada dokter guna mendeteki penyakit dalam?
Tujuannya agar terciptanya sebuah sistem pakar untuk mendeteksi penyakit
dalam sehingga dapat membantu
memberikan informasi pada masyarakat yang kurang mempunyai waktu untuk konsultasi kepada dokter spesialis penyakit
dalam untuk mendiagnosa gangguan
jantung, ginjal, dan liver.
METODOLOGI PENELITIAN
Metode penelitian yang digunakan penulis untuk memperoleh data yang diperlukan dalam laporan tugas akhir adalah sebagai berikut:
1. Sumber data
Data primer : data yang diperoleh
dengan mengadakan wawancara
secara langsung dengan pasien
RSUD Kota Semarang agar
mendapatkan informasi yang akurat.
Data sekunder : data yang diperoleh
secara tidak langsung dan didapat melalui studi pustaka.
2. Metode pengumpulan data
Wawancara : teknik pengumpulan
data dengan cara tanya jawab kepada pasien yang bersangkutan dengan sistem yang akan dibuat, lalu
melakukan pencatatan serta meminta penjelasan secara mendetail.
Observasi : teknik pengumpulan data
dengan jalan pengamatan secara langsung kondisi di lokasi-lokasi obyek yang berhubungan dengan sistem yang akan dibangun.
Studi pustaka : teknik pengumpulan
data dengan cara membaca dan mempelajari buku-buku yang ada kaitannya dengan sistem yang akan dibuat.
3. Metode pengembangan sistem
Dalam mengembangkan sistem ini, penulis menggunakan model waterfall. Berikut ini adalah gambar skema
waterfall:
Gambar 1.1 Skema Waterfall Gambar diatas adalah tahapan umum dari model proses waterfall. Akan tetapi Roger S. Pressman memecah model ini menjadi enam tahapan meskipunsecara garis besar sama dengan
tahapan-tahapan model waterfall pada
umumnya. Berikut adalah penjelasan dari tahapan-tahapan yang dilakukan didalam model ini (Pressman, 2001): 1. System / Information Engineering
and Modeling. Pemodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan
diaplikasikan kedalam bentuk
26
mengingat software harus dapat berinteraksi dengan elemen-elemen
yang lain seperti hardware,
database, dan sebagainya. Tahap ini
sering disebut dengan Project
Definition.
2. software requirments analysis.
Proses pencarian kebutuhan
diintensifkan dan difokuskan pada
software. Untuk mengetahui sifat
dari program yang akan dibuat, maka
para software engineer harus
mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dan sebagainya.
3. Design. Proses ini digunakan untuk
mengubah kebutuhan-kebutuhan
diatas menjadi representasi kedalam
bentuk perancangan software
sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.
4. Coding. Untuk dapat dimengerti oleh
mesin, dalam hal ini adalah
komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kealam bahasa pemrograman melalui proses coding. Tahap ini merupakan tahap implementasi dari tahap design yang secara teknis
nantinya dikerjakan oleh
programmer.
5. testing / Verification. Sesuatu yang
dibuat haruslah diujicobakan.
Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 6. Maintenance. Pemeliharaan suatu
software diperlukan, termasuk di
dalamnya adalah pengembangan, karena software yang dibuat tidak
selamanya seperti itu. Ketika
dijalankan mungkin saja masih ada
error kecil yang tidak ditemukan
sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada
software tersebut. Pengembangan
diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
LANDASAN TEORI Kecerdasan Buatan
Sub bidang pengetahuan komputer yang khusus ditujukan untuk membuat
software dan hardware yang sepenuhnya
bisa menirukan beberapa fungsi otak manusia disebut kecerdasan buatan atau
Artificial Intelligence (AI). Dengan demikian diharapkan komputer dapat membantu manusia dalam memecahkan berbagai masalah yang rumit. Program cerdas akan bersifat serupa dengan yang dilakukan manusia apabila menghadapi persoalan sama, tapi program tidak harus berfikir seperti manusia, namun hanya bersikap seperti apa yang dipikirkan oleh manusia (Sadeli, 2009).
Sistem Pakar
Sistem pakar dibuat berdasarkan dari pemikiran atau ilmu dari berbagai orang yang sudah menjadi pakar atau
spesialis dari suatu masalah untuk
membantu mereka dalam memecahkan
masalah dibidangnya secara tidak
langsung. Sebuah sistem pakar harus dapat menimbulkan suatu dialog dan umumnya setelah diberikan suatu jawaban, sistem pakar dapat memberikan suatu nasihat maupun solusi. Sistem pakar dapat
menyimpan dan mengumpulkan
pengetahuan seorang pakar atau beberapa pakar ke dalam komputer. pengetahuan tersebut kemudian digunakan oleh siapa saja yang membutuhkan. Tujuan sistem pakar bukan untuk menggantikan peran seorang ahli atau pakar, tetapi untuk
memasyarakatkan pengetahuan dan
27
Sistem pakar adalah salah satu cabang dari AI yang membuat penggunaan secara luas knowledge (pengetahuan) yang khusus untuk menyelesaikan masalah tingkat manusia. Seorang pakar adalah orang yang mempunyai keahlian tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya.
Kategori Sistem Pakar
Ada beberapa kategori
pengembangan sistem pakar, antara lain (Sadeli, 2009):
1. Kontrol. Contoh pengembangan
banyak ditemukan dalam kasus pasien di rumah sakit, dimana dengan
kemampuan sistem pakar dapat
dilakukan kontrol terhadap cara
pengobatan dan perawatan melalui sensor data atau kode alarm dan memberikan solusi terapi pengobatan yang tepat bagi pasien yang sakit.
2. Desain. Contoh sistem pakar di bidang
ini adalah PEACE yang dibuat oleh Dincbas pada tahun 1980 untuk
membantu desain pengembangan
sirkuit elektronik.
3. Diagnosis. Pengembangan sistem
pakar terbesar adalah di bidan diagnosis, seperti diagnosis penyakit, diagnosis kerusakan mesin kendaraan
bermotor, diagnosis kerusakan
komponen komputer, dan lain-lain.
4. Instruksi. Instruksi merupakan
pengembangan sistem pakar yang sangat berguna dalam bidang ilmu pengetahuan dan pendidikan, dimana
sistem pakar dapat memberikan
instruksi dan pengajaran tertentu terhadap suatu topik permasalahan. Contoh pengembangan sistem pakar di bidang ini adalah sistem pakar untuk pengajaran bahasa inggris, sistem pakar untuk pengajaran astronomi, dan lain-lain.
5. Interpretasi. Sistem pakar yang
dikembangkan dalam bidang
interpretasi melakukan proses
pemahaman akan suatu situasi dari beberapa informasi yang direkam. Contoh sistem yang dikembangkan dewasa ini adalah sistem untuk melakukan sensor gambar dan suara
kemudian menganalisanya dan
membuat suatu rekomendasi
berdasarkan rekaman tersebut.
6. Monitor. Sistem pakar bidang ini ada
banyak digunakan militer, yaitu
menggunakan sensor radar kemudian
menganalisisnya dan menentukan
posisi objek berdasarkan posisi radar tersebut.
7. Perencanaan. Perencanaan banyak
digunakan dalam bidang bisnis dan keuangan suatu proyek, dimana sistem pakar dalam membuat perencanaan suatu pekerjaan berdasarkan jumlah tenaga kerja, biaya, dan waktu sehingga pekerjaan menjadi lebih efisien dan lebih optimal.
8. Prediksi. Sistem pakar ini mampu
memprediksi kejadian masa
mendatang berdasarkan informasi dan model permasalahan yang dihadapi. Biasanya sistem memberikan simulasi kejadian masa mendatang tersebut,
misalnya memprediksi tingkat
kerusakan tanaman apabila terserang hama dalam jangka waktu tertentu. Programini dibuat pada tahun 1983 oleh Boulanger dengan nama PLANT.
9. Seleksi. Sistem pakar dengan seleksi
mengidentifikasikan pilihan terbaik
dari beberapa daftar pilihan
kemungkinan solusi. Biasanya sistem
mengidentifikasikan permasalahan
secara spesifik, kemudian mencoba untuk menemukan solusi yang paling mendekati kebenaran.
10.Simulasi. Sistem ini memproses
operasi beberapa variasi kondisi yang ada dan menampilkannya dalam
bentuk simulasi. Contoh adalah
program PLANT yang sudah
28
mampu menganalisis hama dengan berbagai kondisi suhu dan cuaca.
Unified Modelling Language (UML) Unified Modelling Language
(UML) adalah sistem notasi yang sudah dibakukan di dunia pengembangan sistem, hasil kerja bersama dari Graddy Booch, James Rumbaugh dan Ivan Jacobson. UML terdiri dari serangkaian diagram memungkinkan bagi sistem analis untuk
membuat cetak biru sistem yang
komprehensif kepada klien, programmer, dan tiap orang yang terlibat dalam proses pengembangan tersebut (Munawar, 2005).
Menurut Pudjo dan Herlawati
(2011), UML (Unified Modeling
Language) berarti bahasa pemodelan
standar. UML bukan hanya sekedar
diagram, tetapi juga menceritakan
konteksnya.
Backward Chaining
Backward chaining merupakan
proses perunutan yang arahnya kebalikan dari runut maju. Proses penalaran runut balik dimulai dengan tujuan (goal) kemudian merunut balik ke jalur yang akan mengarahkan ke goal tersebut,
mencari bukti-bukti bahwa itu
diaplikasikan ketika tujuan atau hipotesis yang dipilih itu sebagai titik awal penyelesaian masalah. Disebut juga
goal-driven search (Hartati, 2008).
Penyakit Dalam Jantung
Jantung merupakan organ tubuh bagian dalam yang berfungsi memompa darah keseluruhn organ tubuh lainnya secara merata dan menyeluruh tanpa ada sensor atau bergerak secara spontan (Bakri, 2007).
Jantung hampir sepenuhnya
diselubungi oleh paru-paru, namun tertutup oleh selaput ganda yang bernama perikardium yang tertempel
pada diafragma. Lapisan pertama
menempel erat pada jantung, sedangkan
lapisan luarnya lebih longgar dan berair untuk menghindari gesekan antar organ dalam tubuh yang terjadi karena gerakan memompa konstan jantung (Sutikno, 2007)
Ginjal
Sebagai bagian dari sistem urin, ginjal berfungsi menyaring kotoran dari
darah dan membuangnya bersam
dengan air dalam bentuk urin. Manusia memiliki sepasang ginjal yang terletak di belakang perut atau abdomen. Ginjal ini terletak di kanan dan di kiri tulang belakang, di bawah hati dan limpa. Di bagian atas ginjal (superior) ginjal terdapat kelenjar adrenal, juga disebut
suprarenal. Sebagian dari bagian atas
ginjal dilindungi oleh iga kesebelas dan duabelas. Kedua ginjal dibungkus oleh
dua lapisan lemak, yaitu lemak
perirenal dan lemak pararenal yang
membantu meredam gincangan
(Suhardjono, 2007).
Liver
Hati (liver) merupakan salah satu organ yang sangat penting perannya dalam mengatur metabolisme tubuh, yaitu dalam proses anabolisme atau sintesis bahan-bahan yang penting
untuk kehidupan manusia seperti
sintesis protein dan pembentukan
glukosa (Akbar, 2009).
Hati adalah organ yang sangat
bertanggung jawab dalam
melaksanakan proses metabolisme obat terutama obat-obatan yang diberikan secara oral (Tendean, 2007).
ANALISA DAN PERANCANGAN
Penyakit dalam adalah penyakit yang kemungkinan ada pada setiap orang.
Terbatasnya pengetahuan seseorang
mengenai penyakit dalam membuat
seseorang kadang merehmehkan gejala-gejala penyakit yang terjadi. Pada saat ini
untuk mengetahui penyakit dalam
29
seorang pakar, dengan mengisi sejumlah
quistionare. Dari situ dapat diketahui
permasalahan yang ada adalah
membangun sistem pendeteksi penyakit dalam yang berbasiskan sistem pakar, yang dapat digunakan untuk mendeteksi jenis penyakit dalam seseorang secara mandiri sehingga seseorang mempuyai referensi
mengenai gambaran penyakit dalam
dengan gejala-gejala yang dialaminya.
Perancangan Metode Backward Chaining
Metode ini digunakan untuk
melakukan pencarian penyakit dan
kesimpulan dengan cara mencocokkan fakta yang mendukung dari suatu penyakit.
Jika fakta yang mendukung tidak
memenuhi total fakta, maka penyakit akan bernilai false. Pencarian ini akan diulangi ke penyakit selanjutnya dengan fakta yang bernilai sama hingga nantinya menemukan jalan buntu (semua penyakit bernilai false atau sama). Ketika penyakit bernilai sama (false atau true), sistem hanya akan mengambil penyakit dari baris terakhir pada tabel hasil diagnosa. Karena sistem ini hanya memberikan informasi tentang
kemungkinan penyakit yang diderita
melalui gejala-gajala yang dipilih dalam sistem.
Use Case Diagram
Konsultasi Bantuan Tambah Aturan Menu Utama
Gambar 1.Use Case Diagram
Class Diagram
Gambar 2.Class Diagram
Sequence Diagram
: User Menu Utama Konsultasi Kesimpulan Bantuan
Mendapat Kesimpulan
Tampilan Form Menu Utama
: Pakar : frmLogin : login Input username dan password( )
validasi( ) get_data( )
selesai( )
30 : Pakar : Login : Tambah Aturan : Aturan : Ubah_Password : Password Baru
Tampilan Form Tambah Aturan Input password Login
Pilih Menu tambah Aturan
Input Gejala, Penyakit, dan Aturan
Meny impan Input Password Baru
Menyimpan
Gambar 4.Sequence Diagram Pakar
Activity Diagram
Memilih Menu
Memilih Konsultasi
Menu Utama
Form Konsultasi Tidak
Tampil Form Konsultasi Ya
Form Bantuan
Tampil Form Kesimpulan Tidak
Ya
Sistem User
Gambar 5.Activity Diagram User
Login
Memilih Menu Ya
Menu Utama
Tidak
Menu Tambah Aturan
Input gejala, penyakit, dan aturan
Ya Tidak
Menu Bantuan
Ubah Password Sistem Pakar
Gambar 6.Activity Diagram Pakar
IMPLEMENTASI DAN PENGUJIAN
Gambar 7. Implementasi Form Menu Utama
Gambar 8. Implementasi Form Ubah Password
31
Gambar 10. Implementasi Form Cek Ginjal
Gambar 11. Implementasi Form Cek Liver
Gambar 12. Implementasi Form Kesimpulan
Gambar 13. Implementasi Form Bantuan
32
Gambar 15. Implementasi Form Tambah Aturan Ginjal
Gambar 16. Implementasi Form Aturan Liver
Hasil pengujian White Box
Untuk pengujian menggunakan metode
white box adalah pengujian berbasis path.
Dengan menggunakan basis path ini
memungkinkan desainer test case
mengukur kompleksitas logis dari desain prosedural dan menggunakannya sebagai pedoman untuk menetapakan basis set dari setiap jalur eksekusi.
Bagan Alir
Gambar 17. Bagan Alir Proses Diagnosa
33
a. Grafik Alir
Gambar 18. Grafik Alir Proses Diagnosa
b. Kompleksitas siklomastis (pengukuran
kuantitatif kompleksitas logis suatu program) dari grafik alir dapat diperoleh dengan perhitungan :
E = Jumlah Edge grafik alir N = Jumlah Simpul grafik alir
Sehingga kompleksitas Siklomatisnya V(G) = 10 – 8 + 2 = 4
c. Basis Set yang dihasilkan
1 – 2 – 3 – 8 1 – 2 – 4 – 5 – 8 1 – 2 – 4 – 6 – 7 – 8 1 – 2 – 4 – 6 – 8
Hasil Pengujian Black Box
Uji balack box ini dilakukan pada program menu utama dari sistem pakar untuk mendiagnosa penyakit kulit dengan hasil sebagai berikut :
Table 1. Hasil Pengujian Black Box
Pemeliharaan Program
Pada saat program digunakan oleh pengguna (user), mungkin ditemukan error
ketika dijalankan. Oleh karena itu
diperlukan pemeliharaan terhadap
program. Pemeliharaan terhadap program yang dimaksud adalah sebagai berikut:
1. Bila terjadi error ketika menjalankan
program, maka pemeliharaan yang dilakukan adalah dengan mengulangi
menjalankan program dan
menggunakan komputer dengan
spesifikasi yang direkomendasikan.
2. Melakukan desain ulang tiap bulan
sekali agar tampilan tidak terlihat penuh.
3. Melakukan back up ke media
penyimpanan luar yang lain untuk menjaga data program misalnya dengan melakukan penggandaan dalam CD atau flashdisk.
KESIMPULAN 1
2
4
6
8
3
5
7
34
Dari hasil pembahasan dapat
diperoleh kesimpulan bahwa dengan sistem pakar ini mampu memberikan informasi tentang kemungkinan penyakit dalam yang diderita melalui gejala-gejala yang dipilih dalam sistem. Saran yang
dianjurkan adalah tetap melakukan
pemeriksaan ke dokter agar lebih jelas tentang apa yang diderita melalui gejala-gejala yang dirasakan. Dan untuk sistem ini sendiri harus di maintenance setiap bulan sekali agar tetap berjalan dengan lancar tanpa kesalahan atau error.
DAFTAR PUSTAKA
Akbar, Nurul, Kelainan Hati dan
Kehamilan, Elex Media
Komputindo, Jakarta, 2009
Bakri, Syakib, Radiologi Jantung, Balai Penerbit FKUI, Jakarta, 2007
Hartati, Sri, Sistem Pakar &
Pengembangannya, Graha Ilmu,
Yogyakarta, 2008
Kusrini, Aplikasi Sistem Pakar, Andi Offset, Yogyakarta, 2008
Pudjo Widodo, Prabowo dan Herlawati,
2011, Menggunakan UML,
Informatika, Bandung
Sadeli, Muhammad, 2009, Membuat
Sistem Pakar Sederhana
Menggunakan Visual Basic, Andi
Offset, Yogyakarta
Sutikno, 2007, Pemeriksaan Sistem
Kardiovaskular dengan Radioisotop, Balai Penerbit FKUI,
Jakarta
Tendean, Nelly Wenas, 2007, Kelainan
Hati Akibat Obat, Balai Penerbit