ABSTRAK
PERANGKAT LUNAK DIAGNOSA PENYAKIT PADA MANUSIA BERBASIS SISTEM PAKAR
Oleh
ADAM HUSSEIN
Sistem pakar pendiagnosa penyakit ini dapat diakses melalui Personal Computer
(PC) maupun Netbook sehingga sangat memudahkan orang dalam mendiagnosa penyakitnya. Sistem pakar ini dibuat dengan menggunakan bahasa pemrograman Amzi Prolog. Skripsi ini akan membahas tentang cara kerja dokter yang diadopsi pada sistem pakar penyakit secara keseluruhan, dasar teori yang digunakan, tahap analisa, perancangan (desain), pengodean, pengujian, dan maintenance
(pemeliharaan) perangkat lunak (Software) pada penggunaan sistem ini. Sistem ini dapat dijalankan dengan baik dan menurut tanggapan pengguna sistem ini diperlukan. Berdasarkan tanggapan pengguna, hasil diagnosa yang diberikan oleh sistem ini sudah cukup akurat.
ABSTRACT
HUMAN DISEASE DIAGNOSTIC SOFTWARE BASED ON EXPERT SYSTEM
By
ADAM HUSSEIN
This disease diagnose expert system can be accessed through Personal Computer (PC) or Netbook so that making it easier for people to diagnose the disease. This expert system made with programming language Amzi Prolog. This thesis will discuss about how the doctor who adopted the overall expert system disease, the basic theory, analysist stage, design, coding, testing and maintenace the software on the use of this system. This system can be run well and according to the system user this is needed. According to user, the result which showed by this system is accurate enough.
PERANGKAT LUNAK DIAGNOSA PENYAKIT PADA MANUSIA BERBASIS SISTEM PAKAR
(Skripsi)
Oleh
ADAM HUSSEIN
Skripsi
Sebagai salah satu syarat untuk mencapai gelar SARJANA TEKNIK
Pada
Jurusan Teknik Elektro
FAKULTAS TEKNIK UNIVERSITAS LAMPUNG
Judul Skripsi
Nama Mahasiswa
Nomor Pokok Mahasiswa Program Studi
Fakultas
ItI.
Komaruddln,
S.T., M.T. NrP 19681207 199705 1 006PERANGI(AT LUNAIT DIAGNOSA PDNYAITIT PADA IIIANUSIA BERBASIS SISTEII PAI{AR
f1drrrn
qlusseful
0855051001 Teknik Elektro Teknik
MEIITYETUJUI
Komisi Pe
NrP 19850915 200812 1 001
2. Ketua Jurusan Teknik Dlektro
NrP 19680809 199905 1 001
1. Tim Penguji
Ketua
Sekretaris
TIENGESAIII{AI!
: M.
Komaruddln,
S.T., M.T.:
Ilery
Dian Septama,
S.T., Msc. ...'Penguji
Bukan Pembimbing
ffi
hamo, !I.Sc.,
Ph.D. 17 t9B7O5t
OO2r7
: Yessl
Mulyani,
S.T.,[I.T.
iffilffi
:"i$.flffi
:"= 5',r,li$
tr;/ffi
)':
*-g6u*,
,.
't*lrBrdf,
Tanggal Lulus Ujian Skripsi :
15
Oktober
2O15SI]RAT PERI{YATAAN
Dengan ini menyatakan bahwa skripsi ini dibuat oleh Saya sendiri. Adapun karya
orang lain yang terdapat dalam skripsi ini telah dicantumkan sumbemya pada daftar pustaka.
Apabila pernyataan saya tidak benar maka saya bersedia dikenakan sanksi sesuai
dengan hukum yang berlaku.
Adam Hussein NPM.085s031001
RIWAYAT HIDUP
Penulis dilahirkan di Bandar Lampung Provinsi Lampung pada tanggal 27 Agustus 1988, sebagai anak ketiga dari empat saudara, dari Bapak Burhanuddin Hussein dan Ibu Nurlina Gaffar.
Riwayat pendidikan penulis dimulai dari sekolah dasar diselesaikan di SD Negeri Mandai Kecamatan Biringkanaya Makasaar pada tahun 2000, Sekolah Menengah Pertama di SLTP Negeri 12 Makassar diselesaikan pada tahun 2003, dan Sekolah Menengah Atas di SMA Negeri 12 Bandar Lampung diselesaikan pada tahun 2007.
Pada tahun 2008, Penulis terdaftar sebagai mahasiswa Jurusan Teknik Elektro Fakultas Teknik Universitas Lampung melalui jalur Ujian Mandiri 2008. Selama menjadi mahasiswa, penulis pernah menjadi anggota HIMATRO (Himpunan Mahasiswa Teknik Elektro) Universitas Lampung pada tahun 2009 sampai 2010. Penulis juga pernah menjuarai lomba Technopreneur, dengan judul ANOTROUS (Atlas Anatomi Tubuh Manusia berbasis 3D) dan menyabet juara 2 nasional.
i
DENGAN BANGGA
KUPERSEMBAHKAN KARYA
SEDERHANA INI UNTUK
ALMARHUM AYAHANDA DAN
IBUNDA TERCINTA
BURHANUDDIN HUSSEIN DAN
NURLINA
KAKAK DAN ADIKKU TERCINTA
MUSLIMAH HUSSEIN , RIO HUSSEIN
i
MOTTO
“
karena sesungguhnya sesudah
kesulitan pasti ada kemudahan
”
-Al Qur’an , Surat Al-Insyirah : 5
“Sekali layar terkembang,
surut kita berpantang
”
“
Pria yang tahan uji dan
keluar dengan value
ii
juga dalam seluruh aspek
kehidupan yang dijalani.
”
-ADAM HUSSEIN,ST.-
Life Is Choice , Challenge
And Chance
SANWACANA
Alhamdulillahhirobbil'alamin, segala puji bagi Allah SWT atas limpahan nikmat kesehatan, kesempatan rahmat serta hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini. Sholawat serta salam senantiasa tercurah kepada Nabi Muhammad SAW sang penutup para Nabi dan Rasul, kepada keluarga, sahabat, dan pengikutnya yang setia sampai akhir zaman.
Skripsi dengan judul "Perangkat Lunak Diagnosa Penyakit Pada Manusia Berbasis Sistem Pakar" sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik pada Jurusan Teknik Elektro Fakultas Teknik Universitas Lampung
Dalam kesempatan ini penulis mengucapkan terimakasih yang tulus kepada : 1. Bapak Prof. Suharno, M.Sc., Ph.D., selaku dekan Fakultas Teknik
Universitas Lampung.
2. Bapak Agus Trisanto, Ph.D., selaku Ketua Jurusan Teknik Elektro Universitas Lampung.
3. Ibu Herlinawati S.T., M.T., , selaku Sekretaris Jurusan Teknik Elektro Universitas Lampung.
5. Bapak Muhammad Komaruddin S.T., M.T., sebagai Dosen Pembimbing Utama atas kesediaannya membimbing, membantu, meluangkan waktu serta memberikan saran dan kritik kepada penulis dalam penyelesaian penulisan skripsi ini.
6. Bapak Hery Dian Septama, S.T., Msc., sebagai Dosen Pembimbing Pendamping atas kesediaannya membimbing, membantu, meluangkan waktu serta memberikan saran dan kritik kepada penulis dalam penyelesaian penulisan skripsi ini.
7. Ibu Yessi Mulyani, S.T., M.T., selaku Dosen Penguji yang telah memberikan kritikan, dan saran dalam penyelesaian tugas akhir ini.
8. Segenap Dosen dan Pegawai di Jurusan Teknik Elektro yang telah memberikan ilmu dan wawasan yang tak telupakan oleh penulis.
9. Almarhum Ayahanda Burhanuddin Hussein, ibunda Nurlina Gaffar, ayu 10. Muslimah Hussein, Kakak Rio Hussein dan adinda Yasmin Hussein yang
selama ini telah memberikan kasih sayang , semangat, doa, nasihat serta dukungan.
Anang, Irvika dan lain-lain atas bantuannya baik langsung ataupun tidak langsung.
13. Para Yunior Elektro Universitas Lampung, Terimakasih sudah membantu dalam kehidupan manis pahitnya dunia perkuliahan.
14. Semua pihak yang tidak dapat penulis sebutkan satu per satu atas bantuan dan dukungannya dalam menyelesaikan penyusunan skripsi ini.
Penulis meminta maaf atas segala kesalahan dan ketidaksempurnaan dalam penyusunan tugas akhir ini. Saran dan kritik membangun sangat diharapkan penulis demi kebaikan dimasa yang akan datang. Sekali lagi penulis ucapkan terimakasih dan semoga Allah SWT membalas kebaikan Anda semua dan diberi kemudahan dalam segala urusannya. Amin.
Bandar Lampung, Oktober 2015 Penulis,
DAFTAR ISI
Halaman
DAFTAR ISI ... i
DAFTAR TABEL ... iii
DAFTAR GAMBAR ... iv
I . PENDAHULUAN ... 1
1.1Latar Belakang Masalah ... 1
1.2Tujuan Penelitian ... 3
1.3Manfaat Penelitian ... 3
1.4Permasalahan ... 4
1.5Batasan Masalah ... 4
1.6Sistematika Penulisan ... 5
II. TINJAUAN PUSTAKA ... 6
2.1 Sistem Diagnosa Penyakit berbasis Perangkat Lunak ... 6
2.2 Cara Diagnosa Dokter ... 7
2.2.1 Wawancara ... 8
2.2.2 Pengecekan Fisik ... 8
2.2.3 Pengecekan Labroratorium ... 9
2.3. Sistem Pakar ... 9
2.3.1 Struktur Dasar Sistem Pakar ... 11
2.3.2 Proses Pembuatan Sistem Pakar ... 12
2.3.3 Komponen dalam Sistem Pakar ... 13
2.3.4 Kategori Permasalahan Sistem Pakar ... 13
2.4. Aplikasi-Aplikasi Pendukung. ... 14
2.4.1 Sekilas Mengenai Prolog ... 14
2.4.2 Sejarah Singkat Prolog ... 15
2.4.3 Pemrograman Logika ... 16
2.4.4 Ciri Bahasa Prolog ... 19
2.4.5 Bahasa Deklaratif ... 24
2.4.6 Prolog dan Proyek Komputer Generasi Kelima ... 26
2.4.7 Turbo Prolog dan Prolog Tradisional ... 26
ii
III. METODE PENELITIAN ... 32
3.1 Metode Penelitian ... 32
3.2 Waktu dan Tempat ... 34
3.2.1 Jadwal kegiatan ... 35
3.3 Alat dan Bahan ... 36
3.4 Gambaran Umum Penelitian ... 36
3.5 Tahap Perancangan Penelitian ... 37
IV. HASIL DAN PEMBAHASAN ... 54
4.1. Hasil dan Pembahasan ... 54
4.1.1 Halaman Antarmuka Sistem Pakar ... 54
4.1.2 Implementasi Data Ahli ( Knowledge Base) ... 57
4.1.3 Implementasi Menu Diagnosa ... 59
V. SIMPULAN DAN SARAN ... 74
5.1 Simpulan ... 74
5.2 Saran ... 74
DAFTAR TABEL
Tabel Halaman
2.1 Perbandingan seorang ahli/pakar (Human Expert) dengan sebuah system pakar (Expert System) ... 11 3.1 Jadwal kegiatan penelitian ... 32
3.2 Clinical Pathway atau Panduan Praktik Klinis (PPK) Tata Laksana Kasus ... 34
3.3 Daftar attribute beserta kuncinya. ... 49 4.1 Data penyakit diare ... 57 4.2 Hasil pengujian functionality test pada perangkat lunak diagnosa penyakit
PROGRAM STUDI
KAJIAN
PERANGKAT
LUNAK
DIAGNOSA
PENYAKIT PADA
MANUSIA
BERBASISSISTEMPAKAR
PROGRAM STRATA
1FAKULTAS TEKNIK
UMVERSITAS LAMPT]NG
Jln. Prof. SoernantriBrojooegoroNo. 1 Baudarlarnpung35145 TlplFax(0721)704 624
INFORMED CONSENT
Ibulbapal/Sdr. Perkenalkan ftlma saya : Adam Hussein. Sayq Malrasiswa program Strata 1 Kajian Perangkat Lunak Diagnosa Penyakit Pada Manusia Berbasis Sistem Pakar (Fakultas Teknik, Universitas Lampung). Saat
ini
saya sedang melakukan penelitian Skripsi berjudul *PERANGKATLUNAK
DIAGNOSA PEI\IYAKITPADA
MANUSIA BERBASIS SISTEMPAKAR'
Terkait dengan peuelitiantersebut, saya memohon kesediaan Bapak/ibu/saudara uafuk mengisi kuesioner deagan baik dan apa adanya. Tidak ada jawaban yang benar atau salah. Semua data
ini
digunakan untuk kepentingan ilmialt dan juga dig@akm untuk meningkatkan pelayanan kesehatan berbasis perangkat lunak khususnya sistem pakar (Expert Sytem) dalam perke.mbangan dunia kedokteraan saatini.
Kami menjamin untuk menjaga kerahasiaan data yang IbulBapak/Sdr berikan dan hanya mengguoakannya untuk tujuan penelitian saja. Atas kerjasama dan kesediaafrya. Saya ucapkan terima kasih.IZIN LISAN SUBYEK PENELITIAN
Saya memahami keterangan yang diberikan dan saya setuju untuk mengisi kuesioner.
Izin
Lisan
O^
2.Tidakfwdl)
dr
N'r,msli qrnah lhr{spivr,
ffiPS,c[n
O{ama Responden)
TANDA TANGAN PENELITI
Saya menyatakan, responden secara sukarela dan sadar memberikan izin termaklum
dan memiliki kapasitas hukum untuk memberikan izin kepada saya untuk melanjutkan pengisian kuesioner
Jika responden tidak bersedia TTD tapi bersedia diwawancarai maka cukup TTD
Tanda Tangan Peneliti
Nama Pribadi Responden
lr
Muqh'nrratn tt..'rservT
Kode Kode Kode Kode Kode Kode
NAMA JENIS
KE,LAMIN
USLA KOTA
TEMPAT TINGGAL
PENDIDIKAN TERAKHIR
PENGHASILAN KELUARGA
1.L
1.9
1.
\z
1.
>ts'It-.
lT)P 2. 2.
Kode Kode Kode
Kota tempat tinggal : Pendidikan terakhir : Penehasilan keluarga :
. iakarta :SD-SMP
'<5iuta
. b0g0r . SMA
.5-10iuta
. depok r Diploma - Sl
.
10 - t5 iuta. tanggerang . s2/s3
X5
iuta.bekasi
w
KUESIONER
KEPUASAN PENGGLTNA PERANGKAT LUNAK DIAGNOSA PENYAKIT PADA MANUSIA BERBASIS SISTEM PAKAR
Prtunjuk pengisian questioner :
Berilah jawaban yang sesuai dengan penilaian anda tentang perangkat lunak diagnosa penyakit, dengan melingkari angka yang tersedia dalam kolom. untuk Mengukur
kepuasan pengguna informasi kami menggunakan skala pengukuran sebagai berikut :
1. SangatPuas 2. Puas
3. Cukup Puas 4. Netral
5. Kurang Puas
6. Tidak Puas
7. Sangat Tidak Puas
Pertanyaan-pertanyaan
1. Bagaimanakah pandapat anda tentang tampilan perangkat lunak untuk diagnosa penyakit :
anda baru kali melihat sistem informasi rumah sakit
sistem ini
6. Reliabilitas Informasi yang dihasilkan terhadap informasi yang dihmapkan:
anda srstem ini :
1 2 J 4 5 6 7
a
te srstem iru :
1 2
{3)
4 5 6 7Berilah skala
7. Relevansi pertanyaan yang diajukan:
iljsaneat bermanfaat 2. Tidak Bermanfaat /T)relevant 2. tidak relevant
8. Akurasi informasi dihasilkan
Beri
9. Waktu
Berilah
10. ikasi ini diperlukan dalam dunia
1. tidak layak L.Iayak
1. dapat diterima 2. tidak dapat diterima
Beri
anda srstem ini :
t
l{2}
t3
4)
6 7illr
1. Tidak akurat @-.Akurat
1. rendah ,ZiTinggi
arb sryvrr untuk pengembangan sistem yang baru.
J,.bukup 2. tidak cukup
1. adekuat 2. tidak adekuat
skala kepuasan asda tentans sistem ini :
I 2 J 4 5 6 7
lah skala sistem ini :
I 2 J 4 5 6 7
PROGRAM STUDI
KAJIAN
PERANGKAT
LUNAK
DIAGNOSA
PENYAKIT
PADA
MANUSIA
BERBASIS SISTEMPAKAR
PROGRAM STRATA
1FAKULTAS TEKNIK
I.]NIVERSITASLAMPLING
Jln. Prof. Soemantri Brojonegoro No. t Bandarlampung 35L45 Tlp/Fax(0721) 704 624
INFORMED CONSENT
Ibu/bapak/Sdr. Perkenalkan nama saya : Adam Hussein. Saya, Mahasiswa program Strata 1 Kajian Perangkat Lunak Diagnosa Penyakit Pada Manusia Berbasis Sistem Pakar (Fakultas Teknik, Universitas Lampung). Saat
ini
saya sedang melakukan peneiitian Skripsi berjudul *PERANGKATLUNAK
DIAGNOSA PENYAIflTPADA
MANUSIA BERBASIS SISTEMPAKAR'
Terkait dengan penelitiantersebut, saya memohon kesediaan Bapak/ibu/saudara untuk mengisi kuesioner dengan baik dan apa adanya. Tidak ada jawaban yang benar atau salah. Semua data
ini
digunakan untuk kepentingan ilmiah dan juga digunakan untuk meningkatkanpelayanan kesehatan berbasis perangkat lunak khususnya sistem pakar (Expert Sytem) dalam perkembangan dunia kedokteraan saat
ini.
Kami menjamin untuk menjaga kerahasiaan data yang lbu/BapaVSdr berikan dan hanya menggunakanrlya untuk tujuan penelitian saja. Atas kerjasama dan kesediaanya. Saya ucapkan terima kasih.IZIN LISAN SUBYEK PENELITIAN
Saya memahami keteranganyang diberikan dan saya setuju untuk mengisi kuesioner.
{#'t^
Izin
Lisan l.ya
2.Tidak:
a"-*-,lr,1o
Gtrv66a lM^^(1t{ama Responden)
TANDA TANGAN PENELITI
Saya menyatakan, responden secara sukarela dan sadar memberikan izin termaklum
dan memiliki kapasitas hukum untuk memberikan iztnkepada saya untuk melanjutkan pengisian kuesioner
Jika responden tidak bersedia TTD tapi bersedia diwawancarai maka cukup TTD
Tanda Tangan Peneliti
Nama Pribadi Responden
i
)4uu,1n
L'{[ANDKA
Wui r""".ir"""""
Kode Kode Kode Kode Kode Kode
NAMA
)hl"'rh
JENIS KELAMIN
USIA
ryhL
KOTA TEMPAT TINGGAL
PENDIDIKAN TERAKHiR
PENGHASILAN KELUARGA
cr{4N/De4 1.L
1.
rstta:.{- 1.lO - lqirprtri}g,u,l ?
p'
2. 2. 2.J.
Kode Kode Kode
Kota tempat tinggal : Pendidikan terakhir : Penghasilan keluarga :
..iakarta .SD-SMP
.<5iuta
. bogor . SMA . 5 - 10luta
. depok . Diploma - Sl
.
10 - 15 iuta. tanggerang . s2/s3 . 15.iuta
. bekasi
KUESIONER
KEPUASAN PENGGUNA PERANGKAT LLTNAK DIAGNOSA PENYAKIT PADA MANUSIA BERBASIS SISTEM PAKAR
Prtunjuk pengisian questioner :
Berilah jawaban yang sesuai dengan penilaian anda tentang perangkat lunak diagnosa
penyakit, dengan melingkari angka,vang tersedia dalam kolom. untuk Mengukur
kepuasan pengguna informasi kami menggunakan skala pengukuran sebagai berikut : 1. SangatPuas
2. Puas
3. Cukup Puas 4. Netral
5. Kurang Puas
6. Tidak Puas
7. Sangat Tidak Puas
Pertanyaan-pertanyaan
1. Bagaimanakah pandapat anda tentang tampilan perangkat lunak untuk diagnosa penyakit:
|
{2)
l:
lq
ls
l0
lt
kali melihat sistem informasi rumah sakit
anda sistem ini
1
,2
J 4 5 6 7
3. Sistem ini memudahkan ada:
anda
J
sistem ini :
l
[2
4 5 6 76. Reliabilitas Informasi yung dihasilkan terhadap informasi yang diharapkan:
\
2.
skala sistem ini :
1 2
a)
4 5 6 77. Relevansi pertanyaan yang diajukan:
rt=dangat bermanfaat 2. Tidak Bermanfaat (,irelevant 2. tidak relevant
8. Akurasi infiorlnasl Yan dihasilkan
1. Tidak akurat , Akurat
1. rendah l,lTineei
Berilah
9.
Berilah
10
Beri
lah skala kepuasan anda tentang sistem ini :
1
)
f 4 5 6 7skala kepuasanenda tentans sistem ini :
L
12 3) 4 5 6 7ang diperlukan untuk pengembzngan sistem yang baru.
Ucukup 2.tidak cukup
l.
adekuat 2.tidak adekuatskala srstem ini :
1 2 Jt 4 5 6 7
ini di dalam dunia
1. tidak layak
!.layak
1. dapat diterima 2. tidak dapatditerima
lah skala sistem ini :
I 2 Ja 4 5 6 7
I
Saya memahami keterangan yang diberikan dan saya setujB untuk mengisi kuesioner. PROGRAM STUDI
KAJIAN
PERANGKAT
LLNAK
DIAGNOSA
PENIYAKIT
PADA
MANUSIA
BERBASIS SISTEMPAKAR
PROGRAM STRATA
1FAKULTAS TEKNIK
TJNIVERSITAS LAMPLTNGJln. Prof. Soemantri Brojonegoro No. 1 Bandarlampung 35145 Tlp/Fax(O721,)7A4 624
INFORMED CONSENT
lbdbapa{sdr. Perkenalkan nama saya : Adam Hussein. Saya, Mahasiswa program Strata 1 Kajian Perangkat Lunak Diagnosa Penyakit Pada Manusia Berbasis Sistem
pakar (Fakultas Teknik, Universitas Lampung). Saat
ini
saya sedang melakukan penelitian Skripsi berjudul *PERANGKATLUNAK
DIAGNOSA PENYAKIT f,q.OA. MANUSIA BERBASIS SISTEMPAKAR"
Terkait dengan penelitian tersebut, saya memohon kesediaan Bapak/ibu/saudara untuk mengisi kuesioner dengan baik dan apa adarrya. Tidak ada jawaban yang benar atau salah. Semua dataini
digunakan untuk kepentingan ilmiah dan juga digunakan untuk meningkatkan pelayanan kesehatan berbasis perangkat lunak khususnya sistem pakar (Expert S1'tem)dalam perkembangan dunia kedokleraan saat
ini.
Kami menjamin untuk menjaga kerahasiaan data yang Ibu/Bapak/Sdr berikan dan hanya menggunakannya untuk tujuan penelitian saja. Atas kerjasama dan kesediaanya. Saya ucapkan terima kasih.Izin
Lisan
(O*
2.TidakTANDA TANGAN PENELITI
Saya menyatakan, responden secara sukarela dan sadff memberikan izin termaklum
dan memiliki kapasitas hukum untuk m6mberikan izin kepada saya untuk melanjutkan pengisian kuesioner
Jika responden tidak bersedia TTD tapi bersedia diwawancarai maka cukup TTD
Tanda Tangan Peneliti
Tanggal---Nama Pribadi Respbnden
Kode Kode Kode Kode Kode Kode
NAMA JENIS
KELAMIN
USTA KOTA
TEMPAT TINGGAL
PENDIDIKAN TERAKHIR
PENGHASILAN KELUARGA
1.L 1 5'
1.4.
t.
+.,D 2. 2. 2.
a
Kode Kode Kode
Kota tempat tingsal : Pendidikan terakhir : Penehasilan keluarga :
. iakarta . SD. SMP
'<5juta
. bogor . SMA
.5
- l0 iuta. depok . Diploma - S1
.
10 - 15 iuta. tanggerang . s2ls3
.
15 iuta. bekasi
. diluar iabodetabek
dr.Muroiatu
phKUESIONER
KEPUASAN PENGGUNA PERANGKAT LLTNAK DIAGNOSA PENYAKIT PADA MANUSIA BERBASIS SISTEM PAKAR
Prtunjuk pengisian questioner :
Berilah jawaban yang sesuai dengan penilaian anda tentang perangkat lunak diagnosa penyakit, dengan melingkari angka 1'ang tersedia dalam kolom. untuk Mengukur
kepuasan pengguna informasi kami menggunakan skala pengukuran sebagai berikut :
1. SangatPuas 2. Puas
3. Cukup Puas 4. Netral
5. Kurang Puas
6. Tidak Puas
7. Sangat Tidak Puas
Pertanyaan-pertan1,-aan
1. Bagaimanakah pandapat anda tentang tampilan perangkat lunak untuk diagnosa penyakit:
3. Sistem ini memudahkan ada:
kali melihat sistem informasi rumah sakit
skala sistem ini :
1 2 J1 4 5 6 7
1. Ya 2. fidak
Berilah
5.
Beri
skala kepuasananda tentans sistem ini :
I 2
3)
4 5 6 7skala sistem ini :
1 2 aJ 4 5 6 7
skala
1 2 a 4 5 6 7
7. Relevansi pertanyaan yang diajukan:
0
Sansat bermanfaat 2. Tidak BermanJ-aatU. relevant 2. tidak relevant
Berilah sistem ini
8.
Berilah
9. W,aldu untuk baru.
6)cukup 2.tidak cukup
1. adekuat 2. tidak adekuat
ilah skala kepuasan anda tentang sistem ini :
I
123)
4 5 6 7Berilah
10. ini diperlukan dalam dunia
1. tidak layak 2.\ayak
1. dapat diterima 7. tidak dapat diterima
skala
1 2
3/
4 5 6 7ilah skala sistem ini :
1 2 1)1 4 5 6 7
DAFTAR GAMBAR
Gambar Halaman
Gambar 2.1 Cara kerja sistem pakar dalam memecahkan masalah ... 11 Gambar 3.1 Ilustrasi model waterfall ... 32 Gambar 3.2 Gambaran umum sistem ... 36 Gambar 3.3 Prosedur penanganan pasien penderita demam berdarah ... 43 Gambar 3.4 Prosedur penanganan pasien penderita demam berdarah ... 44 Gambar 3.5 Context diagram sistem pakar ... 46 Gambar 3.6 Data Flow diagram level 1 ... 47 Gambar 3.7 Entity Relationship diagram ... 50 Gambar 3.8 diagram alir sistem ... 51 Gambar 3.9 diagram alir penelitian ... 53 Gambar 4.1 halaman antar muka sistem pakar pada Amzi Prolog ... 55 Gambar 4.2 halaman pembuka sistem pakar... 55 Gambar 4.3 sistem pakar memulai diagnose penyakit ... 56 Gambar 4.4 Sistem pakar berhasil menemukan penyakit ... 56 Gambar 4.5 Sistem pakar tidak menemukan penyakit dengan yang dialami pasien
………... 57
v
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Dalam kehidupan sehari-hari, setiap manusia selalu mendambakan tubuh yang sehat dan bugar. Hal tersebut disebabkan karena permasalahan kesehatan adalah hal yang vital, dan merupakan modal utama dalam beraktivitas sehari-hari, misalnya bekerja, belajar, dan bermain. Disisi lain, perkembangan didunia medis juga telah berkembang secara pesat dalam beberapa tahun terakhir.
Seiring dengan kemajuan dan berkembangnya teknologi informasi serta komunikasi pada saat ini, maka kebutuhan akan informasi yang cepat dan akurat sudah menjadi kebutuhan yang utama bagi setiap insan. Keadaan yang seperti inilah yang telah mendorong para ahli untuk mengembangkan teknologi dan mengadopsi proses serta cara berfikir komputer seperti manusia.
Hal ini dapat diwujudkan dengan cara menerapkan ilmu Artificial Inteligence
2
Semakin majunya peradaban maka himpitan kesibukan setiap manusia akan semakin bertambah. Oleh sebab itu diperlukan suatu sistem yang praktis bagi setiap orang, sehingga mereka yang ingin menggunakan suatu layanan dapat dengan mudah melakukannya. Suatu perangkat lunak dapat mengatasi kendala ini karena menawarkan kepraktisan yang dapat memanjakan penggunanya. Seluruh layanan yang ingin dinikmati pengguna ada di ujung jari mereka.
Salah satu pelayanan yang mungkin dapat ditawarkan kepada masyarakat adalah sebuah pelayanan kesehatan berbasis sistem pakar. Hal ini tentu akan mempermudah masyarakat untuk melakukan konsultasi kesehatan, dan pastinya hal ini juga akan meringankan biaya yang perlu dikeluarkan apabila ingin melakukan konsultasi kesehatan. Terobosan ini juga dapat menjadi pemecah masalah dalam menghadapi tantangan wilayah indonesia yang luas dengan topografi yang sulit dijangkau. Sehingga dengan adanya pelayanan kesehatan berbasis sistem pakar ini dapat menghadirkan layanan kesehatan untuk masyarakat diseluruh Nusantara. Walaupun demikian dapat diketahui bahwa belum seluruh rakyat Indonesia yang sadar dan memanfaatkan teknologi informasi berbasis sistem pakar, tetapi kiranya terobosan ini dapat dimanfaatkan pada seluruh lapisan masyarakat Indonesia yang belum mampu menguasai dan menggunakan teknologi tersebut.
3
Sistem ini akan membandingkan gejala atau symptom yang diderita oleh seorang pasien dengan pusat data berupa basis data tentang penyakit beserta gejalanya. Kemudian hasil dari perbandingan tersebut akan diambil yang memiliki tingkat ketepatan yang paling tinggi. Sehingga diketahui diagnosa tentang penyakit seorang pasien, maka kemudian dapat diketahui pula obat yang cocok untuk menyembuhkan penyakit pasien tersebut.
Namun demikian, tentunya sistem ini tidak akan serta merta menggantikan peran serta kerja seorang dokter secara keseluruhan. Sistem ini dapat berfungsi dengan optimal untuk kasus-kasus gangguan kesehatan ringan, dimana tidak memerlukan interaksi antara dokter dan pasiennya secara langsung.
1.2 Tujuan Penelitian
Penelitian ini dilakukan dengan tujuan untuk:
1. Merancang aplikasi sistem pakar untuk mendiagnosa penyakit dan gangguan kesehatan ringan dengan menggunakan atau menerapkan metode interview
dengan ahli penyakit.
2. Membangun aplikasi yang dapat membantu pengambilan keputusan dalam menentukan jenis penyakit dan gangguan kesehatan ringan yang diderita dari beberapa alternatif gejala-gejala yang dimasukkan.
1.3 Manfaat Penelitian
4
jenis penyakit dan gangguan kesehatan ringan, dengan cara memasukkan gejala-gejala yang sering dialami penderita.
1.4 Permasalahan
Untuk mengaplikasikan rancangan sistem pakar pendiagnosa penyakit berbasis perangkat lunak yang dirancang dengan bahasa pemrogaman Amzi Prolog. Sistem ini mengadopsi cara kerja seorang dokter untuk mendiagnosa penyakit pasien dengan metode wawancara. Sistem ini memungkinkan pengguna mengetahui penyakit yang dideritanya dengan memasukan gejala yang diderita oleh penderita kedalam sistem. Kemudian gejala yang diderita oleh pengguna tersebut akan diolah dan dibandingkan dengan pusat data. Hasilnya akan ditampilkan berupa jenis penyakit, anjuran obat bagi pengguna dan penyebab penyakit tersebut.
1.5 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Metode pendiagnosaan yang akan digunakan pada skripsi ini merupakan metode wawancara yang digunakan oleh dokter pada umumnya.
2. Penyakit yang terdapat dibasis data sangat terbatas, hal ini dimaksudkan hanya untuk mencoba apakah sistem yang dibuat dapat berjalan dengan baik atau tidak.
5
1.6 Sistematika Penulisan
Dalam rangka penulisan skripsi ini, disusun suatu sistematika penulisan dengan membaginya menjadi beberapa bab. Susunan sistematika tersebut adalah:
BAB I PENDAHULUAN
Dalam bab ini diuraikan tentang latar belakang, tujuan penulisan, manfaat penelitian, permasalahan, batasan masalah, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini membahas tentang teori-teori dasar tentang cara pendiagnosaan dokter yang diadopsi oleh sistem ini, sistem pakar, dan teknologi yang digunakan pada sistem ini.
BAB III METODE PENELITIAN
Bab ini membahas mengenai tahapan-tahapan yang dilakukan dalam merancang sistem pakar pendiagnosa penyakit berbasis sistem informasi ini, seperti pemodelan, algoritma pemrograman, dan keterhubungan tabel-tabel pada basis data.
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi analisis simulasi, uji coba, analisa untuk kinerja perangkat lunak saat menjalankan sistem ini serta tanggapan pengguna terhadap sistem pakar pendiagnosa penyakit berbasis sistem informasi.
BAB VI SIMPULAN DAN SARAN
BAB II
DASAR TEORI
2.1 Sistem Diagnosa Penyakit berbasis Perangkat Lunak
Kesehatan merupakan hal yang begitu penting bagi manusia. Ironisnya banyak sekali penyakit-penyakit yang pada akhirnya terlambat didiagnosa sehingga mencapai tahap kronis yang membuatnya sulit untuk ditangani. Padahal setiap penyakit sebelum mencapai tahap kronis umumnya menunjukkan gejala-gejala penyakit yang telah diderita oleh pasien tetapi masih dalam tahap yang ringan misalnya seperti sakit kepala, batuk atau nyeri pada sendi. Sayangnya karena ketidaktahuan pada penyakit tersebut maka biasanya seorang penderita akan mengabaikan gejala-gejala ringan tersebut yang berpotensi untuk menjadi fatal jika tidak diberi tindakan pengobatan.
7
akan banyak menyita waktu seorang pasien. Meskipun pasien hanya ditanyai beberapa pertanyaan oleh seorang dokter mengenai gejala penyakitnya. Akan tetapi pasien tersebut tetap saja diharuskan untuk meluangkan waktunya untuk datang kerumah sakit, mengantri dan bertemu dokter. Belum lagi seorang pasien diharuskan untuk membayar biaya yang cukup mahal untuk bertemu dokter.
Sistem pelayanan kesehatan seperti ini sebenarnya dapat diganti dengan sistem baru yang berbasiskan perangkat lunak asalkan diketahui pola kerja seorang dokter dalam mendiagnosa suatu penyakit. Sehingga sistem ini akan sangat mudah dijangkau oleh setiap orang dalam pengaksesannya.[8]
2.2 Cara Diagnosa Dokter
Seorang dokter dalam mendiagnosa penyakit pasiennya akan melalui tiga tahapan yang akan dilakukannya :
1. Wawancara 2. Pengecekan Fisik
3. Pengecekan Laboratorium/Penunjang
8
lainnya hanya dilakukan untuk menambah keyakinan dari seorang dokter untuk memvonis seorang pasien tentang penyakit yang dideritanya.
2.2.1 Wawancara
Pada tahapan ini, seorang dokter akan menanyakan seorang pasien tentang gejala yang dideritanya. Dimulai dari pertanyaan pertama tentang keluhan utama dari seorang pasien. Keluhan utama ini merupakan gejala yang diderita oleh seorang pasien yang menyebabkan mengapa pasien tersebut datang ke rumah sakit. Keluhan utama setiap orang dapat berbeda-beda walaupun penyakit yang diderita sama, tergantung dari tingkat ketahanan fisik seseorang terhadap suatu penyakit. Setelah diketahui keluhan utamanya maka selanjutnya dokter akan menanyakan tentang gejala-gejala yang diderita oleh seorang pasien. Gejala-gejala inilah yang akan dibandingkan dengan kriteria suatu penyakit dari gejala yang ada.
2.2.2 Pengecekan Fisik
9
2.2.3 Pengecekan Laboratorium
Pengecekan laboratorium merupakan tahapan dimana seorang dokter memerlukan bantuan dari laboratorium untuk memeriksa seorang pasien tentang suatu penyakit yang dideritanya. Pengecekan ini meliputi : Pengambilan darah, tes urin,
rontgen, dan lain-lain. Pengecekan laboratorium hanya dilakukan pada jenis-jenis penyakit tertentu yang sangat rumit dalam penentuan jenis penyakitnya jika hanya mengandalkan tahapan wawancara dan pengecekan fisik.[8]
2.3 Sistem Pakar
Sistem pakar adalah suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik.[1] Jenis program ini
10
Pengertian dari kata pakar/ahli itu sendiri adalah seorang individu yang memiliki kemampuan atau pemahaman yang berlebih pada suatu masalah atau bidang ilmu. Misalnya: seorang dokter, penasehat keuangan, pakar mesin mobil, dll. Dengan bersandar pada definisi tersebut maka seorang pakar/ahli memiliki kemampuan yang meliputi kemampuan untuk mengenali dan merumuskan masalah, menyelesaikan masalah dengan cepat dan tepat, menjelaskan solusi, belajar dari pengalaman, restrukturisasi pengetahuan, menentukan relevansi/hubungan, dan memahami batas kemampuan. Kepakaran/keahlian dari seseorang dapat diperoleh dengan memiliki pemahaman yang luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan, membaca dan pengalaman.
Alasan mendasar mengapa sistem pakar (Expert System) dikembangkan untuk menggantikan seorang pakar:[13]
Dapat menyediakan keahlian dari sebuah profesi setiap waktu dan diberbagai lokasi
Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
Seorang pakar dapat pensiun atau pergi.
Biaya untuk menggunakan tenaga seorang pakar sangatlah mahal.
11
Tabel 2.1. Perbandingan seseorang ahli/pakar (Human Expert) dengan sebuah sistem pakar (Expert System)[13]
Parameter
Pembanding Human Expert Sistem Expert
Waktu Kesediaan Hari Kerja Setiap Saat
Letak Pengaksesan Di Suatu Tempat Tertentu Dimana Saja
Dapat Habis Ya Tidak
Performansi Tidak Konsisten Konsisten
Kecepatan Tidak Konsisten Konsisten
Biaya Tinggi Terjangkau
2.3.1 Struktur Dasar Sistem Pakar
Berikut dapat dilihat pada gambar 2.1 bagian-bagian yang terdapat pada sistem pakar beserta kegunaannya dalam memecahkan masalah.
Knowledge base domain knowledge
Working memory Case/Inferre Fact Conclusions
Inference enggine
User Case Facts Conclusions
12
Knowledge Base
Bagian ini merupakan bagian dari sistem pakar yang berisi domain pengetahuan. Bagian ini berisi tentang pengetahuan yang dibutuhkan untuk memahami, merumuskan dan menyelesaikan suatu masalah.
Working Memory
Bagian ini merupakan bagian dari sistem pakar yang berisi fakta-fakta masalah yang ditemukan dalam suatu sesi. Bagian ini berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses konsultasi.
Inference engine
Pada bagian ini terdapat suatu pemroses (Processor) pada sistem pakar yang bertugas untuk mencocokkan fakta-fakta yang ada pada Working Memory dengan domain pengetahuan yang terdapat pada Knowledge Base, untuk menarik kesimpulan dari masalah yang dihadapi. Proses berfikir pada manusia dimodelkan dalam sistem pakar pada bagian ini.
2.3.2 Proses Pembuatan Sistem Pakar
Terdapat dua proses dalam rangka pembuatan sistem pakar :[13]
1. Knowledge Aqcuisistion
13
2. Knowledge Engineering
Pada proses ini terjadi kegiatan pengembangan suatu sistem pakar yang dilakukan oleh pemrogaman yang dalam hal ini disebut KnowledgeEngineer.
2.3.3 Komponen dalam Sistem Pakar
Ada tiga hal yang terlibat dalam keberadaan sistem pakar :[13]
1. Domain Expert
Merupakan bidang ahli, meliputi keahlian dari seseorang suatu bidang.
2. Knowledge Enggineer
Merupakan bagian dimana seorang pemrogram membangun suatu sistem pakar.
3. End-User
Merupakan bagian yang berisi pengguna awam yang akan menggunakan fasilitas dari sistem pakar tersebut.
2.3.4 Kategori Permasalahan Sistem Pakar
Terdapat beberapa permasalahan dalam sistem pakar secara umum :[13]
1. Interpretasi - membuat kesimpulan atau deskripsi dari sekumpulan data mentah.
2. Prediksi - memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi tertentu.
14
4. Desain - menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala. 5. Perencanaan - merencanakan serangkaian tindakan yang akan dapat
mencapai sejumlah tujuan dengan kondisi awal tertentu.
6. Debugging dan perbaikan - menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi.
7. Instruksi - mendeteksi dan mengkoreksi defisiensi dalam pemahaman domain subyek.
8. Pengendalian - mengatur tingkah laku suatu environment yang kompleks. 9. Seleksi - mengidentifikasi pilihan terbaik dari sekumpulan (list)
kemungkinan.
10.Simulasi - pemodelan interaksi antara komponen-komponen sistem. 11.Pengamatan - membandingkan hasil pengamatan dengan kondisi yang
diharapkan.
2.4 Aplikasi-Aplikasi Pendukung
15
2.4.1 Sekilas Mengenai Prolog
Bahasa Prolog merupakan bahasa generasi kelima yang mendorong pemrograman kedalam dimensi baru. Bahasa Prolog dibangun atas dasar pemrograman alamiah dan logika. Untuk itulah lahir nama Prolog, yaitu singkatan dari Programming in Logic.
Prolog juga merupakan bahasa deklaratif. Artinya, jika kita memberi fakta dan aturan, prolog akan menyelesaikan problem secara deduktif; atau dari banyak fakta dan aturan kemudian diturunkan kesimpulan sebagai jawaban. Hal ini berbeda sekali dengan bahasa prosedural seperti Pascal atau Fortran. Dalam bahasa prosedural, pemrogram harus memberi perintah untuk memecahkan persoalan, langkah demi langkah; dengan kata lain, pemrogram harus tahu terlebih dahulu bagaimana memecahkan masalah itu. Bandingkanlah dengan pemrograman Prolog yang hanya perlu memberikan penjelasan masalah (fakta) dan aturan dasar untuk memecahkannya. Disini Prolog dibiarkan untuk menentukan sendiri bagaimana mencari jawaban. Dengan demikian program aplikasi penunjang kecerdasan buatan sepert basis pengetahuan, sistem pakar, antarmuka kebahasa alami, pemrograman simbolik serta sistem manajemen informasi yang cerdik, dan pengenalan citra, akan lebih mudah diwujudkan.[3]
2.4.2. Sejarah Singkat Prolog
16
ini terutama akibat hasil karya Chomsky dalam ilmu bahasa. Dia dan koleganya menelusuri cara mempertemukan bahasa alami dengan bahasa komputer.
Usaha itu disusul dengan dikembangkannya sejumlah bahasa percobaan di Montreal dan Marseilles, diantaranya Tarzan yang merupakan bahasa untuk memanipulasi tree. di antara rekan Col Meraurer, Roussel tertarik pada segi deduksi pada sistem percobaannya dan menentukan kemngkinan penggunaan logika. Dari segi teori, pembangunan gagasan pemrograman dengan logika (programming in logic) yang pertama adalah Kowalski di Edinburgh. Kemudian didemonstrasikan secara eksperimental oleh Maarten Van Emden juga di Edinburgh, dan diwujudkan oleh Alain Colmeraurer di Universitas Marseiles, dengan berhasil membuat interpreter Prolog yang pertama bersama kelompoknya pada tahun 1972. Yang paling berpengaruh dalam implementasi Prolog ini adalah dihasilkannya kompiler Prolog pertama untuk komputer DEC-10 karya Warren dan rekan-rekannya pada tahun 1979. Secara implisit sistem ini memperlihatkan sintaks prolog baku (standard) dan efisiensinya membuktikan bahwa Prolog, disamping bahasa tingkat tinggi yang menarik. juga bahasa yang berdaya guna.[4]
Karya David Warren juga memperlihatkan daya saingnya terhadap bahasa kecerdasan buatan (AI) lainnya (Lisp) dalam hal kecepatan.[6]
17
2.4.3 Pemrograman Logika
Untuk mengenal pemrograman logika, terlebih dahulu kita singgung logika predikat orde satu (first order predicat logic), yang selanjutnya kita sebut
logika predikat (kalkulus predikat). Logika predikat merupakan bagian dari komputasi logika yang juga mencakup aljabar Boole (logika proposisional). Dalam logika predikat, fakta dan aturan dinyatakan melalui predikat, seperti:
lelaki(beck) (fakta)
menikah(Beck, Ewon) (fakta)
∀ x ∀� [menikah (x,y) ^ lelaki (x) -- > ~ lelaki (y) (aturan)
∀x ∃� [orang(x) -- > punyaibu(x,y)] (aturan)
Kalimat pertama menyatakan beck seorang lelaki. Yang kedua menyatakan bahwa Beck menikah dengan Ewon. Kalimat ketiga mengatakan untuk setiap x dan untuk semua y, jika x menikah dengan y dan x lelaki, maka y bukan lelaki. Berikutnya, yang terakhir menyatakan bahwa untuk setiap x, ada y, jika x orang, maka y adalah ibu dari x.
18
sebenarnya diturunkan dari bentuk klausa Horn. Yang dimaksud klausa disini adalah suatu hubungan disjungsi beberapa literal (fakta dan aturan), dan klausa Horn adalah klausa yang hanya terdiri dari (paling banyak) satu literal positif. Contoh klausa Horn dan penurunan menjadi klausa Prolog adalah (tanda v berarti atau /disjungsi):
~lelaki(X) v ~ menikah (X,Y) v perempuan (Y) (klausa Horn)
(perempuan merupakan satu-satunya literal positif) dengan menggunakan hokum De Morgan dan rumus:
~AvB = A-- >B
diperoleh:
~(lelaki(X) ^ menikah (X,Y)) v perempuan(Y) = ~lelaki(X) ^ menikah (X,Y) -- > perempuan(Y)
Yang dalam prolog ditulis sebagai:
Perempuan(Y) if lelaki(X) and menikah(X,Y)
Gagasan yang melatar-belakangi pemrograman logika adalah menggantikan pemrograman dan komputasi dengan deskripsi logika suatu masalah dan mekanisme pembuktian untuk mendeduksi jawabannya. Pemikiran dasar dalam pemrograman logika membawa kita satu langkah kedepan, yakni komputasi adalah deduksi. Sebagai contoh, fungsi factorial biasa didefinisikan sebagai berikut:
faktorial(n) : = if n = 0 then 1 else n* factorial(n-1);
jika sebagai pengganti program diatas kita tulis predikat dalam Prolog yang dtulis:
19
yang secara logika benar jika m adalah faktorial n, dan dengan klausa:
faktorial(0,1).
faktorial(n,m) if n1 = n-1 and faktorial(n1,m1) and m = n*m1.
Maka dengan klausa logika diatas kita dapat menghitung nilai faktorial. Inilah yang merupakan pokok pemrograman logika, yakni dengan klausa logika kita dapat melakukan perhitungan.[3]
2.4.4 Ciri Bahasa Prolog
Ciri yang menonjol dalam Prolog adalah disamping mencari jawaban secara logika terhadap pernyataan yang kita ajukan, juga dapat member jawaban lain atau member semua kemungkinan jawaban. Selain hanya berjalan dari awal sampai akhir program, Prolog dapat berjalan mundur dan mencari lebih dari satu cara penyelesaian tiap bagian masalah. Secara sistematik, cirri lain prolog yang menonjol adalah:[3]
a. Predikat
Prolog membutuhkan fakta-fakta yang terungkap dalam relasi dan sifat untuk mencari jawaban. Sebagai contoh:
Irham suka permen Permen manis
Ini menggambarkan objek Irham dan permen dengan relasi suka, dan sifat manis pada permen. Seringkali, relasi bernilai benar jika memenuhi kondisi tertentu. Hubungan ini disebut aturan (rule).
Contoh aturan adalah:
20
Dalam prolog, aturan dan fakta dinyatakan dalam kalimat yang disebut klausa
(clause) seperti;
suka (Irham,permen).
Sintaks untuk menyatakan fakta seperti diatas disebut logika predikat (predicate logic). Untuk aturan diatas, kita tuliskan dalam Prolog:
Suka(Irham, permen) if rasa (permen, asam)
atau dapat pula berbentuk:
suka (Irham, permen) if asam (permen)
Selanjutnya, logika predikat ini kita sebut saja predikat, yang merupakan nama simbolik suatu relasi atau sifat, sedangkan objek yang suka dikaitkan disebut
argument. Contoh predikat diatas adalah suka dengan argumen Irham dan
permen.
b. Basis Data
Sebagai bahasa yang berorientasi pada fakta dan untuk menunjangn basis pengetahuan, Prolog menyediakan fasilitas basis data.
c. Deduksi
Prolog dapat melakukan deduksi (penarikan kesimpulan) seperti: Diberikan fakta:
Dede suka Iik Cece suka Rayan
dan aturan:
21
d. Pemadanan dan Unifikasi
Dalam mencari jawaban atau menarik sesuatu kesimpulan (reasoning), Prolog melakukan pemadanan. Argumen yang pertama dipadankan dengan argumen pertama predikat lain yang sama, dan seterusnya. Tujuan melakukan pemadanan adalah agar dapat melakukan unifikasi, yakni penyatuan argument dalam suatu predikat dengan predikat lain yang sudah identik. Sebagai contoh, kita semua tahu bahwa bujur sangkar adalah suatu bangun segi empat, berisi sama dan bersudut 90 derajat. Andaikan kita diminta untuk memeriksa apakah suatu bangun berbentuk bujur sangkar. Pertama kita menduga bahwa suatu bangun berbentuk bujur sangkar. Jika kemudian ketiga syarat diatas terpenuhi, maka dugaan kita benar bahwa bangun yang kita periksa adalah bujur sangkar. Dalam Prolog, dugaan bahwa suatu bangun berbentuk bujur sangkar adalah unifikasi variabel, katakanlah X, dengan nilai bujur sangkar. Ini terjadi karena ada pemadanan antara bangun (X) dengan bangun (bujur sangkar) yang sudah identik, kemudian dilakukan unifikasi antara X dengan bujur sangkar. Dalam bahasa lain, pemberian nilai terhadap suatu variabel dilakukan dengan statemen pemberian (assignment statement) seperti y = 2. Ini bersifat permanen selama tidak ada statemen lain yang mengubahnya. Unifikasi bersifat sementara selama belum ada lacak balik dan hanya berlaku satu klausa, sebagaimana hanya berlaku dalam satu fungsi seperti dalam C.
e. Pembuktian Mundur
22
kemudian dilakukan pembuktian. Cara ini disebut pembuktian mundur
(backward chaining) atau disebut juga metoda top-down karena dari kenyataan pokok (bujur sangkar) kemasalah rinci (sudut dan sisi).
f. Lacak Balik (backtracking)
Dalam mencari jawaban, Prolog melacak suatu fakt atau aturan dengan melakukan pemadanan (matching) berturut-turut. Jika sepadan, akan terjadi unifikasi dan dilanjutkan pembuktian yang selanjutnya dilakukan pemadanan serupa. Katakanlah dalam pembuktian suatu bentuk seperti diatas, kita menemui
kegagalan, misalnya, karena sudut-sudutnya tidak sama dengan 90 derajat. Yang pertama kita lakukan adalah mengubah anggapan bahwa suatu bangun berbentuk bujur sangkar. Langkah berikutnya adalah mencari anggapan baru dengan definisi baru, misalnya bentuk trapezium. Dalam prolog, kejadian seperti ini disebut sebagai lacak balik (backtracking). Jadi, jika kemudian menemui kegagalan, artinya hipotesa pertama tidak dapat digunakan harus dibatalkan. Kemudian Prolog melakukan pelacakan mundur (lacak balik) untuk mencari hipotesa baru. Lacak balik akan berhenti jika ditemui jawaban atau kehabisa fakta untuk menyimpulkan jawaban.
g. Rekursi
23
yang memanggil dirinya sendir dengan memperkecil permasalahan. Akan tetapi tidak semua bahasa mampu melakukan rekursi, misalnya: Fortran dan Cobol. Contoh bentuk rekursi yang sederhana adalah faktorial. Untuk mencari faktorial 4 misalnya, dicari faktorial 3 untuk dikalikan dengan 4. Faktorial 3 diperoleh dari faktorial 2 kali 3 dan seterusnya sehingga sampai pada faktorial yang diketahui nilainya. Jelas bahwa disini ada usaha memperkecil permasalahan, sehingga masalah yang lebih dasar dapat dipecahkan melalui masalah yang lebih kecil dan mudah dengan bentuk yang serupa. Contoh data rekursif adalah list, yakni sekumpulan data sejenis dalam satu besaran data. List terdiri dari kepala (unsur pertama) dan list ekor yang lebih kecil, dan seterusnya.
h. Pengolahan simbol
Prolog ditekankan juga pada pengolahan informasi simbolik seperti pada contoh diatas, juga untuk pengolahan struktur data dinamis dan membuat struktur data baru. Selain itu prolog juga dapat memanipulasi simbol seperti dalam pemecahan persamaan matematik, diferensial dan integral, dan lain sebagainya.
i. Meta Programming
24
j. Paralel
Meskipun kebanyakan implementasi Prolog sampai sekarang ini belum bersifat paralel, Prolog merupakan bahasa yang berstruktur paralel dari sifatnya. Ini karena beberapa klausa (yang sama) dapat dieksekusi secara bersamaan (concurrent). Paralelisme demikian disebut Or-Paralellism. Dalam klausa sendiri, beberapa sub-klausa dapat dieksekusi secara paralel, dan disebut And-Parallelism. Hal ini membuat Prolog sebagai calon kuat bahasa komputer masa depan dengan arsitektur paralel.[3]
2.4.5 Bahasa Deklaratif
Pokok perbedaan prolog dari bahasa lain adalah karena bersifat deskriptif atau deklaratif, sedangkan bahasa lain bersifat procedural atau imperatif. Artinya, Prolog hanya membutuhkan deklarasi atau uraian masalah sedangkan yang lain memerlukan perintah. Dalam memecahkan masalah, prolog melakukan deduksi (dari sekumpulan fakta ditarik kesimpulan). Disini kewajiban kita adalah memberi perincian masalah secara benar, bukannya membuat sekumpulan perintah untuk dikerjakan komputer.
25
pengertian prosedural, kita yang menentukan jalan mana saja yang harus ditempuh dan boleh saja supir taksi tidak tahu kemana tujuan kita sebenarnya. Sebagai bukti bahwa Prolog merupakan bahasa deklaratif adalah:
1. Jika kita ingin menerangkan bahwa A adalah orang tua B, dalam Prolog cukup ditulis:
Orangtua(A,B).
2. Jika kita menerangkan bahwa A adalah leluhur Z, maka harus didefinisikan terlebih dahulu logikanya yang dalam bahasa Indonesia berbunyi sebagai berikut:
A adalah leluhur Z jika A orang tua Z atau
A adalah leluhur Z jika orang tua B dan B leluhur Z.
Aturan seperti ini dalam prolog ditulis sebagai aturan rekursif seperti berikut:
leluhur(A,Z) if orangtua(A,Z).
leluhur(A,Z) if orangtua(A,B) and leluhur(B,Z).
Hanya dengan menuliskan aturan seperti ini, kita dapat menentukan siapa leluhur Z, siapa keturunan A atau membuktikan kebenaran bahwa A leluhur Z dengan memberikan data hubungan (fakta) orang tua secukupnya seperti diatas tanpa harus merinci cara mencari jawaban atau cara membuktikannya.
Aturan seperti diatas diturunkan berdasarkan logika, sehingga pemrograman prolog, seperti namanya, disebut pemrograman logika (logic programming). Dari contoh diatas jelas bahwa Prolog adalah bahasa berjenis Apa yakni Apa yang harus dipecahkan atau disebut juga Goal Oriented. Sedangkan yang lain berjenis
26
komputer hanya sebagai pembantu untuk mempercepat penyelesaiian masalah. Dengan adanya Prolog, diharapkan bahwa komputerlah yang berfungsi sebagai pemecah masalah (Intelligence) atau komputer yang harus memahami masalah yang harus dipecahkan. Dengan demikian, pengenalan prolog sangat penting bagi mahasiswa ilmu komputer (Computer Science) karena tidak ada jalan lain kecuali mengetahui bagaimana gagasan pemrograman berjenis apa tersebut. Demikian menurut P.H. Winston, seorang pakar Lisp dari tempat kelahiran Lisp (MIT).[5]
2.4.6 Prolog dan Proyek Komputer Generasi Kelima
Prolog lahir di Eropa, tapi yang tidak juga kecil peranannya dalam membesarkan prolog adalah Proyek Komputer Generasi Kelima yang dicanangkan Jepang. Memang sejauh ini perkembangan teknologi komputer dari satu generasi ke generasi berikutnya hanyalah berkisar pada kemajuan peralatannya dari tabung hampa ke transistor, ke IC dan sekarang ke LSI. Gejala ini mengatakan bahwa dalam filosofi desain dan sasaran utama pemamfaatan komputer, tidak ada perubahan besar.
Dengan komputer generasi kelima, diharapkan bahwa perubahan generasi tidak saja melibatkan perubahan perangkat keras seperti penggunaan VLSI, tapi juga dalam perubahan filosofi desain dan bisang penerapannya. Demikian pernyataan Lembaga Komputer Generasi Baru Jepang (ICOT).
27
memecahkan masalah.[6] Dari cita-cita besar ini, memang tidak salah untuk
mengambil Prolog sebagai bahasa inti untuk komputer generasi kelima tersebut, selain dari sifat paralelnya.
2.4.7 Turbo Prolog dan Prolog Tradisional
Di awal kelahirannya, Prolog masih merupakan bahasa murni yang didasarkan pada keindahan logika. Prolog masih berkembang lambat dan hanya digunakan di kalangan peneliti di perguruan tinggi terkenal karena mereka menyadari arti pentingnya Prolog. Akhirnya mereka menemukan adanya kebutuhan untuk penggunaan praktis dan keampuhan pada prolog untuk bidang penelitian yang luas. Diawal tahun 1980-an, dunia industry menyadari kemajuan prolog terhadap bahasa lain. Disini muncul kebutuhan untuk memiliki prolog yang cepat dari bahasa lain, memori lebih kecil dan karakteristik praktis lainnya.
Dengan campur tangan dunia industri, muncul dua kubu pemrogram prolog dengan filosofi yang berbeda. Yang pertama tetap yakin bahwa Prolog adalah bahasa riset dan dipihak lain yakin bahwa Prolog akan menjadi bahasa yang ampuh untuk pengembangan program terapan. Turbo Prolog merupakan hasil perkembangan ini. Turbo Prolog menggabungkan keampuhan Prolog tradisional dengan kecepatan dan keampuhan bahasa lainnya. Perbedaan utama antara Turbo Prolog dengan Prolog tradisional adalah:[3]
28
2. Dalam Turbo Prolog, metaprogramming bukan merupakan fasilitas jadi yang siap pakai tapi dapat dimodelkan.
Menurut pembuatnya, alas an penting yang melatarbelakanginhal tersebut adalah:
1. Peningkatan kecepatan yang sangat besar. 2. Daya baca program lebih besar.
3. Waktu untuk pengembangan program lebih pendek. 4. Deteksi galat (error) lebih besar.
5. Pemeliharaan program lebih murah.
2.4.8 Penerapan Prolog
Prolog sangat membantu dalam program untuk menirukan cara berfikir manusia dengan mesin (komputer) karena Prolog memiliki sifat atau cirri yang sesuai dengan metoda pemrograman kecerdasan buatan. Dengan kata lain Prolog sangat besar manfaatnya dalam kecerdasan buatan yang meliputi berbagai bidang:
29
b. Permainan: Sekarang banyak beredar program untuk memecahkan masalah permainan seperti untuk bermain poker, bridge, catur dan sebagainya. Sebagai contoh, program catur Mephisto III yang pernah bermain seri dengan juara dunia Anatoly Karpov. Dalam catur misalnya, pemain harus mencari segala kemungkinan langkah terbaik untuk memenangkan permainan. Namun jika kita menjajagi semua kemungkinan langkah dan akibatnya, tentu akan lama. Ivan Bratko telah banyak mengupas tentang Advice Languanges yang dapat memberi saran untuk langkah berikutnya secara deklaratif. Saran-saran ini dinyatakan dalam sekumpulan goal dan cara mencapai goal tersebut.
c. Searching atau pencarian jawaban: Program untuk menyederhanakan rumus matematik, mencari jejak, atau membuktikan suatu kebenaran. Dalam hal ini masalah yang dihadapi biasanya adalah tidak diketahuinya algoritma pemecahannya. Sebagai bahasa deklaratif, Prolog tampil sebagai calon terbaik.
d. Pengolahan bahasa alami: Ini mencakup penterjemahan antar-bahasa, humor, percakapan dengan mesin, anlisa kalimat dan sebagainya. Kelebihan Prolog dalam hal ini adalah bahwa program untuk pengolahan bahasa akan lebih mudah diwujudkan dan lebih jelas secara logika sehingga mudah dalam pemeliharaan dan pengembangan programnya.
30
robot pada umumnya lebih mudah jika diwujudkan secara goal-driven, seperti untuk mengambil kubus dengan bagian goal: gerakkan manipulator kearah kubus.
f. Belajar atau Machine Learning: Program yang dibuat agar komputer dapat mengambil pelajaran (pengalaman), misalnya Hacker. Program yang demikian, umumnya selalu memperbaiki atau menambah data untuk peningkatan performansi dalam hal kecerdikan memberi jawaban. Prolog didukung dengan fasilitas untuk dapat mengubah fakta dan aturan pada saat program berjalan, yang sesuai dengan cara kita belajar.
g. Pengenalan Citra (Pattern Recognition): Ini mengusahakan agar komputer dapat mengenal bentuk yang agak berbeda seperti membaca tulisan tangan. Ini bermanfaat misalnya dalam komputer palmtop yang tidak memerlukan keyboard. Dalam pengolahan visual, nampaknya lebih menguntungkan jika memanfaatkan paralelisme, deklaratif dan pemadanan Prolog.
Meskipun Prolog merupakan bahasa deklaratif, dapat pula ditafsirkan dari segi procedural, sehingga dapat mencakup bidang penerapan yang lebih luas. Selain penerapan seperti diatas, Prolog khususnya Turbo Prolog, dapat pula digunakan untuk:[3]
Pengaturan dan pemantauan proses dalam industri.
31
Membuat program aplikasi untuk bisnis.
Menulis (membuat) kompiler.
Merencanakan dan penjadwalan projek, kegiatan, kurikulum dan sebagainya.
Pendidikan seperti sejarah, hokum ilmu komputer, logika matematik, kedokteran dan sebagainya.
Pemodelan dan simulasi
32
BAB III
METODE PENELITIAN
3.1 Metode Penelitian
Metode yang digunakan dalam penelitian ini yaitu metode waterfall. Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun (waterfall) me-nyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai analisis, desain, pengodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun (waterfall) :
Analisis Desain Pengodean Pengujian Sistem / Rekayasa
Informasi
Maintenance
Gambar 3.1. Ilustrasi model waterfall
Analisis kebutuhan perangkat lunak
[image:63.595.119.513.429.595.2]lu-33
nak pada tahap ini perlu untuk didokumentasikan.
Desain (perancangan)
Desain perangkat lunak adalah proses multi langkah yang fokus pada de-sain pembuatanprogram perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pa-da tahap selanjutnya. Desain perangkat lunak yang dihasilkan papa-da tahap ini juga perlu didokumentasikan.
Pembuatan kode program
Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
Pendukung (support) atau pemeliharaan (maintenance)
34
mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang su-dah ada, tapi tidak untuk membuat perangkat lunak baru.
Model air terjun (waterfall) sangat cocok digunakan untuk kebutuhan pelanggan yang sudah sangat dipahami dan kemungkinan terjadinya perubahan kebutuhan selama pengembangan perangkat lunak kecil. Hal positif dari model air terjun (waterfall) adalah struktur tahap pengembangan sistem jelas, dokumentasi dihasilkan di setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan.
Metode ini digunakan karena merupakan suatu metode yang praktis dan cukup menghemat biaya karena semua parameter-parameter yang dibutuhkan serta hasil yang diinginkan dapat langsung dimodelkan dan disimulasikan dengan menggunakan suatu program komputer (Personal Computer) dalam bentuk perangkat lunak berbasis sistem pakar.[9]
3.2 Waktu dan Tempat
3.2.1Jadwal Kegiatan
Tabel 3.1. Jadwal kegiatan penelitian
N
o Aktifitas
September Oktober November Desember Januari Februari Maret April Mei Juni Juli 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Studi Pustaka dan
Literatur 2 Seminar Usul 3 Pembuatan
Pro-gram Simulasi 4 Analisis dan
pem-bahasan 5 Seminar Hasil 6 komprehensive
Agustus September Oktober 1 2 3 4 1 2 3 4 1 2 3 4
36
3.3 Alat dan Bahan
Adapun alat dan bahan yang akan digunakan pada penelitian ini yaitu Personal Computer (PC) Intel (R) Core (TM) i7 3930 CPU 3,20 GHz dengan RAM 8 GB yang ter-install perangkat lunak Amzi Prolog sebagai program untuk mensimulasikan penelitian yang dilaksanakan.
3.4 Gambaran Umum Penelitian
Untuk memudahkan analisis dan pembahasan maka penelitian dibagi ke dalam beberapa tahapan yaitu:
Gambaran umum mengenai sistem ini dapat digambarkan sebagai berikut:
Gambar 3.2. Gambaran Umum Sistem
37
3.5 Tahap Perancangan Penelitian
Dalam perancangan pembuatan sistem pakar diagnosa penyakit dalam ini dilakukan beberapa tahap-tahap perancangan dengan metode modified waterfall
atau model sekuensial linear sebagai berikut:
1. Analisis
Untuk memulai pembuatan suatu sistem yang baru, harus dimulai dari awal dengan cara mengumpulkan informasi yang selengkap-lengkapnya. Khu-susnya jika ada kelemahan-kelemahan dari sistem lama, maka sistem baru yang dibuat harus dapat menambal kelemahan sistem lama tersebut. Pencari-an data yPencari-ang berkaitPencari-an dengPencari-an kelemahPencari-an sistem lama dilakukPencari-an dengPencari-an in-vestigasi pada diagnosa sistem lama. Berikut adalah proses diagnosa sistem lama :
1) Pasien harus datang ke rumah sakit
2) Pasien harus mengantri untuk bertemu dokter untuk melakukan diagnosa penyakit.
Dapat dilihat bahwa pada sistem yang lama terdapat kelemahan, diantaranya ialah :
1) Pasien harus direpotkan datang ke rumah sakit atau klinik untuk melakukan diagnosa penyakit,
38
informasi dari para ahli khususnya yang akan dilakukan wawancara ( inter-view) adalah dokter ahli spesialis penyakit dalam yang memang bertugas di salah satu instansi rumah sakit. Informasi yang dikumpulkan berupa Diagno-sa dan anamnesis serta gejal-gejala dan keluhan dari suatu penyakit ( symp-tom) yang biasa diderita pasien (user). Berikut contoh tabel Clinical Pathway
[image:69.595.111.519.318.752.2](prosedur dokter) saat melayani pasien yang berkonsultasi dirumah sakit :
Tabel 3.2. Clinical Pathway atau Panduan Praktik Klinis (PPK) Tata Laksana Kasus.
LOGO
RS PANDUAN PRAKTIK KLINIS (PPK)
TATA LAKSANA KASUS
DENGUE HAEMORAGIC FEVER
1. Pengertian ( Definisi) Suatu penyakit infeksi yang disebabkan oleh penyakit virus Dengue
2. Anamnesis 1. Demam 2 - 7 hari 2. Nyeri kepala
3. Nyeri otot dan persendian 4. Nyeri belakang mata 5. Letih lesu
6. Mual muntah dan nyeri ulu hati 7. Manifestasi perdarahan 3. Pemeriksaan Fisik 1. Suhu tubuh tinggi
2. Tanda-tanda perdarahan,mulai dari petekie sampai dengan perdarahan spontan
3. Rumpel Leed Test positif 4. Pembesaran hepar
5. Dapat/tidak disertai renjatan seperti nadi tidak kuat angkat, akral dingin,
capillary refill time <2 detik
4. Kriteria Diagnosis Kriteria Klinis
1. Demam 2- 7 hari, mendadak tanpa sebab yang jelas
39
perdarahan mukosa, gusi, dan epi-staksis
3. Pembesaran hati
4. Tanda-tanda syok: gelisah, nadi ce-pat lemah tekanan nadi turun, hipo-tensi, akral dingin, kulit lembab, CRT > 2 detik
Kriteria Laboratorium
1. Trombositopenia< 100.000 2. Hemokonsentrasi, peningkatan
hematokrit ≥ 20% sesuai dengan
umur
5. Diagnosis Kerja Dengue Haemorragik Fever 6. Diagnosis Banding 1. Dengue Fever
2. Chikungunya
7. Pemeriksaan Penunjang 1. Darah Rutin:Hb,Ht, Leu-kosit,Trombosit
2. Serologi: Ig G dan IgM Anti Den-gue (setelah hari kelima panas) 3. Rotgen Thorax (sesuai indikasi)
8. Tata Laksana 1. Terapi cairan IVFD
RL/NaCl0,9%sesuai dengan guide-line WHO 2013
2. Paracetamol 10mg/kgBB 3. Lama perawatan 5 hari 4. Ikuti Algoritme 9. Edukasi
(Hospital Health Promotion)
1. Minum banyak 2. Istirahat 3. 3M
10. Prognosis Advitam : adbonam Ad Sanationam : adbonam Ad Fungsionam : adbonam 11. Tingkat Evidens I/II 12. Tingkat Rekomendasi A/B
13. Penelaah Kritis 1. SMF Ilmu Kesehatan Anak
40
CLINICAL PATHWAY FORM LOGO & NAMA RS Dengue
Haemoragic Fe-ver
No. RM : ………… Nama pasien : ……… BB : ………Kg
Jenis kelamin : ………. TB : ………cm Umur/Tanggal
lahir : ………. Tgl.Masuk : …………. Jam : ……….. Diagnosa masuk
RS : ………. Tgl.Keluar : …………. Jam : ……….. Penyakit utama : ………. Kode ICD A90 Lama hari rawat : ……….Hari Penyakit
penyer-ta : ………. Kode ICD : …………. Rencana Rawat
Komplikasi : ………. Kode ICD : …………. R. Rawat/ kelas : ……./……. Tindakan : ………. Kode ICD : Rujukan :
………. Kode ICD : ………….
15. Kepustakaan 1. Nelson, Text Book of Pediatric 2. WHO. Dengue Haemoragic Fever
Diagnosis
KEGIATAN URAIAN KEGIATAN HARI RAWAT HARI DEMAM KE3 1 2 3 4 5
1.PEMERIKSAAN KLINIS
Dokter IGD atau
Dokter Spesialis
2. LABORATORIUM Darah rutin serial tiap 6, 12, dan 24 jam sesuai hasil trombosit dan hematokrit
IgG dan IgM Anti Dengue setelah hari panas kelima 3.RADIOLOGI/IMAGING
ELEKTROMEDIK
Thorax foto jika ditemukan tanda
renjatan
4. KONSULTASI
5. ASESMEN KLINIS Pemeriksaan DPJP Visite Co.Dokter/dr. Ruangan Atas Indikasi 6. EDUKASI 1. Penjelasan Diagnosis
41