Aplikasi Diagnosis Penyakit Hepatitis Untuk Handphone Menggunakan J2me

(1)

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