Implementasi Backward chaining Dalam Pendeteksian Penyakit Anemia

(1)

IMPLEMENTASI BACKWARD CHAINING DALAM

PENDETEKSIAN PENYAKIT ANEMIA

SKRIPSI

RIZKY HAFIZA KHOR

071402025

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

IMPLEMENTASI BACKWARD CHAINING DALAM PENDETEKSIAN PENYAKIT ANEMIA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ijazah Sarjana Teknologi Informasi

RIZKY HAFIZA KHOR 071402025

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(3)

PERSETUJUAN

Judul : IMPLEMENTASI BACKWARD CHAINING

DALAM PENDETEKSIAN PENYAKIT

ANEMIA

Kategori : SKRIPSI

Nama : RIZKY HAFIZA KHOR

Nomor Induk Mahasiswa : 071402025

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM- TI)

UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Desember 2013

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dedy Arisandi, S.T, M.Kom Maya Silvi Lydia, B.Sc.,M.Sc NIP. 19790831 200912 1 002 NIP. 19740127 200112 2 001

Diketahui/Disetujui Oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof.Dr. Opim Salim Sitompul NIP. 19610817 198701 1001


(4)

PERNYATAAN

IMPLEMENTASI BACKWARD CHAINING DALAM PENDETEKSIAN PENYAKIT ANEMIA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Desember 2013

Rizky Hafiza Khor 071402025


(5)

PENGHARGAAN

Alhamdulillah, puji dan syukur penulis panjatkan kehadirat Allah SWT, serta shalawat dan salam kepada junjungan kita nabi Muhammad SAW, karena atas berkah, rahmat dan hidayahnya penulis dapat menyelesaikan penyusunan skripsi ini. Ucapan terima kasih yang tidak terhingga kepada Allah SWT yang selalu membimbing dan mengajarkan saya akan pentingnya kesabaran dan tanggung jawab selama penyusunan skripsi ini.

Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dorongan dari pihak lain. Dalam kesempatan ini dengan segala kerendahan hati, penulis mengucapkan terima kasih kepada :

1. Kedua orang tua penulis, yaitu Ayahanda Dr. Ronny Khor yang selalu memberikan doa, dukungan moril dan materi kepada penulis serta Ibunda Alm. Tengku Marfella Yetty yang telah membimbing dan membesarkan kami. Kepada Kakanda tercinta Imelda Juliana Khor,Spd, Rina Khor,S.Farm.,Apt, Noviani Juliana Khor, SE, dan Abangda tercinta Jamaluddin Sinaga,Spd, Fauzan Ikhva,S.Farm, M.Yakub Arifin Nasution, SH, yang terus memberikan penulis semangat untuk terus belajar.

2. Ketua program studi Teknologi Informasi, Bapak Prof. Opim Salim Sitompul, M.Sc dan Sekretaris Program Studi Teknologi Informasi Bapak Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen pada Program Studi Teknologi Informasi dan pegawai Teknologi Informasi ibu Delima Harahap, Ibu Dra. Bamelia, Bang Faisal Hamid, Kak Maya Sofhia, S.Kom, dan Kak Nasriatul Ummi, Amd.

3. Ibu Maya Silvi Lydia, B.Sc., M.Sc dan Bapak Dedy Arisandi, S.T, M.Kom selaku dosen pembimbing penulis yang telah meluangkan waktu, tenaga dan pikiran untuk menyelesaikan skripsi ini.


(6)

4. Ibu Erna Budhiarti Nababan, M.IT dan Bapak M.Fadly Syahputra, B.Sc.,M.Sc.IT selaku dosen pembanding yang telah banyak memberikan petunjuk, saran dan kritik dalam menyelesaikan skripsi ini.

5. Teman-teman penulis Andra Apriansyah, Roni Alamsyah Lubis, Rizky Afiati, Devika Muhairani, Bayhaqi, Mega Kartika Sari, Aulia Mufardiah, Asmy Novriani atas bantuan, masukan, motivasi, hiburan dan kerjasamanya.

Dalam penyusunan skripsi ini penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini.

Akhir kata penulis mengharapkan semoga skripsi ini dapat bermanfaat dan membantu semua pihak yang memerlukannya.


(7)

ABSTRAK

Sistem pakar merupakan perangkat lunak yang ditujukan sebagai penyedia sarana dan bantuan dalam memecahkan masalah dalam bidang pengetahuan tertentu. Penelitian ini mengimplementasikan metode backward chaining dalam mendeteksi penyakit dalam. Salah satu aplikasi dari sistem pakar adalah di bidang kesehatan atau medis, tapi masalahnya sampai sekarang belum meratanya dokter spesialis di Indonesia, sehingga di beberapa daerah masih kekurangan staf medis. Sistem ini dapat membantu mencari gejala-gejala yang berkaitan dengan penyakit, memanfaatkan teknologi informasi yaitu penggunaan sistem pakar untuk membantu mendiagnosa penyakit serta membantu menangani pengobatan penyakit dengan cara dialog interaktif tentang gejala-gejala penyakit pasien. Sistem ini berbasis desktop dan dirancang menggunakan bahasa program visual basic.


(8)

BACKWARD CHAINING IMPLEMENTATION IN THE DETECTION OF INTERNAL MEDICINE

ABSTRACT

Expert system is a software intended as a provider of tools and assistance in solving problems in a particular field of knowledge. This study implements backward chaining method in detecting the internal medicine disease. One of application expert systems is in the health or medical field, but the problem is until now not yet even a specialist in Indonesia, so that in some areas still lack staf medis. This system can help find the symptoms associated with the disease, utilizing information technology is the use of expert systems to help diagnose the disease and help deal with the treatment of disease by means of an interactive dialogue about the patient’s symptoms. This system is a desktop based and designed using visual basic programming language.


(9)

ABSTRAK

Sistem pakar merupakan perangkat lunak yang ditujukan sebagai penyedia sarana dan bantuan dalam memecahkan masalah dalam bidang pengetahuan tertentu. Penelitian ini mengimplementasikan metode backward chaining dalam mendeteksi penyakit dalam. Salah satu aplikasi dari sistem pakar adalah di bidang kesehatan atau medis, tapi masalahnya sampai sekarang belum meratanya dokter spesialis di Indonesia, sehingga di beberapa daerah masih kekurangan staf medis. Sistem ini dapat membantu mencari gejala-gejala yang berkaitan dengan penyakit, memanfaatkan teknologi informasi yaitu penggunaan sistem pakar untuk membantu mendiagnosa penyakit serta membantu menangani pengobatan penyakit dengan cara dialog interaktif tentang gejala-gejala penyakit pasien. Sistem ini berbasis desktop dan dirancang menggunakan bahasa program visual basic.


(10)

BACKWARD CHAINING IMPLEMENTATION IN THE DETECTION OF INTERNAL MEDICINE

ABSTRACT

Expert system is a software intended as a provider of tools and assistance in solving problems in a particular field of knowledge. This study implements backward chaining method in detecting the internal medicine disease. One of application expert systems is in the health or medical field, but the problem is until now not yet even a specialist in Indonesia, so that in some areas still lack staf medis. This system can help find the symptoms associated with the disease, utilizing information technology is the use of expert systems to help diagnose the disease and help deal with the treatment of disease by means of an interactive dialogue about the patient’s symptoms. This system is a desktop based and designed using visual basic programming language.


(11)

BAB I PENDAHULUAN

1.1Latar Belakang

Perkembangan ilmu pengetahuan saat ini sangat berpengaruh dalam membantu seseorang dalam pemenuhan kebutuhan hidup sehari-hari terutama perkembangan teknologi di bidang komputer yang pada saat sekarang ini berkembang cepat sekali. Dengan menggunakan teknologi komputer seseorang dapat mengetahui suatu informasi yang berkaitan langsung dengan pekerjaan. Banyak masalah yang dihadapi didalam bidang-bidang tersebut, terutama masalah yang memerlukan pemprosesan komputer yang kompleks dan rumit. Salah satu solusi yang bisa diterapkan adalah dengan memanfaatkan bidang ilmu kecerdasan buatan, yang mana salah satu sub-bidang ilmu tersebut adalah sistem pakar (expert system).

Penerapan sistem komputer sangat membantu masyarakat dalam menyelesaikan permasalahan di bidang kesehatan. Metode backward chaining (runut balik) merupakan metode yang cocok digunakan dalam memecahkan masalah diagnosis. Dalam metode backward chaining (runut balik), penalaran dimulai dengan tujuan merunut balik ke jalur yang akan mengarahkan ke tujuan tersebut menurut Giarattano dan Riley dalam (Kusrini, 2006). Sistem pakar adalah suatu metode penyelesaian masalah yang ditujukan sebagai penyedia nasihat dan sarana bantu dalam memecahkan masalah di bidang pengetahuan tertentu (Luger, 2005). Sistem komputerisasi dapat digunakan untuk menyelesaikan suatu pekerjaan dengan mudah, cepat, efektif, dan efisien.

Sistem pakar dalam bidang kesehatan berguna untuk membantu masyarakat dalam menangani suatu gejala penyakit, dan membantu dokter ahli dalam mendiagnosis suatu penyakit khususnya anemia. Saat ini penyebaran dokter spesialis sangat minim di Indonesia, sehingga di daerah-daerah tertentu masih kekurangan informasi suatu penyakit dan kurangnya tenaga medis seperti dokter spesialis.

Untuk menangani masalah kurangnya dokter spesialis, maka sistem pakar ini dapat menyelesaikan permasalahan tersebut dengan melakukan tahap-tahap pertanyaan suatu gejala penyakit serta mendiagnosis penyakit tersebut dan


(12)

memberikan solusi pengobatan yang tepat kepada pasien, dengan begitu sistem pakar dapat membantu cara kerja tenaga medis khususnya dokter spesialis.

Berdasarkan penjelasan (Waterman, 1986), sistem pakar mampu untuk menyelesaikan beberapa kategori masalah yang ada, seperti : interpretasi, prediksi, diagnosis, desain, perencanaan, pemantauan, instruksi dan kontrol. Berdasarkan domain masalah yang kami kemukakan yaitu dibidang diagnosis penyakit, maka dalam penulisan skripsi ini kami membuat sebuah Implementasi Backward Chaining dalam Pendeteksian Penyakit Anemia.

1.2 Rumusan Masalah

Adapun rumusan masalah berdasarkan latar belakang yang telah dijelaskan adalah “Bagaimana Implementasi Backward Chaining melakukan diagnosis terhadap penyakit-penyakit anemia, serta dapat memberikan solusi mengenai pengobatan yang tepat terhadap penyakit tersebut”.

1.3 Batasan Masalah

Ruang lingkup masalah ini adalah :

1. Sistem pakar ini membahas tentang penyakit anemia. 2. Sistem pakar yang dirancang berbasis desktop. 3. Perangkat Lunak yang digunakan Visual Basic 2008.

1.4 Tujuan penelitian

Tujuan penelitian ini adalah menghasilkan sistem pakar yang dapat menyelesaikan permasalahan yang berhubungan dengan bidang kedokteran khususnya di penyakit anemia dengan menggunakan backward chaining.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah dengan pembuatan aplikasi ini maka masyarakat dapat lebih cepat mengetahui jenis penyakit yang diderita dengan menggunakan aplikasi yang disediakan.


(13)

1.6.1 Metode Pengumpulan Data 1. Studi Literatur

Studi literatur yang dilakukan dalam penulisan skripsi ini adalah mengumpulkan bahan referensi mengenai Sistem Pakar dengan menggunakan metode backward chaining dari berbagai buku, jurnal, karya ilmiah dan beberapa referensi lainnya. Pengumpulan hasil penelitian yang sudah diterapkan dibidang kesehatan dengan menggunakan expert system juga akan di lakukan.

2. Wawancara

Melakukan wawancara langsung dengan dokter ahli yang menjadi pakar dari penyakit tersebut. Mengambil konklusi dan fakta-fakta yang merupakan penyakit dan penyebab penyakit pada transportasi darah tersebut.

1.6.2 Analisis Data

Analisis Data dilakukan untuk menyimpulkan data yang digunakan apakah layak digunakan dan bisa diterapkan dengan menggunakan sistem pakar yang berpola backward chaining. Analisis terhadap data juga dilakukan untuk mengambil model dasar dari perancangan sistem, seperti model entity-relationship di dalam database yang disesuaikan untuk permasalahan ini. 1.6.3 Perancangan Sistem

Sistem dirancang menggunakan Flowchart, Context Diagram, Data Flow Diagram Level 1 dan Data Flow Diagram Level 2. Pada tahap ini juga dilakukan perancangan sistem agar dapat menerapkan metode pengambilan alasan (reasoning) menggunakan Backward Chaining.

1.6.4 Implementasi & Pengujian

Pada tahap ini akan dilakukan implementasi sistem, yaitu dengan menerapkannya menggunakan bahasa pemprograman Visual Basic 2008 dan database MySQL. Untuk pengujian sistem, akan dilakukan penyesuaian hasil yang didapat oleh sistem dengan keputusan yang dihasilkan oleh sang pakar (dalam hal ini dokter pakar dalam penyakit anemia). Tingkat kebenaran yang dihasilkan akan dipaparkan dalam bentuk presentase kebenaran.


(14)

1.7 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi menjadi lima bab, yaitu sebagai berikut:

BAB 1 Pendahuluan

Berisikan konsep dasar, landasan teori, rumusan masalah, batasan masalah, manfaat penelitian, metode penelitian dan sistematika penulisanlaporan tugas akhir ini.

BAB 2 Tinjauan Pustaka

Pada bab ini dibahas mengenai teori-teori yang mendukung pembahasan pada bab selanjutnya, implementasi backward chaining dalam pendeteksian penyakit darah.

BAB 3 Analisis dan Perancangan Sistem

Pada bab ini akan dibahas bagaimana analisis sistem dilakukan, mulai dari pengambilan keperluan, keperluan pengguna, keperluan fungsionalitas sistem, hingga keperluan fungsionalitas laporan. Kemudian akan dilakukan desain terhadap sistem yang akan dibangun, proses ini melibatkan pembuatan Flowchart, Context Diagram, Data Flow Diagram Level 1 dan Data Flow Diagram Level 2 beserta penjelasananya, kemudian dilanjutkan dengan melakukan perancangan antar muka pengguna dan struktur program sistem pakar dengan menggunakan backward chaining. BAB 4 Implementasi dan Pengujian Sistem

Berisikan gambaran dari struktur program dan memberikan hasil penerapan sistem yang lengkap kepada user dan pemakai komputer lain serta sehinga dapat dilakukan pengujian terhadap sistem yang dihasilkan.

BAB 5 Penutup

Berisikan kesimpulan, saran, dan rangkuman dari laporan tugas akhir.


(15)

BAB II

LANDASAN TEORI

2.0 Pendahuluan

Pada bab ini, kami akan menjabarkan tentang berbagai penyakit darah klinis yang biasa bisa klasifikasikan oleh para dokter pakar khususnya penyakit darah, disini kami juga menjabarkan apa itu sistem pakar, karakteristik sistem pakar, beserta implementasi dan penerapan sistem pakar pada bidang kesehatan dan kedokteran.

2.1 Penyakit Darah 2.1.1 Anemia

Menurut definisi yang dikemukakan oleh (Hillman, 2002) anemia adalah keadaan dimana masa eritrosit (sel darah merah) dan masa hemoglobin yang beredar tidak dapat memenuhi fungsinya untuk menyediakan oksigen bagi jaringan tubuh, sedangkan oleh (Bakta, 2003) secara laboratorik dapat diuraikan sebagai penurunan di bawah normal kadar hemoglobin, hitung eritrosit dan hematokrit (packed red cell).

Anemia dapat dibedakan menjadi 5 jenis besar yaitu: 1. Anemia Hipokromik Mikrositer

2. Anemia Megaloblastik 3. Anemia Hemolitik

4. Anemia karena Kegagalan Sumsum Tulang 5. Anemia Pada Penyakit Sistemik

Pada umumnya untuk menegakkan diagnosis terhadap penyakit anemia maka ada 3 langkah yang harus ditempuh, yaitu :

1. Langkah pertama : Membuktikan adanya anemia, pembuktian ini biasanya menggunakan pendekatan klinik.

2. Langkah kedua : Menetapkan jenis anemia yang dijumpai, pembuktian ini biasanya menggunakan pendekatan klinik.

3. Langkah ketiga : Menetapkan jenis anemia yang dijumpai, pembuktian ini biasanya menggunakan pendekatan epidemilogik.


(16)

2.1.2 Leukemia

Sebelum mengurai penyakit leukemia, perlu diketahui mengenai keganasan hematologik, keganasan hematoligik adalah proses enoplastik yang mengenai darah dan jaringan pembentuk darah beserta seluruh komponennya (Bakta, 2002). Sedangkan leukemia ialah keganasan hematologik akibat proses neoplasti yang disertai gangguan diferensiasi apada berbagai tingkatan sel induk sehingga terjadi ekspansi progresi dari kelompok sel ganas tersebut pada sumsum tulang, kemudian leukemia beredar secara sistemik (Harmening, 2002).

2.1.3 Limfoma Maligna

Limfoma Maligna merupakan suatu penyakit keganasan primer dari jaringan limfoid yang bersifat padat (solid), meskipun dapat menyebar secara sistemik (Bakta, 2003). Penyakit ini dibagi kedalam 2 jenis yaitu :

1. Limfona Hodgin 2. Limfona non-Hodgin

Penyakit ini merupakan keganasan hematologik yang cukup sering di jumpai. Penyakit ini dapat disembuhkan dengan kemoterapi karena masih merupakan tumor padat yang dapat disembuhkan.

2.1.4 Gamopati Monoklonal

Gamopati monklonal adalah suatu penyakit yang merupakan kelainan hematologik yang berasal dari limfosit yang menghasilkn paraprotein yang bersifat monoklonal (Hillman, 2002). Penyakit ini biasa disebut dengan penyakit imunoproliferatif atau plasma cell disorders atau paraproteinemias. Penyakit ini dibagi kepada 2 jenis berdasarkan keganasannya, yaitu :

1. Mieloma Multipel

2. Makroglublinemia Waldenstrom

2.2 Sistem Pakar

Berdasarkan penjelasan oleh (Luger, 2005) dan (Krishnamoorthy, 1996). Sistem pakar dapat diartikan sebagai sebuah sistem didalam komputer yang di program dan didesain untuk berperan sebagai pakar/ahli untuk menyelesaikan masalah di


(17)

bidang keahlian yang sesuai dengan pakar di kehidupan nyata. Sistem pakar ini memfasilitasi pengetahuan yang di masukkan kedalam program dan memiliki pengaturan strategi agar menghasilkan solusi atau keputusan. Bahkan menurut (Russel, 2002), sistem pakar dapat mengambil pengetahuan dan pengalaman didalam suatu organisasi (termasuk yang sudah berhenti) agar dapat diakumulasikan menjadi satu kesatuan, memberikan informasi untuk meningkatkan produktivitas pakar, dan menjadikan seseorang yang kurang pengalaman untuk memiliki keahlian yang lebih tinggi dari level sebelumnya.

Sistem pakar bukanlah sebuah program, tetapi merupakan sistem, karena pada perkomputeran biasa, penyelesaian masalah dan pengambilan keputusan tidak bisa dilakukan, akan tetapi sistem pakar dapat melakukan hal yang dimaksud karena memiliki kemampuan dalam pengetahuan dan kemampuan metafsirkan alasan layaknya pakar manusia. Program komputer biasa hanya menyelesaikan masalah berdasarkan algoritma yang diterapkan dan sudah didefinisikan terlebih dahulu, dan tidak dapat menyelesaikan masalah yang memiliki data tidak sempurna dan tepat.

Sistem pakar juga memiliki beberapa komponen berbeda seperti basis pengetahuan, mesin inferensi, fasilitas penjelasan, dll. Semua komponen yang berbeda ini berinteraksi satu dengan yang lain dalam menghasilkan pemprosesan penyelesaian masalah berdasarkan aturan yang disesuaikan dengan pakar di bidang tersebut.

Sistem pakar merupakan cabang ilmu Kecerdasan Buatan yang telah eksis dan diterapkan lebih dari 30 tahun. Pemanfaatan sistem pakar telah merambah ke banyak bidang, mulai dari medis, matematika, engineering, pertanian, geologi, ilmu komputer, bisnis, hukum, pertahanan dan pendidikan (Waterman, 1986). Khusus di bidang kesehatan dan medis, sistem pakar memiliki tempat yang istimewa, dikarenakan komplesitas dari gejala-gejala penyakit dan kecendrungan kesalahan pendiagnosaan, menjadikan sistem pakar dapat dimanfaatkan dengan baik oleh pengguna.


(18)

2.2.1 Karakteristik Sistem Pakar

Berdasarkan pendapat (Luger, 2005), dikarenakan sifat heuristik, kesesuaian dengan basis pengetahuan, sistem pakar pada umumnya mampu untuk:

a. Mendukung inspeksi terhadap proses reasoning (pengambilan alasan), didalam langkah awal maupun penjawaban pertanyaan pada proses pensolusian.

b. Memberikan akses muda dalam penambahan dan pengurangan rule (aturan) berupa fakta dan tujuan di dalam basis pengetahuan.

c. Pengambilan alasan secara heuristik, biasanya menggunakan pengetahuan untuk mendapatkan solusi yang berguna.

Ketepatan dari jawaban sebuah permasalahan merupakan hal yang paling utama dari sebuah sistem pakar, seberapa cepat sistem pakar memproses solusi adalah suatu masalah lain, jika solusi yang dihasilkan memberikan akurasi yang baik tentunya akan menjadikan sistem pakar tersebut lebih baik. Disisi lain sistem pakar yang baik harus memiliki kecepatan dalam mendapatkan solusi yang diinginkan. Sistem pakar bisa memiliki peran sebagai pembuat keputusan bahkan bisa dijadikan sebagai konsultan ataupun penasihat, (Waterman, 1986) menjabarkan dalam bukunya bahwa sistem pakar dapat menyelesaikan masalah untuk jenis kategori sebagai berikut :

a. Interpretation (Interprestasi) : Menghasilkan kesimpulan level tinggi dari koleksi data mentah.

b. Prediction (Prediksi) : Memproyeksikan konsekuensi kemungkinan dari situasi yang diberikan.

c. Diagnosis (Diagnosa) : Menentukan sebab dari tidak berfungsinya situasi yang rumit berdasarkan gejala yang diteliti.

d. Design (Desain) : Menemukan pengaturan komponen suatu sistem sehingga mendekati perfoma yang diinginkan dan memenuhi batasan yang telah ditetapkan.

e. Planning (Perencanaan) : Memberikan langkah tindakan yang berorientasi pada kumpulan tujuan dengan kondisi yang telah ditentukan dan batasan berdasarkan waktu.


(19)

f. Monitoring (Pengawasan) : Membandingkan proses sistem yang diawasi dengan proses yang seharusnya terjadi.

g. Instruction (Instruksi) : Memberikan proses pembelajaran pada area teknikal suatu bidang.

h. Control (Kendali) : Melakukan kendali terhadap lingkungan yang rumit.

(Micheal Negnevitsky, 2002), pada bukunya menjabarkan bahwa karakteristik yang unik pada sistem pakar adalah pada kemampuan penjelasan yang disediakan. Fitur ini memberikan sistem kemampuan melakukan evaluasi terhadap pemberian alasan sistem itu sendiri dan menjelaskan keputusan yang diambil.

2.2.2 Arsitektur Sistem Pakar

Pada gambar dibawah ini kami jabarkan arsitektur lengkap suatu sistem pakar

Gambar 2.1 Arsitektur Lengkap Sistem Pakar (Ahmad, 2012) Knowledge

Acquisiion Facilty

Knowledge Base Rule: If-Then

Working Memory Fact

Inference Engine

Explanation Facilities

User Interface

User

database STORE

VIEW Medical


(20)

Gambar 2.1 menjelaskan bahwa sistem pakar memiliki beberapa buah komponen yang berbeda, diantaranya adalah :

a. Knowledge Acquisition Facility

Mengidentifikasi pakar yang sesuai dan melibatkan orang yang sesuai didalam proses pengambilan pengetahuan merupakan hal yang penting untuk kesuksesan dari pengambilan pengetahuan. Beberapa orang yang terlibat dalam pengambilan pengetahuan ini dapat dikategorikan yaitu :

1. Pakar dibidang masalah yang ingin dilakukan dengan pengalaman kerja yang tinggi dibidang tersebut.

2. Pembuat aplikasi, orang yang memiliki kemampuan dalam menafsirkan dan menerjemahkan pengetahuan serta mengimplementasikan pengetahuan tersebut kedalam sistem pakar.

3. Pengguna dan manajer.

Ada beberapa hal isu yang harus diperhatikan untuk melakukan pengambilan pengetahuan. Isu pertama yaitu adalah pemilihan pakar bidang tersebut yang sesuai harus memenuhi 3 kriteria, yaitu reputasi yang baik, karakter pakar dan sikap yang baik, serta ketersediaan waktu dari pakar tersebut. Isu kedua adalah seberapa banyak pakar yang akan dilibatkan dalam pengambilan pengetahuan. Penggunaan satu pakar biasanya lebih baik dari banyak pakar, akan tetapi untuk kasus tertentu kadang diperlukan banyak pakar untuk mengumpulkan pengetahuan yang diinginkan. Ada beberapa masalah yang mungkin timbul jika menggunakan satu pakar, yaitu : susahnya membagi waktu seorang pakar untuk pengambilan keperluan, bias seorang pakar, keterbatasan pengambilan alasan oleh satu pakar, kepakaran yang terbatas. Dari isu ini maka perlu diambil keputusan mana yang diperlukan, seorang pakar atau banyak pakar dalam membuat sistem pakar yang diinginkan.

Metode yang biasa digunakan untuk pengambilan pengetahuan adalah wawancara, observasi, dan analisis protokol. Setiap metode memiliki kesesuaian dengan bidang ilmu yang ingin diambil pengetahuannya, akan tetapi wawancara merupakan metode yang cukup umum digunakan.


(21)

b. Knowledge Base

Menurut (Luger, 2005) didalam bukunya, ia berpendapat bahwa knowledge base (basis pengetahuan) adalah hati dari sistem pakar. Basis pengetahuan mengandung pengetahuan dari bidang ilmu yang diinginkan. Pada jenis sistem pakar berbasis aturan, basis pengetahuan ini biasanya dituliskan dalam bentuk jika...maka.... Aturan yang terdapat didalam basis pengetahuan menjadi dasar dari pengambilan keputusan yang ada didalam sistem pakar.

Dari sisi teknis, tidak ada fungsi yang lebih penting daripada memilih rangka kerja pemrograman untuk basis pengetahuan. Rangka kerja ini merepresentasikan bagaimana pembangun sistem pakar dapat mengklasifikasikan pengetahuan tersebut. Pada bagian ini juga dapat di tuliskan aturan (rules), frame dan pohon keputusan. Ada beberapa jenis hal yang dapat di atur didalam basis pengetahuan, seperti pengalasan tidak pasti (inexact reasoning) dan pemprosesan kemampuan prosudural.

Perwakilan Pengetahuan, merupakan bagian untuk membangun sistem berbasis pengetahuan, dan dapat diklasifikasin sesuai dengan bagaimana kita merepresentasikan pengetahuan. Kategori yang termasuk dalam perwakilan pengetahuan ini adalah rule-based, frame based, case based, dan fuzzy logic.

Pengalasan tidak pasti, salah satu dari kemampuan sistem pakar yang terkenal adalah kemampuannya untuk menyelesaikan masalah yang memiliki ketidakpastian informasi dan pengetahuan. Sistem pakar harus dilengkapi dengan metode untuk melaksanakan pengalasan ketidakpastian ini, seperti faktor kepastian (certainty factors), metode Shafer Dempster, ataupun pendekatana Bayesian.

Pemprosesan kemampuan prosedural, pada beberapa aplikasi diperluakan untuk menulis kode prosudural, fungsi diperlukan didalam model ini. Pada sistem pakar berbasis model, diperlukan metode untuk mendukung penghantaran pesan. Di sistem pakar yang besar, diperlukan model ini untuk menuliskan kode prosudural untuk mendukung aktifitas kemampuan pemprosesan sistem pakar tersebut.


(22)

Pada dasarnya working memory adalah tempat dimana rule diambil dari basis pengetahuan dan dieksekusi agar melahirkan pertanyaan yang berhubungan dengan metode reasoning yang diterapkan. Working memory biasanya dalam bentuk stack, bertumpuk agar memudahkan chaining yang akan diterapkan didalam sistem pakar tersebut.

d. Inference Engine

Mesin inferensi adalah bagian didalam sistem pakar yang menerapkan pengetahuan kepada solusi yang terdapat pada permasalahan nyata. Biasanya dinyatakan sebagai penerjemah dari basis pengetahuan (Luger, 2005). Fungsi utama dari mesin inferensi adalah melakukan peran sebagai pengenal dan pemberi tindakan didalam proses kontrol sistem pakar. Pada umumnya mesin inferensi dipisahkan dari basis pengetahuan, walaupun untuk pembuatan sistem pakar dengan batasan kecil, kedua bagian tersebut disatukan.

Mekanisme inferensi dan kontrol digunakan untuk memanipulasi pengetahuan didalam basis pengetahuan. Dalam analogi nya mesin inferensi ini merupakan cara pengambilan alasan yang terjadi pada manusia. Dibawah ini akan dipaparkan beberapa teknik didalam mesin inferensi, diantaranya adalah :

Chaining (Runut), didalam sistem pakar berbasis aturan, forward chaining atau runut maju dan backward chaining ato runut mundur merupakan dua dasar teknik inferensi yang digunakan. Backward chaining sangat baik digunakan untuk masalah diagnosis sedangkan forward chaining sangat cocok untuk masalah desain dan perencanaan.

Agenda, merupakan kumpulan tujuan/fakta yang dibuktikan oleh sistem inferensi yang menggunakan backward chaining

Meta-rules, merupukan deskripsi bagaimana pengetahuan lain seharusnya digunakan. Biasanya digunakan untuk mengarahkan pemprosesan dari pengetahuan lain kepada area baru pada basis informasi yang ditemukan. Biasanya untuk masalah yang tidak cocok menggunakan teknik chaining, maka akan menggunakan teknik ini didalam mesin inferensinya.

Nonmonotonic reasoning, tipe inferensi ini mengijinkan perubahan terhadapa pengambilan alasan untuk fakta yang diberikan. Tidak hanya mengijinkan untuk pengolahan fakta yang diberikan, tetapi juga menyebabkan pengolahan terhadap


(23)

fakta yang lain yang terkait dengan perubahan fakta. Tipe inferensi ini bernilai untuk aplikasi yang bersifat perencanaan, desain atau penjadwalan.

e. Explanation Facilites

Bagian ini adalah bagian untuk melakukan penjelasan dari sistem pakar kepada pengguna. Penjelasan yang dihasilkan meliputi justifikasi dari kesimpulan yang dihasilkan oleh sistem, penjelasan kenapa sistem memerlukan data yang dimasukkan oleh pengguna, dan dimana kegunaan penjelasan yang dihasilkan, panduan dan langkah-langkah mengatasi masalah yang diinginkan oleh pengguna. Fasilitas penjelasan ini menyediakan keterbukaan bagi pengalasan di dalam sistem pakar. Bagian ini merupakan bagian yang memberikan sisi interaktif terhadap sistem, ketika pengguna ingin mengetahui kenapa pertanyaan diberikan kepada dirinya, bagaimana hasil jawaban disajikan.

Sebagai contohnya sebuah sistem pendiagnosisan penyakit di dunia kedokteran, dimana hasil keluaran dari sistem ini adalah sebuah rekomendasi obat dan saran serta langkah yang bisa dilakukan oleh pasien. Selama proses konsultasi dengan sistem, pengguna mungkin ingin mengetahui kenapa informasi yang ditanyakan itu diperlukan, dan pada akhirnya rasionalitas bagaimana sistem pakar akan sampai pada kesimpulan memberikan rekomendasi obat akan dipaparkan. Oleh karena obat yang disarankan merupakan hasil dari penilaian dari pakar, akan sangat mudah melihat kenapa pengguna ingin mengetahui kenapa sistem bisa sampai kepada rekomendasi obat ini.

f. User Interface

Antarmuka adalah bagian dimana interaksi antara manusia dan sistem pakar dilakukan, pada bagian ini akan ada pertanyaan-pertanyaan yang diberikan oleh sistem pakar untuk dijawab oleh pengguna.

Salah satu isu dalam desain ketika membangun sebuah sistem pakar dapat kita jabarkan dari sistem pakar MYCIN, dimana pada sistem itu pembangun aplikasi menekankan pada pentingnya menyediakan antarmuka yang mudah digunakan oleh pengguna dan mampu memenuhi semua kebutuhan pengguna. Oleh karena itu sangat penting untuk memahami keinginan pengguna sebelum memilih arsitektur sistem pakar tersebut.


(24)

Ada beberapa poin yang harus diperhatikan untuk memenuhi keinginan pelanggan. Diantaranya adalah sebagai berikut :

Display Type, sistem pakar generasi awal hanya memaparkan antar muka berdasarkan text, dimana pertanyaan diberikan ke pengguna berupa text dan jawaban diberikan melalui keyboard dengan mengetikkan jawaban tersebut. Pada saat ini sistem pakar sudah menggunakan graphical user interface (GUI) yang membuat pengguna dapat berinteraksi lebih interakrif dengan sistem.

Information entry, banyak metode bagaimana pengguna memasukkan informasi ke dalam sistem. Cara yang paling sederhana adalah dengan mengetikkan jawaban terhadap pertanyaan yang diberikan, atau dengan mengisi form secara keseluruhan. Sebuah pertanyaan dapat ditujukan untuk satu jawaban, ataupun jawaban bisa lebih dari satu dipilih dari list yang disediakan.

g. Database

Pada basisdata ini dilakukan penyimpanan data-data yang berasal dari mesin inferensi. Data yang disimpan adalah data yang berhubungan dengan fakta ataupun data gejala, dll.

Dari beberapa komponen sistem pakar yang sudah dijabarkan bisa dilihat bahwa satu komponen memiliki kebergantungan terhadap komponen lain.

2.2.2.1Rule Based Expert System

Penghasil aturan (production rule) pertama kali di paparkan oleh Emil Post pada tahun 1943 (Post...), dalam mengkategorikan metode di dalam komputasi. Kemudian diterapkan sebagai aturan penulisan kembali di bidang pemprosesan bahasa pada tahun 1957 oleh Chomsky, dan digunakan oleh Newell dan Simon didalam pemodelan penyelesaian masalah manusia (Newell-Simon,...). Teknik ini diadaptasikan kedalam sistem pakar DENDRAL dan MYCIN untuk merepresentasikan pengetahuan dan menjadikan teknik ini sebagai teknik paling populer didalam pembangunan sistem pakar pada tahun 1970an.

Aturan merupakan implikasi dengan bentuk jika P maka Q. Konsekuensi dari sebuah aturan dapat di artikan sebagai sebuah pengetahuan baru. Didalam rule based sistem jika kita memindahkan arah dari konsekuensi kepada penyebab


(25)

maka kita melakukan backward chaining, jika arah dilakukan dari penyabab ke konsekuensi maka kita melakukan forward chaining.

Cara kerja sistem pakar berbasis aturan dapat dijabarkan sebagai berikut 1. Sistem pakar menetapkan basis aturan dengan bentuk xi....xn → yi....yn

dimana xi adalah mewakilkan fakta dan yi mewakilkan tindakan yang akan dilakukan.

2. Sistem akan membuat memory yang bekerja terus memasukkan fakta yang diambil dari domain masalah atau dari inferensi yang dihasilkan oleh sistem.

3. Untuk setiap perulangan, sistem akan mengkomputasikan sebuah kumpulan aturan yang memiliki kesesuaian atau keterikatan dengan fakta yang disimpan didalam memori yang bekerja, atau proses ini biasa disebut dengan tahap pencocokan.

4. Sebuah aturan dari kumpulan aturan yang telah disesuaikan tadi akan dipilih untuk dieksekusi, proses ini dinamakan sebagai fase resolusi konflik.

5. Aturan yang dipilih kemudian dieksekusi.

2.2.2.2Case Based Expert System

Cara lain didalam inferensi yang dilakukan oleh sistem pakar adalah menggunakan pencarian alasan melalui kasus-kasus, biasa disebut juga sebagai CBR (Case Based Reasoning). CBR ini menggunakan sebuah explicit basisdata dari solusi masalah untuk mengalamatkan situasi baru dalam penyelesaian masalah. Solusi yang ada dapat dikumpulkan dari pakar manusiaatau melalui hasil sebelumnya dari keberhasilan terdahulu. Contohnya didalam kedokteran, dimana sebuah solusi tidak hanya dilihat dari teori yang tersedia, akan tetapi juga melihat kasus yang pernah terjadi terhadap pasien terdahulu dan penangannya.

2.2.2.3Model Based Expert System

Pada jenis ini, sistem pakar dapat dilihat sebagai hasil penggabungan dari a sebuah pemodelan dari suatu area pengetahuan yang digunakan, yang mana digunakan didalam mesin sistem pakar berbasis model ini untuk menyelesaikan


(26)

masalah-masalah yang berhubungan dengan keinginan pengguna sistem pakar. Poin utama dari sistem pakar ini adalah model yang ada tidak hanya memberikan pengalaman heuristik seorang pakar, tetapi juga lebih kepada prinsip awal dari deskripsi pengetahuan yang diinginkan.

2.3 Sistem Pakar pada bidang Kesehatan

Berdasarkan literatur survey yang dilakukan oleh (Durkin, 1994), MYCIN merupakan sistem pakar yang pertama sekali digunakan untuk mendiagnosa bakteri penyebab infeksi, kemudian dilanjutkan dengan sistem pakar PUFF yang dibangun untuk mendiagnosa penyakit lambung, sistem pakar ANGY yang mampu menolong dokter mendiagnosa penyempitan pembuluh darah, dan sistem pakar BABY yang memberikan bantuan kepada dokter dalam memonitoring kelahiran bayi dalam kondisi ICU (Giarratano, 2005).

Dari survey literatur yang sudah dilakukan, dapat disimpulkan bahwa sistem pakar telah banyak digunakan di dunia medis secara luas, mulai dari area pendiagnosisan sampai dengan kemampuan memberikan fasilitas publik sebagai alat saran bagi pasien.

2.4 Backward Chaining

Metode backward chaining merupakan kebalikan dari metode forward chaining dan sering disebut penalaran mundur (Kusrini, 2006). Menurut Schnupp dalam (Kusrini, 2008), metode backward chaining (runut balik), penalaran dimulai dengan tujuan merunut balik ke jalur yang akan mengarahkan ke tujuan tersebut menurut Giarattano dan Riley dalam (Kusrini, 2006).

Adapun karakteristik backward chaining adalah :

a. Metode backward chaining lebih cocok digunakan untuk menentukan masalah diagnosis.

b. Metode backward chaining digunakan untuk masa lalu.

c. Tujuan metode backward chaining adalah memandu, penalaran dari atas ke bawah.

d. Bekerja ke belakang untuk mendapatkan fakta yang mendukung hipotesis.


(27)

e. Depth first search dimudahkan. f. Konsekuen menentukan pencarian. g. Penjelasan difasilitasi.

Dalam metode backward chaining, akan dipilih satu aturan dari kesimpulan dan menganggapnya sebagai masalah yang harus diselesaikan. Setelah masalah tersebut diselesaikan, akan dipilih salah satu dari sub masalah untuk dievaluasi dan sub masalah yang terpilih itu kemudian menjadi sub masalah baru.

Observasi 1

Aturan A Fakta 1

Observasi 2

Aturan D

Aturan B Fakta 2 Kesimpulan

Aturan E Observasi 3

Aturan C Fakta 3

Observasi 4


(28)

Berikut ini kami paparkan beberapa penelitian terdahulu dari sistem pakar yang digunakan untuk Pendiagnosisan Penyakit :

Tabel 2.3 Penelitian Sebelumnya

Sumber Definisi

Ahmad ( 2012 ) Ahmad A, menjabarkan didalam riset yang dilakukannya untuk mengimplementasikan sistem pakar berbasis rule untuk diterapkan pada diagnosis dan symphtom penyakit saraf, sistem yang dibangun dapat membedakan 10 penyakit saraf, diantaranya adalah : Alzheimer Parkinson, Huntington’s disease, Celebral Palsy, Meningitis, Epilepsy, Multiple Sclerosis, Stroke, Cluster headache, Migraine, Meningitis for Children.

Saurkar ( 2012 ) Pada penelitian ini saurkar memaparkan sebuah pengimplementasian sistem pakar berbasis aturan untuk pendiagnosisan penyakit pada hewan. Aplikasi yang dibangun memiliki basis data citra untuk jenis penyakit hewan, sistem pakar mampu menghadirkan gambar penyakit hewan dalam pengambilan keputusan yang dilakukan dalam sistem ini.

Nana ( 2012 ) mMes (Mobile Medical Expert System) sebuah aplikasi sistem pakar mobile yang digunakan untuk layanan pasien di rumah sakit di Ghana, sistem ini memungkinkan sistem pakar dipakai secara mobile dan terkoneksi dengan pakar lain didaerah berbeda. Rajdeep ( 2012 ) Pada jurnal yang dipaparkan oleh Rajdeep,

dipaparkan implementasi dari sistem pakar berbasis pengetahuan untuk pendiagnosaan penyakit sistem


(29)

saraf otot. Sistem yang dibangun didalam Java untuk mendiagnosis penyakit seperti CelebralPalsy, Multiple Sclerosis, Muscular Dystrophy, dan

Parkinson’s. Sistem ini memberikan kumpulan pertanyaan berkenaan dengan symptom penyakit pasien berdasarkan penyakit yang di diagnosakan kepada pasien dan memberikan saran mengenai perawatan yang diberikan kepada pasien tersebut. Smitha ( 2010 ) Smitha menghasilkan sebuah sistem pakar untuk

mendiagnosa penyakit diabetes, dipaparkan melalui thesis masternya. Informasi yang diberikan tidak hanya komplikasi yang terjadi akibat penyakit ini saja, tetapi juga alat diagnosa awal penyakit. Pendekatan yang digunakan adalah berbasis aturan, dengan metode inferensi forward chaining.


(30)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Sistem pakar untuk diagnosa penyakit bukanlah hal baru di dunia kedokteran dan sistem pakar, akan tetapi penulis mencoba melakukan di domain area yang berbeda yaitu penyakit darah. Pada bab ini akan dijelaskan analisis dan perancangan sistem pakar untuk penyakit darah. Dimulai dari identifikasi dan spesifikasi dari masalah yang ada agar disesuaikan dengan sistem yang akan dibuat.

3.1 Identifikasi dan Spesifikasi Sistem

Ada beberapa hal yang akan dikategorikan didalam sistem pakar oleh penulis, yaitu bentuk penyakit darah yang akan dikumpulkan dan dibuat didalam basis pengetahuan, disusun menurut sistem pakar berbasis aturan (rule based expert system) dengan metode inferensi yaitu backward chaining. Sistem pakar yang dirancang bertujuan untuk membantu pasien dalam menangani gejala penyakit yang diderita serta melakukan diagnosis terhadap penyakit tersebut dan membantu dokter ahli dalam menangani penyakit tersebut. Implementasi backward chaining dalam pendeteksian penyakit darah merupakan suatu sistem yang menganalisa data gejala yang dialami pasien untuk menghasilkan diagnosa jenis penyakit yang diderita. Input dari sistem berupa gejala yang dialami pasien, update, basis pengetahuan dan basis aturan yang merupakan salah satu komponen penting dalam sistem pakar yang merupakan fasilitas yang disediakan bagi pakar.

Sistem dibangun dengan menggunakan bahasa pemrograman Visual Basic 2008 dengan basisdata MySQL.

3.2Pengumpulan Pengetahuan

Berdasarkan fakta yang disadur dari beberapa referensi yaitu (Bakta, 2003), (Hillman, 2002), dan (Harmening, 2002) dan hasil wawancara dengan Dr. Ronny Khor spesialis Patologi Anatomi, beberapa fakta/kesimpulan/tujuan dari penyakit darah beserta dengan gejala/data/symphtom dan pembatas penyakit tersebut, maka


(31)

dikumpulkanlah pengetahuan yang akan dijadikan sebagai basis pengetahuan di dalam sistem pakar yang akan dibangun, dipaparkan dalam tabel dibawah ini :

Tabel 3.1 Tabel Anemia

No Fakta

Kesimpulan

Sympthom dan Gejala dan Batasan Penyakit

1. Anemia Gejala Klinik

- Laki-laki, umur >15 dan hemoglobin <13g/dl - Perempuan, umur > 15 dan hemoglobin < 12g/dl - Prempuan,umur >15 dan hamil dan hemoglobin < 11g/dl

- Anak-anak, 6<umur<14, dan hemoglobin < 12g/dl - Anak-anak, ½ < umur < 6, dan hemoglobin < 11g/dl

- Hemoglobin < 10 g/dl - Hematokrit < 30% - Eritrosi < 2,8juta/mm3 Gejala Fisik

- Warna kulit pucat atau kulit telapak tangan kuning

- nyeri tulang

2. Anemia Ringan - 8 g/dl< Hemoglobin < 9,9g/dl

3. Anemia

Menengah

- 6 g/dl < Hemoglobin < 7,9g/dl

4. Anemia Berat Hemoglobin < 6g/dl

5. Anemia

Hiprokromik Mikrositer

Indeks Eritrosit - MVC < 80fl - MCH < 27 pg

6. Anemia

Normokromik Normositer

Indeks Eritrosit - 80fl < MVC < 95fl - 27pg < MCH <34 pg


(32)

7. Anemia Mirkositer

Indeks Eritrosit - MVC > 95fl

8. Anemia

Mengenai Organ Jantung

Lesu, cepat lelah, sesak ketika bekerja, gagal jantung

9. Anemia

Mengenai Sistem Saraf

Sakit Kepala, pusing , telinga mendesing , mata berkunang-kunang, kelemahan otot, lesu, perasaan dingin

10. Anemia

Mengenai Sistem Urogenital

Gangguan haid, libido menurun, Pembengkakan Testis

11. Anemia mengenai Epitel

Warna kulit pucat, rambut tipis, elastisitas kulit menurun

12. Anemia defisiensi besi

- Disfagia, atrofi papil lidah, stomatitis angularities - Anemia Hipokromik Makrositer

- Besi Pada Sumsum Tulang Negatif - Besi Serum Menurun (<50 mg/dl) - TIBC menaik (>350 mg/dl) - Feritin Menurun (< 20 µg/dl)

- Kuku Sendok, menjadi rapuh, bergaris-garis vertikal

- Permukaan lidah menjadi licin - Radang pada sudut mulut - Nyeri menelan

- Badan lemah, cepat lelah, mata berkunang-kunang, telinga mendesing

13. Anemia Akibat Penyakit Kronik

- Anemia Menengah

- Anemia Hipokromik Makrositer - Besi pada susmsum tulang positif - Besi Serum Menurun (<50 mg/dl) - TIBC Menurun (<350 mg/dl)


(33)

- Feritin Menurun/Normal (20 µg/dl - 200 µg/dl)

14. Anemia

Thallasemia

- Anemia Hipokromik Makrositer - Besi pada sumsusm tulang Positif kuat - Besi Serum Normal

- Feritin Meningkat (> 50 µg/dl) - Elektroforesis HB

- Hb A2 menaik - HbF Menaik

15. Anemia

Sideroblastik

- Anemia Hipokromik Mikrositer - Besi Serum Normal

- Feritin Normal (200 µg/dl)

- Besi pada sumsum tulang positif dengan ring sideroblast

16. Anemia defisensi asam folat

- Lidah merah - Anemia Makrositer - Leukopenia Ringan

- Kadar Bilirubin Inderik Serum Meningkat -LDH Meningkat

17. Anemia hemolitik - Ikterus dan hepatosplenomegali - Kholelithiasis

- Ulkus pada Kaki

- Kelainan pada tulang yaitu penebalan tulang frontalis dan parietalis

- Penurunan Masa Hidup Eritrosit (<120hari) - Tidak ada pendarahan ke dalam rongga tubuh - Penurunan hemoglobin > 1 g/dl dalam waktu 1 minggu

- Hemoglobinuria, urine berwarna merah, kecoklatan atau coklat hitam.

- Anemia Normokromik Normositer


(34)

- Pendarahan Gusi

- Ulserasi Mulut atau tenggorokan - Anemia Normokromik Normositer - Besi serum normal atau meningkat - TIBC Normal,

- HbF meningkat

- terdapat retikulositopenia - terjadi trombositopenia Sumber : Bhakta, (2003)

Berdasarkan pengumpulan pengetahuan penulis mendapatkan bahwa penyakit anemia memiliki standar basis WHO untuk penyakit anemia secara kesuluruhan dimana penyakit ini dapat diukur dari kadar hemoglobin darah, dan kategori anemi dapat dibagi menjadi tiga berdasarkan derajat tingkatnya yaitu anemia ringan, anemia menengah, dan anemia berat.

Sedangkan berdasarkan kategori anemia, dibagi menjadi tiga kategori besar yaitu, Anemia Makrositer, Anemia Normokromik Normositer dan Anemia Hipokromik Makrositer. Pengumpulan Pengetahuan yang dilakukan akan diubah dalam bentuk basis pengetahuan untuk menghasilkan aturan-aturan yang dapat diinferensikan melalui mesin inferensi untuk menghasilkan keputusan. Adapun penjelasan tentang itu akan dipaparkan pada sub-bab berikut ini.

3.3Representasi Pengetahuan 3.3.1 Basis Pengetahuan

Basis pengetahuan adalah proses merubah fakta dan gejala/data menjadi rule-rule (aturan-aturan) yang menjadi basis dalam sistem pakar untuk mengambil kesimpulan atau fakta. Berikut ini adalah beberapa aturan yang dapat dihasilkan dari pengumpulan pengetahuan diatas :

1. If ((umur_pasien > 15thn)&&(hemoglobin< 13 g/dl)&&(laki-laki)) Then Anemia (35%)

2. If ((umur_pasien > 15thn) && (hemoglobin < 12 g/dl) && (perempuan)) Then Anemia (35%)


(35)

3. If((umur_pasien > 15thn) && (hemoglobin < 12 g/dl) && (perempuan_hamil)) Then Anemia (35%)

4. If (( 6>umur_pasien > 14thn) && (hemoglobin < 12 g/dl) ) Then Anemia (35%)

5. If ((umur_pasien < 6 thn) && (hemoglobin < 11 g/dl) ) Then Anemia (35%)

6. If ((hematrokrit < 30%)) Then Anemia 50%

7. If ((eritrosti < 2,8juta/mm3) Then Anemia 75 %

8. If (warna kulit pucat || telapak tangan kuning) Then Anemia 90%

9. If (nyeri tulang) Then Anemia 100%

10. If (hemoglobin 8-9,9 g/dl) Then Anemia Ringan

11. If (hemoglobin 6-7,9 g/dl) Then Anemia Sedang

12. If (hemoglobin < 6 g/dl) Then Anemia Berat

13. If (Indeks Eritrosit MVC < 80fl && MCH < 27 pg) Then Anemia Hipokromik Makrositer

14. If (Indeks Eritrosit MVC = 80fl – 95fl && MCH = 27pg – 34 pg) Then Anemia Normokromik Normositer

15. If (Indeks Eritrosit MVC > 95fl) Then Mirkositer


(36)

3.3.2 Mesin Inferensi Backward Chaining

Proses inferensi yang dilakukan adalah proses memasukkan susunan pertanyaan kedalam working memory (ingatan yang bekerja). Berikut adalah contoh pertanyaan yang akan diberikan jika menggunakan proses inferensi backward chaining :

3.2 Tabel Pertanyaan

No Jenis Pertanyaan Untuk Fakta

1 Apakah Besi Serum Anda Menurun? 12,13

2 Apakah Besi Serum Anda Normal? 14,15

3 Apakah TIBC Anda Menaik? 12

4 Apakah Feritin Anda Menurun? 12

5 Apakah Besi Sum-Sum Tulang Negatif? 12

6 Apakah TIBC Anda Menurun? 13

7 Apakah Feritin Anda Menaik? 13

8 Apakah Besi Sum-sum Tulang Positif? 13

9 Apakah Feritin Anda Normal? 14,15

10 Apakah terdapat Eletroforesis HB? 14

11 Apakah Hb A2 Menaik? 14

12 Apakah HbF Menaik? 14

13 Apakah Besi Sum-sum Tulang mengandung Ring Sideroblast?

15

14 Apakah Ada gejala Lidah Merah? 16

15 Apakah Ada gejala Leukopenia Ringan? 16 16 Apakah Kadar Bilirubin Inderik Serum Anda Meningkat? 16

17 Apakah LDH Anda Meningkat? 16

18 Apakah terdapatIkterus dan hepatosplenomegali? 17

19 Apakah terdapat Kholelithiasis? 17

20 Apakah terdapat Ulkus pada Kaki? 17

21 Apakah terdapat kelainan pada tulang yaitu penebalan tulang frontalis dan parietalis?

17


(37)

(<120hari)?

23 Apakah tidak ada pendarahan ke dalam rongga tubuh? 17 24 Apakah terjadi penurunan hemoglobin > 1 g/dl dalam

waktu 1 minggu?

17

25 Apakah terjadi Hemoglobinuria, urine berwarna merah, kecoklatan atau coklat hitam?

17

26 Apakah terjadi pendarahan kulit/mukosa atau tanda-tanda infeksi?

18

27 Apakah sering terjadi pendarahan pada gusi? 18 28 Apakah terjadi ulserasi Mulut atau tenggorokan? 18

29 Apakah TIBC Anda Normal? 18

30 Apakah HbF Anda meningkat? 18

31 Apakah terdapat retikulositopenia? 18

32 Apakah terjadi trombositopenia? 18

33 Apakah Warna kulit pucat ? 11

34 Apakah rambut tipis ? 11

35 Apakah elastisitas kulit menurun? 11

36 Apakah terjadi gangguan haid ? 10

37 Apakah libido menurun? 10

38 Apakah terjadi pembengkakan Testis? 10 39 Apakah anda sering mengalami Sakit Kepala? 9

40 Apakah telinga mendesing ? 9

41 Apakah mata berkunang-kunang? 9

42 Apakah terjadi kelemahan pada otot? 9

43 Apakah sering lesu ? 9

44 Apakah sering terjadi perasaan dingin? 9

45 Apakah sering cepat lelah? 8

46 Apakah sesak ketika bekerja? 8

47 Apakah anda gagal jantung? 8

48 Apakah Indeks Eritrosit MVC < 80fl? 5 49 Apakah Indeks Eritrosit MCH < 27 pg? 5 50 Apakah Indeks Eritrosit80fl < MVC < 95fl? 6


(38)

51 Apakah Indeks Eritrosit 27pg < MCH < 34 pg ? 6 52 Apakah Indeks Eritrosit MVC > 95fl? 7 53 Apakah kadar 8 g/dl< Hemoglobin < 9,9g/dl ? 2 54 Apakah kadar 6 g/dl < Hemoglobin < 7,9g/dl ? 3 55 Apakah kadar Hemoglobin < 6g/dl ? 4 56 Apakah Anda Laki-laki, umur>15 dan hemoglobin

<13g/dl?

1

57 Apakah Anda Perempuan, umur > 15 dan hemoglobin < 12g/dl ?

1

58 Apakah Perempuan,umur >15 dan hamil dan hemoglobin < 11g/dl?

1

59 Apakah Anak-anak, 6<umur<14, dan hemoglobin < 12g/dl?

1

60 Apakah Anda Anak-anak, ½ < umur < 6, dan hemoglobin < 11g/dl?

1

61 Apakah kadar Hematokrit < 30% ? 1

62 Apakah kadar Eritrosi < 2,8juta/mm3 ? 1

3.3.2.1Flowchart Backward Chaining

Pada gambar flowchart dibawah ini penulis menjelaskan alur proses dari bagaimana metode inferensi backward chaining dilakukan, proses pertama adalah melakukan pertanyaan yang berada pada level atas dari pohon keputusan, yang mana pertanyaan adalah dalam bentuk yang telah dijabarkan dalam sub bab diatas. Kemudian jawaban yang diberikan akan menentukan pertanyaan selanjutnya yang akan diberikan, karena disini rule akan bekerja untuk menentukan logika pertanyaan selanjutnya. Disinilah mesin inferensi dapat menentukan alur dari pohon keputusan agar menghasilkan kesimpulan yang tepat pada solusi yang akan diberikan kepada pengguna.


(39)

Start

Pertanyaan

Jawab

Simpan dari Jawaban

Ya

Jenis Penyakit

Output

End Ya

Ya

Tidak Tidak

Pilih jenis penyakit

Darah


(40)

3.3.3 Pohon Keputusan (Decision Tree)

Berdasarkan tabel pengumpulan pengetahuan di atas, dibawah ini akan dipaparkan pohon keputusan yang menghubungkan satu fakta/kenyataan dengan fakta lain, yang berarti jika fakta pada level paling bawah dianggap tidak benar maka gugurlah semua fakta yang ada diatasnya, akan tetapi jika di setiap level fakta itu benar maka dapat diambil kesimpulan jenis anemia yang dihidap oleh si pasien. Pada setiap garis penghubung dari satu fakta ke fakta lain akan terdapat gejala dan symptom dengan kondisi (dan) dan (atau).

Contoh : Pada diagnosa penyakit Anemia Aplastik beberapa pertanyaan yang akan diberikan sistem yang mana sesuai dengan gejala penyakit anemia aplastik yaitu “apakah terjadi trombositopenia?” jika pasien menjawab ya maka sistem akan melanjutkan ke pertanyaan selanjutnya yaitu “apakah terjadi pendarahan kulit/muktosa/tanda infeksi?” dan jika pasien menjawab tidak maka sistem akan memberikan pertanyaan yang berkaitan dengan jenis penyakit yang diderita pasien sebenarnya yaitu “apakah sering terjadi pendarahan gusi?” dan jika jawaban pasien adalah ya maka sistem langsung memberikan diagnosa awal penyakit yaitu anemia aplastik, dan apabila pasien menjawab tidak maka pasien di diagnosa penyakit anemia ringan sesuai dengan gejala yang diderita pasien. Berikut adalah contoh pohon keputusan berdasarkan fakta :


(41)

Gambar 3.4 Pohon Keputusan Berdasarkan Fakta

Keterangan :

Lambang bulat adalah proses sistem dalam memberikan pertanyaan-pertanyaan yang ditujukan kepada pasien, sedangkan lambang garis adalah penghubung proses untuk menuju ke pertanyaan.

ANEMIA

Anemia

aplastik Apakah terjadi trombositopenia

Apakah terjadi pendarahan

kulit/muktosa/tanda infeksi

Apakah sering terjadi pendarahan pada gusi

Anemia aplastik

Anemia Ringan


(42)

3.4 Analisis Sistem

3.4.1 Data Flow Diagram

Untuk memaparkan aliran dari data didalam sistem yang akan dibangun, penulis meletakkan data flow diagram mulai dari Context Diagram, Data Flow Diagram Level 1 dan Data Flow Diagram Level 2.

3.4.2 Context Diagram

Pasien Sistem Pakar Admin

-entry jwb_penyakit - entry data pasien

- entry data penyakit - entry data gejala - data penyakit

- data gejala - data pasien - lap. history

- data penyakit - data gejala - data admin - data aturan(pohon) - data relasi - entry data admin - entry aturan(pohon) - entry relasi Gambar 3.5 Context Diagram

Penjelasan proses diagram konteks implementasi sistem pakar untuk mendiagnosa penyakit transportasi darah pada manusia adalah sebagai berikut:

a. Proses

Nama Proses : Implementasi Sistem Pakar Mendiagnosa penyakit Transportasi Darah pada Manusia

Keterangan : Proses diagnosa penyakit Transportasi Darah pada Manusia berdasarkan gejala-gejala yang dialami.

b. Arus Data : - Data Pasien - Data Admin - Data Gejala - Data Penyakit - Laporan Hasil


(43)

c. Entitas Luar Nama Entitas : Admin

Keterangan : Merupakan bagian yang mengontrol dan memperbaiki sistem

Masukan : - Data Admin

- Data Gejala - Data Penyakit - Data Aturan (pohon) - Data Relasi

Keluaran : - Data Admin

- Data Gejala - Data Penyakit - Data Aturan (pohon) - Data Relasi

Nama Entitas : Pasien

Keterangan : Merupakan pengguna yang menggunakan sistem untuk mengetahui penyakit yang dideritanya

Masukan : - Data Pasien

- Jwb_penyakit Keluaran : - Data pasien

- Data Gejala - Data Penyakit - Lap.History


(44)

3.4.2.1 DFD Level 1

Pasien

1. Menu Pasien

- entry data pasien - entry jwb_pertanyaan

Tabel Pasien

Tabel Gejala

Data gejala Data pasien

Data pasien

Tabel Penyakit

- data gejala - data penyakit - history

2. Menu Admin

Admin

Pohon

Relasi Admin

- entry data penyakit - entry data admin

- entry data pohon - entry data relasi - entry data gejala

- data penyakit - data pohon

- data gejala - data admin

- data relasi

Data gejala

Data gejala

Gambar 3.6 DFD Level 1

Penjelasan Proses DFD Level 1 implementasi sistem pakar untuk mendiagnosa penyakit transportasi darah pada manusia adalah sebagai berikut:

a. Proses P.1

Nama Proses : Menu Pasien

Masukan : Data Pasien, Jwb_pertanyaan

Keluaran : Data Pasien, Data Gejala, Data Penyakit Keterangan : Proses untuk mengakses sistem


(45)

b. Proses P.2

Nama Proses : Menu Admin

Masukan : Data Admin, Data Gejala, Data Penyakit, Data Aturan (pohon), Data Relasi

Keluaran : Data Admin, Data Gejala, Data Penyakit, Data Aturan (pohon), Data Relasi.

Keterangan : Mengolah data yang digunakan dalam mendiagnosis penyakit.

Pada gambar data flow diagram level 1 diatas dijelaskan bagaimana aliran data yang terhubung dengan database dan antarmuka pengguna, dimana Admin dan Pasien sebagai user akan terhubung dengan antar muka Menu user dan Menu Admin dan antarmuka merupakan penghubung dengan Database. Tabel database yang terlibat adalah tabel admin, tabel aturan, tabel gejala, dan tabel penyakit. Input kedalam database juga akan dilakukan oleh pengguna melalui antarmuka yang disediakan, dan data yang diminta dapat pula diakses melalui antarmuka.


(46)

3.4.2.2DFD Level 2

Pasien 1.1

Daftar Pasien

Pasien Data pasien Data Pasien

Data login pasien Data login pasien

1.2 Konsultasi -Data login pasien

-entry jwb_pertanyaan

- Data Gejala - Data Penyakit - Hasil Konsultasi

Penyakit

Hasil Gejala

1.3 History

Data Gejala

Data Gejala

Data Penyakit

Data Penyakit

Data Hasil Lap.Hasil Konsultasi

Data Hasil

Data Hasil

Gambar 3.7 DFD Level 2 untuk Pasien

Proses P.1.1

Nama Proses : Daftar Pasien Masukan : Data Pasien Keluaran : Data Login Pasien

Keterangan : Proses untuk mengakses sistem Proses P.1.2

Nama Proses : Konsultasi

Masukan : Data Login Pasien, Jwb_pertanyaan

Keluaran : Data Gejala, Data Penyakit, Hasil Konsultasi.

Keterangan : Pasien dapat melakukan konsultasi untuk mendapatkan hasil diagnosis.


(47)

Nama Proses : History

Masukan : Data Login Pasien Keluaran : Lap.Hasil Konsultasi

Keterangan : Pasien dapat melihat history penyakit

Pada Data Flow Diagram ini digambarkan bahwa pasien bisa melakukan akses terhadap sistem dengan 3 jenis antar muka yang berbeda yaitu, Daftar Pasien, Konsultasi, dan History. Daftar Pasien digunakan untuk memasukkan data pasien dan user login, yang terhubung dengan database tabel pasien. Antarmuka yang kedua adalah konsultasi, dimana pertanyaan dari sistem pakar akan di berikan di antarmuka ini, akses langsung kepada tabel penyakit di database, tabel penyakit dan tabel gejala akan terhubungkan melalui antarmuka ini, sehingga proses inferensi didalam sistem pakar dapat berjalan. Kemudian hasil inferensi dari sistem pakar tersebut akan dimasukkan kedalam tabel hasil. Pemaparan dari tabel hasil dapat dilihat pada antarmuka History yang diakses oleh pasien.


(48)

2.1 Login Admin 2.2 Data Gejala 2.3 Data Penyakit 2.4 Data Aturan 2.5 Data Relasi 2.6 Data Laporan Admin

Data Login Admin

Admin Data Login Admin

Data Login Admin

Entry Data Gejala

Gejala Data Gejala Data Gejala Data Gejala Penyakit Pohon Relasi Hasil Entry Data Penyakit

DataPenyakit Data Penyakit Data Penyakit Data Aturan Data Aturan Data Relasi Data Aturan

Entry Data Aturan

Data Relasi

Entry Data Relasi

Data Hasil Lap.Hasil konsultasi

Data Laporan

Data Relasi

Gambar 3.8 DFD Level 2 untuk Admin

Proses P.2.1

Nama Proses : Login Admin Masukan : Data Login Admin Keluaran : Data Login Admin

Keterangan : Proses untuk mengakses sistem Proses P.2.2

Nama Proses : Data Gejala Masukan : Entry Data Gejala Keluaran : Data Gejala


(49)

Keterangan : Admin mengentry data gejala dalam sistem.

Proses P.2.3

Nama Proses : Data Penyakit Masukan : Entry Data Penyakit Keluaran : Data Penyakit

Keterangan : Admin mengentry data penyakit dalam sistem.

Proses P.2.4

Nama Proses : Data Aturan Masukan : Entry Data Aturan Keluaran : Data Aturan

Keterangan : Admin mengentry data aturan dalam sistem Proses P.2.5

Nama Proses : Data Relasi Masukan : Entry Data Relasi Keluaran : Data Relasi

Keterangan : Admin mengentry data relasi dalam sistem.

Proses P.2.6

Nama Proses : Data Laporan

Masukan : Data Laporan, Data Hasil Keluaran : Laporan Hasil Konsultasi

Keterangan : Admin mencetak laporan hasil konsultasi

Untuk pengguna admin maka desain data flow diagram akan menghadirkan lebih banyak antarmuka, ada 5 antarmuka yang akan dipaparkan


(50)

Login digunakan untuk pengaturan pengguna, user id, dan password yang tersimpan di tabel admin di database. Entry Gejala digunakan untuk pengaturan gejala apa yang diinginkan agar setiap jenis gejala penyakit tersimpan di dalam tabel gejala. Begitu juga dengan Entry Penyakit, merupakan antarmuka yang digunakan untuk memasukkan data tentang penyakit tersebut kedalam database dan tersimpan didalam tabel penyakit di database. Untuk menghubungkan antara data Penyakit dan data Gejala, maka dibuat Entry Aturan, Entry Aturan ini merupakan penghubung antara Gejala dan Penyakit, sehingga tercipta rule-rule atau aturan di basis pengetahuan sistem pakar yang dibangun. Tabel aturan digunakan untuk menyimpan data mengenai aturan yang ada. Yang terakhir adalah antarmuka Laporan, antarmuka ini digunakan untuk memaparkan dan mencetak hasil dari inferensi dan juga data pasien tersebut.

3.5 Perancangan Tabel

Dalam suatu aplikasi sebuah program banyak digunakan tabel-tabel untuk mempermudah pengguna dalam rangka menyimpan data sesuai dengan yang diinginkan dan juga dapat didokumentasikan. Adapun rancangan tabel tersebut adalah sebagai berikut :

a. Tabel Admin

Tabel ini digunakan untuk menyimpan data seorang admin yang berhak dan memiliki otoritas untuk mengakses basis aturan dan basis pengetahuan pada sistem pakar.

Tabel 3.9 Tabel Admin

Field Type Size Keterangan

Username (Primary Key)

Varchar 20 Nama pemakai


(51)

Alamat Varchar 50 Alamat pemakai

Password Varchar 7 Password Pemakai

b. Tabel Gejala

Tabel ini digunakan untuk menyimpan data beberapa gejala yang mengindifikasikan suatu penyakit.

Tabel 3.10 Tabel Gejala

Field Type Size Keterangan

ID Int 11 Id gejala

Nm_gejala Varchar 500 Nama gejala

c. Tabel Hasil

Tabel ini digunakan untuk menyimpan hasil dari indikasi penyakit. Tabel 3.11 Tabel Hasil

Field Type Size Keterangan

ID Varchar 50 Id hasil

Username Varchar 20 Nama pemakai

Waktu Datetime Waktu konsultasi

id_penyakit Int 11 Id penyakit

d. Tabel Jawab Pasien


(52)

Tabel 3.12 Tabel Jwb_Pasien

Field Type Size Keterangan

ID Int 8 ID pasien

Username varchar 20 Nama pasien

Id_gejala Int 11 ID gejala

e. Tabel Pasien

Tabel ini digunakan untuk menyimpan data yang telah diisikan pasien pada saat registrasi ke sistem

Tabel 3.13 Tabel Pasien

Field Type Size Keterangan

Username Varchar 20 Id pasien

Nama Varchar 50 Nama pasien

Alamat Varchar 100 Alamat pasien

Jenis_kelamin Varchar 20 Jenis kelamin

pasien

Email Varchar 20 Email pasien

Gol_darah Varchar 3 Gol darah pasien

Password varchar 7 Password

f. Tabel Penyakit


(53)

Tabel 3.14 Tabel Penyakit

Field Type Size Keterangan

ID Int 11 Id penyakit

Nm_penyakit Varchar 500 Nama penyakit

Ket_penyakit text Keterangan

penyakit

g. Tabel Pohon Keputusan

Tabel pohon keputusan adalah table aturan yang akan digunakan dalam proses penelusuran dari suatu sistem.

Tabel 3.15 Tabel Pohon Keputusan

Field Type Size Keterangan

No_id Int 11 Nomor id pertanyaan

ID Int 11 Id pertanyaan

Id_ya Varchar 10 Id jawaban ya

Id_tidak Varchar 10 Id jawaban tidak

h. Tabel Relasi

Tabel ini berisi data yang menunjukkan relasi antara gejala dengan penyakit yang diindikasikan selama pemeriksaan.

Tabel 3.16 Tabel Relasi


(54)

ID Int 11 Nama penyakit

Id_penyakit Int 11 Id penyakit

Id_gejala Int 11 Id gejala

3.6 Perancangan AntarMuka (User Interface)

Rancangan antar muka ini dibuat untuk mempermudah user dalam berinteraksi dengan sistem ini. Adapaun rancangan antarmuka sistem ini sebagai berikut :

Gambar 3.17 Rancangan Tampilan

LOGO USU

Penyakit Anemia

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR


(55)

Gambar 3.18 Perancangan Pendaftaran Pasien

Gambar 3.19 Perancangan Login Pasien

LOGO USU

Penyakit Anemia

Username Nama

Jenis Kelamin Alamat

Email

Golongan Darah Password

Konfirmasi Password

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR

DAFTAR BATAL

LOGO USU

Penyakit Anemia

LOGIN INFORMASI

DAFTAR PASIEN

ADMIN

KELUAR

Username

Password


(56)

Gambar 3.20 Perancangan konsultasi pasien

Gambar 3.21 Perancangan Gejala

LOGO USU

Penyakit Anemia

Diagnosa Gejala

Jawablah pertanyaan dibawah ini dengan mengklik salah satu dari tombol

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR

Apakah anda mengalami kadar eritrosit kurang dari 2,8 juta / mm3 ?

YA TIDAK

LOGO USU

Penyakit Anemia

Data Gejala Gejala

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR

tambah update hapus bersihkan tutup

ID Gejala Keterangan

1 …….. ………. ………


(57)

Gambar 3.22 Perancangan Penyakit

Gambar 3.23 Perancangan Relasi & Gejala

LOGO USU

Penyakit Anemia

Data Penyakit Keterangan

Data Penyakit

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR

tambah update hapus bersihkan keluar ID Nama Penyakit Keterangan

1 …. ……… ……….

2 …. ……… ………..

LOGO USU

Penyakit Anemia Data Relasi Penyakit & Gejala Penyakit :

Gejala

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR

……….. ……….. ……… ……….


(58)

Gambar 3.24 Perancangan Pohon Keputusan

Gambar 3.17 Perancangan Tambah Admin

Gambar 3.25 Perancangan Tambah Admin

LOGO USU

Penyakit Anemia

Data Pohon Keputusan

Tanya Kosongkan

IF TRUE Kosongkan

IF FALSE Kosongkan

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR Tambah Update Hapus Bersihkan Tutup

LOGO USU

Penyakit Anemia

Tambah User Admin Username : Nama : Alamat : Password : Re Password :

INFORMASI

DAFTAR

PASIEN

ADMIN

KELUAR


(59)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Implementasi program aplikasi “Sistem pakar pendeteksi penyakit transportasi darah menggunakan pemrograman Visual Basic 2008 dan database MySQL. Agar hasil dari implementasi sistem dapat bekerja dengan sempurna maka sistem harus diuji terlebih dahulu untuk mengetahui kelemahan dan kesalahan yang terdapat pada sistem.

Tujuan dilakukan tahap implementasi ini adalah agar memastikan bahwa pemakai dapat mengoperasikan sistem dengan baik dan benar, memastikan bahwa sistem dapat digunakan oleh pasien, admin, maupun dokter ahli.

4.1.1 Spesifikasi Perangkat Keras

Untuk menjalankan aplikasi sistem pakar ini tidak diperlukan komputer dengan spesifikasi high end, karena tidak banyak memori yang terlibat, terlebih penulis menggunakan database untuk menyimpan data aturan dan tujuan dari sistem pakar tersebut. Adapun spesifikasi perangkat keras minimal dari aplikasi ini adalah : 1. Processor Intel i-3 2100

2. Memory 512 Mb 3. Harddisk 100Gb 4. Video card.

4.1.2 Konfigurasi Perangkat Lunak

Sedangkan untuk keperluan perangkat lunak yang diharuskan dalam pembangunan, pengujian dan penginstallan aplikasi sistem pakar ini adalah : 1. Microsoft Visual Basic 2008

2. MySQL

3. MySQL Db Connector 4. Apache Server


(60)

4.2 Implementasi Form Informasi

Form informasi adalah tampilan awal dari aplikasi sistem pakar yang dibuat, form informasi hanya menampilkan informasi tentang darah serta beberapa komponen darah.

Gambar 4.1 Tampilan Form Informasi

4.3 Implementasi Form Login Admin

Form login admin adalah tampilan untuk admin dan menu yang terdapat pada login admin adalah username dan password. Form login admin hanya dapat diakses oleh admin.


(61)

Gambar 4.2 Tampilan Form Login Admin 4.3.1 Implementasi Form Data Gejala

Form Data Gejala yang terdapat pada menu admin adalah tampilan nama-nama gejala penyakit, dalam form ini admin dapat menambah atau menghapus gejala penyakit yang terdapat di form ini.


(62)

4.3.2 Implementasi Form Data Penyakit

Implementasi Form Data Penyakit adalah tampilan nama-nama penyakit dan keterangannya. Admin dapat menambah dan mengedit data penyakit yang terdapat di form ini.

Gambar 4.4 Tampilan Form Data Penyakit 4.3.3 Implementasi Form Data Relasi Penyakit dan Gejala

Form Data Relasi Penyakit dan Gejala adalah nama-nama penyakit serta gejala yang ditimbulkan. Pada form ini jika kita memilih salah satu nama penyakit maka sistem akan otomatis menceklis gejala-gejala yang akan ditimbulkan dari penyakit tersebut.


(63)

Gambar 4.5 Tampilan Form Data Relasi Penyakit dan Gejala 4.3.4 Implementasi Form Data Pohon Keputusan

Pada Form Data Pohon Keputusan terdapat menu tanya, if true, dan if false. Dalam menu ini jika admin memilih pertanyaan maka akan muncul pasangan yang benar dari pertanyaan itu dan akan muncul pertanyaan yang salah dari pertanyaan yang diajukan oleh admin.


(1)

lblKetTrue.Text = getRow(sql, "nm_penyakit") End If

End Sub

Private Sub lblFalse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblFalse.TextChanged

Dim sql2 As String = ""

If lblFalse.Text.IndexOf("G") = 0 Then IDfalse = lblFalse.Text.Substring(1)

sql2 = "select * from gejala where ID = " & IDfalse lblKetFalse.Text = getRow(sql2, "nm_gejala")

Else

IDfalse = lblFalse.Text.Substring(1)

sql2 = "select * from penyakit where ID = " & IDfalse lblKetFalse.Text = getRow(sql2, "nm_penyakit")

End If End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click

dlgMix.labelID = lblTrue dlgMix.Show()

End Sub

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click

dlgMix.labelID = lblFalse dlgMix.Show()

End Sub

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

lblTrue.Text = "G0" End Sub

Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked

lblFalse.Text = "G0" End Sub

Private Sub btnTambahT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambahT.Click

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan menyimpan data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub


(2)

query = "insert into pohon values(0," & lblIDtanya.Text & ",'" & lblTrue.Text & "','" & lblFalse.Text & "')"

ExeQuery(query)

btnBersihT_Click(Nothing, Nothing) End Sub

Private Sub btnUpdateT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateT.Click

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan mengupdate data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub

End If

query = "update pohon set id_ya = '" & lblTrue.Text & "',id_tidak = '" & lblFalse.Text & "' where ID =" &

lblIDtanya.Text

ExeQuery(query)

btnBersihT_Click(Nothing, Nothing) End Sub

Private Sub btnHapusT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusT.Click

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan menghapus data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub

End If

query = "delete from pohon where ID =" & lblIDtanya.Text ExeQuery(query)

btnBersihT_Click(Nothing, Nothing) End Sub

Private Sub btnTambahU_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambahU.Click

If Len(Trim(txtUsernameT.Text)) <= 0 Or

Len(Trim(txtNamaT.Text)) <= 0 Or Len(Trim(txtAlamatT.Text)) <= 0 Then

MessageBox.Show("Lengkapi form anda !", "", MessageBoxButtons.OK)

Exit Sub End If

If Not txtPass1.Text = txtPass2.Text Then

MessageBox.Show("Konfirmasi kembali password !", "", MessageBoxButtons.OK)

Exit Sub End If

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan menyimpan data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub


(3)

query = "insert into admin values('" & txtUsernameT.Text & "','" & txtNamaT.Text & "','" & txtAlamatT.Text & "','Tidak','" & txtPass1.Text & "')"

ExeQuery(query)

btnBersihU_Click(Nothing, Nothing) btnBersihA_Click(Nothing, Nothing) End Sub

Private Sub btnBersihU_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBersihU.Click

txtUsernameT.Clear() txtNamaT.Clear() txtAlamatT.Clear() txtPass1.Clear() txtPass2.Clear() End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

hiddenTab(TC)

TC.TabPages.Add(TPTAdmin) TC.TabPages.Add(TPEAdmin)

btnBersihU_Click(Nothing, Nothing) btnBersihA_Click(Nothing, Nothing) End Sub

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click

hiddenTab(TC) End Sub

Private Sub btnBersihA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBersihA.Click

txtUsernameE.Clear()

query = "select username as Username, nama as Nama, alamat as Alamat, blokir as Blokir from admin"

updateTabel(DGVAdmin, query)

DGVAdmin.Columns("Nama").Width = 300 DGVAdmin.Columns("Alamat").Width = 700 End Sub

Private Sub txtUsernameE_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtUsernameE.TextChanged

query = "select * from admin where username = '" & txtUsernameE.Text & "'"

If Len(Trim(getRow(query, "username"))) > 0 Then btnUpdateA.Enabled = True

btnHapusA.Enabled = True myReader = getDs(query) While myReader.Read

txtNamaE.Text = myReader.GetString("nama") txtAlamatE.Text = myReader.GetString("alamat") cboBlokir.SelectedText =

myReader.GetString("blokir") End While

Else

txtNamaE.Clear() txtAlamatE.Clear()


(4)

btnUpdateA.Enabled = False btnHapusA.Enabled = False End If

End Sub

Private Sub btnTutupA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTutupA.Click

hiddenTab(TC) End Sub

Private Sub btnUpdateA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateA.Click

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan mengupdate data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub

End If

query = "update admin set nama = '" & txtNamaE.Text & "',alamat = '" & txtAlamatE.Text & "',blokir = '" & cboBlokir.Text & "' where username = '" & txtUsernameE.Text & "'"

ExeQuery(query)

btnBersihA_Click(Nothing, Nothing) End Sub

Private Sub btnHapusA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapusA.Click

Dim hasil As DialogResult = MessageBox.Show("Apakah anda yakin akan menghapus data ini ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If hasil = vbNo Then Exit Sub

End If

query = "delete from admin where username = '" & txtUsernameE.Text & "'"

ExeQuery(query)

btnBersihA_Click(Nothing, Nothing) End Sub

Private Sub DGVAdmin_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGVAdmin.DoubleClick

txtUsernameE.Text =

DGVAdmin.CurrentRow.Cells("Username").Value End Sub

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click

query = "select * from admin where username ='" & username & "' and password = '" & txtPassLama.Text & "'"

If getRow(query, "username") = "" Then

MessageBox.Show("Password lama anda tidak valid !", "", MessageBoxButtons.OK)

Exit Sub End If

If Not txtPassBaru1.Text = txtPassBaru2.Text Then

MessageBox.Show("Konfirmasi kembali password baru anda !", "", MessageBoxButtons.OK)


(5)

Exit Sub End If

query = "update admin set password = '" &

txtPassBaru1.Text & "' where username = '" & username & "'" ExeQuery(query)

MessageBox.Show("Password berhasil diganti !", "", MessageBoxButtons.OK)

txtPassLama.Clear() txtPassBaru1.Clear() txtPassBaru2.Clear() End Sub

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click

hiddenTab(TC) End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

hiddenTab(TC)

TC.TabPages.Add(TPPassword) txtPassLama.Clear()

txtPassBaru1.Clear() txtPassBaru2.Clear() End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

query = "select * from admin where username ='" &

txtUserLogin.Text & "' and password = '" & txtPasswordLogin.Text & "'"

If getRow(query, "username") = "" Then

MessageBox.Show("Username & password anda tidak valid !", "", MessageBoxButtons.OK)

Exit Sub End If

If getRow(query, "blokir") = "Ya" Then

MessageBox.Show("User Account anda telah diblokir", "", MessageBoxButtons.OK)

Exit Sub End If

username = txtUserLogin.Text hiddenTab(TC)

Panel1.Visible = True End Sub

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click

Dim cr As New CRPasien

query = "select distinct * from pasien,hasil,penyakit where pasien.username = hasil.username and penyakit.ID = hasil.id_penyakit and hasil.waktu >='" &

DateTimePicker1.Value.ToString("yyyy-MM-dd") & "' and

hasil.waktu<='" & DateTimePicker2.Value.ToString("yyyy-MM-dd") & "'"

myData.Clear()

myCommand.Connection = getCon() myCommand.CommandText = query


(6)

myAdapter.Fill(myData) cr.Refresh()

cr.SetDataSource(myData)

cr.SetParameterValue("periode",

DateTimePicker1.Value.ToString("dd/MM/yyyy") & " s/d " & DateTimePicker2.Value.ToString("dd/MM/yyyy"))

CRView.Refresh()

CRView.ReportSource = cr End Sub

Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click

hiddenTab(TC)

TC.TabPages.Add(TPReport) End Sub