Penggunaan Certainty Factor (CF) Dalam Perancangan Sistem Pakar Untuk Mendiagnosis Penyakit Atherosklerosis

(1)

PENGGUNAAN CERTAINTY FACTOR (CF) DALAM PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ATHEROSKLEROSIS

SKRIPSI Elpa Armi Voni

061401030

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(2)

PENGGUNAAN CERTAINTY FACTOR (CF) DALAM PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ATHEROSKLEROSIS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer Elpa Armi Voni

061401030

PROGRAM STUDI SARJANA ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(3)

PERSETUJUAN

Judul : PENGGUNAAN CERTAINTY FACTOR (CF)

DALAM PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ATHEROSKLEROSIS

Kategori : SKRIPSI

Nama : ELPA ARMI VONI

Nomor Induk Mahasiswa : 061401030

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 2010 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sajadin Sembiring,S.si Drs.Marihat Situmorang, M.Kom NIP. - NIP. 196312141989031001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003


(4)

PERNYATAAN

PENGGUNAAN CERTAINTY FACTOR (CF) DALAM PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ATHEROSKLEROSIS

SKRIPSI

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

Medan, 26 Agustus 2010

Elpa Armi Voni 061401030


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Ilmu Komputer sekaligus pembanding pada penyelesaian skripsi ini, Bapak Drs.Marihat Situmorang,M.Kom dan Bapak sajadin Sembiring,S.Si sebagai Pembimbing yang telah memberikan panduan ringkas, padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan skripsi ini. Ucapan terima kasih juga ditujukan kepada Bapak Muhammad Andri Budiman,ST.McomSc,MEM selaku pembanding yang telah banyak membantu dalam penyelesaian skripsi ini, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU serta pegawai di FMIPA USU. Ucapan terima kasih juga ditujukan kepada dr.fitri yang telah memberikan beberapa informasi penting dalam pembuatan skripsi ini.

Secara khusus penulis mengucapkan terima kasih yang tiada terhingga kepada ayahanda Nofriadi,S,Pd dan ibunda Asni,S.Pd, atas segala doa dan atas kepercayaan sepenuh hati kepada Penulis. Adinda Yola Dwi Putri dan Lairani Olsiara atas dukungan dan doanya selama ini. Serta seluruh keluarga tercinta yang berjasa dalam memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Semoga Allah SWT akan membalasnya. Selanjutnya untuk abang Shendy Syahputra yang selalu memberi dukungan dan doanya, Selanjutnya untuk teman-teman terbaik, dan yang terus memberi dukungan.


(6)

ABSTRAK

Saat ini komputer telah banyak digunakan dalam dunia medis untuk membantu diagnosis suatu penyakit. Penyakit yang paling penting dan sering ditemukan adalah atherosklerosis. Pencegahan penyakit lebih baik daripada pengobatannya. Oleh karena itu, pencegahan penyakit atherosklerosis ini diawali dengan pendiagnosaan dini. Salah satu teknik dalam mendiagnosis penyakit atherosklerosis ini adalah sistem pakar. Maka dari itu penelitian ini bertujuan menyusun sebuah sistem pakar yang digunakan untuk diagnosa awal penyakit atherosklerosis berdasarkan gejala yang rasakan. Sistem akan menampilkan Besarnya kepercayaan gejala tersebut terhadap kemungkinan penyakit yang diderita pengguna. Besarnya nilai kepercayaan tersebut merupakan hasil perhitungan dengan menggunakan metode Certainty Factor(CF). Representasi pengetahuan yang digunakan pada penelitian ini adalah production rule. Metode inferensi yang digunakan untuk mendapatkan konklusi yaitu penalaran maju (forward chaining). Implementasi sistem direalisasikan kedalam bahasa pemrograman Delphi 7.0 .


(7)

USE OF CERTAINTY FACTOR (CF) IN EXPERT SYSTEM DESIGN TO DIAGNOSE ATHEROSCLEROSIS DISEASE

ABSTRACT

Today computers have been widely used in the medical world to help diagnose a disease.The most important disease and is often found in atherosclerosis. Preventing is better than drugging. Therefore, atherosclerosis preventing started with stroke detection early. One way technical at atherosklerosis diagnosis is an expert system. Therefore this study aims to develop an expert system used for early diagnosis of atherosclerosis disease based on symptoms you feel. The system will display the amount of trust against the possibility of disease symptoms suffered by users.The value of the trust is calculated using the Certainty Factor (CF). Knowledge representation used in this study is the Production Rule.Inference method used to obtain the conclusion that Forward Chaining.System implementation is realized into Delphi 7.0 programming language.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii Penghargaan iv Abstrak v Abstract vi Daftar Isi vii Daftar Tabel x Daftar Gambar xi Bab 1 Pendahuluan 1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 3

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metodologi Penelitian 4

1.7Sistematika Penulisan 5

Bab 2 Landasan Teori 2.1 Kecerdasan Buatan 6

2.2 Sistem Pakar 7

2.2.1 Pengertian Sistem Pakar 7

2.2.2 Konsep Dasar Sistem Pakar 9

2.2.3 Ciri-ciri Sistem Pakar 11

2.2.4 Bidang-bidang pengembangan Sistem Pakar 11

2.2.5 Struktur Sistem Pakar 12

2.2.6 Keuntungan Sistem Pakar 15

2.2.7 Representasi Pengetahuan 16

2.2.8 Model Representasi Pengetahuan 16

2.2.9 Inferensi 19

2.3 Faktor Kepastian (Certainty Factor) 21

2.3.1 Pengertian Certainty Factor 21

2.3.2 Kombinasi Aturan 22

2.3.3 Perhitungan Certainty Factor 24

2.3.4 Menentukan CFGabungan 26

2.4 Penyakit Atherosklerosis 27

2.4.1 Pengertian Penyakit atherosklerosis 27

2.4.2 Gejala Penyakit atherosklerosis 29

2.4.3 Faktor Resiko Penyakit atherosklerosis 31

2.5 Delphi 7 dan Interbase 32


(9)

2.5.2 Interbase 33

Bab 3 Analisis dan Perancangan Sistem 3.1 Gambaran Sistem 34

3.2 Arsitektur Sistem 36

3.3 Representasi Pengetahuan 36

3.3.1 Data Dasar 37

3.3.2 Pola Umum Aturan 37

3.4 Mekanisme Inferensi 40

3.5 Algoritma Atherosklerosis Expert System 42

3.6 Perancangan Basis Data 44

3.6.1 Struktur Table 44

3.6.2 Relasi Antar Table 47

3.6.3 Perancangan DFD 48

3.6.4 Kamus Data 54

3.7 Perancangan Struktur Program 56

3.8 Perancangan AntarMuka 57

3.8.1 Rancangan Halaman login 57

3.8.2 Rancangan Halaman Utama 58

3.8.3 Rancangan Halaman Pengguna 59

3.8.4 Rancangan Halaman Gejala 60

3.8.5 Rancangan Halaman penyakit 60

3.8.6 Rancangan Halaman Akuisisi Pengetahuan 61

3.8.7 Rancangan Halaman Daftar Aturan 62

3.8.8 Rancangan Halaman Pendaftaran Pasien 62

3.8.9 Rancangan Halaman Konsultasi Penyakit 63

3.8.10Rancangan Halaman About 63

3.8.11Rancangan Halaman Penjelasan 64

Bab 4 Implementasi dan Penggunaan Sistem 4.1Pembahasan Sistem pakar atherosklerosis 66

4.1.1 Halaman Login 66

4.1.2 Halaman Menu Utama 68

4.1.3 Halaman Manajemen Pengguna 70

4.1.4 Halaman Data Dasar 71

4.1.5 Halaman Akuisisi pengetahuan 73

4.1.6 Halaman Pendaftaran Pasien 75

4.1.7 Halaman Konsultasi Penyakit 76

4.1.8 Halaman Penjelasan 78

4.1.9 Halaman About 79

4.2 Pengujian Sistem 80

Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 96

5.2. Saran 97

Daftar Pustaka 98 Lampiran


(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Bingkai Penyakit 18

Tabel 2.2 Aturan Kombinasi MYCIN 22

Tabel 3.1 Daftar Rule Diagnosis Penyakit 39

Tabel 3.2 Table Pengguna 43

Tabel 3.3 Table Gejala 43

Tabel 3.4 Table penyakit 44

Tabel 3.5 Table Rule Penyakit 44

Tabel 3.6 Table detail Rule Penyakit 44

Tabel 3.7 Table Cek Gejala 45

Tabel 3.8 Table Cek Penyakit 45

Tabel 3.9 Table Pasien 45

Tabel 3.10 Kamus Data Pengguna 53

Tabel 3.11 Kamus data gejala 54

Tabel 3.12 Kamus data penyakit 54

Tabel 3.13 Kamus data Rule penyakit 54

Tabel 3.14 Kamus Data detail Rule penyakit 55

Tabel 3.15 Kamus data Cek Gejala 55

Tabel 3.16 Kamus data Cek Penyakit 55

Tabel 3.17 Kamus data Pasien 55

Tabel 4.1 Daftar jawaban pasien secara manual 82


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Komponen Sistem Pakar 15

Gambar 2.2 Representasi Jaringan semantik 18

Gambar 2.3 Forward Chaining (Runut Maju) 19

Gambar 2.4 Backward Chaining ( Runut Balik) 20

Gambar 2.5 Jaringan Penalaran Certainty Factor 23

Gambar 2.6 Kombinasi Certainty Factor 24

Gambar 2.7 Kombinasi Paralel Certainty Factor 24

Gambar 2.8 Potongan Melintang Arteri 28

Gambar 2.9 Patofisiologis Atherosklerosis 29

Gambar 3.1 Aliran Sistem Diagnosis penyakit 35

Gambar 3.2 Arsitektur sistem pakar atherosklerosis 36

Gambar 3.3 Penelusuran dengan forward chaining 40

Gambar 3.4 Algoritma sistem pakar atherosklerosis 43

Gambar 3.5 Relasi Antar Table 47

Gambar 3.6 Diagram Konteks 48

Gambar 3.7 DFD level 0 50

Gambar 3.8 DFD level 1 53

Gambar 3.9 Perancangan Struktur Program 57

Gambar 3.10 Rancangan Halaman Login 58

Gambar 3.11 Rancangan Halaman Utama 58

Gambar 3.12 Rancangan Halaman Pengguna 59

Gambar 3.13 Rancangan Halaman Gejala 60

Gambar 3.14 Rancangan Halaman Penyakit 60

Gambar 3.15 Rancangan Halaman Akuisisi Pengetahuan 61

Gambar 3.16 Rancangan Halaman Daftar Aturan 62

Gambar 3.17 Rancangan Halaman Pendaftaran Pasien 62

Gambar 3.18 Rancangan Halaman Konsultasi Penyakit 63

Gambar 3.19 Rancangan Halaman About 63

Gambar 3.20 Rancangan Halaman Penjelasan 64

Gambar 4.1 Tampilan Halaman Login 67

Gambar 4.2 Tampilan Pesan Kesalahan pada waktu login 67

Gambar 4.3 Tampilan Halaman Menu Utama Sub Menu Admin 68

Gambar 4.4 Tampilan Halaman Menu Utama Sub Menu Pakar 69

Gambar 4.5 Tampilan Halaman Menu Utama Sub Menu Paramedis 69

Gambar 4.6 Tampilan Halaman Manajemen Pengguna 70

Gambar 4.7 Tampilan Halaman Gejala Penyakit 71

Gambar 4.8 Tampilan Halaman Penyakit 72

Gambar 4.9 Tampilan Halaman Akuisisi Pengetahuan Ketika tombol 73

masukkan aturan diklik Gambar 4.10Tampilan Halaman Akuisisi pengetahuan setelah nama 74

penyakit dipilih Gambar 4.11 Tampilan Halaman Pendaftaran pasien 75


(12)

Gambar 4.12 Tampilan Pesan Reset Berhasil 76

Gambar 4.13 Tampilan Halaman Pencarian Data Pasien 77

Gambar 4.14 Tampilan Pesan Gejala Habis 77

Gambar 4.15 Tampilan Halaman Konsultasi penyakit 78

Gambar 4.16 Tampilan Penjelasan 79

Gambar 4.17 Tampilan Halaman About 79

Gambar 4.18 Tampilan Data Penyakit yang Terdapat Dalam Sistem 93

Gambar 4.19 Tampilan Data Gejala Yang dimasukkan dalam sistem 94

Gambar 4.21 Tampilan Jawaban Pada Sesi konsultasi 94


(13)

ABSTRAK

Saat ini komputer telah banyak digunakan dalam dunia medis untuk membantu diagnosis suatu penyakit. Penyakit yang paling penting dan sering ditemukan adalah atherosklerosis. Pencegahan penyakit lebih baik daripada pengobatannya. Oleh karena itu, pencegahan penyakit atherosklerosis ini diawali dengan pendiagnosaan dini. Salah satu teknik dalam mendiagnosis penyakit atherosklerosis ini adalah sistem pakar. Maka dari itu penelitian ini bertujuan menyusun sebuah sistem pakar yang digunakan untuk diagnosa awal penyakit atherosklerosis berdasarkan gejala yang rasakan. Sistem akan menampilkan Besarnya kepercayaan gejala tersebut terhadap kemungkinan penyakit yang diderita pengguna. Besarnya nilai kepercayaan tersebut merupakan hasil perhitungan dengan menggunakan metode Certainty Factor(CF). Representasi pengetahuan yang digunakan pada penelitian ini adalah production rule. Metode inferensi yang digunakan untuk mendapatkan konklusi yaitu penalaran maju (forward chaining). Implementasi sistem direalisasikan kedalam bahasa pemrograman Delphi 7.0 .


(14)

USE OF CERTAINTY FACTOR (CF) IN EXPERT SYSTEM DESIGN TO DIAGNOSE ATHEROSCLEROSIS DISEASE

ABSTRACT

Today computers have been widely used in the medical world to help diagnose a disease.The most important disease and is often found in atherosclerosis. Preventing is better than drugging. Therefore, atherosclerosis preventing started with stroke detection early. One way technical at atherosklerosis diagnosis is an expert system. Therefore this study aims to develop an expert system used for early diagnosis of atherosclerosis disease based on symptoms you feel. The system will display the amount of trust against the possibility of disease symptoms suffered by users.The value of the trust is calculated using the Certainty Factor (CF). Knowledge representation used in this study is the Production Rule.Inference method used to obtain the conclusion that Forward Chaining.System implementation is realized into Delphi 7.0 programming language.


(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Penggunaan komputer sekarang ini tidak hanya terbatas pada bidang komputer secara langsung. Komputer telah menjadi keperluan penting dalam keseharian dan digunakan oleh pengguna dengan tahap kemahiran yang berbeda-beda. Pada zaman teknologi sekarang ini komputer digunakan dalam berbagai bidang kehidupan baik itu dibidang ekonomi, pertanian, perbankan, kesehatan, dan berbagai bidang lainnya.

Kesehatan menempati urutan tertinggi dalam menunjang kelangsungan aktivitas harian setiap manusia. Kesehatan merupakan salah satu faktor penting bagi manusia dalam memenuhi berbagai kewajiban untuk diri sendiri, keluarga dan masyarakat. Seiring dengan itu jenis penyakit yang menyerang manusia cendrung meningkat walaupun telah dilakukan berbagai cara untuk menghindarinya. Oleh karena itu, untuk mengatasi hal tersebut harus diketahui jenis penyakit yang diderita serta rekomendasi perawatan, pengobatan, serta pencegahan dari penyakit yang lebih buruk. Adapun kendala yang dihadapi yaitu minimnya pengetahuan tentang kesehatan, kurangnya kesadaran terhadap pentingnya kesehatan dan yang terutama yaitu masalah biaya, maka orang berfikir untuk melakukan pemeriksaan kesehatan.

Penyakit yang paling penting dan paling sering ditemukan adalah atherosklerosis, dimana bahan lemak terkumpul dibawah lapisan sebelah dalam dari dinding arteri. Atherosklerosis merupakan suatu penyakit dimana dinding arteri menjadi lebih tebal dan kurang lentur. Atherosklerosis bisa terjadi pada arteri di otak, jantung, ginjal, hati, lengan dan tungkai. Jika atherosklerosis terjadi di dalam arteri yang menuju ke otak maka bisa terjadi stroke. Jika terjadi di dalam arteri yang menuju ke jantung bisa terjadi serangan jantung.


(16)

Dalam mendiagnosa penyakit atherosklerosis dengan sistem konvensional yang selama ini dijadikan pegangan, cukup memakan waktu yang lama dan biaya yang sangat mahal. Untuk menciptakan seorang ahli (pakar) dalam salah satu bidang ilmu seperti halnya bidang kedokteran tentulah tidak mudah dan membutuhkan waktu yang sangat lama dan biaya yang mahal. Untuk itu, dibuatlah suatu alat bantu untuk mempermudah para ahli medis dalam hal ini dokter untuk melakukan pemeriksaannya agar lebih efektif dan efisien. Adapun alat bantu tersebut adalah piranti lunak dengan menggunakan konsep sistem pakar. Alasan digunakannya konsep sistem pakar adalah sebagai salah satu penerapan dari ilmu kecerdasan buatan yang dapat digunakan sebagai alat bantu dalam mendiagnosa penyakit athterosklerosis. Dengan adanya alat bantu ini, dokter lebih mudah dalam melakukan pendiagnosaan penyakit. Sistem pakar dianggap cocok dalam mendiagnosa penyakit atherosklerosis karena sistem ini dapat mengadopsi atau menyerap ilmu-ilmu yang berasal dari pakar dimana sistem ini dapat bekerja seperti seorang pakar nantinya.

Dalam mengambil kesimpulan dalam sistem pakar pada umumnya digunakan penalaran Forward Chaining atau Backward Chaining. Namun dengan penggunaan kedua penalaran tersebut belum dapat ditentukan besarnya nilai kepercayaan terhadap hipotesis. Agar sistem pakar dapat melakukan penalaran sebagaimana seorang pakar meskipun berada dalam kondisi ketidakpastian data, dan untuk mendapatkan nilai kepercayaan dalam hal ini nilai kepercayaan terhadap penyakit yang di derita, diperlukan suatu metode yang dikenal dengan Certainty Factor (CF). CF merupakan parameter klinis untuk menunjukkan besarnya kepercayaan.

1.2 Rumusan Masalah

Setelah melihat latar belakang masalah yang telah diuraikan di atas maka timbul rumusan masalah dalam skripsi ini yaitu bagaimana cara merancang suatu sistem pakar untuk mendiagnosis penyakit atherosklerosis dengan menggunakan metode Certainty Factor (CF).


(17)

1.3 Batasan Masalah

Untuk menghindari penyimpangan pembahasan dari tujuan awal maka diperlukan batasan masalah skripsi ini adalah sebagai berikut :

1) Sistem pakar yang akan dirancang untuk komputer PC (stand alone).

2) Sumber pengetahuan diperoleh dari pakar, buku-buku, e-book yang mendukung. 3) Metode yang digunakan dalam penyelesaian masalah ini adalah metode Certainty

Factor (CF)

4) Metode inferensinya menggunakan metode forward chaining

5) Sistem pakar ini ditujukan untuk paramedis untuk mendiagnosa awal penyakit atherosklerosis.

6) Pengujian yang dilakukan merupakan pengujian pada arteri yang sudah ditetapkan dan pengimplementasian hasil rancangan direalisasikan ke dalam pemrograman delphi 7 dan Database Management System yang digunakan adalah interbase.

1.4 Tujuan Penelitian

Tujuan penulis dalam pembuatan sistem pakar ini adalah untuk menghasilkan suatu sistem sederhana yang dapat digunakan untuk melakukan diagnosis penyakit atherosklerosis, dengan menerapkan metode CF.

1.5 Manfaat penelitian

Manfaat yang dapat diperoleh dari penulisan skripsi ini adalah sebagai berikut :

1) Mempermudah dokter umum dan juru rawat dalam melakukan pendiagnosaan terhadap penyakit atherosklerosis.

2) Memberikan alternatif untuk bidang akademis kedokteran sebagai salah satu sumber referensi belajar mengajar mengenai penyakit atherosklerosis.

3) Memberikan referensi bagi masyarakat luas yg tertarik untuk pengembangan topik ini lebih lanjut.


(18)

1.6 Metode Penelitian

Langkah-langkah yang ditempuh dalam penelitian, yaitu: 1. Studi Literatur

Dilakukan studi literatur atau studi pustaka yaitu mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai teori tentang aterosklerosis, sistem pakar dengan metode CF serta metode lain sebagai bahan perbandingan.

2. Pengumpulan dan Pemodelan Data

Pengetahuan yang telah didapatkan terutama dari pakar atau sumber lain yang mendukung dikumpulkan dalam suatu sistem database dan dikelompokkan sesuai dengan gejala atherosklerosis serta menentukan variabel data.

3. Perancangan

Pada tahap ini dilakukan pembuatan desain prototype yang dapat mengimplementasikan model data yang diperoleh.

4. Implementasi Program (Coding)

Pada tahap ini, dikembangkan suatu sistem pakar dengan menggunakan bahasa pemrograman Delphi 7. Demikian juga dengan penjelasan dari konsultasi user dibuat dengan cara yang sama sehingga akan memudahkan user memahami hasil diagnosa. Pada tahap ini juga diterapkan CF untuk menangani ketidakpastian pada know ledge maupun data dari pengguna untuk menunjukkan nilai kemungkinan dan kebenaran dari hasil diagnosa.

5. Tahap pengujian

Pada tahap ini, dilakukan pengujian terhadap sistem yang telah jadi dengan menggunakan data-data yang telah ada. Hasil pengujian ini kemudian dijadikan dasar untuk membuat perbaikan-perbaikan yang diperlukan untuk menghasilkan sistem yang seperti yang diharapkan

6. Penulisan Laporan

Penulisan laporan skripsi bertujuan untuk dijadikan sebagai dokumentasi hasil penelitian.


(19)

Agar penulisan menjadi lebih terstruktur, maka penulisan ini dibagi menjadi lima bab sebagai berikut:

Bab 1 : PENDAHULUAN

Berisi latar belakang masalah, perumusan masalah, batasan masalah, tujuan penulisan dan sistematika penulisan.

Bab 2 : LANDASAN TEORI

Membahas teori-teori yang berhubungan dengan kecerdasan buatan, sistem pakar, metode CF dan penyakit atherosklerosis.

Bab 3 : ANALISIS DAN PEMODELAN SISTEM

Membahas bagian-bagian yang berkaitan dengan perancangan sistem pakar untuk mendiagnosis penyakit atherosklerosis seperti membangun basis pengetahuan (knowledge base) beserta penjelasan mengenai cara kerja sistem pada proses pengambilan kesimpulan menggunakan metode CF. Bab 4 : IMPLEMENTASI PROGRAM

Menjelaskan langkah-langkah bagaimana mengimplementasikan perancangan sistem pakar untuk mendiagnosis penyakit atherosklerosis ini dengan menggunakan metode CF ke dalam sebuah program komputer dan dilanjutkan dengan pengujian program tersebut.

Bab 5 : KESIMPULAN DAN SARAN

Merupakan bab terakhir yang berisi kesimpulan yang diperoleh selama penulisan dan saran yang diberikan untuk pengembangan aplikasi lebih lanjut.


(20)

BAB 2

LANDASAN TEORI

2.1 Kecerdasan Buatan

Kecerdasan buatan ( artificial inteligence ) merupakan salah satu bagian ilmu komputer yang membuat agar mesin ( komputer) dapat melakukan pekerjaan seperti yang sebaik dilakukan manusia (Sri Kusumadewi, 2003).

Pengertian kecerdasan buatan dapat di pandang dari berbagai sudut pandang, antara lain :

1. Sudut pandang kecerdasan.

Kecerdasan buatan akan membuat mesin menjadi cerdas dalam arti mampu berbuat seperti apa yang dilakukan manusia.

2. Sudut pandang penelitian.

Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan manusia.

3. Sudut pandang bisnis.

Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan metodologis dalam mnyelesaikan masalah-masalah bisnis.

4. Sudut pandang pemrograman.

Kecerdasan meliputi studi tentang pemrograman simbolik, penyelesaian masalah dan pencarian.


(21)

Lingkup Utama dari kecerdasan buatan (Sri Kusumadewi, 2003) adalah sebagai berikut :

1. Sistem Pakar ( Expert System ). Disini komputer digunakan untuk menyimpan pengetahuan para pakar.

2. Pengelolaan Bahasa Alami ( Natural Language Processing ). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan ( Speech Recognition ). Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer dengan menggunakan suara.

4. Robotika & Sistem Sensor ( Robotics & Sensory System).

5. Computer Visio, mencoba untuk dapat menginterprestasikan gambar atau obyek-obyek tampak melalui komputer.

6. Intelligent Computer-aided Instruction.Komputer dapat digunakan sebagai tutor dalam melatih dan mengajar.

7. Game Playing.

Beberapa karakteristik yang ada pada sistem yang menggunakan artificial inteligence adalah pemrograman yang cenderung bersifat simbolik ketimbang algoritmik, bisa mengakomodasi input yang tidak lengkap.

Ada beberapa konsep yang harus dipahami dalam kecerdasan buatan, diantaranya (Kusrini, 2006) :

1. Turing Test – Metode pengujian kecerdasan buatan.

Merupakan sebuah metode pengujian kecerdasan buatan yang dibuat oleh Alan Turing.

2. Pemrosesan Simbolik.

Sifat penting dari AI adalah bahwa AI merupakan bagian ilmu komputer yang melakukan proses secara simbolik dan non-algoritmik dalam penyelesaian masalah.


(22)

3. Heuristic

Merupakan suatu strategi untuk melakukan proses pencarian (search) ruang problem secara selektif, yang memandu proses pencarian yang dilakukan sepanjang jalur yang memiliki kemungkinan sukses paling besar.

4. Penarikan Kesimpulan (Inferencing)

AI mencoba membuat mesin memiliki kemampuan berfikir atau mempertimbangkan (reasoning). Kemampuan berfikir termasuk didalamnya proses penarikan kesimpulan berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristik atau metode pencarian lainnya.

5. Pencocokan Pola (Pattern matching)

AI bekerja dengan mencocokkan pola yang berusaha untuk menjelaskan objek, kejadian atau proses, dalam hubungan logik atau komputasional.

Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki manusia), kecerdasan buatan memiliki beberapa keuntungan secara komersial, antara lain :

1. Lebih Permanen.

2. Memberikan kemudahan dalam duplikasi dan penyebaran. 3. Relatif lebih murah dari kecerdasan alamiah.

4. Konsisten dan teliti. 5. Dapat didokumentasikan.

6. Dapat mengerjakan beberapa task dengan lebih cepat dan lebih baik dibandingkan manusia.

2.2 Sistem Pakar

2.2.1 Pengertian Sistem Pakar

Sistem Pakar ( Expert System ) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti biasa yang dilakukan para ahli (Sri Kusumadewi, 2003).


(23)

Sistem pakar (expert system) mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation. Sistem pakar yang muncul pertama kali adalah General-purpose Problem Solver (GPS) yang merupakan sebuah predecessor untuk menyusun langkah-langkah yang dibutuhkan untuk mengubah situasi awal menjadi state tujuan yang telah ditentukan sebelumnya dengan menggunakan domain masalah yang kompleks.

Sistem pakar dapat diterapkan untuk persoalan di bidang industri, pertanian, bisni, kedokteran, militer, komunikasi dan transportasi, pariwisata, pendidikan, dan lain sebagainya. Permasalahan tersebut bersifat cukup kompleks dan terkadang tidak memiliki algoritma yang jelas di dalam pemecahannya, sehingga dibutuhkan kemampuan seorang atau beberapa ahli untuk mencari sistematika penyelesaiannya secara evolutif.

Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alasan mendasar mengapa sistem pakar dikembangkan menggantikan seorang pakar adalah sebagai berikut :

1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.

2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.

3. Seorang pakar akan pensiun atau pergi.

4. Menghadirkan atau menggunkan jasa seorang pakar memerlukan biaya yang mahal.

5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environment).

2.2.2 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). Walaupun cara diatas sangat sederhana, namun banyak hal yang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan diatas. Konsep dasar dari suatu sistem pakar mengandung beberapa unsur/elemen, yaitu: (Muhammad Arhami, 2005)


(24)

1. Keahlian

Keahlian merupakan suatu penguasaan pengetahuan dibidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman.

2. Ahli

Seorang ahli adalah seorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan, memecah aturan-aturan jika diperlukan dan menentukan relevan tidaknya keahlian mereka.

3. Pengalihan keahlian

Pengahlian keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi keorang lain yang bukan ahli (tujuan utama sistem pakar). Proses ini membutuhkan 4 aktivitas, yaitu: tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya), representasi pengetahuan yang berupa fakta dan prosedur (ke komputer), inferensi pengetahuan dan pengalihan pengetahuan ke pengguna.

4. Inferensi

Mekanisme inferensi merupakan perangkat lunak yang melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir.

5. Aturan

Aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui.

6. Kemampuan menjelaskan.

Kemampuan komputer untuk memberikan penjelasan kepada pengguna tentang sesuatu informasi tertentu dari pengguna dan dasar yang dapat digunakan oleh komputer untuk dapat menyimpulkan suatu kondisi.

2.2.3 Ciri-Ciri Sistem Pakar

Sistem pakar yang baik harus memiliki ciri-ciri sebagai berikut :

1. Memiliki fasilitas informasi yang handal, baik dalam menampilkan langkah-langkah antara maupun dalam menjawab pentanyaan-pertanyaan tentang proses penyelesaian.


(25)

2. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya.

3. Heuritik dalam menggunakan pengetahuan untuk mendapatkan penyelesaiannya.

4. Dapat digunakan dalam berbagai jenis komputer. 5. Memiliki kemampuan untuk beradaptasi.

2.2.4 Bidang-Bidang Pengembangan Sistem Pakar

Ada beberapa kategori pengembangan sistem pakar, antara lain:

1.Kontrol. Contoh pengembangan banyak ditemukan dalam kasus pasien di rumah sakit, di mana dengan kemampuan sistem pakardapat dilakukan kontrol terhadap cara pengobatan dan perawatan melalui sensor data atau kode alarm dan memeberikan solusi terapi pengobatan yang tepat bagi pasien yang sakit. 2.Desain. Contoh sistem pakar di bidang ini adalah PEACE yang dibuat Dincbas

untuk membantu desain pengembangan sirkuit elektronik dan sistem pakar yang membantu desain komputer dengan komponen-komponennya.

3.Diagnosis. Pengembangan sistem pakar terbesar adalah di bidang diagnosis, seperti diagnosis penyakit, diagnosis kerusakan mesin kendaraan bermotor, diagnosis kerusakan komponen komputer, dan lain-lain.

4.Instruksi. Instruksi merupakan pengembangan sistem pakar yang sangat berguna dalam bidang ilmu pengetahuan dan pendidikan, di mana sistem pakar dapat memberikan instruksi dan pengajaran tertentu terhadap suatu topik permasalahan. Contoh pengembangan sistem pakar di bidang ini adalah sistem pakar untuk pengajaran bahasa inggris, sistem pakar buntuk pengajaran astronomi, dan lain-lain.

5.Interprestasi. Sistem pakar yang dikembangkan dalam bidang interprestasi melakukan pemahaman akan suatu situasi dari beberapa informasi yang direkam. Contoh sistem yang dikembangkan dewasa ini adalah sistem untuk melakukan sensor gambar dan suara kemudian menganalisisnya dan kemudian membuat suatu rekomendasi berdasarkan rekaman tersebut.


(26)

6.Monitor. Sistem pakar dalam bidang ini banyak digunakan militer, yaitu menggunakan sensor radar kemudian menganalisisnya dan menentukan posisi objek berdasarkan posisi radar tersebut.

7.Perencanaan. Perencanaan banyak digunakan dalam bidang bisnis dan keuangan suatu proyek, di mana sistem pakar dalam membuat perencanaan suatu pekerjaan berdasarkan jumlah tenaga kerja, biaya dan waktu sehingga pekerjaan menjadi lebih efisien.

8.Prediksi. Sistem pakar dapat memprediksi kejadian masa mendatang berdasarkan informasi dan model permasalahan yang dihadapi. Biasanya sistem meberikan simulasi kejadian masa mendatang tersebut, misalnya memprediksi tingkat kerusakan tanaman apabila terserang hama dalam jangka waktu tertentu. 9.Seleksi. Sistem pakar dengan seleksi mengidentifikasikan pilihan terbaik dari

beberapa daftar pilihan kemungkinan solusi.

10.Simulasi. Sistem ini memproses operasi dari beberapa variasi kondisi yang ada dan menampilkannya dalam bentuk simulasi. Contoh yaitu program untuk menganalisis hama dengan berbagai kondisi suhu dan cuaca.

2.2.5 Struktur Sistem Pakar

Sistem pakar disusun oleh dua bagian utama, yaitu: lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) (Muhammad Arhami, 2006). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar kedalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.

Komponen-komponen yang terdapat dalam sistem pakar antara lain adalah segabai berikut :

1. Antarmuka pengguna (user interface)

User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakr untuk berkomunikasi. Antarmuka menerima informasi dari pemakai


(27)

dan mengubahnya kedalam 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 berisi pengetahuan-pengetahuan dalam penyelesaian masalah dalam domain tertentu.Ada dua bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu :

a) Penalaran berbasis aturan (Rule-Based Reasoning)

Pengetahuan direpresentasikan dengan menggunakan aturan berbentuk : IF-THEN. Bentuk ini digunakan apabila memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan pakar dapat menyelesaikan masalah tersebut secara berurutan.

b) Penalaran berbasis kasus (Case-Based Reasoning)

Basis pengetahuan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang.

3. Akuisisi Pengetahuan (knowledge acquisition)

Akuisisi pengetahuan adalah akumulasi, transfer, dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan kedalam program komputer. Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk selanjutnya di transfer ke dalam basis pengetahuan.Terdapat empat metode utama dalam akuisisi pengetahuan, yaitu: wawancara, analisis protocol, observasi pada pekerjaan pakar dan induksi aturan dari contoh.

4. Mesin inferensi

Mesin inferensi merupakan perangkat lunak yang melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan permodelan proses berfikir manusia.


(28)

5. Workplace

Workplace merupakan area dari sekumpulan memori kerja yang digunakan untuk merekam hasil-hasil dan kesimpulan yang dicapai. Ada tiga tipe keputusan yang direkam, yaitu :

a) Rencana : Bagaimana menghadapi masalah.

b) Agenda : Aksi-aksi yang potensial yang sedang menunggu untuk eksekusi.

c) Solusi : calon aksi yang akan dibangkitkan. 6. Fasilitas penjelasan

Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai dengan cara menjawab pertanyaan-pertanyaan.

7. Perbaikan pengetahuan

Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dan kinerjanya.

Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar 2.1 berikut ini:


(29)

2.2.6 Keuntungan Sistem Pakar

Sistem pakar merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasehat dan sarana bantu dalam menyelesaikan masalah di bidang-bidang spesialisasi tertentu. Ada beberapa keunggulan dari sistem pakar, diantaranya dapat :

1. Menghimpun data dalam jumlah yang sangat besar.

2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu.

3. Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi.

Ada banyak keuntungan yang dapat diperoleh dengan adanya sistem pakar antara lain sebagai berikut :

1. Memungkinkan orang awam dapat mengerjakan pekerjaan para ahli. 2. Dapat melakukan proses berulang secara otomatis.

3. Menyimpan pengetahuan dan keahlian para pakar. 4. Meningkat output dan produktivitas.

5. Meningkatkan kualitas.

6. Mampu mengambil dan melestarikan keahlian para pakar. 7. Mampu beroperasi dalam lingkungan yang berbahaya. 8. Memiliki kemampuan untuk mengakses pengetahuan. 9. Memiliki reliabilitas.

10.Meningkatkan kapabilitas sistem komputer.

11.Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.

12.Sebagai media pelengkap dalam pelatihan. 2.2.7 Representasi pengetahuan

Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan pengetahuan dalam sebuah sistem pakar yang berbasis pengetahuan. Perepresentasian


(30)

dimaksudkan untuk manangkap sifat-sifat penting problema dan membuat informasi itu dapat diakses oleh prosedure pemecahan problema (Kusrini, 2006).

Bahasa representasi harus dapat membuat seorang perogram mampu mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi problema, dapat diterjemahkan ke dalam bahasa pemrograman dan dapat disimpan.Harus dirancang agar fakta-fakta dan pengetahuan lain yang terkandungdi dalamnya dapat digunakan untuk penalaran.

2.2.8 Model Representasi Pengetahuan

Pengetahuan dapat direpresentasikan dalam bentuk yang sederhana atau kompleks, tergantung dari masalahnya. Beberapa model representasi pengetahuan yang penting, adalah:

1. Logika (logic)

Logika merupakan suatu pengkajian ilmiah tentang serangkaian penalaran, sistem kaidah, dan prosedur yang membantu proses penalaran. Logika merupakan representasi pengetahuan yang paling tua. Bentuk logika komputasional ada 2 macam, yaitu:

a) Logika Proporsional atau Kalkulus

Logika proporsional merupakan logika simbolik untuk memanipulasi proposisi. Proposisi merupakan pernyataan yang dapat bernilai benar atau salah yang dihubungkan dengan operator logika diantaranya operator And (dan), Or (atau), Not (tidak), Impilikasi (if..then), Bikondisional (if and only if).

Contohnya: Jika hujan turun sekarang maka saya tidak akan ke pasar, dapat dituliskan dalam bentuk: ( p => q)

b) Logika Predikat

Logika predikat adalah suatu logika yang seluruhnya menggunakan konsep dan kaidah proposional yang sama dengan rinci. Suatu proposisi atau premis dibagi menjadi dua bagian, yaitu: argumen (objek) dan predikat


(31)

(keterangan). Predikat adalah keterangan yang membuat argument dan predikat.

Contohnya: Mobil berada dalam garasi, dapat dinyatakan menjadi Di dalam (mobil,garasi).

Di dalam = keterangan, mobil = argumen, garasi = argumen. 2. Jaringan semantik (semantic nets)

Representasi jaringan semantic merupakan penggambaran grafis dari pengetahuan yang memperlihatkan hubungan hirarkis dari objek-objek yang terdiri atas simpul (node) dan penghubung (link).

Contohnya : Merepresentasikan pernyataan bahwa semua komputer merupakan alat elektornik, semua PC merupakan komputer, dan semua komputer memiliki monitor. Dari pernyataan tersebut dapat diketahui bahwa semua PC memiliki monitor dan hanya sebagian alat elektronik yang memiliki monitor, hal ini dapat dilihat pada gambar 2.2 berikut ini:

Gambar 2.2 Representasi jaringan semantik

3. Object-Atributte-Value (OAV)

Object dapat berupa bentuk fisik atau konsep, Attribute adalah karakteristik atau sifat dari object tersebut, Value (nilai) - besaran spesifik dari attribute tersebut yang berupa numeric, string atau boolean.

Contoh: Object: mangga ; Attribute: berbiji ; Value: tungggal. 4. Bingkai (frame)

Bingkai berupa ruang (slots) yang berisi atribut untuk mendeskripsikan pengetahuan yang berupa kejadian. Binkai memuat deskripsi sebuah objek dengan menggunakan tabulasi informasi yang berhubungan dengan objek. Contoh: Bingkai penyakit yang dilihat pada gambar 2.3 berikut ini:


(32)

Tabel 2.1 Bingkai Penyakit

5. Kaidah produksi (production rule).

Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan, atau strategi. Kaidah produksi dituliskan dalam bentuk jika-maka (if-then) yang menghubungkan anteseden dengan konsekuensi yang diakibatkannya. Berbagai struktur kaidah if-then ynag 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 2.2.9 Inferensi

Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan informasi yang tersedia dalam hal ini akan digunakan metode inferensi dalam pengambilan kesimpulan. Ada dua metode inferensi yang penting dalam sistem pakar untuk menarik kesimpulan, yaitu:

1. Runut Maju (Forward Chaining)

Pelacakan ke depan adalah pendekatan yang dimotori data (data-driven). Dalam pendekatan ini pelacakan dimulai dari informasi masukan dan selanjutnya mencoba menggambarkan kesimpulan. Pelacakan ke depan mencari fakta yang


(33)

sesuai dengan bagian IF dari aturan IF-THEN. Gambar 2.3 menunjukkan proses Forward Chaining.

Observasi A aturan R1 fakta C Kesimpulan 1

Aturan R3

Observasi B aturan R2 fakta D Kesimpulan 2

Aturan R2 fakta E

Gambar 2.3 Forw ard Chaining (Runut M aju) Berikut ini contoh inferensi yang menggunakan runut maju adalah

JIKA penderita terkena penyakit epilepsi idiopatik dengan CF antara 0,4 s/d 0,6

MAKA berikan obat carbamazepine 2. Runut Balik ( Backward Chaining )

Runut balik adalah 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. 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.4 menunjukkan proses Backward Chaining.

Observasi A aturan R1 fakta C

Aturan R3

Observasi B aturan R2 fakta D Tujuan 1

(Kesimpulan)

Aturan R2 Gambar 2.4 Backward Chaining (Runut Balik)

Contoh penalaran menggunakan metode runut balik : Aturan 1 :


(34)

JIKA tipe sawan parsial sederhana DAN EEG menunjukkan adanya fokus DAN penyebabnya tidak diketahui Aturan 2 :

Mengalami tipe sawan parsial sederhana dengan CF 0,63

JIKA mengalami motorik fokalyang menjalar atau tanpa menjalar (geraka

klonik dari jari tangan, lalu menjalar ke lengan bawah dan atas lalu menjalar ke seluruh tubuh)

ATAU gerakan versif,dengan kepala dan leher menengok ke suatu sisi

ATAU gerakan sensorik fokal menjalar atau sensorik khusus berupa halusinasi sederhana ( visual, audiotorik, gustatorik )

2.3 Faktor Kepastian (Certainty Factor)

2.3.1 Pengertian Faktor Kepastian ( Certainty Factor )

Dalam menghadapi suatu masalah sering ditemukan jawaban yang tidak memiliki kepastian penuh. Ketidakpastian ini bisa berupa probabilitas atau kebolehjadian yang tergantung dari hasil suatu kejadian. Hasil yang tidak pasti disebabkan oleh dua faktor yaitu aturan yang tidak pasti dan jawaban pengguna yang tidak pasti atas suatu pertanyaan yang diajukan oleh sistem.

Ada tiga penyebab ketidakpastian aturan yaitu aturan tunggal, penyelesaian konflik dan ketidakcocokan (incompatibility) antar konskuen dalam aturan. Aturan tunggal yang dapat menyebabkan ketidakpastian dipengaruhi oleh tiga hal, yaitu kesalahan, probabilitas dan kombinasi gejala (evidence). Kesalahan dapat terjadi karena (Kusrini, 2006) adalah sebagai berikut :

1. ambiguitas, sesuatu didefinisikan dengan lebih dari satu cara. 2. ketidaklengkapan data

3. kesalahan informasi

4. ketidakpercayaan terhadap suatu alat 5. adanya bias


(35)

Probabilitas disebabkan ketidakmampuan seorang pakar merumuskan suatu aturan secara pasti. Misalnya jika seseorang mengalami sakit kepala, demam dan bersin-bersin ada kemungkinan orang tersebut terserang penyakit flu, tetapi bukan berarti apabila seseorang mengalai gejala tersebut pasti terserang penyakit flu.

Certainty Factor (CF) menujukkan ukuran kepastian terhadap suatu fakta atau aturan.Notasi Faktor Kepastian(Sri Kusumadewi, 2003) adalah sebagai berikut :

CF[h,e] = MB[h,e] – MD[h,e] dengan

CF[h,e] : Faktor Kepastian

MB[h,e] : ukuran kepercayaan terhadap hipotesis h , jika diberikan evidence e ( antara 0 dan 1 ).

MD[h,e] : ukuran ketidakpercayaan terhadap evidence h,jika diberikan evidence e ( antara 0 dan 1 )

2.3.2 Kombinasi Aturan

Metode MYCIN untuk menggabungkan evidence pada antecedent sebuah aturan yang ditunjukka pada tabel berikut ini :

Evidence , E Antecedent Ketidakpastian

E1 DAN E2 min[CF(H,E1), CF(H,E2)] E1 OR E2 max[CF(H,E1), CF(H,E2)]

TIDAK E -CF(H,E)

Tabel 2.2 Aturan kombinasi MYCIN

Bentuk dasar rumus certainty factor sebuah aturan JIKA E MAKA H adalah sebagai berikut :

CF(H,e) = CF(E,e) * CF(H,E) Di mana :

CF(E,e) : Certainty Factorevidence E yang dipengaruhi ileh evidence e CF(H,E) : Certainty Factor hipotesis dengan asumsi evidence diketahui

dengan pasti, yaitu ketika CF(E,e) = 1


(36)

Jika semua evidence dan antecedent diketahui dengan pasti maka rumusnya menjadi CF(H,e) = CF (H,E)

Dalam diagnosis suatu penyakit , hubungan antara gejala dengan hipotesis sering tidak pasti. Sangat dimungkinkan beberapa aturan menghasilkan satu hipotesis dan suatu hipotesis menjadi evidence bagi aturan lain. Kondisi tersebut dapat digambarkan sebagai berikut :

A

B

C D

E

F 0,8

0,7 0,9

-0,3 0,5

Gambar 2.5 Jaringan penalaran certainty factor

Dari gambar di atas ditunjukkan bahwa certainty factor dapat digunakan untuk menghitung perubahan derajat kepercayaan dari hipotesis F ketika A dan B bernilai benar. Hal ini dapat dilakukan dengan mengkombinasikan semua certainty factor pada A dan B menuju F menjadi sebuah alur hipotesis certainty factor seperti di bawah ini:

JIKA (A DAN B) MAKA F

Kondisi ini juga dapat digambarkan sebagai berikut:

Gambar 2.6 Kombinasi Certainty Factor

Kombinasi seperti ini disebut kombinasi paralel ,sebagaimana ditunjukkan oleh gambar di bawah ini :

Gambar 2.7 Kombinasi Paralel Certainty Factor

Pada kondisi ini evidence E1 dan E2 mempengaruhi hipotesis yang sama, yaitu H. Kedua Certainty Factor CF(H,E1) dan CF(H,E2) dikombinasikan menghasilkan


(37)

certainty factor CF(H,E1,E2). Certainty kedua aturan dikombinasikan sehingga menghasilkan certainty factor CF(H,E’). Untuk menghitung kombinasi tersebut digunakan rumus berikut

CF(H,E’) = CF(E,E’) * CF (H,E)

2.3.3 Perhitungan Certainty Factor

Berikut ini adalah contoh ekspresi logika yang mengkombinasikan evidence : E=(E1 DAN E2 DAN E3) ATAU (E4 DAN BUKAN E5) Gejala E akan dihitung sebagai :

E = max[min(E1,E2,E3),min(E4,-E5)]

Untuk nilai E1 =0,9 E2 = 0,8 E3 = 0,3 E4 = -0,5 E5 = -0,4 Hasilnya adalah :

E = max[min(E1,E2,E3),min(E4,-E5)] = max(0,3, -0,5)

= 0,3

Bentuk dasar rumus Certainty Factor sebuah aturan JIKA E MAKA H ditunjukkan oleh rumus :

CF(H,e) = CF( E,e)*CF(H,E) Dimana :

CF(E,e) : Certainty Factor evidence E yang dipengaruhi oleh evidence

CF(H,E) : Certainty Factor hipotesis dengan asumsi evidence diketahui dengan pasti , yaitu ketika CF(E,e)=1

CF(H,e) : Certainty factor hipotesis yang dipengaruhi oleh evidence e

Jika semua evidence pada antecedent diketahui dengan pasti, maka rumusnya ditunjukkan sebagai berikut :

CF(H,e) = CF(H,E) Karena CF(E,e) = 1.


(38)

Contoh kasus yang melibatkan kombinasi CF : JIKA batuk

DAN demam DAN sakit kepala DAN bersin-bersin

MAKA influenza, CF : 0,7

dengan menganggap E1 : “batuk”, E2 :”demam”, E3 :”sakit kepala”, E4 :”bersin-bersin”, dan H:”influenza”, nilai certainty factor pada saat evidence pasti adalah :

CF(H,E) : CF(H,E1∩ E2∩ E3∩ E4) : 0,7

Dalam kasus ini , kondisi pasien tidak dapat ditentukan dengan pasti . Certainty factor evidence E yang dipengaruhi oleh partial evidence e ditunjukkan dengan nilai sebagai berikut :

CF(E1,e) : 0,5 (pasien mengalami batuk 50%) CF(E2,e) : 0,8 (pasien mengalami demam 80%) CF(E3,e) : 0,3 (pasien mengalami sakit kepala 30%) CF(E4,e) : 0,7 (pasien mengalami bersin-bersin 70%) Sehingga

CF(E,e) = CF(H,E1∩ E2∩ E3∩ E4)

= min[CF(E1,e), CF(E2,e), CF(E3,e), CF(E4,e)] = min[0,5, 0,8, 0,3, 0,7]

= 0,3

Maka nilai certainty factor hipotesis adalah : CF(H,e) = CF(E,e)* CF(H,E)

= 0,3 * 0,7 = 0,21

2.3.4 Menentukan CF Gabungan

CF gabungan merupakan CF akhir dari sebuah calon konklusi. CF ini dipengaruhi oleh semua CF paralel dari aturan yang menentukan konklusi tersebut. CF Gabungan diperlukan jika suatu konklusi diperoleh dari beberapa aturan sekaligus. CF Akhir dari


(39)

suatu aturan dengan aturan yang lain digabungkan untuk mendapatkan nilai CF Akhir bagi calon konklusi tersebut. Adapun rumus untuk melakukan perhitungan CF Gabungan adalah sebagai berikut:

CF (x) + CF (y) - (CF(x)*CF(y)), CF (x), CF(y) > 0

( ) ( )

( ( | ( ) |,| ( ) |) ) ), Salah satu CF( x) , CF( y) ) < 0

CF (x) + CF (y) +(CF(x)*CF(y)), CF (x), CF(y) > 0

2 .4 Penyakit Atherosklerosis

2.4.1 Pengertian Penyakit Atherosklerosis

Atherosklerosis adalah perubahan dinding arteri yang ditandai dengan akumulasi lipid ekstrasel, rekruitmen dan akumulasi lekosit, pembentukan sel busa, migrasi dan proliferasi miosit, deposit matriks ekstrasel, akibat pemicuan patomekanisme multifaktor yang bersifat kronik progresif, fokal atau difus, bermanifestasi akut maupun kronis, serta menimbulkan penebalan dan kekakuan arteri (m.adib , 2009 ).

Atherosklerosis disebabkan faktor genetik serta intensitas dan lama paparan faktor lingkungan (hemodinamik, metabolik, kimiawi eksogen, infeksi virus dan bakteri, faktor imunitas dan faktor mekanis), dan atau interaksi berbagai faktor. Atherosklerosis bermula ketika sel darah putih yang disebut monosit, pindah dari aliran darah ke dalam dinding arteri dan diubah menjadi sel-sel yang mengumpulkan bahan-bahan lemak. Pada saatnya, monosit yang terisi lemak ini akan terkumpul, menyebabkan bercak penebalan di lapisan dalam arteri. Setiap daerah penebalan (yang disebut plak aterosklerotik atau ateroma) yang terisi dengan bahan lembut seperti keju, mengandung sejumlah bahan lemak, terutama kolesterol, sel-sel otot polos dan sel-sel jaringan ikat.Ateroma bisa tersebar di dalam arteri sedang dan arteri besar, tetapi biasanya mereka terbentuk di daerah percabangan, mungkin karena turbulensi di daerah ini menyebabkan cedera pada dinding arteri, sehingga disini lebih mudah


(40)

terbentuk ateroma. Arteri yang terkena atherosklerosis akan kehilangan kelenturannya dan karena ateroma terus tumbuh, maka arteri akan menyempit. Lama-lama ateroma mengumpulkan endapan kalsium, sehingga menjadi rapuh dan bisa pecah. Darah bisa masuk ke dalam ateroma yang pecah, sehingga ateroma menjadi lebih besar dan lebih mempersempit arteri. Ateroma yang pecah juga bisa menumpahkan kandungan lemaknya dan memicu pembentukan bekuan darah (trombus). Selanjutnya bekuan ini akan mempersempit bahkan menyumbat arteri, atau bekuan akan terlepas dan mengalir bersama aliran darah dan menyebabkan sumbatan di tempat lain (emboli).

Gambar 2.8 Potongan Melintang Arteri

Patofisologi dari penyakit atherosklerosis ini dapat dilihat dari gambar berikut:


(41)

2.4.2 Gejala Penyakit Atherosklerosis

Sebelum terjadinya penyempitan arteri atau penyumbatan mendadak, atherosklerosis biasanya tidak menimbulkan gejala. Gejalanya tergantung dari lokasi terbentuknya, sehingga bisa berupa gejala jantung, otak, tungkai atau tempat lainnya. Jika atherosklerosis menyebabkan penyempitan arteri yang sangat berat, maka bagian tubuh yang diperdarahinya tidak akan mendapatkan darah dalam jumlah yang memadai, yang mengangkut oksigen ke jaringan. Gejala awal dari penyempitan arteri bisa berupa nyeri atau kram yang terjadi pada saat aliran darah tidak dapat mencukupi kebutuhan akan oksigen. Contohnya, selama berolah raga, seseorang dapat merasakan nyeri dada (angina) karena aliran oksigen ke jantung berkurang, atau ketika berjalan, seseorang merasakan kram di tungkainya (klaudikasio interminten) karena aliran oksigen ke tungkai berkurang.Yang khas adalah bahwa gejala-gejala tersebut timbul secara perlahan, sejalan dengan terjadinya penyempitan arteri oleh ateroma yang juga berlangsung secara perlahan. Tetapi jika penyumbatan terjadi secara tiba-tiba (misalnya jika sebuah bekuan menyumbat arteri), maka gejalanya akan timbul secara mendadak.

Umumnya lokasi tempat terjadinya penyempitan pembuluh darah adalah sebagai berikut :

1. Hati 2. Otak

3. Kaki, panggul, lengan 4. Ginjal

Ada beberapa gejala dari penyakit aterosklerosis ini berdasarkan tempat terjadinya, yaitu :

1. Gejala Aterosklerosis dalam Hati Gejalanya adalah sebagai berikut :


(42)

b) Nyeri pada satu atau kedua lengan, bahu kiri, leher, rahang, atau punggung.

c) Sesak nafas d) Pusing

e) Jantung berdetak cepat f) Mual

g) Detak jantung tidak normal h) Merasa sangat lelah

2. Gejala Aterosklerosis di Otak Gejalanya adalah sebagai berikut :

a) Tiba-tiba mati rasa atau lemah pada wajah, lengan, atau kaki. b) Tiba-tiba sulit berbicara atau memahami pembicaraan. c) Tiba-tiba sulit untuk melihat pada satu atau kedua mata.

d) Tiba-tiba kesulitan berjalan, pusing, atau kehilangan keseimbangan atau koordinasi.

e) Sakit kepala tanpa diketahui penyebabnya. 3. Gejala pada kaki , panggul, dan lengan.

Gejalanya adalah sebagai berikut :

a) Sakit atau kram pada otot yang terjadi selama latihan, tetapi membaik jika istirahat.

b) Dingin atau perasaan mati rasa pada kaki, terutama pada malam hari. 4. Gejala pada Ginjal

Gejalanya adalah sebagai berikut : a) Sakit kepala

b) Penglihatan kabur c) Mual


(43)

2.4.3 Faktor Resiko Penyakit Atherosklerosis

Faktor resiko penyakit atherosklerosis ini terbagi dua yaitu: 1. Dapat diubah

a) Usia, pada orang tua resiko terjadinya atherosklerosis lebih tinggi. b) Jenis kelamin, pria memiliki resiko lebih tinggi dibanding wanita. c) Ras

d) Riwayat keluarga dengan atherosklerosis. 2. Tidak dapat diubah

a) Mayor.

1) Peningkatan lipid serum 2) Hipertensi

3) Merokok

Merokok sangan berbahaya karena :

a) Merokok dapat mengurangi kadar kolesterol HDL dan meningkatkan kadar kolesterol LDL.

b) Merokok menyebabkan bertambahnya kadar karbonmonoksida dalam darah, sehingga meningingkatkan resiko terjadinya cedera pada lapisan dinding arteri.

c) Merokok akan mempersempit arteri yang sebelumnya telah menyempit karena atherosklerosis, sehingga mengurangi jumlah darah yang sampai ke jaringan.

d) Merokok meningkatkan kecendrungan darah untuk membentuk bekuan sehingga meningkatkan resiko terjadinya penyakit arteri perifer, penyakit arteri koroner, stroke dan penyumbatan suatu arteri cangkokan setelah pembedahan.

b) Minor

1) Gaya hidup yang kurang gerak. 2) Stress psikologik.


(44)

2.5 Delphi 7 dan Interbase

2.5.1 Delphi 7

Borland Delphi 7.0 merupakan bahasa pemrograman berbasis windows. Borland Delphi 7.0 merupakan pilihan bagi sebagian programmer untuk membuat aplikasi, hai ini disebabkan kelebihan yang ada pada Borland Delphi 7.0 tersebut. Berikut ini sebagian beberapa kelebiahn borland Delphi 7.0 diantaranya :

1. Berbasiskan OOP ( Object Oriented Programming ). Setiap bagian yang ada pada program dipandang sebagai suatu object yang mempunyai sifat-sifat yang dapat diubah dan diatur.

2. IDE yang berkualitas. Delphi memiliki lingkungan pengembangan yang lengkap. Terdapat menu-menu ysng memudahkan anda mengatur proyek pengembangan software.

3. Proses Kompilasi yang cepat. Delphi memiliki kecepatan kompilasi yang tidak perlu diragukan. Saat aplikasi yang anda buat dijalankan dilingkungan Delphi , aplikasi tersebut otomatis dicompile secara terpisah.

4. Aplikasi yang dapat dihasilkan Delphi bersifat multi-purpose, dapat digunakan untuk berbagai keputusan pengembangan aplikasi mulai perhitungan sederhana sampai aplikasi multimedia bahkan yang terkoneksi ke internet. 5. Satu file Exe. Setelah merancang program dalam IDE Delphi, Delphi akan

mengkompilasinya menjadi sebuah file executeable tunggal. Program yang di buat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan sebuah kelebihan yang sangat berarti.

2.5.2 Interbase

Interbase merupakan program aplikasi database untuk menangani database client server yang didistribusikan oleh sebuah perusahaan perangkat lunak yang terkenal yaitu Borland. Interbase server ditemukan satu paket dengan program Delphi untuk semua edisi.


(45)

Keuntungan menggunakan Interbase adalah sebagai berikut:

1. Interbase memiliki semua fitur, kekuatan, dan skalabilitas yang diperlukan untuk aplikasi bisnis yang kompleks yang menawarkan keunggulan performa untuk jumlah pengguna yang besar.

2. Borland Interbase didesain untuk dapat diinstall dengan mudah pada lokasi end-user tanpa pertolongan administrator database. Interbase dapat di-install secara terselubung, sehingga end-user tidak tahu jika sudah terinstal.

3. Interbase mendukung berbagai kumpulan bahasa untuk meningkatkan portabilitas dan skalabilitas global.

InterBase memiliki dua tipe arsitek, yaitu Super Server dan Classic. Super Server merupakan multi klien, implementasi multi-thread dari proses server InterBase. Implementasi ini menggantikan jenis implementasi model Classic yang telah digunakan pada versi InterBase sebelumnya.


(46)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Gambaran Sistem

Sistem yang dirancang untuk menentukan jenis penyakit adalah dengan cara manual, yaitu dengan cara anamnesis yang dilakukan oleh dokter terhadap pasiennya. Hasil dari anamnesis yang dilakukan oleh dokter adalah untuk memperoleh gejala-gejala yang diderita oleh si pasien, kemudian dari gejala yang diperoleh tersebut dapat dihasilkan diagnosis berupa suatu penyakit. Hasil anamnesis gejala-gejala yang diperoleh oleh dokter sering bersifat parsial, sehingga kadang kala seorang dokter pun mengalami kesulitan dalam mencari hubungan antara gejala-gejala dengan suatu penyakit. Dari hasil analisis permasalahan tersebut, perlu dirancangan sebuah aplikasi yang mampu memetakan prosentase kepercayaan antara suatu gejala terhadap kemungkinan penyakit yang diderita pasien. Perancangan sebuah aplikasi harus dibuat secara matang, supaya tampilannya mudah dipahami dan hasilnya bermanfaat dan memuaskan bagi para pemakai. Untuk itu dibutuhkan suatu pembuktian bahwa sistem pakar ini dapat dimanfaatkan untuk menentukan jenis penyakit.

Sistem pakar untuk mendiagnosis penyakit atherosklerosis ini dirancang sebagai media untuk melakukan diagnosis terhadap penyakit Atherosklerosis. Hasil diagnosis memungkinkan untuk diklasifikasikan oleh sistem ke dalam penyakit Atherosklerosis dan tidak menutup kemungkinan sistem akan menentukan bahwa bukan menderita penyakit Atherosklerosis, melainkan penyakit pembuluh darah lainnya.

Untuk dapat melakukan diagnosis melalui sistem ini data gejala dan hasil-hasil tes harus tersedia. Jika tidak tersedia maka dianggap tidak tahu.


(47)

Gambar 3.1 Aliran Sistem Diagnosis Penyakit Aterosklerosis

Pada dasarnya, ketika pengguna mengakses sistem ini akan muncul beberapa gejala dari penyakit atherosklerosis. Selanjutnya pengguna diberikan fasilitas untuk mendiagnosis penyakit atherosklerosis dengan memanfaatkan menu konsultasi. Sistem akan memberikan beberapa pertanyaan kepada pengguna dan pengguna harus menjawab pertanyaan tersebut sesuai dengan gejala yang dialami. Kemungkinan jawaban pertanyaan itu ada tiga yaitu :

1. Ya, CF yang diterima sistem 0 < CF ≤ 1 2. Tidak tahu , CF yang diterima sistem 0 3. Tidak , CF yang diterima sistem -1 ≤ CF < 0

Selanjutnya jawaban-jawaban dari pertanyaan itu akan diolah dalam mesin inferensi. Pada mesin itulah dilakukan proses penalaran sehingga dihasilkan suatu kesimpulan. Data keluaran (output) dari sistem ini adalah hasil diagnosa dari gejala yang dirasakan pengguna berupa kesimpulan akhir dari penyakit dan nilai kepercayaanya berdasarkan metode Certainty Factor.

Proses inti dari Sistem pakar untuk mendiagnosis penyakit atherosklerosis ini adalah proses penalaran. Sistem akan melakukan penalaran untuk menentukan penyakit yang diderita berdasarkan gejala yang dimasukkan pengguna. Pada sistem ini disediakan aturan basis pengetahuan untuk penelusuran penyakit.

Gejala

atherosklerosis


(48)

3.2 Arsitektur Sistem

Dalam arsitektur digambarkan bahwa sistem pakar untuk mendiagnosis penyakit atherosklerosis melayani 3 macam pengguna yaitu :

1. Admin, yaitu yang berhak mengelola sistem secara keseluruhan melalui hak akses.

2. Pakar, yaitu yang memasukkan pengetahuan ke dalam basis pengetahuan. 3. Paramedis, yaitu yang memanfaatkan fasilitas konsultasi, fasilitas penjelasan,

rekam medis pasien.

Gambar 3.2 Arsitektur Sistem pakar untuk mendiagnosis penyakit

atherosklerosis

Basis Data Rekam Medis

Hak Akses Mekanisme

Inferensi

Basis Pengetahuan

Konsultasi

Akuisisi Pengetahuan


(49)

3.3 Representasi Pengetahuan

Guna mendukung penalaran dalam malakukan diagnosis terhadap penyakit yang dialami pasien, maka berikut dijelaskan metode yang digunakan untuk mengkodekan pengetahuan yang diperoleh dari pakar.

3.3.1 Data Dasar

Dalam Sistem pakar untuk mendiagnosis penyakit atherosklerosis, pengguna diminta memasukkan beberapa data dasar sebagai acuan dalam operasional sistem. Jenis data dasar yang diperlukan dalam sistem ini pakar ini adalah sebagai berikut:

1. Gejala, berisi data-data gejala yang menjadi dasar diagnosis suatu penyakit. 2. Penyakit atherosklerosis, berisi data penyakit atherosklerosis.

3. Pasien, Berisi data-data pasien yang akan di diagnosis.

3.3.2 Pola Umum Aturan

Data-data dasar yang telah didapatkan digunakan dalam operasional konsultasi dan sebagai bahan untuk merepresentasikan pengetahuan. Dalam sistem pakar untuk mendiagnosis penyakit atherosclerosis pengetahuan direpresentasikan dengan menggunakan kaidah produksi.

Secara default sistem ini memiliki 10 rule diagnosis penyakit yang nantinya masih bisa ditambahkan oleh pakar. Daftar Rule (aturan) diagnosis pada system ini ditunjukkan pada table berikut:


(50)

ID RULE (ATURAN) 1. IF Dada terasa nyeri

AND Nyeri pada satu atau kedua lengan AND Sesak nafas

AND Pusing

AND Detak jantung cepat AND Lelah

THEN Atherosklerosis Jantung , CF : 0,8

2. IF Mati rasa pada lengan, kaki, dan wajah AND Sulit memahami pembicaraan

AND Kehilangan kesimbangan

AND Sakit kepala tanpa diketahui penyebabnya THEN Atherosklerosis Otak, CF : 0,6

3. IF Kram pada otot AND Kaki terasa dingin AND Perasaan mati pada kaki

THEN Atherosklerosis kaki, pinggul dan lengan, CF : 0.8

4. IF Sakit kepala AND penglihatan kabur AND Mual

THEN Atherosklerosis Ginjal , CF : 0.6 5. IF Perasaan dada tertekan

AND Merasa terbakar pada bagian dada AND Susah bernafas


(51)

Table 3.1 Daftar Rule Diagnosis penyakit THEN Angina Pectoris, CF : 0,8

6 IF Keringat dingin AND Adanya aritma

AND Adanya perasaan lemas AND Kulit pucat

AND Pengeluaran urine berkurang AND Merasa cemas

THEN Infark Miokard , CF : 0,8 7. IF Sulit melihat

AND Mati rasa pada lengan, kaki, dan tungkai AND Sulit berbicara

AND Sulit menelan

THEN Arteri Carotid, CF :0,6 8. IF Dada terasa sesak

AND Dada berdebar-debar AND Kelemahan yang luar biasa THEN Arteri Koroner, CF : 0,6 9. IF Kedinginan

AND Tangan dan kaki berkeringat banyak AND Luka terbuka di kulit

THEN Buerger, CF: 0,8

10. IF Nyeri perut yang hebat AND Perut kembung

AND Adanya desakan untuk buang air besar AND Tinja berwarna kemerahan


(52)

3.4 Mekanisme Inferensi

Diagnosis merupakan suatu proses untuk menentukan penyakit yang diderita pasien berdasarkan data-data yang diberikan oleh pengguna. Sistem pakar untuk mendiagnosis penyakit atherosklerosis menggunakan metode inferensi runut maju (forward chaining). Runut maju digunakan untuk menentukan penyakit yang mungkin diderita oleh pasien berdasarkan gejala dan nilai kepercayaan yang dimasukkan pengguna. Penelusuran dengan forward chaining dapat dilihat pada flowchart di bawah ini:


(53)

Data yang digunakan dalam inferensi diperoleh dari jawaban yang diberikan pengguna atas pertanyaan mengenai gejala yang diajukan oleh sistem. Sistem tidak akan pernah menayakan pertanyaan yang sudah pernah diberikan. Oleh karena itu diperlukan penyimpanan data pertanyaan yang pernah diajukan. Selain itu sistem juga akan menyimpan hasil kesimpulan sementara, sehingga tidak perlu ada proses ulang jika suatu saat diperlukan. Sistem akan menyimpan hasil-hasil kesimpulan sementara di dalam tabel yang akan digunakan dalam proses inferensi. Adapun tabel-tabel yang dimaksud adalah :

1. Tabel CekGejala

Table CekGejala ini berfungsi untuk menyimpan data jawaban gejala yang dialami pasien berserta nilai kepercayaannya.

2. Tabel CekPenyakit

Tabel CekPenyakit ini berfungsi untuk menyimpan data kemungkinan penyakt yang diderita pasien beserta prosentase kepercayaan terhadap penyakit tersebut.

Untuk menentukan penyakit yang diderita oleh seorang pasien, system akan melakukan langkah-langkah sebagai berikut:

1. Memasukkan semua daftar aturan penyakit atherosklerosis dan beberapa penyakit selain atherosklerosis yang mungkin berdasarkan gejala yang dimiliki penderita ke daftar hasil.

2. Memilih penyakit yang mungkin dari daftar hasil dengan memperhatikan nilai Certainty Factor masing-masing penyakit.


(54)

3.5 Algoritma Sistem Pakar untuk mendiagnosis penyakit Atherosklerosis

Berikut ini rincian langkah-langkah Algoritma

1. Mulai

2. Ambil semua gejala yang menentukan aturan nama penyakit. Bentuk dari query untuk melakukan pencarian gejala adalah

Select D.*, G.*’+ From DETAIL_RULEPENYAKIT D,

GEJALA G ‘+

‘Where D.IDGEJALA = G.IDGEJALA and IDGEJALA=:y’);

3. Tanyakan semua gejala penyakit kepada pengguna.

4. Jika gejala habis maka lanjut ke langkah 6, jika tidak kembali ke langkah 2. 5. Simpan jawaban (CF) pengguna ke dalam tabel cek gejala.

6. Cari nilai minimum dari sekumpulan CF pengguna dalam tabel cek gejala yang memiliki IDRule yang sama.

Bentuk query pencarian :

select min(CFPengguna) as CFUser from CekGejala where IDRule=:ID');

Select min (CFPengguna) as CFUser from CekGejala where IDRule=:ID’);

7. Cari nilai CFFinal dari tiap-tiap aturan nama penyakit. Bentuk rumus pencariannya :

CFFinal = CFUser * CF Pakar. 8. Tampilakan kesimpulan penyakit

9. Selesai.

Algoritma sistem pakar untuk mendiagnosis penyakit Atherosklerosis dengan metode Certainty Factor dapat digambarkan dalam bentuk flowchart dapat dilihat seperti gambar berikut:


(55)

Tidak

Ya

Gambar 3.4 Algoritma Sistem pakar untuk mendiagnosis penyakit

atherosklerosis

mulai

Tanyakan Gejala Kepada Pengguna

Masukkan CF pengguna ke dalam tabel cekGejala

Inc (No Gejala)

Gejala habis ?

Cari CFMinimum dari sekumpulan CFPengguna dengan IDRule yang

Sama

Cari CFFinal dari tiap-tiap nama penyakit

Tampilkan penyakit


(56)

3.6 Perancangan Basis Data

Struktur pangkalan data yang digunakan adalah struktur pangkalan data relasional. 3.6.1 Struktur Tabel

Adapun struktur data dari tabel-tabel relasional tersebut adalah sebagai berikut : 1.Tabel Pengguna

Tabel pengguna ini berfungsi untuk menyimpan data pengguna system.

Tabel 3.2 Tabel Pengguna 2. Tabel GejalaPenyakit

Tabel Gejala ini berfungsi untuk menyimpan data-data gejala.

Tabel 3.3 Tabel Gejala

3. Tabel Penyakit

Tabel penyakit berfungsi untuk menyimpan data penyakit yang akan di diagnosis.

Nama Field Tipe Data Keterangan

IDPengguna Integer Auto Increment

Nama Varchar (30)

Password Varchar (10)

Akses Varchar (20)

Admin Pakar

Paramedis

Nama Field Tipe Data Keterangan

IDGejala Integer Auto Increment


(57)

Tabel 3.4 Tabel Penyakit 4. Tabel RulePenyakit

Tabel Rule Penyakit berfungsi utnuk menyimpan aturan diagnosis penyakit.

Tabel 3.5 Tabel Rule Penyakit

5. Tabel detail_rule penyakit

Tabel detail_rulepenyakit ini berfungsi untuk menyimpan aturan yangtelah dimasukkan pada saat akuisisi pengetahuan.

Tabel 3.6 Tabel Detail_Rule Penyakit

6. Tabel Cek Gejala

Tabel CekGejala ini berfungsi untuk menyimpan data jawaban gejala yang dialami pasien berserta nilai kepercayaannya.

Nama Field Tipe Data Keterangan

IDPenyakit Integer Auto Increment

Nama Penyakit Varchar (30)

Nama Field Tipe Data Keterangan

IDRule Integer Auto Increment

CFPakar Float

Nama Field Tipe Data Keterangan

IDRule Integer Auto Increment

Op_Rule Integer

0 : JIKA 1 : DAN


(58)

Tabel 3.7 Tabel Cek Gejala 7. Tabel Cek Penyakit

Tabel CekPenyakit ini berfungsi untuk menyimpan data kemungkinan penyakit yang diderita pasien beserta prosentase kepercayaan terhadap penyakit tersebut.

Tabel 3.8 Tabel Cek Penyakit

8. Tabel Pasien

Tabel pasien berfungsi untuk menyimpan data pasien.

Tabel 3.10 Tabel Pasien

Nama Field Tipe Data Keterangan

IDRule Integer Auto Increment

IDGejala Integer

CFPengguna Float

Nama Field Tipe Data Keterangan

IDPenyakit Integer Auto Incerement

NamaPenyakit Varchar (40)

CFFinal Integer

Nama Field Tipe Data Keterangan

IDPasien Integer Auto Increment

NamaPasien Varchar(30)


(59)

3.6.2 Relasi Antar Tabel

Gambar 3.5 Relasi Antar Table ID Gejala (PK)

Nama Gejala

Gejala Penyakit

ID penyakit (PK) Nama Penyakit

Cek Penyakit Detail_RulePenyakit

Cek gejala

Rule Penyakit

Pengguna

ID Pasien (PK) Nama Pasien Alamat

ID Rule OP_Rule ID Gejala

IDPenyakit(PK) NamaPenyakit CFFinal ID Rule

ID Gejala CFPengguna

ID Rule (PK) CF Pakar

ID Pengguna (PK) Username

Sandi Akses


(60)

3.6.3 Perancangan DFD

Hubungan konseptual antar pengguna eksternal dengan sistem dapat digambarkan secara rinci dalam diagram konteks pada Gambar 3.5

Gambar 3.6 Diagram Konteks

Penjelasan proses diagram konteks DFD sistem pakar untuk mendiagnosis penyakit Atherosklerosis adalah sebagai berikut:

a. Proses

Nama Proses : Sist em pakar unt uk mendiagnosis penyakit at herosklerosis Keterangan : Proses diagnosis penyakit berdasarkan gejala yag dialami pasien. b. Arus Data

Masukan : - Data hak akses - Data gejala - Data penyakit

- Nilai Certainty Factor - Pertanyaan konsultasi - Data pasien


(61)

- Jawaban Keluaran : - Data hak akses

- Data gejala - Data penyakit

- Pertanyaan konsultasi - Nilai Certainty Factor - Hasil diagnosis (Diagnosa) c. Entitas Luar

Nama Entitas : - Admin

Keterangan : Merupakan bagian yang mengontrol dan memperbaiki sistem Masukan : - Data hak akses

- Data gejala - Data penyakit

- Pertanyaan konsultasi - Nilai Certainty Factor Keluaran : - Data hak akses

- Data gejala - Data penyakit

- Nilai Certainty Factor - Pertanyaan konsultasi

Nama Entitas : Pengguna

Keterangan : Paramedis yang akan melakukan proses diagnosis penyakit pasien Masukan : - Data penyakit


(62)

- Hasil diagnosis Keluaran : - Data pasien

- Jawaban - Data gejala

Proses yang ada pada diagram konteks dapat dipecah lagi menjadi proses-proses yang lebih kecil dan lengkap dalam DFD level 0. Diagram untuk DFD level 0 dapat dilihat pada Gambar 3.6 di bawah ini.


(63)

Gambar 3.7 DFD level 0

Penjelasan proses DFD level nol sistem pakar untuk mendiagnosis penyakit Atherosklerosis adalah sebagai berikut:

a. Proses 1P

Nama Proses : Otentifikasi Pengguna

Masukan : - Data username , password san akses Keluaran : - Data username, password dan akses

Keterangan : Proses untuk mengecek kebenaran username, password dan akses administrator yang masuk

b. Proses 2P

Nama Proses : Proses data gejala Masukan : - Data gejala Keluaran : - Data gejala

Keterangan : Mengolah data gejala penyakit, seperti add, delete, dan edit data gejala penyakit

c. Proses 3P

Nama Proses : Proses data penyakit Masukan : - Data penyakit Keluaran : - Data penyakit

Keterangan : Mengolah data penyakit, seperti add, delete, dan edit data penyakit .

d. Proses 4P

Nama Proses : Proses Rule Penyakit Masukan : - Nilai CF


(64)

Keterangan : Mengolah rule diagnosis penyakit, seperti add, delete, dan edit Rule

e. Proses 5P

Nama Proses : Proses pertanyaan konsultasi Masukan : - Pertanyaan konsultasi Keluaran : - Pertanyaan konsultasi

Keterangan : Mengolah pertanyaan konsultasi, seperti add, delete, dan edit data

f. Proses 6P

Nama Proses : Show data penyakit Masukan : - Data penyakit

Keluaran : - Data penyakit

Keterangan : Menampilkan data tentang penyakit .

g. Proses 7P

Nama Proses :Proses penentuan kemungkinan penyakit beserta nilai kepercayaanya berdasarkan gejala yang dialami

Masukan : - Data gejala - Jawaban - Data pasien - Hasil diagnosis - Nilai CF Keluaran : - Data pasien

- Jawaban - Data gejala


(65)

- Nilai CF

- Pertanyaan konsultasi - Hasil diagnosis

Keterangan : Mengolah hasil diagnosis penyakit setelah dilakukan proses perhitungan keseluruhan nilai gejala dan didapat CF final.

Proses yang ada pada diagram level 0 DFD dapat dipecah lagi menjadi proses-proses yang lebih jelas ke dalam diagram level 1 DFD. Diagram untuk DFD level 1 dapat dilihat pada Gambar 3.7 di bawah ini:


(66)

Gambar 3.8 DFD level 1

Penjelasan proses diagram level 1 DFD sistem pakar untuk mendiagnosis penyakit Atherosklerosis adalah sebagai berikut:

a. Proses 7.1P

Nama Proses : Proses data pasien Masukan : - Data pasien Keluaran : - Data pasien


(1)

ednama.Text:=fields[1].AsString; edAlamat.Text:=fields[2].AsString; with DM.IBQuery4 do begin

close; SQL.Clear;

sql.Add('select D.*, G.* '+

'from detail_rulepenyakit D, gejala G '+

'where D.IDGejala=G.IDGejala and IDGejala=1'); open;

edit1.Text:=inttostr(fieldbyname('IDRule').AsInteger); memogejala.lines.Clear;

memogejala.Lines.Add('Apakah' +

Fieldbyname('Namagejala').AsString);

edit3.Text:=inttostr(fieldbyname('IDGejala').AsInteger); end;

end; end; end;

procedure TFKonsultasi.BitBtnOKClick(Sender: TObject); var CFPengguna,CFGejala :real;

begin

if RadioButtontidak.Checked=true then begin CFGejala:=-1*strtofloat(edit2.Text);

CFPengguna:=CFGejala; end

else begin

CFPengguna:=strtofloat(edit2.Text); end;

with DM.IBQuery4 do begin sql.Clear;

sql.Add('Insert into CekGejala(IDRule,IDGejala,CFPengguna)'+ 'values(:IDRule,:IDGejala,:CFPengguna)');

Parambyname('IDRule').AsInteger:=strtoint(edit1.Text); Parambyname('IDGejala').AsInteger:=strtoint(edit3.Text); Parambyname('CFPengguna').AsFloat:=CFPengguna;

Open;

DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit;


(2)

edit2.Clear; end;

end;

procedure TFKonsultasi.RadioButton2Click(Sender: TObject); begin

edit2.text:='0'; end;

procedure TFKonsultasi.FormActivate(Sender: TObject); begin

bitbtnnext.Enabled:=false; end;

procedure TFKonsultasi.BitBtn3Click(Sender: TObject); begin

with DM.IBQuery4 do begin Close;

SQL.Clear;

SQL.Add('Delete from Cekgejala'); Open;

DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit;

end;

with DM.IBQuery5 do begin Close;

SQL.Clear;

SQL.Add('Delete from Cekpenyakit'); Open;

DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit;

showmessage('Table sudah berhasil di reset'); end;

end;

procedure TFKonsultasi.BitBtnNextClick(Sender: TObject); var y,ID:integer;

CFUser,CFPakar,CFFinal:real; Namapenyakit:string;


(3)

begin

y:=strtoint(edit3.Text)+1; with DM.IBQuery2 do begin SQL.Clear;

SQL.Add('select D.*, G.* '+

'from detail_rulepenyakit D, gejala G '+

'where D.IDGejala=G.IDGejala and IDGejala=:y'); Parambyname('y').AsInteger:=y;

open;

edit1.Text:=inttostr(fieldbyname('IDRule').AsInteger); edit3.Text:=inttostr(fieldbyname('IDGejala').AsInteger); memogejala.Lines.Clear;

memogejala.Lines.Add('Apakah'+fieldbyname('NamaGejala').asstring); end;

if y=41 then begin

showmessage('Gejala sudah habis'); for ID:=1 to 10 do begin

with DM.IBQuery5 do begin sql.Clear;

sql.Add('select min(CFPengguna) as CFUser from CekGejala where IDRule=:ID');

parambyname('ID').AsInteger:=ID; open;

CFUser:=fieldvalues['CFUser']; with DM.IBQuery3 do begin Sql.Clear;

sql.Add('select R.*, P.* '+

'from RulePenyakit R, Penyakit P '+

'where R.IDRule=P.IDPenyakit and IDRule=:ID'); Parambyname('ID').AsInteger:=ID;

Open;

CFPakar:=fields[1].AsFloat; CFFinal:=CFUser*CFPakar;

Namapenyakit:=fieldbyname ('Namapenyakit').asstring; with DM.IBQuery5 do begin

sql.Clear;

sql.Add('insert into CekPenyakit

(IDPenyakit,Namapenyakit,CFFinal)'+

'values(:IDPenyakit,:Namapenyakit,:CFFinal)'); parambyname('IDPenyakit').AsInteger:=ID;


(4)

parambyname('Namapenyakit').AsString:=Namapenyakit; parambyname('CFFinal').asfloat:=CFFinal;

open;

DM.IBTransaction1.Active:=TRUE; DM.IBTransaction1.Commit;

end; end; end; end; end; end; end.

Form Penjelasan

unit UPenjelasan;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TFPenjelasan = class(TForm) Label1: TLabel;

MemoPenjelasan: TMemo; BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var


(5)

implementation

{$R *.dfm}

procedure TFPenjelasan.BitBtn1Click(Sender: TObject); begin

FPenjelasan.Close; end;

end.

From About

unit UAbout;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, jpeg, Buttons;

type

TFabout = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Image1: TImage;


(6)

BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

var

Fabout: TFabout;

implementation

{$R *.dfm}

procedure TFabout.BitBtn1Click(Sender: TObject); begin

Fabout.Close; end;