SISTEM PAKAR UNTUK MENDIAGNOSA
PENYAKIT HEPATITIS
TUGAS AKHIR
Diajukan Untuk Menempuh Ujian Akhir Diploma Program Diploma Tiga Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
RAMAWAN MINANG PUTRA
10706020
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
v
DAFTAR ISI
LEMBAR JUDUL
LEMBAR PENGESAHAN
ABSTRAK... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR TABEL... x
DAFTAR GAMBAR ... xi
DAFTAR SIMBOL ... xiv
DAFTAR LAMPIRAN...xv
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Identifikasi Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Metodologi Penelitian ... 3
1.5 Batasan Masalah... 5
vi
BAB II LANDASAN TEORI
2.1 Kecerdasan Buatan ... 8
2.1.1 Pengertia n Kecerdasan Buatan ... 8
2.1.2 Kecerdasan Buatan dan Kecerdasan Alami ... 11
2.1.3 Komputasi Kecerdasan Buatan dan Komputasi Konvensional...13
2.1.4 Sejarah Kecerdasan Buatan ... 13
2.1.5 Lingkup Kecerdasan Buatan Pada Aplikasi Komersial .... 15
2.2 Sistem Pakar ... 17
2.2.1 Pengertian Sistem Pakar... 17
2.2.2 Keuntungan Sistem Pakar ... 19
2.2.3 Kelemahan Sistem Pakar... 20
2.2.4 Konsep Dasar Sistem Pakar ... 20
2.2.5 Bentuk Sistem Pakar ... 22
2.2.6 Struktur Sistem Pakar... 23
2.2.7 Basis Pengetahuan ... 26
2.2.8 Motor Inferensi (Inference Engine)... 27
2.2.9 Ciri-Ciri Sistem Pakar ... 27
2.2.10 Permasalahan yang Disentuh Oleh Sistem Pakar... 28
2.3 Konsep Basis Data ... 29
vii
2.4 Metode Perancangan Sistem ... 29
2.4.1 Diagram Konteks... 30
2.4.2 Data Flow Diagram (DFD) ... 30
2.4.3 Entity Relation Diagram (ERD) ... 30
2.4.4 Skema Relasi ... 32
2.5 Perangkat Lunak Pendukung... 32
2.5.1 Personal Home Page (PHP)... 32
2.5.2 Database My SQL ... 33
BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem ... 35
3.1.1 Analisis Masalah ... 35
3.1.2 Sumber Informasi ... 36
3.1.3 Identifikasi Penyakit... 37
3.1.4 Identifikasi Input ... 43
3.1.5 Identifikasi Output ... 43
3.1.6 Analisis Pengguna ... 44
3.2 Perancangan Sistem... 44
3.2.1 Data Penyakit Hepatitis dan Gejala... 45
3.2.2 Pohon Pelacakan ... 47
3.2.3 Kaidah Produksi ... 49
viii
3.2.4.1 Diagram Kontek ... 52
3.2.4.2 Data Flow Diagram (DFD) ... 53
3.2.5 Spesifikasi Proses ... 59
3.2.6 Basis Data... 64
3.2.6.1 Entity Relationship Diagram (ERD) ... 64
3.2.6.2 Skema Relasi ... 65
3.2.6.3 Perancangan Kode ... 66
3.2.7 Perancangan Struktur Menu ... 69
3.2.8 Perancangan Antar Muka ... 70
3.3 Metode Forward Chaining ... 80
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi ... 81
4.1.1 Perangkat Keras... 81
4.1.2 Perangkat Lunak... 82
4.2 Pengujian ... 82
4.2.1 Rencana Pengujian ... 82
4.2.2 Kasus dan Hasil Pengujian ... 83
4.2.2.1 Pengujian Menu Login ... 83
4.2.2.2 Pengujian Pengolahan Data Penyakit... 85
4.2.2.3 Pengujian Pengolahan Data Gejala ... 87
ix
4.2.2.5 Pengujian Pengolahan Data Tips... 91
4.2.2.6 Pengujian Pengolahan Data Istilah... 93
4.2.2.7 Pengujian Pengolahan Data Diagnosa... 95
4.2.2.8 Pengujian Pengolahan Data Hasil Diagnosa ... 97
4.2.2.9 Pengujian Proses Ubah Password ... 99
4.2.2.10 Pengujian Informasi Software ... 102
4.2.2.11 Pengujian Informasi Bantuan ... 103
4.2.3 Kesimpulan Hasil Pengujian Alpha ... 104
4.2.4 Pengujian Betha... 104
4.2.5 Kesimpulan Hasil Pengujian Betha... 107
BAB V KESIMPULAN DAN SARAN ... 108
5.1 Kesimpulan... 108
5.2 Saran ... 109
x
DAFTAR TABEL
Tabel 2.1 Kecerdasan Buatan Vs Pemrograman Konvensional... 13
Tabel 2.2 Sistem Pakar Yang Terkenal ... 18
Tabel 2.3 Sistem Konvensional vs Sistem Pakar ... 22
Tabel 3.1 Jenis Penyakit Hepatitis dan gejala ... 45
Tabel 3.2 Spesifikasi Proses... 60
Tabel 4.1 Rencana pengujian aplikasi sistem pakar untuk mendiagnosa penyakit hepatitis………..82
Tabel 4.2 Pengujian Menu Login ... 84
Tabel 4.3 Pengujian Pengolahan Data Penyakit ... 86
Tabel 4.4 Pengujian Pengolahan Data Gejala ... 87
Tabel 4.5 Pengujian Pengolahan Data Gejala ... 90
Tabel 4.6 Pengujian Pengolahan Data Tips ... 92
Tabel 4.7 Pengujian Pengolahan Data Istilah... 94
Tabel 4.8 Pengujian Pengolahan Data Diagnosa ... 96
Tabel 4.9 Pengujian Pengolahan Data Hasil Diagnosa ... 98
Tabel 4.10 Pengujian Proses Ubah Password ... 100
Tabel 4.11 Pengujian Informasi Software... 102
xi
DAFTAR GAMBAR
Gambar 1.1 Model Proses Waterfall ... 5
Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer... 11
Gambar 2.2 Struktur Sistem Pakar ... 24
Gambar 3.1 Pohon Pelacakan Pada Sistem Pakar Penyakit Hepatitis ... 48
Gambar 3.2 Diagram Konteks Sistem Pakar... 53
Gambar 3.3 DFD Level 0 Sistem Pakar ... 54
Gambar 3.4 DFD Level 1 Proses 1 Login ... 54
Gambar 3.5 DFD Level 1 Proses 2 Pengolahan Data Sistem Pakar ... 55
Gambar 3.6 DFD Level 2 Proses 2.1 Pengolahan Data Penyakit ... 56
Gambar 3.7 DFD Level 2 Proses 2.2 Pengolahan Data Gejala... 56
Gambar 3.8 DFD Level 2 Proses 2.3 Pengolahan Data Relasi ... 57
Gambar 3.9 DFD Level 2 Proses 2.4 Pengolahan Data Tips ... 57
Gambar 3.10 DFD Level 2 Proses 2.5 Pengolahan Data Istilah ... 58
Gambar 3.11 DFD Level 2 Proses 2.6 Pengolahan Data Hasil Diagnosa... 58
Gambar 3.12 DFD Level 2 Proses 2.6 Pengolahan Ubah Password... 59
Gambar 3.13 ERD Sistem Pakar ... 65
Gambar 3.14 Skema Relas Sistem Pakar ... 66
Gambar 3.15 Struktur Menu Sistem Pakar... 69
Gambar 3.16 Rancangan Tampilan Halaman utama... 71
Gambar 3.17 Rancangan Tampilan Login Pakar ... 71
xii
Gambar 3.19 Rancangan Tampilan Daftar Penyakit... 72
Gambar 3.20 Rancangan Tampilan Detail Data Penyakit... 73
Gambar 3.21 Rancangan Tampilan Ubah Data Penyakit... 73
Gambar 3.22 Rancangan Tampilan Daftar Gejala ... 74
Gambar 3.23 Rancangan Tampilan Tambah Data Gejala ... 74
Gambar 3.24 Rancangan Tampilan Tambah Data Gejala ... 75
Gambar 3.25 Rancangan Tampilan Halaman Relasi ... 75
Gambar 3.26 Rancangan Tampilan Daftar Tips... 76
Gambar 3.27 Rancangan Tampilan Ubah Tips ... 76
Gambar 3.28 Rancangan Tampilan Tambah Tips... 77
Gambar 3.29 Rancangan Tampilan Daftar Istilah... 77
Gambar 3.30 Rancangan Tampilan Ubah Istilah ... 78
Gambar 3.31 Rancangan Tampilan Tambah Istilah... 78
Gambar 3.32 Rancangan Tampilan Hasil Diagnosa ... 79
Gambar 3.33 Rancangan Tampilan Menu Diagnosa ... 79
Gambar 3.34 Rancangan Tampilan Pertanyaan ... 80
Gambar 4.1 Tampilan Menu Login... 84
Gambar 4.2 Tampilan Pengolahan Data Penyakit ... 85
Gambar 4.3 Tampilan Pengolahan Data Gejala ... 87
Gambar 4.4 Tampilan Pengolahan Data Relasi ... 89
Gambar 4.5 Tampilan Pengolahan Data Tips ... 91
Gambar 4.6 Tampilan Pengolahan Data Istilah ... 93
xiii
Gambar 4.8 Tampilan Pengolahan Data Hasil Diagnosa ... 97
Gambar 4.9 Tampilan Proses Ubah Password ... 100
Gambar 4.10 Tampilan Informasi Software... 102
xiv
DAFTAR SIMBOL
Dafrar Simbol untuk Data Flow Diagram (DFD)
P R O S E S
Daftar Simbol untuk Entity Relationship Diagram (ERD)
xv
DAFTAR LAMPIRAN
LAMPIRAN A TAMPILAN ANTAR MUKA ... A-1
LAMPIRAN B LISTING PROGRAM ... B-1
LAMPIRAN C HASIL KUESIONER ... C-1
RIWAYAT HIDUP
NIM : 10706020
Kelas : IF – 12/D3
Nama Lengkap : Ramawan Minang Putra
Tempat / Tanggal Lahir : Karawang, 6 April 1988
Agama : Islam
Jenis Kelamin : Laki – laki
Alamat : Krajan I RT/RW 01/02 Ds. Jatiwangi, Kec. Jatisari, Kab.
Karawang – Jawa Barat 41374
No. Telp : ( 0264 ) 360290
PENDIDIKAN
1994 – 2000 : SD Negeri 1 Jatiwangi
2000 – 2003 : SLTP Negeri 2 Jatisari
2003 – 2006 : SMA Negeri 1 Jatisari
2006 – 2009 : Program D3, Jurusan Teknik Informatika,
Fakultas Teknik dan Ilmu Komputer,
Universitas Komputer Indonesia – Bandung
Bandung, 19 Agustus 2009
Ramawan Minang Putra
8
BAB II
LANDASAN TEORI
2.1 Kecerdasan Buatan
2.1.1 Pengertian
Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian
ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan
seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya,
komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan
perkembangan jaman, maka peran komputer semakin mendominasi kehidupan
umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih
dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan
segala sesuatu yang bisa dikerjakan oleh manusia.
Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan
didunia ini karena manusia mempunyai pengetahuan dan pengalaman.
Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang
dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam
menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup,
manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan
berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki
kemampuan untuk menalar dengan baik, manusia dengan segudang pengalaman
dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian
9
pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa
menyelesaikan masalah dengan baik.
Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer
juga harus diberi bekal pengetahuan, dan mempunyai kemampuan untuk menalar.
Untuk itu pada artificial intelligence, akan mencoba memberikan beberapa
metoda untuk membekali komputer dengan kedua komponen tersebuat agar
komputer bisa menjadi mesin yang pintar.
Lebih detilnya, pengertian kecerdasan buatan dapat dipandang dari berbagai sudut
pandang, antara lain:
1. Sudut pandang kecerdasan
Kecerdasan buatan akan membuat mesin menjadi ‘cerdas’ (mampu berbuat
seperti apa yang dilakukan oleh manusia).
2. Sudut pandang penelitian
Kecerdasan buatan adalah suatu studi bagai mana membuat agar komputer
dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia.
Domain yang sering dibahas oleh para peneliti meliputi:
a. Mundane task
1) Persepsi (vision & speech)
2) Bahasa alami (understanding, generation & translation)
3) Pemikiran yang bersifat commonsense
10
b. Format task
1) Permainan/games
2) Matematika (geometri, logika, kalkulus integral, pembuktian)
c. Expert task
1) Analisis finansial
2) Analisis medikal
3) Analisis ilmu pengetahuan
4) Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur)
3. Sudut pandang bisnis
Kecerdasan buatan adalah kumpulan peralatan yang sangat powerfull dan
metodologis dalam menyelesaikan masalah- masalah bisnis.
4. Sudut pandang pemrograman
Kecerdasan buatan meliputi studi tentang pemrograman simbolik,
penyelesaian masalah (problem solving) dan pencarian (searching).
Untuk melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat
dibutuhkan (Gambar 2.1), yaitu:
a. Basis pengetahuan (Knowledge Base), berisi fakta- fakta, teori, pemikiran
dan hubungan antar satu dengan lainnya.
b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik
11
Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer
2.1.2 Kecerdasan Buatan dan Kecerdasan Alami
Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki
oleh manusia), kecerdasan buatan memiliki beberapa keuntungan secara komersial
antara lain:
a. Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan cepat
mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang
pelupa. Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan
program tidak mengubahnya.
b. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. Mentransfer
pengetahuan manusia dari satu orang ke orang lain memb utuhkan proses yang
sangat lama, dan juga suatu keahlian itu tidak akan pernah dapat diduplikasi
dengan lengkap. Oleh karena itu, jika pengetahuan terletak pada suatu sistem
komputer, pengetahuan tersebut dapat disalin dari komputer tersebut dan dapat
dipindahkan dengan mudah ke komputer yang lain.
c. Kecerdasan buatan lebih murah dibanding dengan kecerdasan alami.
Menyediakan layanan komputer akan lebih mudah dan lebih murah Basis
Penget ahu
12
dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan
sejumlah pekerjaan dalam jangka waktu yang sangat lama.
d. Kecerdasan buatan bersifat konsisten. Hal ini disebabkan karena kecerdasan
buatan adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami
akan senantiasa berubah-ubah.
e. Kecerdasan buata dapat didokomentasi. Keputusan yang dibuat oleh komputer
dapat didokumentasi dengan mudah dengan cara melacak setiap aktifitas dari
sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.
f. Kecerdasan buatan dapat mengerjakan pekerjaan lebih cepat dibandingkan
dengan kecerdasan alami.
g. Kecerdasan buatan dapat mengerjakan pekerjaan lebih baik dibandingkan
dengan kecerdasan alami.
Sedangkan keuntungan dari kecerdasan alami adalah:
a. Kreatif. Kemampuan untuk menambah ataupun memenuhi pengetahuan
pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan,
untuk menambah pengetahuan harus dilakukan pada sistem yang dibangun.
b. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman
secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan
input- input simbolik.
c. Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan
13
2.1.3 Komputasi Kecerdasan Buatan dan Komputasi Konvensional
Seperti telah dikatakan sebelumnya, bahwa pada awal diciptakannya,
komputer hanya diperuntukkan sebagai alat hitung (komputasi konvensional).
Untuk itu, ada beberapa perbedaan antara komputasi yang dilakukan pada
kecerdasan buatan dengan komputasi konvensional tersebut.perbedaan komputasi
kecerdasan buatan dengan komputasi konvensional terlihat pada Tabel 2.1.
Tabel 2.1 Kecerdasan Buatan Vs. Pemrograman Konvensional
Dimensi Kecerdasan Buatan Pemrograman
Konvensional
Pemrosesan Mengandung
konsep-konsep simbolik
Algoritmik
Sifat input Bisa tidak lengkap Harus lengkap
Pencarian Kebanyakan bersifat
heuristik
Bisaanya didasarkan pada algoritma
Keterangan Disediakan Bisaanya tidak disediakan
Fokus Pengetahuan Data & informasi
Struktur Kontrol dipisahkan dari
pengetahuan
Kontrol terintegrasi dengan informasi (data)
Sifat output Kuantitatif Kualitatif
Pemeliharaan & update Relatif mudah Sulit
Kemampuan menalar Ya Tidak
2.1.4 Sejarah Kecerdasan Buatan
Kecerdasan buatan termasuk bidang ilmu yang relatif muda. Pada tahun
1950-an para ilmuan dan peneliti mulai memikirkan bagaimana caranya agar
mesin dapat melakukan pekerjaannya seperti yang bisa dikerjakan oleh manusia.
Alan Turing, seorang matematikawan dari Inggris pertama kali mengusulkan
adanya tes untuk melihat bisa tidaknya sebuah mesin dikatakan cerdas. Hasil tes
14
menyamar seolah-olah sebagai seseorang didalam suatu permainan yang mampu
memberikan respon terhadap serangkaian pertanyaan yang diajukan. Turing
beranggapan bahwa, jika mesin dapat membuat seseorang percaya dirinya mampu
berkomunikasi dengan orang lain maka dapat dikatakan bahwa mesin tersebut
cerdas (seperti layaknya manusia).
Kecerdasan buatan atau “Artificial Intelligence” itu sendiri dimunculkan
oleh seorang profesor dari Massachusetts Institute of Technology yang bernama
John McCarty pada tahun 1956 pada Dartmouth Conference yang dihadiri oleh
para peneliti AI. pada koferensi tersebut juga didefinisikan tujuan utama dari
kecerdasan buatan, yaitu mengetahui dan memodelkan proses-proses berfikir
manusia dan mendesain mesin agar dapat menirukan kelakuan manusia tersebut.
Beberapa program AI yang mulai dibuat pada tahun 1956-1966, antara lain:
1. Logic Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat
membuktikan teorema-teorema matematika.
2. Sad Sam, diprogram oleh Robert K. Lindsay (1960). Program ini dapat
mengetahui kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan
mampu memberikan jawaban dari fakta- fakta yang didengar dalam sebuah
percakapan.
3. ELIZA, deprogram oleh Joseph Weizenbaum (1967). Program ini mampu
15
2.1.5 Lingkup Kecerdasan Buatan Pada Aplikasi Komersial
Makin pesatnya perkembangan teknologi menyebabkan adanya
perkembangan dan perluasan lingkup yang membutuhkan kehadiran kecerdasan
buatan. Karakteristik ‘cerdas’ sudah mulai dibutuhkan diberbagai disiplin ilmu
dan teknologi. Kecerdasan buatan tidak hanya dominan dibidang ilmu komputer
(informatika), namun juga sudah merambah diberbagai disiplin ilmu yang lain.
Irisan antara psikologi dan kecerdasan buatan melahirkan sebuah area yang
dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro
dengan kecerdasan buatan melahirkan berbagai ilmu seperti: pengolahan citra,
teori kendali, pengenalan pola dan robotika.
Dewasa ini, kecerdasan buatan juga memberikan konstribusi yang cukup
besar dibidang manajemen. Adanya sistem pendukung keputusan, dan Sistem
Informasi Manajemen juga tidak terlepas dari andil kecerdasan buatan.
adanya irisan penggunaan kecerdasan buatan diberbagai disiplin ilmu tersebut
menyebabkan cukup rumitnya untuk mengklasifikasikan kecerdasan buatan
menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut,
maka pengklasifikasian lingkup kecerdasan buatan didasarkan pada output yang
diberikan yaitu pada aplikasi komersial (meskipun sebenarnya kecerdasan buatan
itu sendiri bukan merupakan medan komersial).
Lingkup utama dalam kecerdasan buatan adalah:
1. Sistem Pakar (Expert System). Disini komputer digunakan sebagai sarana
16
memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian
yang dimiliki oleh pakar.
2. Pengolahan 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 penge nalan ucapan
diharapkan manusia dapat berkomunikasi dengan komputer dengan
menggunakan suara.
4. Robotika & Sistem Sensor (Robotics & Sensory Systems).
5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau
objek-objek tampak melalui komputer.
6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai
tutor yang dapat melatih dan mengajar.
7. Game Playing.
Beberapa karakteristik yang ada pada sistem yang menggunakan artificial
intelligence adalah pemogramannya yang cenderung bersifat simbolik ketimbang
algoritmik, bisa mengakomodasi input yang tidak lengkap, bisa melakukan
inferensi, dan adanya pemisaha antara kontrol dengen pengetahuan.
Namun, seiring dengan perkembangan teknologi, muncul beberapa
teknologi yang juga bertujuan untuk membuat agar komputer menjadi cerdas
17
Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan
ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun
1965 muncul Logika Fuzzy. Kemudian pada tahun 1975 John Holland
mengatakan bahwa setiap problem berbentuk adaptasi (alami maupun buatan)
secara umum dapat diformulasikan dalam terminologi genetika. Algoritma
genetika ini merupakan simulasi proses evolusi Darwin dan operasi genetika atas
kromosom.
2.2 Sistem Pakar
2.2.1 Pengertian
Secara umum, sistem pakar (expert system) adalah sistem yang berusaha
mengadopsi pengetahuan manusia ke komputer, agar komputer dapat
menyelesaikan masalah seperti yang bisaa dilakukan oleh para ahli. Sistem pakar
yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu
dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun
dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat
diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan
membantu aktivitasnya sebagai asisten yang sangat berpengalaman.
Ada beberapa definisi tentang sistem pakar, antara lain:
1. Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang
untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh
18
2. Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang
berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat
dibandingkan dengan keahlian seorang pakar.
3. Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer
yang bisa menyamai atau meniru kemampuan seorang pakar.
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada
pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah
General-purpose Problem Solver (GPS) yang dikembangkan oleh Newel dan Simon. GPS
(dan program-program yang serupa) ini mengalami kegagalan dikarenakan
cakupannya terlalu luas sehingga terkadang justru meninggalkan
pengetahuan-pengetahuan penting yang seharusnya disediakan.
Sampai saat ini sudah banyak sistem pakar yang dibuat, beberapa contoh
diantaranya terlihat pada Tabel 2.2.
Tabel 2.2. Sistem Pakar Yang Terkenal
Sistem pakar Kegunaan
MYCIN Diagnosa penyakit
MENDRAL Mengidentifikasi struktur molekular
yang tak dikenal
XCON & XSEL Membantu konfigurasi sistem komputer
besar
SOPHIE Analisis sirkit elektronik
Prospector Digunakan di dalam geologi untuk
membantu mencari dan menemukan deposit.
FOLIO Membantu memberikan keputusan bagi
seorang manajer dalam hal stok broker dan investasi
19
2.2.2 Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya
sistem pakar, antara lain:
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
2. Bisa melakukan proses secara berulang secara otomatis.
3. Menyimpan pengetahuan dan keahlian para pakar.
4. Meningkatkan output dan produktivitas.
5. Meningkatkan kualitas.
6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang
termasuk keahlian langka).
7. Mampu beroperasi dalam lingkungan yang berbahaya.
8. Memiliki kemampuan untuk mengakses pengetahuan.
9. Memiliki realibilitas.
10.Meningkatkan kapabilitas sistem komputer.
11.Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan
mengandung ketidakpastian.
12.Sebagai media pelengkap dalam pelatihan.
13.Meningkatkan kapabilitas dalam penyelesaian masalah.
20
2.2.3 Kelemahan Sistem Pakar
Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki
beberapa kelemahan, antara lain:
1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan
pakar dibidangnya.
3. Sistem pakar tidak 100% bernilai benar.
2.2.4 Konsep Dasar Sistem Pakar
Menurut Efraim Turban, konsep dasar sistem pakar mengandung keahlian,
ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan.
Keahlian adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang
diperoleh dari pelatihan, membaca adat pengalaman. Contoh bentuk pengetahuan
yang termasuk keahlian adalah:
a. Fakta-fakta pada lingkup permasalahan tertentu.
b. Teori-teori pada lingkup permasalahan tertentu.
c. Prosedur-prosedur dan aturan-aturan berkenaan dengan ruang lingkup
permasalahan tertentu.
d. Strategi-strategi global untuk menyelesaikan masalah.
21
Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil
keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.
Seorang ahli adalah seorang yang mampu menjelaskan tanggapan, mempelajari
hal- hal baru seputar topik permasalahan (domain), menyusun kembali
pengetahuan jika dipandang perlu, memecahkan atuan-aturan jika dibutuhkan, dan
menentukan relevan tidaknya keahlian mereka.
Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan
lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar.
Proses ini membutuhkan 4 aktivitas yaitu: tambahan penge tahuan (dari para ahli
atau sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi
pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang didimpan di
komputer disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu:
fakta dan prosedur (bisaanya berupa aturan).
Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan
untuk menalar.jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan
dan sudah tersedia program yang mampu membuat inferensi. Proses inferensi ini
dikemas dalam bentuk motor inferensi (inference engine).
Sebagian besar sistem pakar komersial dibuat dalam bentuk Rule-based
Systems, yang mana pengetahuan disimpan dalam bentuk aturan-aturan. Aturan
22
Fitur lainnya dalam sistem pakar adalah kemampuan untuk
merekomendasi. Kemampuan inilah yang membedakan sistem pakar dengan
sistem konvensional (Tabel 2.3).
Tabel 2.3. Sistem Konvensional vs Sistem Pakar
Sistem Konvensional Sistem Pakar
Informasi dan pemrosesannya bisaanya jadi satu dengan program
Basis pengetahuan merupakan bagian terpisah dari mekanisme inferensi Bisaanya tidak bisa menjelaskan
mengapa suatu input data itu dibutuhkan, atau bagaimana output itu diperoleh.
Penjelasan adalah bagian terpenting dari sistem pakar.
Pengubahan program cukup sulit & membosankan.
Pengubahan aturan dapat dilakukan dengan mudah.
Sistem hanya akan beroperasi jika sistem tersebut sudah lengkap.
Sistem dapat beroperasi hanya dengan beberapa aturan.
Eksekusi dilakukan langkah demi langkah.
Eksekusi dilakukan pada keseluruhan basis pengetahuan.
Menggunakan data. Menggunakan pengetahuan.
Tujuan utamanya adalah efisiensi. Tujuan utamanya adalah efektivitas.
2.2.5 Bentuk Sistem Pakar
Ada 4 bentuk sistem pakar, yaitu:
1. Berdiri sendiri. Sistem pakar jenis ini merupakan software yang berdiri-sendiri
tidak tergabung dengan software yang lainnya.
2. Tergabung. Sistem pakar jenis ini merupakan bagian program yang
terkandung di dalam suatu algoritma (konvensional), atau merupakan program
23
3. Menghubungkan ke software lain. Bentuk ini bisaanya merupakan sistem
pakar yang menghubungkan ke suatu paket program tertentu, misalnya dengan
DBMS.
4. Sistem mengabdi. Sis tem pakar merupakan bagian dari komputer khusus yang
dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang
digunakan untuk membantu menganalisis data radar.
2.2.6 Struktur Sistem Pakar
Sistem pakar terdiri dari 2 bagian pokok, yaitu: lingkungan pengembangan
(development environment) dan lingkungan konsultasi (consultation environment).
Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari
segi pembangun komponen maupun basis pengetahuan. Lingkungan konsultasi
24
Gambar 2.2 Struktur Sistem Pakar
Komponen-komponen yang ada pada sistem pakar adalah gambar 2.2:
1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk
memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan
dalam basis pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basis
data, penelitian dan gambar.
2. Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk
memahami, memformulasikan dan menyelesaikan masalah.
User
25
3. Motor inferensi (inference engine). Program yang berisi metodologi yang
digunakan untuk melakukan penalaran terhadap informasi- informasi dalam
basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan
konklusi. Ada 3 elemen utama dalam motor inferensi, yaitu:
a. Interpreter: mengeksekusi item- item agenda yang terpilih dengan
menggunakan aturan-aturan dalam basis pengetahuan yang sesuai.
b. Scheduler: akan mengontrol agenda.
c. Consistency enforcer: akan berusaha memelihara kekonsistenan dalam
merepresentasikansolusi yang bersifat darurat.
4. Blackboard. Merupakan area dalam memori yang digunakan untuk merekam
kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 tipe
keputusan yang dapat direkam, yaitu:
a. Rencana: bagaimana menghadapi masalah.
b. Agenda: aksi-aksi yang potensial yang sedang menunggu untuk
dieksekusi.
c. Solusi: calon aksi yang akan dibangkitkan.
5. Antarmuka. Digunakan untuk media komunikasi antar user dan program.
6. Subsistem penjelasan. Digunakan untuk melacak respond an memberikan
penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan:
a. Mengapa suatu pertanyaan ditanyakan oleh sistem pakar?
b. Bagaimana konklusi dicapai?
c. Mengapa ada alternatif yang dibatalkan?
26
7. Sistem penyaring pengetahuan. Sistem ini digunakan untuk mengevaluasi
kinerja sistem pakar itu sendiri untuk melihat apakah
pengetahuan-pengetahuan yang ada masih cocok digunakan di masa datang.
2.2.7 Basis Pengetahuan
Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian
masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis
pengetahuan yang sangat umum digunakan, yaitu:
a. Penalaran berbasis aturan (Rule-Based Reasoning)
Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan
menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila kita
memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan
si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping
itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak
(langkah- langkah) pencapaian solusi.
b. Penalaran berbasis kasus (Case-Based Reasoning)
Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi
yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk
keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila
user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang
hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah
27
2.2.8 Motor Inferensi (Inference Engine)
Ada 2 cara yang dapat dikerjakan dalam melakukan inferensi, yaitu:
1. Forward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu).
Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji
kebenaran hipotesis.
2. Backward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN
dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan
untuk menguji kebenaran hipotesis tersebut dicari harus dicari fakta- fakta
yang ada dalam basis pengetahuan.
2.2.9 Ciri-Ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi cirri-ciri sebagai berikut:
1. Memiliki fasilitas informasi yang handal;
2. Mudah dimodifikasi;
3. Dapat digunakan dalam berbagai jenis komputer;
28
2.2.10 Permasalahan yang Disentuh Oleh Sistem Pakar
Ada beberapa masalah yang menjadi area luas aplikasi sistem pakar, antara
lain:
1. Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk
diantaranya: pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal
dan beberapa analisis kecerdasan.
2. Prediksi. Termasuk diantaranya peramalan, prediksi demografis, peramalan
ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan
keuangan.
3. Diagnosis. Termasuk diantaranya: medis, elektronis, mekanis dan diagnosa
perangkat lunak.
4. Perancangan. Termasuk diantaranya: layot sirkuit dan perancangan bangunan.
5. Perencanaan.
6. Monitoring.
7. Debugging.
8. Perbaikan.
9. Instruksi.
29
2.3 Konsep Basis Data
2.3.1 Pengertian Basis data
Pengertian Basis Data terdiri dari dua kata, basis dan data. Basis dapat
diartikan kurang lebih sebagai markas, gudang atau tempat berkumpul. Sedangkan
data adalah repesentasi fakta dunia nyata yang mewakili suatu objek seperti
manusia (pegawai, siswa, pembeli, dan lain- lain), barang dan sebagainya yang
direkam dalam bentuk angka, huruf, symbol, teks, gambar, bunyi atau kombinasi
lainnya. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang
seperti:
1. Himpunan Kelompok Data (Arsip) yang saling berhubungan yang
diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali
dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan (Redundansi) yang tidak perlu.
Kumpulan File/Table/Arsip yang saling berhubungan yang disimpan daam
media penyimpan Elektronik.
2.4 Metode Perancangan Sistem
30
2.4.1 Diagram Konteks
Merupakan gambaran sistem secara garis besar dan hanya memperlihatkan
kelompok data input dan output. Diagram konteks adalah suatu diagram yang
menggambarkan hubungan sistem dengan sejumlah komponen menjadi bagian
penting dalam mendukung keberadaan sistem tersebut, yang akan memberikan
masukan atau diberikan keluaran dari sistem sehingga data yang masuk dapat
menjadi informasi bagi komponen-komponen tadi. Konteks diagram merupakan
level teratas dari diagram arus data .
2.4.2 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) digunakan untuk menggambarkan suatu
sistem yang telah ada atau sistem baru yang akan dikembangkan. DFD
memperlihatkan suatu sistem dalam komponen–komponennya serta interface
(penghubung) antara komponen tersebut. Dalam memperlihatkan aliran data dan
pengembangan suatu sistem yang ditinjau dari segi data yang ditampilkan dengan
simbol dan aturan tertentu.
2.4.3 Entity Relation Diagram (ERD)
ERD adalah gambar atau diagram yang menunjukan informasi dibuat,
disimpan, dan digunakan dalam sistem bisnis untuk melakukan aktivitas
pemodelan data. Atribut dari masing- masing objek data yang ditulis pada ERD
31
terfokus pada data dengan menunjukan ‘jaringan data’ yang ada untuk sistem
yang diberikan. ERD berguna bagi aplikasi dimana data dan hubungan yang
mengatur data sangatlah kompleks. Serangkaian komponen utama didefinisikan
untuk ERD : objek data atribut, hubungan, dan bergai tipe indicator. Tujuan utama
ERD adalah untuk mewakili objek data dan hubungan mereka.
Derajat relasi diantaranya:
a. Satu ke satu (1-1), yang berate setiap entitas pada himpunan A berhubungan
paling banyak dengan entitas pada himpunan entitas B.
b. Satu ke banyak (1-N), yang berate setiap entitas pada himpunan entitas A
dapat berhubungan banyak entitas pada himpunan entitas B. tetapi tidak
berlaku sebaliknya.
c. Banyak ke satu (N-1), yang berarti setiap entitas pada himpunan entutas A
berhubungan paling banyak dengan satu entitas pada himpunan entitas B
tetapi tidak berlaku sebaliknya.
d. Banyak ke banyak (N-N), yang berati setiap entitas pada himpunan entitas A
dapat berhubungan banyak dengan entitas pada himpunan entitas B dan
32
2.4.3 Skema Relasi
Proses skema relasi merupakan gabungan antara table yang mempunyai
kunci utama yang sama, sehingga table-tabel tersebut menjadi satu kesatuan yang
dihubungkan oleh field kunci masing- masing. Pada proses ini, elemen-elemen
data dikelompokkan menjadi satu file database beserta entitas dan hubungannya.
2.5 Perangkat Lunak Pendukung
Software atau perangkat lunak yang pendukung dalam sistem informasi ini
yaitu:
1. Personal Home Page (PHP)
2. Database MySQL
2.5.1 Personal Home Page (PHP)
Menurut WAN, personal home page (PHP) “PHP hypertext preprocessor.
It’s a programming language for building dynamic, interactive web site”. Artinya
PHP Hypertext Preprocessor adalah bahasa pemrograman untuk membuat web
site yang dinamis dan interakitf. PHP sendiri ditemukan pada tahun 1994 oleh
Resmus Lerdof, pada awalnya tidak untuk didistribusikan dan hanya digunakan
pada home page pribadinya. Saat ini hampir seluruh web site diseluruh dunia
33
dapat diikut sertakan dalam sejumlah produk komersil seperti C2’s Stronghold
web Server dan Redhat Linux.
Dengan menggunakan PHP, maka perawatan suatu situs web site menjadi
lebih murah. Proses update data dapat dilakukan dengan menggunakan aplikasi
yang dibuat dengan menggunakn script PHP, dan kemampuan PHP yang paling
diandalkan dan pasti adalah dukungan kepada banyak database.
Kelebihan-kelebihan PHP antara lain:
PHP mudah dibuat dan cepat disajikan. PHP dapat berjalan dalam web
server yang berbeda dan dalam sistem operasi yang berbeda pula. PHP dapat
berjalan di sistem operasi UNIX, LINUX, Windows, dan Macintosh. PHP juga
termasuk bahasa pemrograman yang bisa diletakkan didalam tag HTML.
2.5.2 Database My SQL
Database MySQL merupakan sistem manajemen basis data SQL yang
sangat terkenal dan bersifat open sourse. Meski dirilis secara open sourse namun
kendalanya dapat dibuktikan. MySQL mempunyai stabilitas dan kecepatan akses
yang tinggi. Dapat berjalan dalam berbagai macam bahasa. MySQL
dikembangkan untuk menangani database yang besar secara cepat dan telah
sukses digunakan selama bertahun-tahun. Konektifitas, kecepatan, dan
keamananya telah menjadian MySQL sebagai server yang cocok untuk mengakses
34
MySQL memiliki arsitektur yang memungkinkan tuap tabel ditangani oleh
handler yang berbeda. Ada tiga handler ya ng dapat dipakai, yaitu MyISAL,
Barkeley DB (BDB), dan Innodb. innoDB membuat MySQL menarik karena
memili fitur transaksi dengan sistem multiversi sehingga perubahan yang
dilakukan oleh seorang klien tidak akan terlihat olug klien lain. Klien ini akan
melihat kondidi tabel sebelum transaksi. Barulah jika transaksi ilehklien pertama
di-commit, perubahan akan terlihat di semua klien. Bandingkan dengan tabel
Barkeley Db, misalnya, yang akan memblok tabel yang sedang di pakai dalam
sebuah transaksi sehingga seorang klien hatus menunggu sampai transaksi yang
108
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan analisis dan pengujian yang telah dilakukan maka dapat
diambil beberapa kesimpulan antara lain:
1. Aplikasi sistem pakar untuk mendiagnosa penyakit hepatitis ini dapat
membantu masyarakat dalam mendiagnosa penyakit hepatitis.
2. Aplikasi sistem pakar untuk mendiagnosa penyakit hepatitis ini dapat
digunakan sebagai informasi tambahan dari dokter.
3. Aplikasi sistem pakar untuk mendiagnosa penyakit hepatitis ini dapat
membantu masyarakat untuk mengefisie nkan waktu dan menghemat biaya
dalam mengidentifikasi penyakit hepatitis jika dibandingkan menggunakan
109
5.2 Saran
Guna memperoleh hasil yang lebih baik dalam membangun sebuah sistem
pakar, maka disarankan:
1. Visualisasi pelacakan penyakit secara keseluruhan dapat ditampilkan.
2. Membuat antar muka yang lebih fleksibel, tidak hanya berupa Tanya
jawab dengan jawaban YA atau TIDAK saja, tetapi pemakai dapat
memasukan data kedalam sistem sehingga diharapkan pemakai
mendapatkan informasi yang lebih detail.
3. Proses rekayasa pengetahuan akan menghasilkan solusi yang lebih baik