Aplikasi Diagnosis Penyakit Hepatitis Untuk Handphone Menggunakan J2me
TUGAS AKHIR
APLIKASI DIAGNOSIS PENYAKIT HEPATITIS UNTUK
HANDPHONE MENGGUNAKAN J2ME
Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S1) pada Departemen Teknik Elektro
Oleh
030402036
BRIAN PRIMA SEMBIRING
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
(2)
i ABSTRAK
Salah satu bentuk pemanfaatan dari teknologi handphone adalah pelayanan kesehatan dalam bentuk diagnosa penyakit. Diagnosis penyakit Hepatitis dilakukan untuk membantu user dalam penanganan dan deteksi dini akan penyakit tersebut. Sehingga pelayanan kesehatan dapat lebih cepat dilakukan. Perangkat lunak dibangun dengan menggunakan teknologi J2ME (Java 2 Micro Edition) yang diimplementasikan pada perangkat handphone yang tidak memberatkan memori. Aplikasi ini merupakan pengembangan dari artificial intelligence yaitu sistem pakar dengan menggunakan metode certainty factor yang mampu menunjukkan ukuran kepastian terhadap suatu fakta atau aturan.
(3)
ii
KATA PENGANTAR
Puji dan syukur kehadirat Tuhan Yang Maha Esa atas rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini sebagai syarat untuk memperoleh gelar Sarjana Teknik Elektro.
Pada kesempatan ini penulis menyampaikan rasa hormat dan terima kasih kepada :
1. Kedua orangtuaku tercinta, Ir. E. Bukti Sembiring dan Dra. Martina L. Perangin-angin, tiada kata yang dapat melukiskan kasih sayang dan perhatian kalian padaku, terima kasih, Tuhan Yesus memberkati.
2. Bapak Ir. Pernantin Tarigan, MSc selaku Dosen Pembimbing Tugas Akhir atas dukungan, bimbingan dan motivasi dalam menyelesaikan Tugas Akhir ini.
3. Bapak Maksum Pinem, ST, MT selaku Dosen Wali atas motivasi dan arahan serta bimbingan selama kuliah.
4. Bapak Prof. DR. Ir. Usman Baafai selaku Ketua Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
5. Bapak Rahmat Fauzi, ST, MT selaku Sekretaris Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
6. Seluruh staf pengajar dan pegawai Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
(4)
iii
7. Monica E. Siregar, terima kasih atas segala kasih dan perhatianmu yang begitu tulus mendampingiku.
8. Teman-teman seperjuangan Teknik Komputer 2003 yang terus memberi masukan dalam menyelesaikan Tugas Akhir ini.
9. Seluruh teman-teman angkatan 2003, 2004, dan 2005.
Penulis menyadari bahwa Tugas Akhir ini masih banyak kekurangan dan jauh dari sempurna, baik dari segi materi pun penyajiannya. Oleh karena itu penulis siap menerima kritik dan saran yang sifatnya membangun demi kesempurnaan Tugas Akhir ini.
Akhir kata penulis berharap agar Tugas Akhir ini dapat bermanfaat bagi pembaca dan penulis.
Medan, November 2009 Penulis
Brian Prima Sembiring NIM. 030402036
(5)
iv DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR TABEL ... vii
DAFTAR GAMBAR ... viii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 1
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 3
1.5 Metodologi Perancangan ... 3
1.6 Sistematika Penulisan ... 5
BAB II TEORI PENUNJANG ... 7
2.1 Teori Sistem Pakar ... 7
2.2 Sejarah Sistem Pakar ... 7
2.3 Pengenalan Sistem Pakar ... 8
2.3.1 Konsep Dasar Sistem Pakar... 8
2.3.2 Arsitektur Sistem Pakar ... 10
2.3.3 Kategori Sistem Pakar ... 12
2.3.4 Peranan Manusia Dalam Sistem Pakar ... 14
2.3.5 Keuntungan-keuntungan Dari Sistem Pakar ... 15
2.3.6 Faktor Keyakinan (Certainty Factor) ... 15
2.4 Konsep Backward Chaining ... 18
2.4.1 Backward Chaining ... 18
(6)
v
2.5 Knowledge Acquisition ... 21
2.5.1 Tahap-tahap Dalam Knowledge Acquisition ... 21
2.5.1 Metode Dalam Knowledge Acquisition ... 22
2.6 J2ME ... 23
2.6.1 Configuration ... 24
2.6.2 Profile ... 25
2.6.3 GUI Package ... 27
2.7 Penyakit Hepatitis ... 28
2.7.1 Hepatitis A ... 28
2.7.2 Hepatitis B ... 29
2.7.3 Hepatitis C ... 30
BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK ... 31
3.1 Pengumpulan Data ... 31
3.2 Perancangan Dependency Diagram... 31
3.3 Perancangan Decision Table ... 32
3.4 Perancangan IF-THEN Rules ... 34
3.5 Perancangan Inference Engine ... 37
3.6 Perancangan Sistem ... 38
3.6.1 Use Case Diagram ... 38
3.6.2 Activity Diagram ... 40
3.6.3 Class Diagram ... 41
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 44
4.1 Implementasi ... 44
4.1.1 Tampilan Menu Utama ... 44
4.1.2 Tampilan Menu Diagnosis ... 44
4.1.3 Tampilan Menu Kesimpulan... 45
(7)
vi
4.2.1 Pengujian Rule 1 ... 46
4.2.2 Pengujian Rule 2 ... 47
4.2.3 Pengujian Rule 3 ... 48
4.2.3 Pengujian Dengan Memilih Gejala Secara Acak ... 49
BAB V KESIMPULAN DAN SARAN ... 50
5.1 Kesimpulan ... 50
5.2 Saran ... 50
DAFTAR PUSTAKA LAMPIRAN
(8)
vii
DAFTAR TABEL
Tabel 2.1 Contoh Sistem Pakar dan Kegunaannya ... 8 Tabel 3.1 Decision tabel untuk program aplikasi diagnosis penyakit Hepatitis... 34
(9)
viii
DAFTAR GAMBAR
Gambar 2.1 Arsitektur Sistem Pakar ... 10
Gambar 2.2 Jangkauan nilai Certainty Factor ... 16
Gambar 3.1 Dependency Diagram untuk aplikasi diagnosis Hepatitis ... 33
Gambar 3.2 Diagram alir proses pengambilan keputusan pada inference engine ... 38
Gambar 3.3 Use Case Diagram dengan aktor user ... 39
Gambar 3.4 Activity diagram untuk diagnosa ... 40
Gambar 3.5 Activity diagram untuk lihat info pencegahan ... 40
Gambar 3.6 Activity diagram untuk lihat info petunjuk ... 43
Gambar 3.7 Activity diagram untuk lihat info program ... 43
Gambar 4.1 Tampilan Menu Utama ... 44
Gambar 4.2 Tampilan Menu Diagnosis ... 45
(10)
i ABSTRAK
Salah satu bentuk pemanfaatan dari teknologi handphone adalah pelayanan kesehatan dalam bentuk diagnosa penyakit. Diagnosis penyakit Hepatitis dilakukan untuk membantu user dalam penanganan dan deteksi dini akan penyakit tersebut. Sehingga pelayanan kesehatan dapat lebih cepat dilakukan. Perangkat lunak dibangun dengan menggunakan teknologi J2ME (Java 2 Micro Edition) yang diimplementasikan pada perangkat handphone yang tidak memberatkan memori. Aplikasi ini merupakan pengembangan dari artificial intelligence yaitu sistem pakar dengan menggunakan metode certainty factor yang mampu menunjukkan ukuran kepastian terhadap suatu fakta atau aturan.
(11)
1 BAB I PENDAHULUAN
1.1 LATAR BELAKANG
Saat ini penyakit Hepatitis sudah semakin banyak muncul di masyarakat. Penyakit ini sering kali diketahui keberadaannya setelah hati sudah dalam kondisi parah. Oleh sebab itu dibutuhkan suatu cara atau peralatan untuk mendeteksi penyakit ini lebih dini dan lebih penting lagi alat ini juga harus mudah diakses oleh siapa saja dan bisa digunakan setiap saat. Sekarang ini perangkat mobile seperti handphone sudah semakin terjangkau, maka dalam tugas akhir ini dirancang suatu perangkat lunak untuk mendiagnosis penyakit Hepatitis A, B dan C yang dapat dijalankan melalui perangkat handphone. Java merupakan salah satu bahasa pemrograman yang mendukung pemrograman perangkat mobile. Oleh karena itu J2ME dipilih dalam pemrograman perangkat lunak ini.
1.2 RUMUSAN MASALAH
Dalam tugas akhir ini akan dibuat perangkat lunak berbasis kecerdasan buatan yang akan di implementasikan pada handphone. Perangkat lunak dirancang menggunakan bahasa pemrograman J2ME dan sifatnya stand-alone yang artinya handphone tidak membutuhkan koneksi ke jaringan internet agar aplikasi dapat digunakan. Sistem seperti ini lebih sederhana dan bisa digunakan setiap saat karena
(12)
tidak membutuhkan jaringan internet.
Perangkat lunak akan mengajukan daftar yang gejala-gejala klinis Hepatitis. Dari daftar itu user akan diminta untuk memilih gejala-gejala sesuai dengan yang dirasakannya kemudian perangkat lunak akan melakukan analisis semua jawaban dari user untuk mendapatkan kesimpulan jenis penyakit Hepatitis yang diderita oleh user.
Dalam analisis tersebut akan disusun aturan-aturan berdasarkan gejala-gejala yang diderita dengan metode penalaran Backward Chaining. Setelah semua aturan disusun maka dilakukan perhitungan dengan menggunakan Certainty Factor. Hasil perhitungan Certainty Factor selanjutnya akan dipakai untuk memperkuat kesimpulan kemungkinan jenis penyakit Hepatitis yang diderita oleh user.
1.3 BATASAN MASALAH
Agar masalah yang ditulis dalam tugas akhir tidak terlalu luas dan menyimpang dari topik yang ada, maka perlu dibatasi permasalahan sebagai berikut: 1. Data - data penunjang penyakit hepatitis yang digunakan hanya jenis
Hepatitis A, B, dan C.
2. Aplikasi sistem pakar akan diimplementasikan pada handphone yang sifatnya stand-alone atau tidak membutuhkan jaringan internet, penalaran sistem pakar digunakan metode backward chaining dan untuk mengambil kesimpulan digunakan Faktor Kepastian(Certainty Factor).
(13)
3 3. Handphone harus memiliki JVM (Java Virtual Machine) agar aplikasi Java dapat
berjalan.
4. User hanya dapat mengetahui diagnosis dini dari penyakit yang di deritanya karena perangkat ini tidak mungkin dapat melakukan pemeriksaan fisik yang memang hanya dapat dilakukan oleh dokter.
1.4 TUJUAN
Tujuan penulisan tugas akhir ini adalah sebagai berikut:
1. Pembuatan aplikasi sistem pakar ini dirancang untuk membantu masyarakat umum dalam menganalisis penyakit yang termasuk dalam kategori penyakit hepatitis A, B, dan C agar orang-orang tersebut dapat mengetahui perkiraan penyakit yang diderita lebih dini sehingga dapat memberikan pengobatan lebih dini.
2. Memenuhi salah satu syarat untuk menyelesaikan pendidikan program sarjana Teknik Elektro di Universitas Sumatera Utara.
1.5 METODOLOGI PERANCANGAN
Metodologi yang digunakan untuk perancangan sistem pakar diagnosis penyakit Hepatitis A, B, dan C terdiri dari beberapa tahap sebagai berikut :
1. Tahap pengumpulan data
(14)
jenis-jenis penyakit hepatitis yang diperoleh dari studi pustaka ilmu penyakit hepatitis kemudian data-data penunjang tersebut digunakan untuk membuat knowledge-base.
2. Tahap representasi pengetahuan.
Representasi pengetahuan prosedural disajikan dalam bentuk penalaran berbasis aturan (rule). Bentuk penalaran berbasis aturan yang digunakan adalah “if” (kondisi) “then” (aksi). Premis-premis ini dapat dihubungkan dalam bentuk “and”. Aturan IF-THEN dapat terdiri dari beberapa kondisi dan beberapa akibat yang dapat dipecah menjadi ekspresi-ekspresi yang terdiri dari beberapa kondisi dan beberapa akibat menjadi bentuk IF is A1 and F2 is A2 … THEN x is K. 3. Pengembangan mesin inferensi.
Mekanisme inferensi adalah fasilitas untuk memanipulasi dan mengarahkan pengetahuan yang terdapat dalam basis pengetahuan sehingga diperoleh suatu kesimpulan. Metode inferensi yang digunakan pada tahap ini menggunakan strategi pelacakan dimana pendekatan yang dipakai menggunakan pelacakan ke belakang (Backward Chaining).
4. Tahap implementasi dan pengujian
Tahap implementasi dilakukan dengan uji coba program kepada pasien yang telah positif menderita penyakit Hepatitis. Pada tahap ini dilakukan evaluasi terhadap berbagai kriteria yang berkaitan dengan aplikasi seperti kelengkapan, ketepatan dan konsistensi pengetahuan, kemudahan mengakses, kemudahan melakukan
(15)
5 komunikasi, struktur program dan pemakaian memori.
1.6 SISTEMATIKA PENULISAN
Untuk memberikan gambaran mengenai tulisan ini, secara singkat dapat diuraikan sistematika pembahasa sebagai berikut:
BAB I : PENDAHULUAN
Bab ini berisikan latar belakang masalah, tujuan penulisan, rumusan masalah, batasan masalah, metodologi, dan sistematika penulisan.
BAB II : TEORI PENUNJANG
Bab ini membahas teori-teori dan juga memberikan penjelasan yang berhubungan dengan sistem pakar. Dalam bab ini akan dibahas mengenai algoritma backward chaining yang akan digunakan sebagai proses dalam pembuatan perangkat lunak ini. Disamping itu akan dibahas juga mengenai teori yang berhubungan dengan certainty factor (faktor kepastian) yang nantinya akan dipakai dalam pembuatan sistem pakar ini. BAB III : PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK
Bab ini membahas mengenai algoritma yang digunakan dalam pembuatan perangkat lunak sistem pakar serta perancangan yang meliputi perancangan knowledge-base, perancangan inference engine dan perancangan antar muka dari sistem pakar.
(16)
BAB IV : IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini membahas penerapan sistem pakar pada diagnosis penyakit hepatitis dan evaluasi algoritma yang dipakai. Evaluasi dilakukan dengan melakukan serangkaian ujicoba untuk mengetahui apakah sistem yang ada dapat berfungsi dengan baik
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil perancangan program aplikasi secara keseluruhan dari bab-bab sebelumnya dan saran-saran yang mungkin untuk pengembangan lebih lanjut.
(17)
7 BAB II
TEORI PENUNJANG
2.1 Pengertian Sistem Pakar
Sistem pakar dapat didefinisikan sebagai sebuah program komputer berbasis pengetahuan yang dapat menarik kesimpulan setingkat pakar dalam bidang tertentu yang hasil pemecahannya mirip dengan pemecahan yang diberikan oleh pakar yang sesungguhnya. Basis pengetahuan diperoleh dari pengalaman seorang pakar maupun teori-teori yang ada pada bidang yang spesifik saja, oleh karena itu sistem pakar memiliki keterbatasan.
2.2 Sejarah Sistem Pakar
Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh perhimpunan Artificial Intelligence Corporation yang ditandai dengan dikembangkannya GPS (General Purpose Problem Solver) oleh Newell dan Simon dari Logic Theorist, yang merupakan sebuah percobaan untuk menciptakan sebuah mesin cerdas. GPS merupakan sebuah cikal bakal menuju sistem pakar. Perkembangan selanjutnya ditandai dengan terjadinya pergantian dari program yang bersifat serba guna (General Purpose) ke program yang bersifat khusus (Spesial Purpose). Ini ditandai dengan dikembangkannya DENDRAL oleh E. Feigenbaum dari Universitas Stanford, yang kemudian diikuti dengan perkembangan MYCIN.
(18)
Beberapa sistem pakar mulai muncul pada pertengahan tahun 1970. Kemudian tahun 1980, teknologi sistem pakar yang semula dibatasi hanya di lingkungan akademis, mulai muncul sebagai aplikasi komersil, khususnya XCON, XSEL, dan CATS-1.
Beberapa contoh sistem pakar dapat dilihat pada Tabel 2.1. Tabel 2.1. Contoh Sistem Pakar dan Kegunaannya
Sistem Pakar Kegunaan
DENDRAL Mengidentifikasi struktur molekular campuran yang tak dikenal
MYCIN Diagnosa Penyakit
XCON & XSEL Membantu konfigurasi sistem komputer besar SOPHIE Analisis sirkuit elektronik
Prospector Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit
FOLIO Membantu memberikan keputusan bagi seseorang manager dalam hal stok broker dan investasi
DELTA Pemeliharaan lokomotif listrik disel
2.3 Pengenalan Sistem Pakar 2.3.1 Konsep Dasar Sistem Pakar
Menurut Efraim Turban, konsep dasar sistem pakar mengandung enam hal yaitu keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan[1].
a. Keahlian
Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman.
(19)
9 b. Ahli
Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka.
c. Pengalihan keahlian
Tujuan dari sistem pakar adalah mengalihkan keahlian dari seorang pakar ke komputer dan kemudian ke manusia lain yang bukan ahli. Pengetahuan yang disimpan dalam komputer disebut basis pengetahuan (knowledge base). Pengetahuan ini dibedakan menjadi dua, yaitu fakta dan aturan.
d. Inferensi/menarik kesimpulan
Keahlian-keahlian yang sudah tersimpan dalam komputer sebagai basis pengetahuan, maka sistem pakar harus diprogram agar dapat menarik kesimpulan. e. Aturan (Rule)
Kebanyakan sistem pakar adalah sistem berbasis rule. Pengetahuan disimpan dalam bentuk rule-rule sebagai prosedur pemecahan masalah.
f. Kemampuan menjelaskan (Explanation Capability)
Keistimewaan lain dari sistem pakar adalah kemampuan menjelaskan darimana asal sebuah solusi/rekomendasi diperoleh.
(20)
2.3.2 Arsitektur Sistem Pakar
Komponen utama yang harus ada dalam sebuah sistem pakar adalah knowledge base (basis pengetahuan), inference engine (mesin penarik kesimpulan), explanation subsystem (subsistem penjelas output) dan user interface[2]. Secara umum arsitektur sistem pakar dapat dilihat pada gambar 2.1
Gambar 2.1. Arsitektur Sistem Pakar
a. Basis Pengetahuan (Knowledge Base)
Knowledge base adalah kumpulan informasi atau pengetahuan pakar mengenai suatu bidang yang spesifik. Knowledge base terdiri dari dua bagian yaitu fakta seperti yang terdapat pada buku atau fakta yang diperoleh dari pakar dan aturan (rule) yang digunakan oleh seorang pakar untuk menarik kesimpulan. b. Inference Engine
Inference Engine merupakan bagian dari sistem pakar yang bertugas untuk menentukan solusi yang tepat dari sejumlah solusi yang tersedia. Proses yang dilakukan dalam inference engine adalah bagaimana mengambil keputusan terhadap proses yang terjadi dan proses penalaran pada basis pengetahuan yang
(21)
11 dimilikinya.
Penentuan sistem pendukung keputusan dan metode pelacakan sangat penting dalam rangka menarik kesimpulan. Inference engine merupakan otak dari sistem pakar. Komponen ini pada dasarnya berupa suatu program komputer yang menyediakan suatu metodologi untuk mengolah informasi dalam knowledge base dan merumuskan kesimpulan.
Adapun untuk mendapatkan sebuah kesimpulan terdapat dua metode penalaran, yaitu metode backward chaining dan metode forward chaining.
c. Explanation Subsystem
Explanation Subsystem merupakan kemampuan untuk memberikan penjelasan atas sebuah kesimpulan yang diberikan.
d. User Interface
User Interface merupakan bagian dari sistem pakar yang berfungsi sebagai pengendali input output. User interface melayani user selama proses konsultasi mulai dari tanya jawab untuk mendapatkan fakta-fakta yang dibutuhkan inference engine sampai menampilkan output yang merupakan kesimpulan/rekomendasi yang dihasilkan oleh inference engine.
e. Certainty Factor
(22)
2.3.3 Kategori Sistem Pakar
Banyak sekali bidang yang menggunakan sistem pakar sebagai bantuan sehingga sistem pakar itu sendiri dapat dikelompokkan menjadi[2] :
a. Interpretasi
Memberikan gambaran tentang sekumpulan data mentah yang biasanya diperoleh melalui sensor. Contoh: pengenalan kata/ucapan, pembuatan peta.
b. Prediksi
Memberikan dugaan mengenai akibat yang mungkin ditimbulkan dari sejumlah situasi yang diberikan. Contoh: perkiraan cuaca, ramalan panen.
c. Diagnosa
Menentukan penyebab gagalnya suatu sistem dalam situasi yang kompleks yang didasarkan pada observasi terhadap gejala-gejala yang dapat diamati. Contoh: diagnosa penyakit pada bidang kedokteran.
d. Desain
Menentukan konfigurasi yang cocok dari komponen-komponen yang ada dalam sebuah sistem sehingga unjuk kerja yang memuaskan dapat diperoleh walaupun di dalamnya terdapat sejumlah keterbatasan. Contoh: penyusunan anggaran belanja, desain arsitektur rumah.
e. Perencanaan
Mendapatkan urutan tindakan yang harus dilakukan untuk mencapat sasaran yang ditentukan sebelumnya dari suatu kondisi awal tertentu. Contoh:
(23)
13 perencanaan strategi manajemen.
f. Pengawasan (Monitoring)
Membandingkan perilaku yang diamati pada suatu sistem dengan perilaku yang diharapkan untuk mengenali lebih banyak variasi perilaku di dalamnya. Contoh: manajemen pengawasan, pengendalian instalasi nuklir
g. Pelacakan dan Perbaikan (Debugging and Repairing)
Penentuan dan implementasi perbaikan/pertolongan pada kegagalan suatu sistem. Contoh: uji coba software komputer, reparasi mesin, pelacakan kerusakan hardware komputer.
h. Instruksi
Mendeteksi dan memperbaiki kekurangan perilaku siswa dalam memahami suatu bidang tertentu. Contoh: program untuk tutorial.
i. Klasifikasi
Menentukan kategori dari sejumlah kriteria yang diberikan. Contoh: penentuan jabatan seorang pegawai.
j. Kontrol
Pengaturan perilaku kerja dalam suatu lingkungan yang kompleks, termasuk di dalamnya penafsiran, perkiraan dan perbaikan perilaku kerja sistem tersebut. Contoh: pengawasan jadwal penerbangan.
(24)
2.3.4 Peranan Manusia Dalam Sistem Pakar
Dalam pengembangan sebuah sistem pakar, peranan manusia ikut menentukan keberhasilan dari sistem pakar tersebut. Adapun peranan manusia yang di maksud ialah[3]:
1. Pakar (Domain Expert)
Pakar adalah seseorang yang mempunyai pengetahuan khusus, pendapat, keahlian dan metode serta kemampuan untuk menggunakannya. Pakar dapat memberikan nasehat dan memecahkan masalah. Tugasnya menyediakan pengetahuan tentang bagaimana cara melaksanakan tugasnya untuk kemudian diserap dan diimplementasikan ke dalam sistem pakar.
2. Perancang (Knowledge Engineer)
Knowledge Engineer adalah pihak yang membantu dalam pembuatan sebuah sistem pakar. Knowledge Engineer ini bertugas menyerap pengetahuan yang dimiliki oleh para pakar dan mengimplementasikannya ke dalam software sistem pakar. Tugas ini cukup sulit karena knowledge engineer tidak boleh memasukkan perkiraan atau perasaannya ke dalam pengetahuan yang diperoleh. Selain itu seorang knowledge engineer harus pandai mengorek pengetahuan pakar karena ada kalanya seorang pakar tidak dapat menceritakan atau menjelaskan keahliannya.
3. Pemakai (End User)
(25)
15 2.3.5 Keuntungan-keuntungan Dari Sistem Pakar
Beberapa keuntungan yang diperoleh dari penggunaan sistem pakar adalah[1]:
1. Membuat seseorang yang awan dapat bekerja layaknya seorang pakar.
2. Membuat peralatan yang kompleks lebih mudah dioperasikan karena sistem pakar dapat melatih pekerja yang tidak berpengalaman.
3. Menyediakan nasihat yang konsisten dan dapat mengurangi tingkat kesalahan. 4. Membantu memecahkan masalah yang kompleks.
5. Menghemat waktu dalam pengambilan keputusan. 6. Meningkatkan output dan produktivitas.
7. Meningkatkan kualitas.
2.3.6 Faktor Kepastian (Certainty Factor)
Dalam kenyataan sehari-hari, para pakar seringkali berurusan dengan data-data yang tidak menentu dan tidak pasti. Ketidakpastian disebabkan oleh 2 faktor, yaitu aturan yang tidak pasti dan jawaban pengguna yang tidak pasti atas suatu pertanyaan yang diajukan oleh sistem[4]. Misalnya jika seseorang mengalami sakit kepala, demam dan bersin-bersin ada kemungkinan orang tersebut terserang penyakit flu, tetapi bukan berarti apabila seseorang mengalami gejala tersebut pasti terserang penyakit flu.
(26)
ketidakpastian tersebut. Salah satu teknik yg digunakan adalah dengan penggunaan faktor kepastian. Faktor kepastian menggambarkan tingkat keyakinan terhadap permasalahan yang sedang dihadapi. Angka yang diberikan dalam jangkauan antara 0 (sangat tidak yakin) sampai 1 (sangat yakin). Jangkauan nilai CF dapat dilihat pada Gambar 2.2.
Sangat TidakYakin Tidak Yakin Tidak Tahu Yakin Sangat Yakin
0,5 0,8 1
0 0,2
CF
Derajat Ketidakpercayaan Derajat Kepercayaan
Gambar 2.2 Jangkauan Nilai CF
Ada 2 macam faktor kepastian yang digunakan, yaitu:
1. Faktor kepastian yang diisikan oleh pakar bersama dengan aturan. 2. Faktor kepastian yang diberikan oleh pengguna.
Faktor kepastian yang diisikan oleh pakar menggambarkan kepercayaan pakar terhadap hubungan antara premis dan hipotesis pada aturan kaidah produksi. Sementara itu faktor kepastian dari pengguna menunjukkan besarnya kepercayaan terhadap keberadaan masing-masing elemen dalam premis.
2.3.6.1 Menentukan CF Pararel
CF Pararel merupakan CF yang diperoleh dari beberapa premis pada sebuah aturan. Besarnya CF pararel dipengaruhi oleh CFUser masing-masing premis berdasarkan operator yang digunakan.
(27)
17 Rumus 2.1 digunakan jika antar premis menggunakan operator AND. Misalnya IF x AND y THEN H.
CF (x,y) = Min(CF(x), CF(y)) (2.1)
Rumus 2.2 digunakan jika antar premis menggunakan operator OR. Misalnya IF x OR y THEN H.
CF (x,y) = Max(CF(x), CF(y)) (2.2)
Rumus 2.4 digunakan jika premis menggunakan operator NOT. Misalnya IF not x THEN H.
CF(Tidak x) = -CF(x) (2.3)
2.3.6.2 Menentukan CF Sequensial
CF sekuensial diperoleh dari hasil perhitungan CF pararel dari semua premis dalam satu aturan dengan CF aturan yang diberikan oleh pakar. Adapun rumus untuk melakukan perhitungan CF Sekuensial ditunjukkan pada Rumus 2.4.
CF(Rn) = CF(x,y) * CF(X,Y) (2.4)
CF(Rn) : CF sequensial aturan ke n dari premis x dan y CF(x,y) : CF paralel dari premis x dan y
(28)
2.3.6.3 Menentukan CF Gabungan
CF Gabungan merupakan penggabungan dari beberapa CF sequential. CF akhir dari suatu aturan dengan aturan yang lain digabungkan untuk mendapatkan nilai CF konklusi. Adapun rumus untuk melakukan perhitungan CF gabungan ditunjukkan pada Rumus 2.5, 2.6, dan 2.7
)) ( * ) ( ( ) ( ) ( )
(H CF R CF R 1 CF R CF y
CF = n + n+ − n CF(Rn) > 0 dan CF(Rn-1) > 0 (2.6)
))) ) ( , ) ( ( ( 1 ( ) ( ) ( ) ( 1 1 − − − + = n n n n R CF R CF Min R CF R CF H
CF CF(Rn) < 0 atau CF(Rn-1) < 0 (2.7)
))) ( 1 ( * ) ( ( ) ( )
(H CF Rn CF Rn 1 CF Rn
CF = + − + CF(Rn) < 0 dan CF(Rn-1) < 0 (2.8)
2.4 Konsep Backward Chaining
Berikut akan dijelaskan mengenai konsep penalaran yang terdapat dalam inference engine.
2.4.1 Backward Chaining
Dalam konsep backward chaining, proses pencarian dimulai dari kesimpulan yang menjadi solusi permasalahan yang dihadapi. Mesin inferensi mencari aturan-aturan dalam basis pengetahuan yang kesimpulannya merupakan solusi yang ingin dicapai, kemudian dari aturan-aturan yang diperoleh, masing-masing kesimpulan dirunut balik jalur yang mengarah ke kesimpulan tersebut. Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke kesimpulan
(29)
19 tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan merupakan solusi yang dicari. Runut balik memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven.
Dalam menganalisa masalah, maka komputer berusaha memenuhi syarat dari posisi “JIKA” pada rule yang konklusinya merupakan goal atau premise dari rule lain. Sebagai contoh asumsikan listing berikut ini valid, masing-masing variabel dari setiap rule menginginkan nilai benar (true) dan goal-nya adalah variabel G:
R1 : JIKA A DAN C MAKA E; R2 : JIKA D DAN C MAKA H; R3 : JIKA B DAN E MAKA F; R4 : JIKA B DAN C;
R5 : JIKA F MAKA G;
Langkah-langkah dari komputer adalah sebagai berikut :
1. Komput er mencari rule dengan konklusi G dan menemukan rule R5.
2. Pada rule R5, pada posisi JIKA terdapat F. Kemudian komputer mencari nilai F pada memori. Karena tidak menemukan, maka komputer mencari rule dengan konklusi F dan menemukan pada rule R3.
3. Pada rule R3, ada B dan E pada posisi JIKA. Komputer mencari nilai dan rule dengan konklusi B dan tidak dapat menemukannya, kemudia komputer menanyakan nilai B pada user (diasumsikan benar). Setelah itu komputer mencari
(30)
nilai dari E dan tidak dapat menemukannya. Komputer kemudian menemukan rule dengan konklusi E pada rule R1.
4. Pada rule R1, ada A dan C pada posisi JIKA. Komputer mencari nilai dan rule dengan konklusi A dan tidak dapat menemukannya, kemudian komputer menanyakan nilai A kepada user (diasumsikan jawaban benar). Setelah itu komputer mencari nilai dari C dan tidak dapat menemukannya. Komputer menemukan rule dengan konklusi C paad rule R4.
5. Konklusi C pada rule R4 terpenuhi dan inputkan ke memory karena B pada posisi JIKA terpenuhi dengan nilai yang ada di memori. Kemudian sistem akan kembali pada rule R1 konklusi E di input-kan ke memori karena A dan C terpenuhi semua. Setelah itu sistem akan kembali ke rule R3, dimana pada rule R3, dimana pada rule R3 F akan di input-kan ke memori karena B dan E terpenuhi. Dan akhirnya komputer kembali ke rule R5, konklusi G di input-kan ke memori karena F terpenuhi. Goal dari basis pengetahuan tersebut tercapat dengan adanya nilai G.
2.4.2 Keuntungan metode Backward Chaining
Keuntungan dengan menggunakan metode backward chaining ialah:
1. Backward chaining terfokus pada goal yang diberikan. Prosedur ini akan menanyakan hal-hal yang perlu saja dan ini merupakan kenyamanan bagi user. 2. Backward chaining mencoba menyelesaikan masalah dengan mencari basis
(31)
21 mencoba semua kemungkinan dari informasi yang ada,.
3. Backward chaining merupakan pendekatan yang baik untuk menyelesaikan masalah diagnostik, prekripsi, dan debugging.
2.5 Knowledge Acquisition
Knowledge acquisition adalah proses mendapatkan pengetahuan baru seorang pakar dan biasanya ditampilkan oleh pengolah pengetahuan (Knowledge engineer). Pengolah pengetahuan mewawancarai pakar-pakar dan mengumpulkan pengetahuan yang ada dari manusia. Pengetahuan atau data-data yang dikumpulkan disebut sebagai knowledge base.
2.5.1 Tahap-tahap Dalam Knowledge Acquisition
Proses knowledge acquisition dibagi menjadi lima tahapan, yaitu [2]: 1. Identifikasi
Merupakan tahap mengidentifikasi permasalahan dan karakteristik utamanya. 2. Konseptualisasi
Merupakan tahap penentuan konsep, informasi dan relasi yang digunakan serta menentukan bagaimana bentuk representasi yang akan digunakan.
3. Formalisasi
Merupakan tahap perancangan struktur. Untuk mengorganisasikan pengetahuan dan merepresentasikannya ke knowledge base.
(32)
4. Implementasi
Merupakan tahap pengkodean pengetahuan yang telah diolah ke dalam komputer. 5. Pengujian
Merupakan tahap pengujian kebenaran dari pengetahuan yang telah dibentuk.
2.5.2 Metode Dalam Knowledge Acquisition
Terdapat beberapa cara untuk mendapatkan pengetahuan yang nantinya akan diolah ke dalam suatu knowledge base, antara lain:
a. Kuisioner
Metode kuisioner ini dilakukan dengan cara membagikan kertas pertanyaan di mana jawabannya dikategorikan dan dikelompokkan.
b. Observasi
Metode observasi yang dilakukan untuk beberapa kasus adalah penelitian terhadap pakar di tempat, dimana pakar itu bekerja. Metode inipun memiliki kesulitan-kesulitan karena tiap kali pakar melakukan observasi atau penelitian secara berkala dan terus menerus, karena secara tidak langsung akan membuat tersendat kegiatan rutinitas dari pakar sendiri. Sehingga pemikiran dan analisis dari pakar tidak sepenuhnya tercurah dan terkonsentrasi pada observasi atau pada penelitian. c. Analisa Dokumen
Pengetahuan yang akan diambil untuk sistem pakar dapat bersumber dari dokumen. Dokumen yang didapatkan oleh knowledge engineer akan dipelajari
(33)
23 kemudian dianalisa.
d. Wawancara
Dalam melakukan wawancara, ada dua bagian penting yang perlu diketahui. Pertama, Walkthrough method dan yang kedua adalah readthrough method. Walkthrough method adalah pakar bertindak sebagai seorang guru dan knowledge engineer bertindak sebagai seorang murid. Readthrough method adalah pakar diminta mengajarkan knowledge engineer membaca dan menerjemahkan dokumen yang ada. Wawancara dibagi menjadi dua bagian yaitu:
1. Wawancara tidak terstruktur
Biasanya wawancara bagian ini adalah tidak dilakukan pencatatan sebelumnya. Wawancara ini bersifat langsung dan mulai dari hal-hal yang bersifat umum. 2. Wawancara terstruktur
Wawancara bagian ini adalah melakukan pencatatan terlebih dahulu, kemudian menanyakan hal-hal yang bersifat mendetail dan terperinci mengenai suatu permasalahan.
2.6 J2ME
Sejak dimulai pengembangannya pada tahun 1995, bahasa pemrograman Java sampai saat ini terus dikembangkan dengan tetap memegang prinsip write once, run anywhere™ yang berarti dapat dijalankan pada berbagai macam platform dan arsitektur komputer yang mendukung Java Virtual Machine[5]. Dengan konsep
(34)
berbasis objek yang matang, bahasa Java sangat mendukung pengembangan produksi software yang lebih baik.
Java dikeluarkan oleh sebuah perusahaan yang bernama Sun Microsystem dalam tiga edisi yaitu:
● Standard Edition (J2SE) : Didesain untuk dijalankan pada personal computer.
● Enterprise Edition (J2EE) : Dengan fitur built in untuk servlet, JSP, dan XML, edisi ini didesain untuk aplikasi berbasis server.
● Micro Edition (J2ME) : Didesain untuk device yang memiliki keterbatasan memori, tampilan dan proses seperti handphone atau PDA (personal digital assistent)
2.6.1 Configuration
Configuration adalah spesifikasi yang mendefinisikan software environment pada beberapa varian device yang tergantung dari[6]:
● Tipe dan jumlah memori yang tersedia.
● Tipe processor dan kecepatannya.
● Koneksi network yang didukung.
Configuration digunakan sebagai platform minimal untuk suatu device tanpa adanya fitur tambahan. Pada J2ME configuration dibagi menjadi[6] :
● Connected Limited Device Configuration (CLDC)
(35)
25 - Memiliki memori 32 kilobyte untuk pengalokasian memori pada saat
runtime.
- Keterbatasan user interface. - Biasanya memakai tenaga baterai.
- Memiliki network connectivity yang bersifat wireless, terbatas dan dengan bandwidth kecil.
● Connected Device Configuration (CDC)
- Memiliki minimal 128 kilobytes untuk menjalan Java.
- Memiliki minimal 256 kilobyte untuk pengalokasian memori pada saat runtime.
- Memiliki network connectivity yang bersifat persistent dan dengan bandwidth besar.
Sebagai contoh, pada CLDC 1.0 tidak dikenal tipe data float sedangkan pada CLDC 1.1 mulai diperkenalkan tipe data float. Tipe data float akan sangat banyak membantu programmer untuk melakukan perhitungan dengan hasil yang lebih tepat.
2.6.2 Profile
Profile menambahkan class tambahan yang mendukung fitur-fitur yang diperlukan pada device tertentu atau pada segmen pasar yang berbeda. Kedua configuration yang ada mempunyai satu atau lebih profile dimana kadang suatu profile digunakan untuk mendukung profile lainnya[6]. Beberapa profile yang ada
(36)
antara lain :
● Mobile Information Device Profile (MIDP)
Profile ini menyediakan kemampuan untuk networking, penyimpan data, dan component user interface. Karena MDIP didefinisikan untuk lingkungan yang serba terbatas maka user interface dan koneksi networking yang didukung sangatlah sederhana.
● PDA profile (PDAP)
PDA profile didefinisikan untuk PDA yang memiliki spesifikasi sedikit lebih tinggi dari pada MIDP. Aplication Programming Interface (API) yang disediakan digunakan pada segmen komputer kecil seperti Palm.
MIDP versi 1.0 sekalipun cukup membantu dalam membuat software yang bebas platform, ternyata masil kurang memuaskan para pengembang software handphone. Perkembangan teknologi handphone yang begitu pesatnya memacu para pengembang software untuk membuat software yang khusus digunakan untuk suatu merk dan tipe tertentu. MIDP 1.0 awalnya ditujukan untuk mengatasi problematika ini, namun kenyataannya masih belum cukup dapat mendukung penggunaan fitur-fitur khusus handphone.
Pada pertengahan November 2003, Sun mengeluarkan versi baru yaitu versi 2.0 yang lebih lengkap dibandingkan versi sebelumnya. Di samping masih mengandalkan beberapa fitur lama yang cukup stabil, misalnya dalam penanganan user interface dan record management dalam versi yang terbaru, beberapa fitur lama
(37)
27 diperbaharui dan diperlengkapi.
2.6.3 GUI Package
CLDC yang menyediakan class-class dasar bagi handphone java enabled tidak menyediakan fitur untuk Graphical User Interface (GUI). Class-class untuk user interface yang umum dipakai pada J2ME disediakan oleh Java Community Process (JCP) dan tergabung dalam Mobile Information Device Profile (MIDP). Class-class untuk GUI pada MIDP tidak dibangun dari Abstract Window Toolkit (AWT) yang merupakan class GUI pada J2SE[6].
● AWT didesain dan dioptimasikan untuk desktop computer
● AWT dapat menangani banyak jenis input-an dari user seperti mouse dan keyboard sedangkan handphone hanya memiliki keypad untuk inputannya.
● Banyak fitur yang disediakan oleh AWT dan semua berbasis pada computer desktop. Contohnya, AWT banyak memiliki kemampuan untuk melakukan penanganan window seperti resize windows yang tidak diperlukan pada handphone.
● Saat user melakukan interaksi pada software yang dibangun dengan menggunakan AWT, objek akan dibuat secara dinamic dan akan tetap ada sampai tidak diperlukan lagi dan akan di proses oleh Garbage Collector yang akan me-release memori. Hal ini tidak dapat dilakukan pada handphone karena keterbatasan memori.
(38)
2.7 Penyakit Hepatitis[7]
Penyakit Hepatitis adalah penyakit yang disebabkan oleh beberapa jenis virus yang menyerang dan menyebabkan peradangan serta merusak sel-sel organ hati manusia. Hepatitis diketegorikan dalam beberapa golongan, diantaranya hepetitis A,B,C,D,E,F dan G. Di Indonesia penderita penyakit Hepatitis umumnya cenderung lebih banyak mengalami golongan hepatitis B dan hepatitis C.
2.7.1 Hepatitis A
Hepatitis A adalah golongan penyakit Hepatitis yang ringan dan jarang sekali menyebabkan kematian. Penyebaran virus hepatitis A melalui kotoran/tinja penderita yang penularannya melalui makanan dan minuman yang terkomtaminasi, bukan melalui aktivitas sexual atau melalui darah. Sebagai contoh, ikan atau kerang yang berasal dari kawasan air yang dicemari oleh kotoran manusia penderita.
Penyakit Hepatitis A memiliki masa inkubasi 2 sampai 6 minggu sejak penularan terjadi, barulah kemudian penderita menunjukkan beberapa tanda dan gejala terserang penyakit Hepatitis A.
Pada minggu pertama, individu yang dijangkiti akan mengalami sakit seperti kuning, keletihan, demam, hilang selera makan, muntah-muntah, pusing dan kencing yang berwarna hitam pekat. Demam yang terjadi adalah demam yang terus menerus, tidak seperti demam yang lainnya yaitu pada demam berdarah, tbc, thypus, dll.
(39)
29 dengan mencuci tangan dengan teliti, dan suntikan imunisasi dianjurkan bagi seseorang yang berada disekitar penderita.
2.7.2 Hepatitis B
Hepatitis B merupakan salah satu penyakit menular yang tergolong berbahaya di dunia. Penyakit ini disebabkan oleh virus Hepatitis B yang menyerang hati dan menyebabkan peradangan hati akut dan akhirnya menjadi kanker hati. Proses penularan Hepatitis B yaitu melalui pertukaran cairan tubuh atau kontak dengan darah dari orang yang terinfeksi Hepatitis B.
Adapun beberapa hal yang menjadi pola penularan antara lain penularan dari ibu ke bayi saat melahirkan, hubungan seksual, transfusi darah, jarum suntik, maupun penggunaan alat kebersihan diri (sikat gigi, handuk) secara bersama-sama. Hepatitis B dapat menyerang siapa saja, akan tetapi umumnya bagi mereka yang berusia produktif akan lebih beresiko terkena penyakit ini.
Secara khusus tanda dan gejala terserangnya hepatitis B yang akut adalah demam, sakit perut dan kuning (terutama pada area mata yang putih/sklera). Namun bagi penderita hepatitis B kronik akan cenderung tidak tampak tanda-tanda tersebut, sehingga penularan kepada orang lain menjadi lebih beresiko.
Langkah-langkah pencegahan agar terhindar dari penyakit Hepatitis B adalah pemberian vaksin terutama pada orang-orang yang beresiko tinggi terkena virus ini, seperti mereka yang berprilaku sex kurang baik (ganti-ganti
(40)
pasangan/homosexual), pekerja kesehatan (perawat dan dokter) dan mereka yang berada didaerah rentan banyak kasus Hepatitis B.
2.7.3 Hepatitis C
Penyakit Hepatitis C sama berbahayanya dengan penyakit Hepatitis B. Proses penularannya melalui kontak darah {transfusi, jarum suntik (terkontaminasi), serangga yang menggiti penderita lalu mengigit orang lain disekitarnya}. Penderita Hepatitis C kadang tidak menampakkan gejala yang jelas, akan tetapi pada penderita Hepatitis C kronik menyebabkan kerusakan/kematian sel-sel hati dan terdeteksi sebagai kanker hati. Sejumlah 85% dari kasus, infeksi Hepatitis C menjadi kronis dan secara perlahan merusak hati bertahun-tahun.
Penderita Hepatitis C sering kali orang yang menderita Hepatitis C tidak menunjukkan gejala, walaupun infeksi telah terjadi bertahun-tahun lamanya. Namun beberapa gejala yang samar diantaranya adalah lelah, hilang selera makan, sakit perut, urin menjadi gelap serta kulit dan mata menjadi kuning yang disebut jaundice.
Pengobatan penyakit Hepatitis C harus dilakukan sedini mungkin untuk mencegah perkembangan yang memburuk dan stadium akhir penyakit hati. Pengobatan pada penderita Hepatitis C memerlukan waktu yang cukup lama bahkan pada penderita tertentu hal ini tidak dapat menolong, untuk itu harus dilakukan penanganan pada stadium awal.
(41)
31 BAB III
PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK
Prosedur perancangan sistem secara umum untuk pembangunan sistem pakar pada handphone dengan J2ME untuk penyakit hepatitis ini terdiri atas beberapa tahap, yaitu :
a. Pengumpulan data.
b. Perancangan dependency diagram. c. Perancangan decision tables. d. Perancangan IF-THEN rules. e. Perancangan inference engine. f. Perancangan sistem.
Penjelasan masing-masing bagian akan diberikan pada subbab berikutnya.
3.1 Pengumpulan Data
Pengumpulan data yang dimaksud disini adalah pengumpulan data mengenai penyakit Hepatitis. Pengumpulan data dilakukan melalui buku penunjang, internet, serta informasi dari nara sumber.
3.2 Perancangan Dependency Diagram
(42)
dalam merancang sebuah knowledge base dan rule. Dari dependency diagram yang ada, dapat dilihat hubungan antar rule dan hal apa saja yang perlu ditanyakan ke user untuk memperoleh kesimpulan final.
Dependency diagram untuk diagnosis penyakit hepatitis dapat dilihat pada Gambar 3.1.
3.3 Decision Table
Dari dependency diagram yang telah disusun seperti diatas, dapat disusun sebuah decision tabel yang berisi tiap input yang diminta oleh sebuah set rule beserta value dari premisnya dan hasil kesimpulannya.
Pada Tabel 3.1, dapat disusun fakta premis pada bagian kolom kedua setelah nomor rule. Kesimpulan dari rule tersebut merupakan header atau judul kolom tersebut. Dan value premis-nya dimasukkkan pada tiap baris dari setiap kolom yang mana tiap kolom merupakan sebuah representasi sebuah rule.
(43)
33 Rasa Lelah
(
(44)
Tabel 3.1. Decision tabel untuk program aplikasi diagnosis penyakit Hepatitis No. Kesimpulan
Premis
Hepatitis
A B C
1. Rasa lelah Ya Ya Ya
2. Demam Ya Ya Ya
3. Diare Ya Tidak Tidak
4. Mual Ya Ya Ya
5. Nyeri perut Ya Tidak Tidak
6. Mata kuning Ya Ya Tidak
7. Hilang nafsu makan (anoreksia) Ya Tidak Ya
8. Lemah Tidak Ya Tidak
9. Lesu Ya Ya Tidak
10. Sakit otot/pegal-pegal pada otot (Mialgia) Ya Ya Ya
11. Kurang nafsu makan Tidak Ya Tidak
12. Kulit kuning Tidak Ya Tidak
13. Air kencing berwarna gelap Ya Ya Ya
14. Muntah Ya Ya Ya
15. Sakit perut Tidak Ya Tidak
16. Sakit kepala Tidak Ya Tidak
17. Pusing Ya Ya Tidak
18. Air kencing kemerahan Ya Tidak Tidak
19. Nyeri pada sendi (Arthralgia) Ya Ya Tidak
20. Rasa tidak enak pada tenggorokan Ya Tidak Tidak
21. Menggigil Tidak Tidak Ya
22. Nyeri perut sebelah kanan Tidak Tidak Ya
23. Penurunan berat badan yang tidak diketahui sebabnya Tidak Tidak Ya
24. Kembung Tidak Tidak Ya
25. Mencret Tidak Tidak Ya
3.4 IF-THEN Rules
Setelah membuat decision table, langkah berikutnya adalah dengan mengkonversikan decision tabel diatas menjadi IF-THEN rule. Pada decision table pada Tabel 3.1 diatas, dapat dilihat bahwa tabel tersebut sudah merupakan bentuk decision tabel menjadi IF-THEN rule. Tiap kolom pada decision table pada Tabel 3.1
(45)
35 dapat dikonversikan menjadi sebuah rule, dimana tiap value dari sebuah kolom merupakan value dari premis dimana fakta premisnya merupakan baris paling kiri pada Tabel 3.1 di atas. Sedangkan baris teratas kolom tersebut, yang sekaligus juga menjadi judul kolom, merupakan hasil kesimpulan akhir dari rule tersebut.
Klausa di antara IF dan THEN, berisi tentang premis dan value premis yang benar, sedangkan klausa sesudah THEN atau sesudah ELSE merupakan hasil kesimpulan dari rule tersebut.
• Rule 1:
IF Rasa_lelah = Ya and
Demam = Ya and
Diare = Ya and
Mual = Ya and
Nyeri_perut = Ya and
Mata _uning = Ya and
Hilang_napsu_makan = Ya and
Lemah = Tidak and
Lesu = Ya and
Sakit_otot = Ya and
Kurang_napsu_makan = Tidak and
Kulit_kuning = Tidak and
Air_kencing_berwarna_gelap = Ya and
Muntah = Ya and
Sakit_perut = Tidak and
Sakit_kepala = Tidak and
Pusing = Ya and
Air_kencing_kemerahan = Ya and
Nyeri_pada sendi = ya and
Rasa_tidak_enak_pd_tenggorokan = Ya and
Menggigil = Tidak and
Nyeri_perut_sebelah_kanan = Tidak
Penurunan_berat_badan_yg_tdk_diket_sebabnya = Tidak
kembung = Tidak
Mencret = Ya
(46)
• Rule 2:
IF Rasa_lelah = Ya and
Demam = Ya and
Diare = Ya and
Mual = Ya and
Nyeri_perut = Ya and
Mata _uning = Ya and
Hilang_napsu_makan = Ya and
Lemah = Tidak and
Lesu = Ya and
Sakit_otot = Ya and
Kurang_napsu_makan = Tidak and
Kulit_kuning = Tidak and
Air_kencing_berwarna_gelap = Ya and
Muntah = Ya and
Sakit_perut = Tidak and
Sakit_kepala = Tidak and
Pusing = Ya and
Air_kencing_kemerahan = Ya and
Nyeri_pada sendi = ya and
Menggigil = Tidak and
Nyeri_perut_sebelah_kanan = Tidak
Penurunan_berat_badan_yg_tdk_diket_sebabnya = Tidak
kembung = Tidak
Mencret = Ya
THEN Kesimpulan = Hepatitias B
• Rule 3:
IF Rasa_lelah = Ya and
Demam = Ya and
Diare = Tidak and
Mual = Ya and
Nyeri_perut = Tidak and
Mata _kuning = Tidak and
Hilang_napsu_makan = Ya and
Lemah = Tidak and
Lesu = Tidak and
Sakit_otot = Ya and
Kurang_napsu_makan = Tidak and
Kulit_kuning = Tidak and
Air_kencing_berwarna_gelap = Ya and
Muntah = Ya and
Sakit_perut = Ya and
Sakit_kepala = Tidak and
Pusing = Tidak and
Air_kencing_kemerahan = Tidak and
(47)
37 Rasa_tidak_enak_pd_tenggorokan = Tidak and
Menggigil = Ya and
Nyeri_perut_sebelah_kanan = Ya and
Penurunan_berat_badan_yg_tdk_diket_sebabnya = Ya and
kembung = Ya and
Mencret = Ya and
THEN Kesimpulan = Hepatitias C
3.5 Perancangan Inference Engine
Inference engine merupakan bagian dari sistem pakar yang bertugas untuk menemukan solusi yang tepat dari banyaknya solusi yang ada. Proses dilakukan dalam inference engine adalah bagaimana melakukan pengambilan keputusan terhadap konsultasi yang terjadi dan proses penalaran pada basis pengetahuan yang dimilikinya.
Pengambilan keputusan pada inference engine seperti ditunjukkan pada diagram alir Gambar 3.2, prosesnya dimulai dengan menerima value yang diberikan oleh user setelah melalui serangkaian pertanyaan. Value dari user tersebut kemudian disimpan.
Setelah itu dimulailah proses pengecekan premis, dimana value setiap pemis akan ditentukan benar atau salah sesuai dengan Decision Tabel. Kemudian dilanjutkan dengan proses pengecekan rule. Setiap rule akan diperiksa, jika ada premis dari rule tersebut bernilai salah, maka rule tersebut tidak akan digunakan lagi. Sedangkan jika semua premis dari rule tersebut bernilai benar, maka kesimpulan rule tersebut dapat diambil sebagai kesimpulan akhir.
(48)
Gambar 3.2. Diagram alir proses pengambilan keputusan pada inference engine
3.6. PerancanganSistem 3.6.1 Use Case Diagram
Dalam perancangan perangkat lunak dengan menggunakan UML, use case view akan digambarkn dengan menggunakan diagram use case. Diagram use case akan mendefinisikan sejumlah use case dan actor dari sustem yang akan dibangun dengan menunjukkan interaksi antara actor dan use case.
Diagram use case yang ditampilkan akan digunakan untuk menjelaskan fitur-fitur yang dapat dilakukan oleh pengguna aplikasi diagnosis Hepatitis pada perangkat handphone. Diagram use case juga digunakan untuk melakukan verifikasi pada aplikasi untuk melihat apakah seluruh fungsi yang dijelaskan di dalam diagram
(49)
39 use case telah diimplementasikan dalam sistem.
Pada rancangan aplikasi yang dibangun, hanya terdapat satu aktor saja yaitu aktor User yang akan menggunakan aplikasi ini untuk mengakses fitur-fitur pada use case SPHepatitis. Pada gambar 3.3 dapat dilihat kegiatan apa saja yang dapat dilakukan oleh User pada use case SPHepatitis, yaitu:
• Diagnosa, use case ini memperlihatkan proses kegiatan diagnosis kepada user.
• Terapi, use case ini memperlihatkan informasi pengobatan penyakit Hepatitis serta cara pencegahannya
• Lihat Info Petunjuk, use case ini berisi petunjuk pengunaan program. • Lihat Info Program, use case ini berisi keterangan pembuat program.
User
Diagnosa
Terapi
Lihat Info Petunjuk
Lihat Info Program SPHepatitis
(50)
3.6.2 Activity Diagram
Activity diagram adalah teknik menggambarkan logika prosedural, proses bisnis dan jalur kerja. Diagram ini memiliki peran mirip sebuah diagram alir, tetapi activity diagram mendukung behavior pararel.
3.6.2.1 Activity Diagram Diagnosa
Pada fitur diagnosa, aplikasi akan memanggil form gejala yang berisi daftar gejala-gajala hepatitis. Pengguna diminta untuk memilih gejala-gejala sesuai yang dideritanya. Pada form ini tersedia dua command yaitu OK dan kembali. Bila pengguna memilih command ok, maka aplikasi akan menyimpan data yang dipilih oleh penguna. Kemudian aplikasi melakukan penelusuran premis berdasarkan perancangan IF-THEN rules yang telah dibahas sebelumnya. Setelah penelusuran selesai, aplikasi akan menghitung CF dan menampilkan form kesimpulan. Pada form kesimpulan terdapat command selesai untuk kembali ke menu utama dan command ulangi untuk diagnosa ulang.
(51)
41
Sistem User
Form Diagnosa Tampilkan Gejala
Kembali Pilih Gejala
Simpan Data OK
Lihat Kesimpulan Hitung CF Cek Premis
Ulangi Selesai
Gambar 3.4 Activity Diagram Diagnosa
3.6.2.2 Activity Diagram Terapi
Pada pemilihan fitur Terapi, aplikasi akan menampilkan form terapi. Form ini berisi info pengobatan dan pencegah Hepatitis A, Hepatis B dan Hepatitis C. Pengguna diminta untuk memilih salah satu dari ketiga penyakit tersebut. Setelah itu, aplikasi akan menampilkan data sesuai dengan yang dipilih pengguna.
(52)
Sistem User
Pilih Menu Terapi Menampilkan form Terapi
Pilih Hepatitis A, B atau C
Tampilkan Data Terapi
Gambar 3.5 Activity Diagram Terapi
3.6.2.3 Activity Diagram Lihat Info Petunjuk
Fitur Lihat Info petunjuk menyediakan informasi tentang petunjuk penggunaan program. Activity diagram lihat info petunjuk dapat dilihat pada Gambar 3.6
3.6.2.4 Activity Diagram Lihat Info Program
Fitur Lihat Info petunjuk menyediakan informasi tentang petunjuk penggunaan program. Activity diagram lihat info program dapat dilihat pada Gambar 3.7
(53)
43
User Sistem
Pilih Menu Info Petunjuk Menampilkan Data Info Petunjuk
Gambar 3.6 Activity Diagram Lihat Info Petunjuk
Sistem User
Pilih Menu Info Petunjuk Menampilkan Info Program
(54)
50 BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi
4.1.1 Tampilan Menu Utama
Pada menu utama terdapat pilihan menu yang dapat dipilih oleh user yaitu pilihan menu diagnosis, menu terapi, menu petunjuk pemakaian, dan menu info program sesuai dengan perancangan Use Case pada bab sebelumnya. Pada menu ini hanya terdapat satu tombol yaitu “Keluar” yang fungsinya untuk keluar dari program. Lebih jelasnya dapat dilihat pada Gambar 4.1.
Gambar 4.1. Tampilan Menu Utama 4.1.2 Tampilan Menu Diagnosis
Pada menu diagnosis terdapat daftar gejala-gejala penyakit Hepatitis sesuai dengan perancangan Decision Tabel. Daftar gejala itu harus dipilih sesuai dengan
(55)
45 keadaan yang dialami oleh user. Pada menu ini terdapat dua tombol yaitu tombol “Batal” untuk membatalkan melakukan diagnosis penyakit dan kembali ke tampilan menu utama dan tombol “Ok” untuk melakukan proses diagnosis. Lebih jelasnya dapat dilihat di Gambar 4.2.
4.2. Tampilan Menu Diagnosis
4.1.3 Tampilan Menu Kesimpulan
Pada menu ini terdapat hasil kesimpulan penyakit hepatitis yang diderita oleh user berdasarkan masukan gejala-gejala pada menu diagnosis dimana kesimpulan penyakit hepatitis yang diderita didapat dari metode penelusuran backward chaining seperti yang telah di bahas sebelumnya. Pada menu ini juga di tampilkan nilai certainty factor (CF) untuk menunjukkan kepastian dari sebuah kesimpulan. Nilai CF semakin mendekati 1 menunjukkan kesimpulan semakin akurat, sedangkan mendekati 0 menunjukkan sebaliknya.
(56)
Di dalam halaman ini terdapat dua tombol yaitu tombol “Kembali” untuk kembali ke halaman sebelumnya yaitu halaman diagnosis dan tombol “Selesai” untuk kembali ke menu utama. Lebih jelasnya dapat dilihat di Gambar 4.3
Gambar 4.3. Tampilan Halaman Kesimpulan
4.2 Pengujian
Pengujian dilakukan dengan menjalankan program aplikasi sebanyak 4 kali yaitu pengujian rule 1, rule 2, rule 3 serta pengujian secara acak. Keakuratan sistem pakar ini bergantung dari hasil kesimpulan yang diperoleh.
4.2.1. Pengujian Rule 1
Gejala-gejala yang dipilih adalah sebagai berikut : - Rasa lelah
- Demam - Diare
(57)
47 - Mual
- Nyeri perut - Mata kuning
- Hilang napsu makan - Lesu
- Sakit otot
- Air kencing berwarna gelap - Muntah
- Pusing
- Air kencing kemerahan - Nyeri pada sendi
- Rasa tidak enak pd tenggorokan - Mencret
Hasil Kesimpulan yang ditampilkan : Hepatitis A (CF = 0.75)
4.2.2. Pengujian Rule 2
Gejala-gejala yang dipilih adalah sebagai berikut : - Rasa lelah
- Demam - Mual
(58)
- Lemah - Lesu - Sakit otot
- Kurang nafsu makan - Kulit kuning
- Air kencing berwarna gelap - Muntah
- Sakit Perut - Sakit kepala - Pusing
- Nyeri pada sendi - Mencret
Hasil Kesimpulan yang ditampilkan : Hepatitis B (CF = 0.75)
4.2.3 Pengujian Rule 3
Gejala-gejala yang dipilih adalah sebagai berikut : - Rasa lelah
- Demam - Mual
- Hilang napsu makan - Sakit otot
(59)
49 - Air kencing berwarna gelap
- Muntah - Sakit perut - Menggigil
- Nyeri perut sebelah kanan - Penurunan berat badan - Kembung
- Mencret
Hasil Kesimpulan yang ditampilkan : Hepatitis C (CF = 0.76)
4.2.4 Pengujian Dengan Memilih Gejala Secara Acak - Mata Kuning
- Lesu - Sakit otot
- Kurang nafsu makan - Muntah
- Sakit perut - Nyeri pada sendi - Menggigil
- Penurunan berat badan - Mencret
(60)
50 BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil penelitian ini, diperoleh kesimpulan sebagai berikut:
1. Aplikasi yang telah dibuat mampu melakukan proses penalaran dengan baik. Ini dibuktikan pada pengujian rule 1, rule 2, rule 3 serta pengujian secara acak dapat menarik kesimpulan dengan premis yang tidak lengkap.
2. Aplikasi tidak dapat melakukan perubahan data. Hal ini disebabkan pada aplikasi sistem pakar ini tidak menggunakan database sebagai penyimpan data.
5.2 Saran
Beberapa saran yang dapat diberikan untuk pengembangan penelitian selanjutnya adalah sebagai berikut:
1. Tampilan dari aplikasi diagnosis penyakit hepatitis ini masih terbatas, sehingga untuk pengembangan selanjutnya tampilan dari aplikasi dapat dibuat lebih menarik lagi.
2. Adanya fasilitas untuk melakukan pengeditan data yang digunakan untuk penghitungan diagnosis.
(61)
DAFTAR PUSTAKA
1. Kusumadewi, Sri, Artificial Intelligence (Teknik dan Aplikasinya), Graha Ilmu, Yogyakarta, 2003.
2. Arhami, Muhammad, Konsep Dasar Sistem Pakar, Andi Offset, Yogyakarta, 2005.
3. Kusrini, Sistem Pakar - Teori Dan Aplikasi, Andi Offset, Yogyakarta, 2007. 4. Kusrini, Aplikasi Sistem Pakar - Menentukan Faktor Kepastian Pengguna
Dengan Metode Kuantifikasi Pertanyaan, Andi Offset, Yogyakarta, 2008.
5. Supardi, Yuniar, Pemrograman Handphone Dengan J2ME, Elex Media Komputindo, Jakarta, 2008.
6. Suyoto, Membuat Sendiri Aplikasi Ponsel, Gava Media, Yogyakarta, 2005. 7. Khomsah , Penyakit Hepatitis, http://www.infopenyakit.com/2007/12/
(62)
Lampiran : Hasil wawancara untuk mendapatkan nilai certainty factor dari pakar
No. Kesimpulan Premis
Hepatitis
A B C
1. Rasa lelah 0.5 0.5 0.5
2. Demam 1 1 0.5
3. Diare 0.5 - -
4. Mual 1 1 1
5. Nyeri perut 0.5 - -
6. Mata kuning 1 0.5 -
7. Hilang nafsu makan (anoreksia) 1 - 1
8. Lemah - 0.5 -
9. Lesu 0.5 0.5 -
10. Sakit otot/pegal-pegal pada otot (Mialgia) 0.5 0.5 0.5
11. Kurang nafsu makan - 0.5 -
12. Kulit kuning - 1 -
13. Air kencing berwarna gelap 0.5 0.5 1
14. Muntah 0.5 1 0.5
15. Sakit perut - 0.5 -
16. Sakit kepala - 0.5 -
17. Pusing 0.5 0.5 -
18. Air kencing kemerahan 0.5 - -
19. Nyeri pada sendi (Arthralgia) 0.5 0.5 -
20. Rasa tidak enak pada tenggorokan 0.5 - -
21. Menggigil - - 0.5
22. Nyeri perut sebelah kanan - - 0.5
23. Penurunan berat badan yang tidak diketahui sebabnya - - 0.5
24. Kembung - - 0.5
(63)
Lampiran : Hasil wawancara untuk mendapatkan nilai certainty factor dari user
No. Kesimpulan Premis
Hepatitis
A B C
1. Rasa lelah 0.49 0.37 0.38
2. Demam 0.15 0.11 0.5
3. Diare 0.41 - -
4. Mual 1 1 1
5. Nyeri perut 0.67 - -
6. Mata kuning 0.08 0.16 -
7. Hilang nafsu makan (anoreksia) 0.10 - 0.2
8. Lemah - 0.33 -
9. Lesu 0.44 0.33 -
10. Sakit otot/pegal-pegal pada otot (Mialgia) 0.23 0.33 0.67
11. Kurang nafsu makan - 0.33 -
12. Kulit kuning - 1 -
13. Air kencing berwarna gelap 0.15 0.26 0.42
14. Muntah 0.67 1 0.67
15. Sakit perut - 0.33 -
16. Sakit kepala - 0.33 -
17. Pusing 0.33 0.33 -
18. Air kencing kemerahan 0.33 - -
19. Nyeri pada sendi (Arthralgia) 0.33 0.67 -
20. Rasa tidak enak pada tenggorokan 0.33 - -
21. Menggigil - - 0.33
22. Nyeri perut sebelah kanan - - 0.33
23. Penurunan berat badan yang tidak diketahui sebabnya - - 0.33
24. Kembung - - 0.33
(1)
48 - Lemah
- Lesu - Sakit otot
- Kurang nafsu makan - Kulit kuning
- Air kencing berwarna gelap - Muntah
- Sakit Perut - Sakit kepala - Pusing
- Nyeri pada sendi - Mencret
Hasil Kesimpulan yang ditampilkan : Hepatitis B (CF = 0.75)
4.2.3 Pengujian Rule 3
Gejala-gejala yang dipilih adalah sebagai berikut : - Rasa lelah
- Demam - Mual
- Hilang napsu makan - Sakit otot
(2)
49 - Air kencing berwarna gelap
- Muntah - Sakit perut - Menggigil
- Nyeri perut sebelah kanan - Penurunan berat badan - Kembung
- Mencret
Hasil Kesimpulan yang ditampilkan : Hepatitis C (CF = 0.76)
4.2.4 Pengujian Dengan Memilih Gejala Secara Acak - Mata Kuning
- Lesu - Sakit otot
- Kurang nafsu makan - Muntah
- Sakit perut - Nyeri pada sendi - Menggigil
- Penurunan berat badan - Mencret
(3)
50
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil penelitian ini, diperoleh kesimpulan sebagai berikut:
1. Aplikasi yang telah dibuat mampu melakukan proses penalaran dengan baik. Ini dibuktikan pada pengujian rule 1, rule 2, rule 3 serta pengujian secara acak dapat menarik kesimpulan dengan premis yang tidak lengkap.
2. Aplikasi tidak dapat melakukan perubahan data. Hal ini disebabkan pada aplikasi sistem pakar ini tidak menggunakan database sebagai penyimpan data.
5.2 Saran
Beberapa saran yang dapat diberikan untuk pengembangan penelitian selanjutnya adalah sebagai berikut:
1. Tampilan dari aplikasi diagnosis penyakit hepatitis ini masih terbatas, sehingga untuk pengembangan selanjutnya tampilan dari aplikasi dapat dibuat lebih menarik lagi.
2. Adanya fasilitas untuk melakukan pengeditan data yang digunakan untuk penghitungan diagnosis.
(4)
DAFTAR PUSTAKA
1. Kusumadewi, Sri, Artificial Intelligence (Teknik dan Aplikasinya), Graha Ilmu, Yogyakarta, 2003.
2. Arhami, Muhammad, Konsep Dasar Sistem Pakar, Andi Offset, Yogyakarta, 2005.
3. Kusrini, Sistem Pakar - Teori Dan Aplikasi, Andi Offset, Yogyakarta, 2007. 4. Kusrini, Aplikasi Sistem Pakar - Menentukan Faktor Kepastian Pengguna
Dengan Metode Kuantifikasi Pertanyaan, Andi Offset, Yogyakarta, 2008.
5. Supardi, Yuniar, Pemrograman Handphone Dengan J2ME, Elex Media Komputindo, Jakarta, 2008.
6. Suyoto, Membuat Sendiri Aplikasi Ponsel, Gava Media, Yogyakarta, 2005. 7. Khomsah , Penyakit Hepatitis, http://www.infopenyakit.com/2007/12/
(5)
Lampiran : Hasil wawancara untuk mendapatkan nilai certainty factor dari pakar
No. Kesimpulan
Premis
Hepatitis
A B C
1. Rasa lelah 0.5 0.5 0.5
2. Demam 1 1 0.5
3. Diare 0.5 - -
4. Mual 1 1 1
5. Nyeri perut 0.5 - -
6. Mata kuning 1 0.5 -
7. Hilang nafsu makan (anoreksia) 1 - 1
8. Lemah - 0.5 -
9. Lesu 0.5 0.5 -
10. Sakit otot/pegal-pegal pada otot (Mialgia) 0.5 0.5 0.5
11. Kurang nafsu makan - 0.5 -
12. Kulit kuning - 1 -
13. Air kencing berwarna gelap 0.5 0.5 1
14. Muntah 0.5 1 0.5
15. Sakit perut - 0.5 -
16. Sakit kepala - 0.5 -
17. Pusing 0.5 0.5 -
18. Air kencing kemerahan 0.5 - -
19. Nyeri pada sendi (Arthralgia) 0.5 0.5 -
20. Rasa tidak enak pada tenggorokan 0.5 - -
21. Menggigil - - 0.5
22. Nyeri perut sebelah kanan - - 0.5
23. Penurunan berat badan yang tidak diketahui sebabnya - - 0.5
24. Kembung - - 0.5
(6)
Lampiran : Hasil wawancara untuk mendapatkan nilai certainty factor dari user
No. Kesimpulan
Premis
Hepatitis
A B C
1. Rasa lelah 0.49 0.37 0.38
2. Demam 0.15 0.11 0.5
3. Diare 0.41 - -
4. Mual 1 1 1
5. Nyeri perut 0.67 - -
6. Mata kuning 0.08 0.16 -
7. Hilang nafsu makan (anoreksia) 0.10 - 0.2
8. Lemah - 0.33 -
9. Lesu 0.44 0.33 -
10. Sakit otot/pegal-pegal pada otot (Mialgia) 0.23 0.33 0.67
11. Kurang nafsu makan - 0.33 -
12. Kulit kuning - 1 -
13. Air kencing berwarna gelap 0.15 0.26 0.42
14. Muntah 0.67 1 0.67
15. Sakit perut - 0.33 -
16. Sakit kepala - 0.33 -
17. Pusing 0.33 0.33 -
18. Air kencing kemerahan 0.33 - -
19. Nyeri pada sendi (Arthralgia) 0.33 0.67 -
20. Rasa tidak enak pada tenggorokan 0.33 - -
21. Menggigil - - 0.33
22. Nyeri perut sebelah kanan - - 0.33
23. Penurunan berat badan yang tidak diketahui sebabnya - - 0.33
24. Kembung - - 0.33