BACKWARD CHAINING UNTUK MENDIAGNOSA PENYAKIT
JANTUNG BERDASARKAN STANDAR KOMPETENSI DOKTER
INDONESIA
SKRIPSI
WIDYA ASHTIKA 071401085
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERANCANGAN APLIKASI SISTEM PAKAR DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSA PENYAKIT JANTUNG BERDASARKAN
STANDAR KOMPETENSI DOKTER INDONESIA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
WIDYA ASHTIKA 071401085
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERANCANGAN APLIKASI SISTEM PAKAR
DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSA PENYAKIT JANTUNG BERDASARKAN STANDAR KOMPETENSI DOKTER INDONESIA
Kategori : SKRIPSI
Nama : WIDYA ASHTIKA
Nomor Induk Mahasiswa : 071401085
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 23 Juni 2011
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Muhammad Firdaus, M.Si Prof. Dr. Muhammad Zarlis NIP. 195406071983031001 NIP. 195707011986011003
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FMIPA USU
Ketua,
NIP. 196203171991021001
PERNYATAAN
PERANCANGAN APLIKASI SISTEM PAKAR DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSA PENYAKIT JANTUNG BERDASARKAN
STANDAR KOMPETENSI DOKTER INDONESIA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 23 Juni 2011
DAFTAR ISI
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 5
1.7 Sistematika Penulisan 6
Bab 2 Landasan Teori 8
2.1 Kecerdasan Buatan 8
2.2 Sistem Pakar 8
2.2.1 Sejarah Sistem Pakar 9
2.2.2 Ciri-ciri Sistem Pakar 10
2.2.3 Keuntungan dan Kelemahan Sistem Pakar 10
2.2.4 Konsep Dasar Sistem Pakar 11
2.2.5 Struktur Sistem Pakar 11
2.2.6 Representasi Pengetahuan 14
2.2.6.1 Logika 15
2.2.6.2 Jaringan Semantik (Semantic Nets) 16
2.2.6.3 Bingkai (Frame) 16
2.2.6.4 Kaidah Produksi (Production Rule) 16
2.2.7 Mekanisme Inferensi 17
2.2.7.1 Runut Maju (Forward Chaining) 18 2.2.7.2 Runut Balik (Backward Chaining) 19 2.3 Penyakit Jantung Berdasarkan Standar Kompetensi Dokter Indonesia20
2.3.2 Unstable Angina (Angina Pektoris Tidak Stabil) 22 2.3.3 Myocardial Infraction (Infark Moikard) 23
2.3.4 Heart Failure (Gagal Jantung) 23
2.3.5 Cardiorespiratory Arrest (Henti Jantung) 24 2.3.6 Supraventricular Tachycardia (Takikardia Supraventrikular) 24 2.3.7 Atrial Flutter (Flutter Atrium) 24 2.3.8 Ventricular Extrasystole (Ekstrasistol Ventrikular) 25 2.3.9 Essential Hypertension (Hipertensi Esensial) 25 2.3.10 Secondary Hypertension (Hipertensi Sekunder) 25
2.3.11 Septic Shock (Syok Septik) 26
2.3.12 Hypovolemic Shock (Syok Hipovolemik) 26
Bab 3 Analisis dan Perancangan Sistem 27
3.1 Analisis Sistem 27
3.1.1 Analisis Permasalahan 27
3.1.2 Analisis Sasaran Pengguna 28
3.1.3 Analisis Kebutuhan Perangkat Lunak 29
3.2 Analisis Kebutuhan Sistem 29
3.2.1 Analisis Kebutuhan Data 29
3.2.2 Analisis Input dan Output Sistem 29
3.2.3 Analisis Fungsionalitas Sistem 30
3.2.4 Analisis Batasan Sistem 30
3.3 Perancangan Sistem 31
3.3.1 Perancangan Mesin Inferensi 31
3.3.1.1 Perancangan Pohon Keputusan 33 3.3.1.1.1 Perancangan Angina Pectoris 36 3.3.1.1.2 Perancangan Unstable Angina 36 3.3.1.1.3 Perancangan Myocardial Infraction 37 3.3.1.1.4 Perancangan Heart Failure 38 3.3.1.1.5 Perancangan Cardiorespiratory Arrest 38 3.3.1.1.6 Perancangan Supraventricular Tachycardia 39 3.3.1.1.7 Perancangan Atrial Flutter 40 3.3.1.1.8 Perancangan Ventricular Extrasystole 40 3.3.1.1.9 Perancangan Essential Hypertension 41 3.3.1.1.10 Perancangan Secondary Hypertension 42 3.3.1.1.11 Perancangan Septic Shock 42 3.3.1.1.12 Perancangan Hypovolemic Shock 43
3.3.2 Perancangan Basis Data 44
3.3.2.1 Perancangan Data Flow Diagram (DFD) 44 3.3.2.2 Perancangan Entity Relationship Diagram (ERD) 49
3.3.2.3 Perancangan Kamus Data 51
3.3.3 Perancangan Struktur Program 54
3.3.4 Perancangan Antarmuka 55
3.3.4.6 Perancangan Halaman Menu Profil 60 3.3.4.7 Perancangan Halaman Menu Admin 60 3.3.4.8 Perancangan Halaman Menu Artikel 61 3.3.4.9 Perancangan Halaman Menu Data Gejala 62 3.3.4.10 Perancangan Halaman Menu Data Penyakit 62 3.3.4.11 Perancangan Halaman Menu Data Aturan 63 3.3.4.12 Perancangan Halaman Menu Data Pertanyaan 64
Bab 4 Implementasi dan Pengujian Sistem 65
4.1 Implementasi 65
4.1.1 Tampilan Halaman Utama 66
4.1.1.1 Halaman Menu Home 66
4.1.1.2 Halaman Menu Diagnosa 67
4.1.1.3 Halaman Menu Penyakit Jantung 70 4.1.1.4 Halaman Menu Artikel Jantung 71 4.1.1.5 Halaman Menu Petunjuk Penggunaan Sistem 73
4.1.1.6 Halaman Menu Profil 73
4.1.1.7 Halaman Menu Admin 74
4.1.2 Halaman Administrator 75
4.1.2.1 Halaman Menu Artikel 75
4.1.2.2 Halaman Menu Gejala 76
4.1.2.3 Halaman Menu Penyakit 77
4.1.2.4 Halaman Menu Aturan 77
4.1.2.5 Halaman Menu Pertanyaan 78
4.2 Pengujian Sistem 79
4.2.1 Angina Pectoris 79
4.2.2 Unstable Angina 81
4.2.3 Myocardial Infraction 82
4.2.4 Heart Failure 83
4.2.5 Cardiorespiratory Arrest 85
4.2.6 Supraventricular Tachycardia 86
4.2.7 Atrial Flutter 87
4.2.8 Ventricular Extrasystole 89
4.2.9 Essential Hypertension 90
4.2.10 Secondary Hypertension 92
4.2.11 Septic Shock 93
4.2.12 Hypovolemic Shock 94
4.3 Pengujian Sistem dengan BlackBox 96
Bab 5 Kesimpulan dan Saran 100
Daftar Pustaka 102
DAFTAR TABEL
Halaman
2.1 Representasi Bingkai Pada Bingkai Penyakit 16
3.1 Kamus Data User 51
3.2 Kamus Data Gejala 51
3.3 Kamus Data Penyakit 51
3.4 Kamus Data Artikel 52
3.5 Kamus Data Pertanyaan Konsultasi 52
3.6 Kamus Data Admin 52
3.7 Kamus Data Memori Kerja 52
3.8 Kamus Data Aturan 53
3.9 Kamus Data Solusi 53
DAFTAR GAMBAR
Halaman
2.1 Struktur Sistem Pakar 12
2.2 Proses Forward Chaining 19
2.3 Proses Backward Chaining 20
3.1 Flowchart Backward Chaining Sistem Pakar Jantung 32 3.2 Pohon Keputusan Sistem Pakar untuk Mendiagnosis Penyakit Jantung 34
3.3 Diagram Konteks DFD Level-0 44
3.4 DFD Level 1 47
3.5 Entity Relationship Diagram (ERD) 50
3.6 Perancangan Struktur Program 54
3.7 Perancangan Halaman Menu Utama 56
3.8 Perancangan Halaman Menu Konsultasi 56
3.9 Perancangan Halaman Menu Pertanyaan Gejala 57 3.10 Perancangan Halaman Menu Hasil Diagnosis 57
3.11 Perancangan Halaman Menu Penjelasan 58
3.12 Perancangan Halaman Menu Penyakit Jantung 58 3.13 Perancangan Halaman Menu Artikel Jantung 59 3.14 Perancangan Halaman Menu Petunjuk Penggunaan Sistem 59
3.15 Perancangan Halaman Menu Profil 60
3.16 Perancangan Halaman Menu Admin 60
3.17 Perancangan Halaman Menu Administrator 61
3.18 Perancangan Halaman Menu Artikel 61
3.19 Perancangan Halaman Menu Data Gejala 62
3.20 Perancangan Halaman Menu Data Penyakit 63
3.21 Perancangan Halaman Menu Data Aturan 63
3.22 Perancangan Halaman Menu Data Pertanyaan 64
4.1 Tampilan Halaman Utama 66
4.2 Tampilan Halaman Pengisian Data Diri 67
4.3 Tampilan Halaman Pengisian Data Tidak Lengkap 68
4.4 Tampilan Halaman Pertanyaan Konsultasi 68
4.5 Tampilan Halaman Hasil Diagnosis Penyakit 69 4.6 Tampilan Halaman Penjelasan Hasil Diagnosis 70
4.7 Tampilan Halaman Menu Penyakit Jantung 71
4.8 Tampilan Halaman Menu Artikel Jantung 72
4.9 Tampilan Halaman Menu Petunjuk Penggunaan Sistem 73
4.11 Tampilan Halaman Menu Admin 74
4.12 Tampilan Halaman Administrator 75
4.13 Tampilan Halaman Menu Artikel Admin 76
4.14 Tampilan Halaman Menu Gejala Admin 76
4.15 Tampilan Halaman Menu Penyakit Admin 77
4.16 Tampilan Halaman Menu Aturan Admin 78
4.17 Tampilan Halaman Menu Pertanyaan Admin 79
4.18 Proses Tanya Jawab Angina Pectoris 80
4.19 Hasil Diagnosis Angina Pectoris 80
4.20 Proses Tanya Jawab Unstable Angina 81
4.21 Hasil Diagnosis Unstable Angina 82
4.22 Proses Tanya Jawab Myocardial Infraction 83
4.23 Hasil Diagnosis Myocardial Infraction 83
4.24 Proses Tanya Jawab Heart Failure 84
4.25 Hasil Diagnosis Heart Failure 84
4.26 Proses Tanya Jawab Cardiorespiratory Arrest 86 4.27 Hasil Diagnosis Cardiorespiratory Arrest 86 4.28 Proses Tanya Jawab Supraventricular Tachycardia 87 4.29 Hasil Diagnosis Supraventricular Tachycardia 87
4.30 Proses Tanya Jawab Atrial Flutter 88
4.31 Hasil Diagnosis Atrial Flutter 89
4.32 Proses Tanya Jawab Ventricular Extrasystole 90 4.33 Hasil Diagnosis Ventricular Extrasystole 90 4.34 Proses Tanya Jawab Essential Hypertension 91
4.35 Hasil Diagnosis Essential Hypertension 91
4.36 Proses Tanya Jawab Secondary Hypertension 92
4.37 Hasil Diagnosis Secondary Hypertension 93
4.38 Proses Tanya Jawab Septic Shock 94
4.39 Hasil Diagnosis Septic Shock 94
4.40 Proses Tanya Jawab Hypovolemic Shock 96
ABSTRAK
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. Banyak kasus yang bisa dijadikan penelitian dalam sistem pakar, salah satunya penyakit jantung. Pada penelitian ini akan dirancang suatu sistem pakar yang dapat mendiagnosis jenis penyakit jantung. Penyakit jantung penting untuk diketahui karena menduduki urutan ke-2 penyebab kematian. Pada penelitian ini, sistem menggunakan metode backward chaining dalam mendiagnosis penyakit jantung. Sistem ini dapat menyimpulkan jenis penyakit jantung yang diderita seseorang serta jenis obat yang sesuai dengan jenis penyakitnya. Aplikasi ini dibuat dengan bahasa pemrograman PHP 5 dan MySQL sebagai penyimpanan basis pengetahuannya. Pengujian sistem ini dilakukan dengan mencocokkan proses backward chaining pada penelusuran pohon keputusan untuk mendiagnosis penyakit jantung pada tahap perancangan dengan sistem sesungguhnya yang telah dibangun.
IMPLEMENTATION OF EXPERT SYSTEM APPLICATION USING BACKWARD CHAINING METHOD TO DIAGNOSE HEART DISEASE
BASED ON STANDAR KOMPETENSI DOKTER INDONESIA
ABSTRACT
Expert system is computer-based system that using knowledge, facts, and appropriating technique to solve problem that only can be solved by an expert in their level. Many cases could be research in expert system, one of them is heart disease. In this research, will be designed an expert system to diagnose the type of heart disease. Heart disease is important to known because it ranks the 2nd causes of death. In this research, the system using backward chaining method to diagnose heart disease. This system can conclude the type of heart disease that suffered by someone and the type of drugs according to the disease. This application is created with PHP 5 language and MySQL as the knowledge base. The system testing is done by matching the process of backward chaining in searching decision tree to diagnose heart disease at the design step with the real system has been built.
ABSTRAK
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. Banyak kasus yang bisa dijadikan penelitian dalam sistem pakar, salah satunya penyakit jantung. Pada penelitian ini akan dirancang suatu sistem pakar yang dapat mendiagnosis jenis penyakit jantung. Penyakit jantung penting untuk diketahui karena menduduki urutan ke-2 penyebab kematian. Pada penelitian ini, sistem menggunakan metode backward chaining dalam mendiagnosis penyakit jantung. Sistem ini dapat menyimpulkan jenis penyakit jantung yang diderita seseorang serta jenis obat yang sesuai dengan jenis penyakitnya. Aplikasi ini dibuat dengan bahasa pemrograman PHP 5 dan MySQL sebagai penyimpanan basis pengetahuannya. Pengujian sistem ini dilakukan dengan mencocokkan proses backward chaining pada penelusuran pohon keputusan untuk mendiagnosis penyakit jantung pada tahap perancangan dengan sistem sesungguhnya yang telah dibangun.
IMPLEMENTATION OF EXPERT SYSTEM APPLICATION USING BACKWARD CHAINING METHOD TO DIAGNOSE HEART DISEASE
BASED ON STANDAR KOMPETENSI DOKTER INDONESIA
ABSTRACT
Expert system is computer-based system that using knowledge, facts, and appropriating technique to solve problem that only can be solved by an expert in their level. Many cases could be research in expert system, one of them is heart disease. In this research, will be designed an expert system to diagnose the type of heart disease. Heart disease is important to known because it ranks the 2nd causes of death. In this research, the system using backward chaining method to diagnose heart disease. This system can conclude the type of heart disease that suffered by someone and the type of drugs according to the disease. This application is created with PHP 5 language and MySQL as the knowledge base. The system testing is done by matching the process of backward chaining in searching decision tree to diagnose heart disease at the design step with the real system has been built.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Komputer telah berkembang sebagai alat pengolah data dan penghasil informasi. Bahkan komputer juga turut berperan dalam pengambilan keputusan. Tidak puas hanya dengan fungsi tersebut, para ahli komputer masih terus mengembangkan kecanggihan komputer agar dapat memiliki kemampuan seperti manusia.
Dewasa ini, disadari bahwa komputer dapat memiliki kemampuan seperti manusia, seperti menciptakan seorang pakar dalam salah satu bidang ilmu yang dibutuhkan untuk meningkatkan kesejahteraan masyarakat misalnya bidang kedokteran yang sangat mahal dan sangat lama, yang memerlukan waktu puluhan tahun. Jumlahnya pun sangat terbatas dan tidak banyak. Namun dengan teknologi
kecerdasan buatan dengan sistem pakar, barangkali untuk membuat pakar-pakar kedokteran salah satu bidang keahlian, misalnya dokter-dokter ahli jantung yang masih langka dapat dibuat dalam waktu kurang dari 5 tahun. Jumlahnya bisa dilipatkan, sehingga dalam 5 tahun misalnya, rumah-rumah sakit daerah seluruh kabupaten dan kota di Indonesia sudah memiliki komputer pintar yang dilengkapi program sistem pakar tentang penyakit jantung dan penyakit lain yang dibutuhkan [12].
Sebagaimana diketahui jumlah penduduk di Indonesia adalah yang kelima terbesar di dunia. Dengan bergesernya derajat kesehatan, maka semakin banyak
penduduk usia dewasa muda dan orang-orang yang menjadi tua. Dengan pergeseran pola kependudukan ini bergeser pula pola penyakit di masyarakat yang pada saat ini masih menduduki sebab kematian yang utama kepada penyakit-penyakit degeneratif, seperti penyakit jantung dan pembuluh darah, penyakit kanker dan lainnya. Penyakit jantung dan pembuluh darah dengan perkataan lain penyakit kardiovaskuler, dalam kurun waktu 20 tahun terakhir menunjukkan kenaikan yang jelas. Survei Kesehatan Rumah Tangga (SKRT) yang dilakukan Departemen Kesehatan tahun 2004 menunjukkan bahwa penyakit jantung menduduki urutan ke-2 sebagai penyebab kematian dengan catatan pada golongan umur 45 tahun ke atas penyakit kardiovaskuler menempati urutan pertama sebagai penyebab kematian. Prevalensi penyakit berdasarkan gejala penyakit dalam satu tahun terakhir, penyakit jantung berada pada urutan ke-2. Responden dengan prevalensi gejala penyakit jantung (8%) dalam 1 tahun terakhir yang belum terdiagnosis oleh nakes masing-masing 95 persen dan 91 persen, yang belum pernah diobati untuk penyakit jantung sebesar 92 persen [17]. Selain faktor kependudukan, yang mempengaruhi meningkatnya penyakit jantung adalah faktor berubahnya masyarakat agraris menjadi masyarakat industri dimana terdapat ketegangan jiwa, berubahnya kebiasaan hidup, berubahnya pola makan, kebiasaan merokok dan lain-lain.
1.2 Rumusan Masalah
Setelah melihat latar belakang masalah yang telah diuraikan di atas maka timbul rumusan masalah yaitu bagaimana merancang suatu sistem pakar untuk mendiagnosis jenis-jenis penyakit jantung berdasarkan gejala dengan menggunakan metode backward chaining.
1.3 Batasan Masalah
Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian ini adalah:
1. Sistem pakar ini hanya untuk mendiagnosis gejala klinis yang dirasakan penderita jantung tanpa pemeriksaan penunjang seperti pemeriksaan laboratorium.
2. Sumber pengetahuan diperoleh dari seorang pakar, yaitu dokter spesialis jantung dan buku-buku.
3. Metode penalaran dalam mekanisme inferensi adalah backward chaining.
4. Interaksi antara program dan user menggunakan pertanyaan yang diberikan yang memerlukan jawaban “ya” atau “tidak” dari user.
5. Penyakit jantung yang ditampilkan sesuai dengan Standar Kompetensi Dokter Indonesia yang terdiri dari 12 penyakit berdasarkan tingkat kemampuan 3A, 3B, dan 4, yaitu:
a. Penyakit jantung berdasarkan tingkat kemampuan 3A
b. Penyakit jantung berdasarkan tingkat kemampuan 3B
Terdiri dari: Myocardial Infarction, Heart Failure, Cardiorespiratory Arrest, Supraventricular Tachycardia, Atrial Flutter, Septic Shock, dan Hypovolemic Shock.
c. Penyakit jantung berdasarkan tingkat kemampuan 4 Terdiri dari: Essential Hypertension
6. Pengembangan aplikasi sistem pakar ini berbasis web dengan menggunakan bahasa pemrograman PHP 5 dan database server MySQL 5 [11].
7. Output yang dihasilkan dari aplikasi ini berupa jenis penyakit yang dialami pasien dan pengobatannya.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun dan merancang suatu sistem pakar yang dapat memberikan pengetahuan kepada masyarakat penderita penyakit jantung dengan mendiagnosis jenis penyakit jantung yang diderita serta memberikan solusi
pengobatan.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah sebagai berikut:
1. Mempermudah dokter umum dan tim medis untuk melakukan diagnosis terhadap jenis penyakit jantung yang diderita pasien.
3. Sebagai alat bantu bagi pengguna dalam memperoleh informasi mengenai pengobatan yang tepat terhadap penyakit jantung yang diderita.
1.6 Metode Penelitian
Dalam penulisan skripsi ini, penulis melakukan beberapa tahapan untuk memperoleh data atau informasi dalam menyelesaikan permasalahan. Adapun tahapan penelitian yang dilakukan adalah:
1. Studi Literatur
Pada tahap ini, dilakukan studi literatur, yaitu dengan mengumpulkan teori-teori yang diperoleh dari buku-buku, artikel, dan karya ilmiah dari internet tentang konsep dan teori dasar sistem pakar dan bagaimana cara kerja metode backward chaining dalam melakukan diagnosis terhadap penyakit jantung.
2. Pengumpulan Data
Pada tahap ini, dilakukan proses pegumpulan data yang diperoleh dari wawancara kepada pakar, yaitu dokter spesialis jantung. Data yang dikumpulkan berupa gejala-gejala, jenis-jenis penyakit jantung, dan obat-obat yang digunakan yang akan dikumpulkan ke dalam sistem database.
3. Perancangan
Pada tahap ini, dilakukan perancangan desain aplikasi sistem pakar untuk mendiagnosis penyakit-penyakit jantung berdasarkan dengan Standar Kompetensi Dokter. Termasuk di dalamnya yaitu perancangan sistem database, membuat Data Flow Diagram (DFD), perancangan data, dan perancangan antarmuka.
4. Pengkodean
server MySQL 5. Pada tahap ini juga diterapkan cara kerja algoritma menggunakan metode backward chaining.
5. Pengujian dan Perbaikan
Pada tahap ini, akan dilakukan pengujian terhadap sistem yang telah dibangun dengan menggunakan data-data yang telah ada. Hasil pengujian ini kemudian dijadikan dasar untuk membuat perbaikan-perbaikan yang diperlukan untuk menghasilkan sistem seperti yang diharapkan.
6. Penyusunan Laporan
Pada tahap ini, dilakukan penyusunan laporan hasil analisis dan perancangan ke dalam format penulisan skripsi.
1.7 Sistematika Penulisan
Dalam penulisan tugas akhir ini, penulis membagi sistematika penulisan menjadi lima bab, yaitu:
BAB 1 PENDAHULUAN
Bab ini berisi penjelasan mengenai latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2LANDASAN TEORI
BAB 3ANALISIS DAN PERANCANGAN SISTEM
Berisi analisis kebutuhan perangkat lunak dan perancangan sistem pakar dengan menggunakan metode backward chaining untuk mendiagnosis penyakit jantung yang
disertai pengobatannya.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini menjelaskan bagaimana mengimplementasikan sistem pakar mendiagnosis penyakit jantung dan pengobatannya serta dilanjutkan dengan menguji aplikasi yang dibangun.
BAB 5 KESIMPULAN DAN SARAN
BAB 2
LANDASAN TEORI
2.1 Kecerdasan Buatan
Kecerdasan buatan adalah suatu ilmu yang mempelajari cara membuat komputer melakukan sesuatu seperti yang dilakukan oleh manusia. Definisi lain, kecerdasan buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas [8].
Ilmu yang mempelajari cara membuat komputer dapat bertindak dan memiliki kecerdasan seperti manusia disebut kecerdasan buatan. Sementara ensiklopedi Britannica mendefenisikan Kecerdasan Buatan (AI) sebagai cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk
simbol-simbol daripada bilangan, dan memproses informasi berdasarkan sejumlah aturan. Beberapa topik penting kecerdasan buatan antara lain yaitu Layanan Rekayasa dan Penalaran Otomatis, Evolusi dan Swarm Algoritma dan Ahli Tahapan Pengembangan Sistem, Fuzzy Set dan logika dan Pengetahuan Berbasis Sistem, Metode Pemecahan masalah Self-Healing dan Sistem Otonom, dll [7].
2.2 Sistem Pakar
ketergantungan pengetahuan manusia yang pakar dalam suatu bidang dalam menyusun strategi pemecahan persoalan yang dihadapi oleh sistem [14].
Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan yang dimaksud antara lain: pembuatan keputusan (decision making), pemaduan pengetahuan (knowledge fusing), pembuatan desain (designing), perencanaan (planning), prakiraan (forecasting), pengaturan (regulating), pengendalian (controlling), diagnosis (diagnosing), perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising) dan pelatihan (tutoring). Selain itu sistem pakar juga dapat berfungsi sebagai asisten yang pandai dari seorang pakar [8].
2.2.1 Sejarah Sistem Pakar
Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Inteligence Corporation. Periode penelitian AI ini didominasi oleh suatu keyakinan bahwa nalar yang digabung dengan komputer canggih akan menghasilkan prestasi pakar atau bahkan manusia super. Suatu usaha ke arah ini adalah General Purpose Problem-Solver (GPS). GPS sendiri merupakan sebuah predecessor menuju Expert System (ES) [1].
Sistem pakar untuk melakukan diagnosis kesehatan telah dikembangkan sejak pertengahan tahun 1970. Sistem pakar untuk melakukan diagnosis pertama dibuat oleh Bruce Buchanan dan Edward Shortliffe di Stanford University. Sistem ini diberi nama MYCIN [8].
2.2.2 Ciri-Ciri Sistem Pakar
Adapun ciri-ciri sistem pakar, yaitu:
1. Terbatas pada bidang yang spesifik.
2. Dapat memberikan penalaran untuk data-data yang tidak lengkap atau tidak pasti.
3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara yang dapat dipahami.
4. Berdasarkan pada rule atau kaidah tertentu.
5. Dirancang untuk dapat dikembangkan secara bertahap. 6. Outputnya bersifat nasihat atau anjuran.
7. Output tergantung dari dialog dengan user. 8. Knowledge base dan inference engine terpisah.
2.2.3 Keuntungan dan Kelemahan Sistem Pakar
Ada beberapa keuntungan sistem pakar [15], yaitu:
1. Memungkinkan seorang awam untuk dapat melakukan pekerjaan pakar. 2. Meningkatkan produktivitas kerja dengan jalan meningkatkan efisiensi.
3. Menghemat waktu dalam menyelesaikan masalah pekerjaan.
4. Dapat melakukan proses rumit berulang-ulang secara otomatis yang bagi kebanyakan orang mungkin membosankan.
5. Dapat digunakan untuk 24 jam sehari. 6. Menghasilkan keluaran yang konsisten.
Selain keuntungan-keuntungan di atas, sistem pakar seperti halnya sistem lainnya juga memiliki kelemahan, di antaranya adalah:
2. Untuk membuat sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan
pemeliharaannya.
3. Boleh jadi sistem tidak dapat membuat keputusan.
4. Sistem pakar tidaklah 100% menguntungkan, walaupun seseorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan.
2.2.4 Konsep Dasar Sistem Pakar
Pengetahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam sejumlah cara. Salah satu metode yang paling umum untuk merepresentasikan pengetahuan adalah dalam bentuk tipe aturan (rule) IF…THEN (Jika…maka).
Konsep dasar dari suatu sistem pakar mengandung beberapa unsur atau elemen, yaitu keahlian, ahli, pengalihan keahlian, inferensi, aturan, dan kemampuan menjelaskan [8]. Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar (reasoning). Jika keahlian-keahlian sudah tersimpan
sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka komputer harus dapat diprogram untuk membuat inferensi. Proses ini dibuat dalam bentuk motor inferensi (inference engine).
2.2.5 Struktur Sistem Pakar
Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat dalam Gambar 2.1
Gambar 2.1 Struktur Sistem Pakar
Hasil pemrosesan yang dilakukan oleh mesin inferensi dari sudut pandang pengguna bukan pakar berupa aksi yang direkomendasikan oleh sistem pakar disertai dengan fasilitas-fasilitas penjelasan yang dibutuhkan pengguna. Komponen yang terdapat dalam sistem pakar, yaitu design interface, basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan, dan perbaikan pengaturan.
Keterangan gambar:
: pemisah antara lingkungan konsultasi dengan lingkungan pengembangan.
: komunikasi dua arah : langsung
Komponen-komponen yang terdapat dalam sistem pakar antara lain, sebagai berikut:
1. Antarmuka Pengguna (User Interface)
Antarmuka pengguna merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai.
2. Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui.
3. Mesin Inferensi
Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace, dan untuk memformulasikan kesimpulan [2].
4. Akuisisi Pengetahuan
pakar, dilengkapi dengan buku, basis data, laporan penelitian dan pengalaman pemakai.
5. Blackboard (Tempat Kerja)
Blackboard adalah area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data input, digunakan juga untuk perekaman hipotesis dan keputusan sementara. Tiga tipe keputusan dapat direkam dalam blackboard, yaitu rencana (bagaimana mengatasi persoalan), agenda (tindakan potensial sebelum eksekusi), dan solusi (hipotesis kandidat dan arah tindakan alternatif yang telah dihasilkan sistem sampai dengan saat ini) [16].
6. Fasilitas Penjelasan Sistem
Fasilitas penjelasan sistem merupakan bagian dari sistem pakar yang memberikan penjelasan tentang bagaimana program dijalankan, apa yang harus dijelaskan kepada pemakai tentang suatu masalah, memberikan rekomendasi kepada pemakai, mengakomodasi kesalahan pemakai dan menjelaskan bagaimana suatu masalah terjadi.
7. Perbaikan Pengetahuan
Pakar manusia memiliki sistem perbaikan pengetahuan, yakni mereka dapat menganalisis pengetahuannya sendiri dan kegunaannya, belajar darinya, dan meningkatkannya untuk konsultasi mendatang.
2.2.6 Representasi Pengetahuan
2.2.6.1 Logika
Logika merupakan suatu pengkajian ilmiah tentang serangkaian penalaran, sistem kaidah, dan prosedur yang membantu proses penalaran. Logika merupakan bentuk representasi pengetahuan yang paling tua, yang menjadi dasar dari teknik representasi high level. Metode dikenal sebagai logika komputasional. Bentuk logika komputasional ada dua macam, yaitu:
1. Logika Proporsional
Logika proporsisi disebut juga kalkulus proposisi yang merupakan logika simbolik untuk memanipulasi proposisi. Proposisi merupakan pernyataan yang dapat bernilai benar atau salah.
Contohnya: Misalkan p menyatakan “Anda berusia 21 tahun atau sudah tua.” dan q menyatakan “Anda mempunyai hak pilih”, kondisional p → q dapat berarti: “Jika Anda berusia 21 tahun atau sudah tua maka Anda mempunyai hak pilih.”.
2. Logika Predikat
Logika predikat atau kalkulus predikat merupakan logika yang digunakan
untuk merepresentasikan masalah yang tidak dapat dilakukan atau direpresentasikan dengan menggunakan logika proposisi.
Contohnya: Misalnya proposisi: mobil berada dalam garasi, dapat dinyatakan menjadi:
Di dalam (mobil,garasi).
2.2.6.2 Jaringan Semantik (Semantic Nets)
Salah satu skema representasi pengetahuan tertua dan termudah adalah jaringan semantik. Representasi jaringan semantik merupakan penggambaran grafis dari pengetahuan yang memperlihatkan hubungan hirarki dari obyek-obyek. Komponen dasar untuk merepresentasikan pengetahuan dalam bentuk jaringan semantik adalah simpul (node) dan penghubung (link).
2.6.2.3 Bingkai (Frame)
Bingkai berupa ruang-ruang (slots) yang berisi atribut untuk mendeskripsikan pengetahuan. Pengetahuan yang termuat dalam slot dapat berupa kejadian, lokasi, situasi, ataupun elemen-elemen lainnya. Bingkai digunakan untuk merepresentasikan pengetahuan deklaratif [8]. Berikut adalah contoh tabel model representasi pengetahuan bingkai (frame).
Tabel 2.1 Representasi Bingkai Pada Bingkai Penyakit
Ruang (slots) Isi (fillers)
Nama Flu
Gejala a. Bersin
b. Pusing c. Demam
Obat a. Ultraflu
b. Mixagrib
2.2.6.4 Kaidah Produksi (Production Rule)
Berbagai struktur kaidah if-then yang menghubungkan obyek atau atribut adalah sebagai berikut.
JIKA premis MAKA konklusi JIKA masukan MAKA keluaran JIKA kondisi MAKA tindakan JIKA anteseden MAKA konsekuen JIKA data MAKA hasil
JIKA tindakan MAKA tujuan
Premis mengacu pada yang harus benar sebelum konklusi tertentu dapat diperoleh. Masukan mengacu pada data yang harus tersedia sebelum keluaran dapat diperoleh. Kondisi mengacu pada keadaan yang harus berlaku sebelum tindakan dapat diambil. Anteseden mengacu pada situasi yang terjadi sebelum konsekuensi dapat diamati. Data mengacu pada kegiatan yang harus dilakukan sebelum hasil dapat diharapkan. Tindakan mengacu pada kegiatan yang harus dilakukan sebelum hasil dapat diharapkan [8].
2.2.7 Mekanisme Inferensi
Mekanisme inferensi adalah bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar aturan berdasarkan aturan dan pola tertentu. Selama proses konsultasi antar sistem dan pemakai, mekanisme inferensi menguji aturan satu demi satu sampai kondisi aturan tersebut benar.
Ada dua metode inferensi yang paling penting dalam sistem pakar, yaitu runut maju (forward chaining) dan runut balik (backward chaining).
2.2.7.1 Runut Maju (Forward Chaining)
Suatu perkalian inferensi yang menggabungkan suatu permasalahan dengan solusinya disebut dengan rantai (chain). Suatu rantai yang dicari atau dilewati atau dilintasi dari suatu permasalahan untuk memperoleh solusinya disebut dengan forward chaining. Cara lain menggambarkan forward chaining ini adalah dengan penalaran dari fakta menuju konklusi yang terdapat dari fakta. Menurut Wilson dalam metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja. Proses diulang sampai ditemukan suatu hasil [8].
Menurut Giarattano dan Riley, metode inferensi runut maju cocok digunakan untuk menangani masalah pengendalian (controling) dan peramalan (prognosis) [8].
Berikut ini adalah contoh inferensi dengan menggunakan metode runut maju. JIKA penderita terkena penyakit epilepsi idiopatik dengan CF antara
0,4 s/d 0,6.
MAKA berikan obat carbamazepine
Gambar 2.2 Proses Forward Chaining
2.2.7.2 Runut Balik (Backward Chaining)
Suatu perkalian inferensi yang menggabungkan suatu permasalahan dengan solusinya disebut dengan rantai (chain). Suatu rantai yang dilintasi dari suatu hipotesa kembali ke fakta yang mendukung hipotesa tersebut adalah backward chaining. Cara lain menggambarkan backward chaining adalah dalam hal tujuan yang dapat dipenuhi dengan pemenuhan sub tujuannya. Menurut Giarattano dan Riley dalam runut balik, penalaran dimulai dengan tujuan merunut balik ke jalur yang akan mengarahkan ke tujuan tersebut [8].
Runut balik disebut juga sebagai goal-driven reasoning, merupakan cara yang efisien untuk memecahkan masalah yang dimodelkan sebagai masalah pemilihan terstruktur. Tujuan dari inferensi ini adalah mengambil pilihan terbaik dari banyak kemungkinan. Menurut Schnupp metode inferensi ini cocok digunakan untuk memecahkan masalah dignosis.
Berikut ini adalah contoh inferensi dengan menggunakan metode runut balik: Aturan 1:
Mengalami epilepsi idiopatik lokal dengan certainty factor 0,63. JIKA tipe sawan parsial sederhana
DAN EEG menunjukkan adanya fokus DAN penyebabnya tidak diketahui
Fakta Fakta Observasi B Aturan
Aturan
Kesimpulan Kesimpulan Aturan
Dalam metode ini, pendekatan yang dimotori tujuan (goal-driven). Dalam pendekatan ini pelacakan dimulai dari tujuan, selanjutnya dicari aturan yang memiliki
tujuan tersebut untuk kesimpulannya. Selanjutnya proses pelacakan menggunakan premis untuk aturan tersebut sebagai tujuan baru dan mencari aturan lain dengan tujuan baru sebagai kesimpulannya. Proses berlanjut sampai semua kemungkinan ditemukan. Gambar 2.3 menunjukkan proses backward chaining.
Gambar 2.3 Proses Backward Chaining
2.3 Penyakit Jantung Berdasarkan Standar Kompetensi Dokter Indonesia
Jantung adalah organ berupa otot, berbentuk kerucut, berongga dan dengan basisnya di atas dan puncaknya di bawah. Apex-nya ( puncak ) miring ke sebelah kiri. Berat jantung kira-kira 300 gram. Jantung berada di dalam torak, antara kedua paru-paru di belakang sternum, dan lebih menghadap ke kiri dari pada ke kanan. Ukuran jantung
kira-kira sebesar kepalan tangan. Jantung terbagi oleh sebuah septum, (sekat) menjadi dua belahan, yaitu kiri dan kanan. Sesudah lahir tidak ada hubungan satu dengan yang lain antara kedua belahan ini. Setiap belahan kemudian dibagi lagi dalam dua ruang, yang atas disebut atrium dan yang bawah disebut ventrikel. Maka di kiri terdapat satu atrium dan satu ventrikel, dan di kanan juga ada satu atrium satu ventrikel.
Jantung merupakan organ yang sangat penting bagi manusia. Jantung adalah pusat kehidupan bagi manusia. Faktor kesehatan jantung juga dipengaruhi oleh pola makanan dan pola fikir manusia tersebut. Tanda-tanda penyakit jantung pada manusia antara lain adalah nafas berat, rasa sakit pada rahang, rasa sakit pada punggung, berkeringat dingin, pingsan, gemetaran, rasa panas pada dada.
Observasi B Aturan R2 Fakta D
Perlu disadari bahwa akhir-akhir ini dirasakan peningkatan keluhan masyarakat baik di media elektronik maupun media cetak terhadap tenaga dokter
dalam memberikan pelayanan kesehatan. Baik buruknya pelayanan kesehatan ditentukan dari proses pendidkan profesi kedokteran yang dijalani tenaga kesehatan tersebut. Maka, diperlukan suatu standar kompetensi pendidikan dokter, sehingga sebelum terjun di tengah-tengah masyarakat sudah memiliki kemampuan dan ketrampilan yang memadai.
Standar Kompetensi Dokter ini merupakan standar nasional keluaran program studi dokter dan telah divalidasi oleh Perkumpulan Dokter Keluarga Indonesia, Kolegium Dokter Indonesia, Kolegium-Kolegium Spesialis terkait serta seluruh Bagian atau Departemen terkait dari seluruh institusi pendidikan kedokteran di Indonesia yang berjumlah 52 (lima puluh dua). Standar Kompetensi Dokter ini merupakan satu kesatuan dengan Standar Pendidikan Profesi Dokter. Standar Kompetensi Dokter adalah standar output atau keluaran dari program studi dokter [18].
Tingkat kemampuan yang diharapkan dicapai pada akhir pendidikan dokter:
Tingkat Kemampuan 3
3a. Mampu membuat diagnosis klinik berdasarkan pemeriksaan fisik dan pemeriksaan tambahan yang diminta oleh dokter (misalnya: pemeriksaan laboratorium sederhana atau X-ray). Dokter dapat memutuskan dan memberi terapi pendahuluan, serta merujuk ke spesialis yang relevan (bukan kasus gawat darurat).
Tingkat Kemampuan 4
Mampu membuat diagnosis klinik berdasarkan pemeriksaan fisik dan pemeriksaan tambahan yang diminta oleh dokter (misalnya: pemeriksaan laboratorium sederhana atau X-ray). Dokter dapat memutuskan dan mampu menangani problem itu secara mandiri hingga tuntas.
2.3.1 Angina Pectoris (Angina Pektoris)
Angina pektoris adalah “jeritan” otot jantung yang merupakan sakit dada kekurangan oksigen. Suatu gejala klinik yang disebabkan oleh iskemia miokard yang sementara. Ini adalah akibat dari tidak adanya keseimbangan antara kebutuhan oksigen miokard dan kemampuan pembuluh darah koroner menyediakan oksigen secukupnya untuk kontraksi miokard.
Gejala-gejala pada penderita angina pektoris adalah sakit dada yang menyebar ke tangan, leher atau punggung, sakit kepala, sesak nafas, keringat dingin, mual, gelisah, dan merasa lelah. Faktor pencetus yang paling banyak menyebabkan angina adalah kegiatan fisik, emosi yang berlebihan dan kadang-kadang sesudah makan.
2.3.2 Unstable Angina (Angina Pektoris Tidak Stabil)
Angina pektoris tidak stabil pada dasarnya sama dengan angina pektoris stabil tetapi berbeda karena polanya berubah, frekuensi bertambah, lebih hebat dan lama, faktor pencetus kurang. Subset pertama, pola progresip-angina kresendo baik waktu kegiatan maupun istirahat. Subset kedua, angina baru timbul dalam waktu 30 hari terakhir baik pada kegiatan maupun istirahat.
angina pektoris tidak stabil umumnya terjadi perubahan-perubahan pola meningkatnya frekuensi, parahnya dan atau lama sakitnya dan faktor pencetusnya.
2.3.3 Myocardial Infraction (Infark Miokard)
Infark miokard biasanya disebabkan oleh thrombus arteri koroner. Terjadinya trombus disebabkan oleh rupture plak yang kemudian diikuti oleh pembentukan trombus oleh trombosit. Setelah 20 menit terjadinya sumbatan, dan bila berlanjut terus rata-rata dalam 4 jam telah terjadi infark transmural. Hal ini karena daerah sekitar infark masih dalam bahaya bila proses iskemia masih berlanjut.
Gejala-gejala pada penderita infark miokard adalah sesak nafas, sakit dada yang menjalar dan terasa seperti terhimpit, muntah, mual, stres, berkeringat dingin, dan pingsan. Kadang-kadang rasa sakit yang tidak jelas karena tejadinya infark waktu sedang dianastesi atau waktu terjadi sumbatan pembuluh darah otak.
2.3.4 Heart Failure (Gagal Jantung)
Gagal jantung adalah suatu keadaan dimana jantung tidak lagi mampu memompa darah ke jaringan untuk memenuhi kebutuhan metabolisme tubuh, walaupun darah balik masih normal. Dengan perkataan lain, gagal jantung adalah suatu keadaan patofisiologis dimana jantung kemampuannya hanya ada kalau disertai peninggian volume diastolik secara abnormal [10].
2.3.5 Cardiorespiratory Arrest (Henti Jantung)
Henti jantung adalah terhentinya kontraksi jantung yang efektif. Yang paling sering menyebabkan cardiac arrest adalah fibrilasi ventrikel, cardiac standstill dan disosiasi
elektromagnetik. Cardiac arrest akan diikuti oleh respiratory arrest dalam beberapa detik. Sangat jarang terjadi respiratory arrest terjadi terlebih dahulu. Bila ini terjadi, jantung dapat berdenyut sampai dengan 30 menit [3].
Gejala-gejala pada penderita cardiorespiratory arrest adalah pingsan, stres, sakit dada, penurunan kesadaran, nyeri pada tangan, punggung, dan perut, tidak ada denyut jantung, dan napas dangkal dan cepat.
2.3.6 Supraventricular Tachycardia (Takikardia Supraventrikular)
Takikardia supraventrikular adalah pada umumnya penyakit jantung yang komplikasi pada kehamilan. Pengobatan sama dengan pada pasien tidak hamil, dan toleransi janin dari obat-obatan seperti adenosin dan calcium channel blockers diterima. Bila perlu, electrocardioversion dapat dilakukan dan umumnya dapat ditoleransi dengan baik oleh ibu dan janin [4].
Gejala-gejala pada penderita takikardia supraventrikular adalah jantung berdebar cepat, pingsan, buang air kecil lebih sering, nafas dangkal dan cepat, dan stres.
2.3.7 Atrial Flutter (Flutter Atrium)
pulmonal akut atau kronis, dan penyakit jantung koroner, namun jarang sebagai manifestasi intoksikasi digitalis [6].
Gejala-gejala pada penderita flutter atrium adalah nyeri pada dada, kelelahan, sesak nafas, dan jantung berdebar cepat.
2.3.8 Ventricular Extrasystole (Ekstrasistol Ventrikular)
Ekstrasistol ventrikular diikuti dengan ketukan dengan jeda kompensasi, dan hati ketukan pertama setelah jeda mungkin luar biasa kuat karena peningkatan ventrikel kiri dan kontradiksi disempurnakan. Semburan berkelanjutan dari denyut jantung secepat mungkin dan berkelanjutan irama tidak teratur.
Gejala-gejala pada penderita ekstrasistol ventrikular adalah nyeri dada, sesak nafas, perubahan status mental, demam dan menggigil, dan berkeringat dingin.
2.3.9 Essential Hypertension (Hipertensi Esensial)
Hipertensi esensial (primer) merupakan lebih kurang 90% dari seluruh penderita hipertensi dan tidak ada penyebab yang mengidentifikasikannya dan perlahan-lahan perkembangan meningkat tinggi pada tekanan darah dalam periode bertahun-tahun.
Gejala-gejala pada penyakit hipertensi esensial adalah sakit kepala, jantung berdebar cepat, berkeringat dingin, mual, merasa gelisah, gemetaran, dan muntah.
2.3.10 Secondary Hypertension (Hipertensi Sekunder)
Hipertensi sekunder adalah adanya atribut kondisi pathologis, jika pengobatan, akan menyebabkan tekanan darah kembali menjadi normal.
Gejala-gejala pada penderita hipertensi sekunder adalah sakit kepala, jantung berdebar cepat, berkeringat, muntah, mual, merasa gelisah, gemetaran, dan merasa lelah.
2.3.11 Septic Shock (Syok Septik)
Syok septik disebabkan oleh jaringan penurunan perfusi dan pengiriman oksigen sebagai hasil dari berat infeksi dan sepsis. Hal ini dapat menyebabkan kegagalan organ dan kematian, hampir kebanyakan korbannya adalah anak-anak dan orang tua, karena sistem kekebalan tubuhnya tidak bisa menghadapi infeksi seefektif orang dewasa yang sehat.
Gejala-gejala pada penderita syok septik adalah demam dan menggigil, peningkatan nadi, merasa gelisah, lemah badan dan nafsu tidur yang berlebihan, dan penurunan kesadaran.
2.3.12 Hypovelmic Shock (Syok Hipovolemik)
Syok hipovolemik adalah bentuk yang paling umum dari hasil syok, baik dari hilangnya merah massa sel darah dan plasma dari perdarahan atau dari hilangnya volume plasma saja yang timbul dari penyerapan cairan ekstravaskular atau pencernaan, kemih, dan kerugian pingsan.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Analisis dan perancangan sistem, berupaya menganalisis input data atau aliran data secara sistematis, memproses atau mentransformasikan data, menyimpan data, dan menghasilkan output.
3.1 Analisis Sistem
Analisis sistem meliputi analisis persyaratan sistem, analisis kebutuhan sistem dan analisis metode backward chaining, juga disertai dengan pengumpulan data serta pengetahuan yang diperlukan untuk membangun sistem pakar.
Sistem yang dibangun untuk menentukan jenis penyakit adalah dengan cara manual, yaitu dengan cara anamnesis yang dilakukan antara dokter terhadap pasiennya. Hasil yang dilakukan oleh dokter adalah untuk memperoleh gejala-gejala
yang diderita oleh pasien, kemudian dari gejala yang diperoleh dihasilkan diagnosis berupa suatu penyakit. Berdasarkan analisis sistem ini, akan diuraikan tentang analisis permasalahan yang ada dan analisis kebutuhan akan perangkat lunak yang nantinya akan dibuat.
3.1.1 Analisis Permasalahan
untuk menentukan jenis penyakit. Hasil diagnosis yang diperoleh seorang dokter sering bersifat parsial, sehingga kadang seorang dokter pun mengalami kesulitan
dalam mencari hubungan antara gejala-gejala dengan suatu penyakit. Sehingga dibutuhkan aplikasi yang mampu memetakan presentasi kepercayaan antara suatu gejala terhadap penyakit yang mungkin diderita oleh pasien.
Untuk itu dalam penelitian ini, penulis akan membuat suatu sistem pakar yang perancangan aplikasinya harus mudah dipahami dan hasilnya bermanfaat dan memuaskan bagi para pemakai. Untuk itu dibutuhkan suatu pembuktian bahwa sistem pakar dengan metode backward chaining dapat dimanfaatkan untuk menentukan jenis penyakit jantung.
3.1.2 Analisis Sasaran Pengguna
Pengguna sistem adalah pihak yang mengelola data pada sistem dan pihak yang menggunakan sistem sebagai sumber referensi untuk mengetahui diagnosis penyakit jantung. Pihak yang mengelola data pada sistem adalah administrator yang bertugas untuk memastikan data yang ada pada basis data tetap update dan benar, sedangkan pihak yang menggunakan sistem adalah user.
Spesifikasi perangkat lunak yang dibangun adalah perangkat lunak yang dapat
menerapkan metode inferensi backward chaining untuk mendiagnosis jenis penyakit jantung. Sistem yang dibangun menggunakan bahasa pemrograman PHP versi 5, MySQL sebagai basis data [5]. Oleh karena itu, sistem membutuhkan spesifikasi komputer yang dapat berfungsi secara optimal, yaitu web browser yang mendukung PHP.
3.2 Analisis Kebutuhan Sistem
Pada tahap ini dilakukan analisis kebutuhan data, analisis input dan output sistem, analisis fungsi sistem dan analisis batasan sistem.
3.2.1 Analisis Kebutuhan Data
Pada tahap ini, data yang digunakan pada sistem ini berupa data jenis-jenis penyakit jantung sesuai Standar Kompetensi Dokter Indonesia, serta data gejala-gejala penyakit yang dialami penderita. Data yang diperoleh berdasarkan dari hasil wawancara dengan dokter spesialis jantung, draft Standar Kompetensi Dokter Indonesia, dan buku-buku
kardiologi.
3.2.2 Analisis Input dan Output Sistem
Data yang menjadi input ke sistem adalah: 1. Data administrator.
2. Data user.
6. Data keterangan penyakit jantung. 7. Data pertanyaan konsultasi.
8. Data aturan penyakit.
Informasi yang menjadi output dari sistem adalah: 1. Informasi hasil diagnosis.
2. Informasi pengobatan.
3. Informasi artikel dan penyakit jantung.
3.2.3 Analisis Fungsionalitas Sistem
Analisis fungsi sistem ini adalah fungsi-fungsi yang harus dipenuhi sistem yang akan dirancang. Fungsi-fungsi yang harus dipenuhi oleh sistem adalah sebagai berikut:
1. Menampilkan daftar pertanyaan diagnosis untuk user. 2. Meminta input gejala-gejala penyakit jantung yang diderita 3. Menyimpan hasil jawaban pertanyaan dari user.
4. Menampilkan informasi mengenai jenis-jenis penyakit jantung. 5. Menampilkan informasi penyakit dan obat jantung.
6. Menampilkan keterangan dan penjelasan hasil diagnosis. 7. Menampilkan hasil diagnosis dan pengobatan user. 8. Menampilkan artikel penyakit jantung.
9. Menyimpan informasi administrator.
3.2.4 Analisis Batasan Sistem
Batasan dari sistem ini adalah:
1. Proses pengolahan data (penambahan, pengurangan dan hapus data) dilakukan oleh administrator.
3.3. Perancangan Sistem
Pada sub bab ini akan diuraikan perancangan sistem yang terdiri dari perancangan mesin inferensi, perancangan basis data, perancangan struktur program, dan perancangan antarmuka.
3.3.1 Perancangan Mesin Inferensi
Pada perancangan sistem pakar untuk mendiagnosis jenis penyakit jantung dilakukan dengan menggunakan mesin inferensi. Mesin inferensi backward chaining digunakan dalam sistem ini untuk mendiagnosis penyakit jantung setelah user menjawab pertanyaan yang berhubungan dengan gejala penyakit jantung yang diderita pasien. Dalam setiap menjawab pertanyaan, sistem telah menyediakan pilihan jawaban YA atau TIDAK yang akan dipilih oleh user.
Start
Ya Hasil diagnosa salah
Tidak
End Tidak
Gambar 3.1 Flowchart Backward Chaining Sistem Pakar Jantung
menampilkan hasil diagnosis dan solusi. Dan jika jenis penyakit dan gejala bernilai false, maka hasil diagnosis yang ditampilkan salah.
3.3.1.1 Perancangan Pohon Keputusan
Pembuatan pohon keputusan akan memudahkan sistem dalam melakukan penalaran hingga
ditemukannya suatu kesimpulan yang tepat. Perancangan pohon keputusan ini untuk
mendiagnosis jenis-jenis penyakit jantung. Berikut ini pada Gambar 3.2 adalah perancangan
pohon keputusan (decision tree) untuk sistem pakar dalam mendiagnosis penyakit jantung.
Gambar 3.2 Pohon Keputusan Sistem Pakar untuk Mendiagnosis Penyakit
Jantung
Keterangan:
= Gejala
= Penyakit
G001 G002 G003 G004 G005 G006 G007 G008 G009 G010 G011 G012 G013 G014 G015 G016
Daftar Gejala Penyakit:
G001: sakit atau nyeri dada yang menjalar dan terasa terhimpit maupun pada saat
istirahat.
G002: sesak nafas maupun yang terjadi pada waktu tengah malam. G003: lelah. G010: penurunan kesadaran. G011 : demam menggigil. G012 : peningkatan nadi.
G013 : nafas dangkal dan cepat. G014 : batuk di malam hari. G015 : perubahan status mental. G016 : pendarahan.
G017: mual. G018: gelisah.
G019: gemetaran.
G020: lemah badan dan nafsu tidur yang berlebih G021: susah bernafas pada saat tidur.
G022: nyeri pada tangan, punggung, dan perut. G023: buang air kecil lebih sering.
G024: tidak ada denyut jantung. G025: pembengkakan pada kaki. G026: dehidrasi.
G027: penurunan berat badan.
3.3.1.1.1 Perancangan Angina Pectoris
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit angina pectoris.
IF penyakit angina pectoris
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND mengalami keringat dingin AND mengalami sesak nafas AND merasa lelah
AND mengalami sakit kepala AND merasa mual
AND gelisah
Solusi:
Penyakit : Angina Pectoris
Defenisi : Angina pektoris adalah akibat dari tidak adanya keseimbangan antara kebutuhan oksigen miokard dan kemampuan pembuluh darah koroner menyediakan oksigen secukupnya untuk kontraksi miokard.
Jenis obat : nitrat, statin, antagonis kalsium, β-blocker, dan aspirin.
3.3.1.1.2 Perancangan Unstable Angina
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit unstable angina.
IF penyakit unstable angina
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND mengalami keringat dingin AND mengalami stres
Solusi:
Penyakit : Unstable Angina
Defenisi : Angina pektoris tidak stabil pada subset pertama, pola progresip-angina kresendo baik waktu kegiatan maupun istirahat. Subset kedua, angina baru timbul dalam waktu 30 hari terakhir baik pada kegiatan maupun istirahat.
Jenis obat : nitrat,antagonis kalsium, statin, aspirin, β-blocker, dan analgesia.
3.3.1.1.3 Perancangan Myocardial Infraction
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit myocardial infraction.
IF penyakit myocardial infraction
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND mengalami keringat dingin AND mengalami sesak nafas AND mengalami muntah-muntah AND mengalami pingsan
AND merasa mual AND mengalami stres
Solusi:
Penyakit : Myocardial Infraction
Definisi : Infark miokard biasanya disebabkan oleh thrombus arteri koroner. Setelah 20 menit terjadinya sumbatan, dan bila berlanjut terus rata-rata dalam 4 jam telah terjadi infark transmural.
3.3.1.1.4 Perancangan Heart Failure
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit heart failure.
IF penyakit heart failure
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND merasa jantung berdebar cepat AND mengalami sesak nafas
AND merasa lelah
AND batuk di malam hari
AND mengalami pembengkakan pada kaki AND susah bernafas
AND penurunan berat badan
Solusi:
Penyakit : Heart Failure
Definisi : Gagal jantung adalah suatu keadaan dimana jantung tidak lagi mampu memompa darah ke jaringan untuk memenuhi kebutuhan metabolisme tubuh, walaupun darah balik masih normal.
Jenis obat : diuretik, β-blocker, vasodilator, angiotensin II receptor blocker, ACE-inhibitor, dan glikosida jantung.
3.3.1.1.5 Perancangan Cardiorespiratory Arrest
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit cardiorespiratory arrest.
IF penyakit cardiorespiratory arrest
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND mengalami penurunan kesadaran AND merasa nafas dangkal dan cepat
AND mengalami nyeri pada tangan, punggung, dan perut AND mengalami tidak ada denyut jantung
Solusi:
Penyakit : Cardiorespiratory Arrest
Definisi : Henti jantung adalah terhentinya kontraksi jantung yang efektif. Cardiac arrest akan diikuti oleh respiratory arrest dalam beberapa detik. Sangat jarang terjadi respiratory arrest terjadi terlebih dahulu. Bila ini terjadi, jantung dapat berdenyut sampai dengan 30 menit. Jenis obat : β-blocker, antidepresan trisiklik, calcium channel blocker,
aserominophen, aspirin, dan digoxin.
3.3.1.1.6 Perancangan Supraventricular Tachycardia
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit supraventricular tachycardia.
IF penyakit supraventricular tachycardia THEN penderita merasa jantung berdebar cepat AND mengalami stres
AND mengalami pingsan
AND merasa nafas dangkal dan cepat
AND mengalami buang air kecil lebih sering
Solusi:
Penyakit : Supraventricular Tachycardia
Definisi : Takikardia supraventrikular adalah pada umumnya penyakit jantung yang komplikasi pada kehamilan. Pengobatan sama dengan pada pasien tidak hamil.
3.3.1.1.7 Perancangan Atrial Flutter
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit atrial flutter.
IF penyakit atrial flutter
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
AND merasa jantung berdebar cepat AND merasa lelah
AND mengalami sesak nafas
Solusi:
Penyakit : Atrial Flutter
Definisi : Flutter atrium adalah disritmia serius, di mana fokus irritable merangsang cepat 300-350 per menit atrial kontraksi. Flutter atrium jarang terjadi tanpa adanya kelainan jantung.
Jenis obat : anti-koagulan, dofetilide, amiodaron, dan digoxin.
3.3.1.1.8 Perancangan Ventricular Extrasystole
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit ventricular extrasystole.
IF penyakit ventricular extrasystole
THEN penderita mengalami sakit atau nyeri dada yang menjalar maupun pada saat istirahat
Solusi:
Penyakit : Ventricular Extrasystole
Definisi : Ekstrasistol ventrikular diikuti dengan ketukan dengan jeda kompensasi, semburan berkelanjutan dari denyut jantung secepat mungkin dan berkelanjutan irama tidak teratur.
Jenis obat : β-blocker, calcium channel blocker, amiodarone.
3.3.1.1.9 Perancangan Essential Hypertension
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit essential hypertension.
IF penyakit essential hypertension
THEN penderita mengalami keringat dingin AND merasa jantung berdebar cepat
AND mengalami muntah-muntah AND mengalami sakit kepala AND merasa mual
AND merasa gelisah AND merasa gemetaran
Solusi:
Penyakit : Essential Hypertension
Definisi : Hipertensi esensial (primer) merupakan lebih kurang 90% dari seluruh penderita hipertensi dan tidak ada penyebab yang mengidentifikasikannya.
Jenis obat : ACE-inhibitor, α receptor blocker, kalium, antagonis kalsium, β -blocker, dan vasodilator.
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit secondary hypertension.
IF penyakit secondary hypertension
THEN penderita mengalami keringat dingin AND merasa jantung berdebar cepat
AND merasa lelah
AND mengalami muntah-muntah AND mengalami sakit kepala AND merasa gelisah
AND merasa mual AND merasa gemetaran
Solusi:
Penyakit : Secondary Hypertension
Definisi : Hipertensi sekunder adalah keadaan terjadinya tekanan darah tinggi akibat penyakit tertentu. Karena adanya atribut kondisi pathologis, jika pengobatan, akan menyebabkan tekanan darah kembali menjadi normal.
Jenis obat : ACE-inhibitor, α receptor blocker, angiotensin receptor blocker, antagonis kalsium, dan diuretik.
3.3.1.1.11 Perancangan Septic Shock
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit septic shock.
IF penyakit septic shock
THEN penderita mengalami penurunan kesadaran AND mengalami demam menggigil
AND mengalami peningkatan pada nadi
Solusi:
Penyakit : Septic Shock
Definisi : Syok septik menyebabkan kegagalan organ dan kematian, hampir kebanyakan korbannya adalah anak-anak dan orang tua, karena sistem kekebalan tubuhnya tidak bisa menghadapi infeksi seefektif orang dewasa yang sehat.
Jenis obat : dobutamin, epinefrin, kortiko steroid, cairan kristaloid, dopamin, dan sodium bikarbonat.
3.3.1.1.12 Perancangan Hypovolemic Shock
Dari pohon keputusan di atas, didapat rule untuk menentukan gejala penyakit hypovolemic shock.
IF penyakit hypovolemic shock
THEN penderita mengalami muntah-muntah AND mengalami penurunan kesadaran AND mengalami peningkatan pada nadi AND mengalami pendarahan
AND mengalami dehidrasi
AND mengalami lemah badan dan nafsu tidur yang berlebih AND merasa gelisah
AND mengalami cepat bernafas
Solusi:
Penyakit : Hypovolemic Shock
Definisi : Syok hipovolemik adalah bentuk yang paling umum dari hasil syok, baik dari hilangnya volume plasma yang timbul dari penyerapan cairan ekstravaskular atau pencernaan, kemih, dan kerugian pingsan.
3.3.2 Perancangan Basis Data
Dalam perancangan basis data ini terdiri dari perancangan Data Flow Diagram (DFD), perancangan Entity Relationship Diagram (ERD), dan perancangan kamus data.
3.3.2.1 Perancangan Data Flow Diagram (DFD)
Perancangan DFD dalam aplikasi sistem pakar ini untuk menjelaskan aliran informasi dan transformasi data baik berupa pemasukan data oleh knowledge engineer maupun keluaran data yang dapat dilihat oleh user. Perancangan sistem ini dimulai dari diagram konteks, dilanjutkan pada DFD level 0, hingga DFD level 1.
ADMIN
Gambar 3.3 Diagram Konteks DFD Level-0
Penjelasan proses diagram konteks DFD sistem pakar untuk mendiagnosis penyakit jantung adalah sebagai berikut:
Nama Proses : Sistem Pakar Mendiagnosis Penyakit Jantung
Keterangan : Proses mendiagnosis penyakit jantung berdasarkan gejala yang dimasukkan oleh user.
2. Arus Data
Masukan : 1. Data username dan password 2. Data gejala
3. Pertanyaan konsultasi 4. Aturan diagnosis 5. Data penyakit
6. Artikel penyakit jantung 7. Data user
8. Jawaban
Keluaran : 1. Data username dan password 2. Data artikel penyakit jantung 3. Data penyakit
Keterangan : Merupakan bagian yang mengontrol dan memperbaiki sistem Masukan : 1. Data username dan password
2. Data artikel penyakit jantung 3. Data penyakit
4. Data aturan
5. Pertanyaan konsultasi 6. Data gejala
4. Data aturan
5. Pertanyaan konsultasi
6. Data gejala
Nama Entitas : User
Keterangan : Pengguna yang menggunakan sistem untuk mendiagnosis penyakit jantung
Keluaran : 1. Data user 2. Jawaban
Masukan : 1. Pertanyaan konsultasi 2. Hasil diagnosis
3. Artikel penyakit jantung
1P
Data artikel D6 Tabel artikel
Data artikel
Penjelasan proses DFD level 1 pada sistem pakar untuk mendiagnosis penyakit jantung adalah sebagai berikut:
1. Proses 1P
Nama Proses : Otentifikasi admin
Keterangan : Proses untuk mengecek kebenaran username dan password admin yang masuk.
2. Proses 2P
Nama Proses : Proses data gejala Masukan : - Data gejala Keluaran : - Data gejala
Keterangan : Mengolah data gejala penyakit, seperti insert, delete, dan edit data gejala penyakit.
3. Proses 3P
Nama Proses : Proses data penyakit Masukan : - Data penyakit Keluaran : - Data penyakit
Keterangan : Mengolah data penyakit jantung, seperti insert, delete, dan edit data penyakit jantung.
4. Proses 4P
Nama Proses : Proses pertanyaan konsultasi Masukan : - Data pertanyaan
Keluaran : - Data pertanyaan
Keterangan : Mengolah pertanyaan konsultasi, seperti insert, delete, dan edit data pertanyaan.
5. Proses 5P
Nama Proses : Proses data aturan Masukan : - Data aturan Keluaran : - Data aturan
Keterangan : Mengolah data aturan, seperti insert, delete, dan edit data aturan.
Nama Proses : Proses data artikel Masukan : - Data artikel
Keluaran : - Data artikel
Keterangan : Mengolah pertanyaan konsultasi, seperti insert, delete dan edit data.
7. Proses 7P
Nama Proses : View data penyakit dan artikel Masukan : - Data penyakit
-Data artikel Keluaran : - Data penyakit
-Artikel
Keterangan : Menampilkan data tentang penyakit jantung dan artikel penyakit jantung
8. Proses 8P
Nama Proses : Proses hasil diagnosis Masukan : - Data user
- Jawaban - Pertanyaan
- Hasil diagnosis Keluaran : - Pertanyaan
-Hasil diagnosis -Jawaban
Keterangan : Mengolah hasil diagnosis penyakit jantung berdasarkan jawaban yang telah dimasukkan oleh user.
3.3.2.2 Perancangan Entity Relationship Diagram (ERD)