Perancangan Sistem Pakar untuk Mendiagnosis Penyakit Anemia dengan Menggunakan Metode Dempster-Shafer Berbasis Android

(1)

PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS

PENYAKIT

ANEMIA

DENGAN MENGGUNAKAN METODE

DEMPSTER-SHAFER

BERBASIS ANDROID

SKRIPSI

ABDI EDHINO BANGUN

121421028

PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(2)

PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ANEMIA DENGAN MENGGUNAKAN METODE DEMPSTER-SHAFER

BERBASIS ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

ABDI EDHINO BANGUN 121421028

PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN


(3)

PERSETUJUAN

Judul : PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ANEMIA DENGAN MENGGUNAKAN METODE DEMPSTER-SHAFER BERBASIS ANDROID

Kategori : SKRIPSI

Nama : ABDI EDHINO BANGUN

Nomor Induk Mahasiswa : 121421028

Program Studi : EKSTENSI S-1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Rahmat Aulia, S. Kom, MSc. IT M. Andri Budiman, ST, M.Comp.Sc, MEM NIP. - NIP. 19751008 200801 1 011

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom. NIP. 19620317 199103 1 001


(4)

PERNYATAAN

PERANCANGAN SISTEM PAKAR UNTUK MENDIAGNOSIS PENYAKIT ANEMIA DENGAN MENGGUNAKAN METODE DEMPSTER-SHAFER

BERBASIS ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya dan khusus untuk pemograman dibantu oleh teman.

Medan, Juni 2015

Abdi Edhino Bangun 121421028


(5)

PENGHARGAAN

Puji dan syukur kehadirat Tuhan Yesus yang telah memberikan rahmat dan hikmat-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ekstensi Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar– besarnya kepada :

1. Bapak Prof. Subhilhar,M.A., Ph.D selaku Pj Rektor Universitas Sumatera Utara

2. Bapak Prof. Dr. Muhammad Zarlis M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

5. Bapak Mohammad Andri Budiman, S.T., M.Comp.Sc., MEM selaku pembimbing I yang telah memberikan masukan, bimbingan, saran dan motivasi kepada penulis sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

6. Bapak Rahmat Aulia, S.Kom, M.Sc. IT selaku pembimbing II yang telah memberikan masukan, bimbingan, saran dan motivasi kepada penulis sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

7. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembanding I yang telah memberikan kritik dan saran yang membangun bagi penulis.

8. Bapak Jos Timanta Tarigan, S.Kom, M.Sc selaku Dosen Pembanding II yang telah memberikan kritik dan saran yang membangun bagi penulis.

9. Bapak Dr. Dairion Gatot, Sp.PD-KHOM, Dr. Savita Handayani, Sp.PD dan Dr. Heny Syahrini, Sp.PD selaku dokter yang telah membantu penulis selama penelitian dan memberikan izin kepada penulis untuk melakukan penelitian.


(6)

10.Para PPDS Ilmu Penyakit Dalam FK USU Dr. Zulfahmi, Dr. M. Dedy Abu Bakar, Dr. Karmila, Dr. M. Iqbal Sungkar, Dr. Bery yang telah memberikan banyak referensi kepada penulis untuk melakukan penelitian.

11.Kedua Orang tua tercinta Bapak dan Mamak yang tidak henti-hentinya selalu memberikan doa dan dukungan serta kasih sayang kepada penulis.

12.Teman-teman Pelayan KAKR dan PERMATA yang saya sayangi Terima kasih atas semua doa, dukungan, dan motivasi yang tak ternilai harganya. 13.Kepada para sahabat penulis Mohammad Iqbal, Wilda Siregar, Pahara Siagian

dan Teman-teman seperjuangan mahasiswa Ekstensi S1-Ilmu Komputer stambuk 2012, terimakasih atas segala motivasi, bantuan, saran, kritik dan kerjasamanya selama proses penulisan penelitian ini. Semoga Tuhan membalas semua kebaikan yang telah kalian berikan.

Medan, Juni 2015 Penulis,


(7)

ABSTRAK

Anemia merupakan masalah medik yang paling sering dijumpai di klinik di seluruh dunia. Berdasarkan permasalahan ini, maka penulis membangun sebuah aplikasi sistem pakar yang dapat digunakan untuk mendiagnosis penyakit anemia dengan dilengkapi nilai densisitas terhadap diagnosis tersebut. Nilai keyakinan tersebut diperoleh dengan menggunakan suatu metode yang dinamakan dempster-shafer. Dempster-Shafer merupakan suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible. Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian. Berdasarkan pengujian terhadap user dengan empat gejala yaitu perdarahan gusi, badan lemah, pusing dan jantung berdebar-debar, maka dapat diketahui anemia penyakit kronis yang mempunyai densisitas terbesar dengan nilai densisitasnya 0,621118.


(8)

A DESIGN OF EXPERT SYSTEM TO DIAGNOSE ANEMIA USING ANDROID-BASED DEMPSTER-SHAFER METHOD

ABSTRACT

Anemia is a medical problem that is most often found in clinics around the world. Based on these problems, the author build an expert system application that can be used to diagnose anemia according to its density value. The confidence level is obtained by using a method called Dempster-Shafer. Dempster-Shafer is a mathematical theory of evidence based on belief functions and plausible. If the value is 0 then it indicates that there is no evidence, and if the value of 1 indicates certainty. According to the test of having anemia, it is known that anemia of chronic disease has the largest density with a value of 0.621118.


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel xi

Daftar Gambar xii

Daftar Lampiran xv

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Kecerdasan Buatan 7

2.2 Sistem Pakar (Expert System) 7 2.2.1 Konsep Umum Sistem Pakar 7 2.2.2 Ciri-Ciri Sistem Pakar 8 2.2.3 Keuntungan dan Kelemahan Sistem Pakar 8 2.2.4 Struktur Sistem Pakar

2.3 Perbedaan Sistem Pakar dengan Sistem Pendukung Keputusan 11

2.4 Mesin Inferensi 12

2.4.1 Inferensi Forward Chaining 12 2.4.2 Inferensi Ba ckward Chaining 15

2.5 Anemia 17

2.5.1 Jenis Anemia 18

2.5.2 Kriteria Anemia 19

2.5.3 Pravalensi Anemia 20

2.5.4 Gejala Umum Anemia 21

2.6 Teori Dempster - Shafer 21

2.7 Android 24

2.7.1 Sejarah Android 25

2.7.2 Jenis – jenis Android 26 2.7.3 Java Sofware Development Kit (SDK Java) 26 2.7.4 Eclipse Sofware Development Kit (SDK Eclipse) 26


(10)

2.7.5 Android Sofware Development Kit (SDK Android) 26 2.7.6 Android Eclipse Plugin (ADT) 27

2.7.7 Android Package (APK) 27

2.7.8 Android Virtual Devices (AVD) 27

2.7.9 Emulator 27

2.7 Penelitian Relevan 28

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 30

3.1 Analisis Sistem 30

3.2 Analisis Masalah 31

3.3 Analisis Kebutuhan Sistem 32

3.3.1 Kebutuhan Fungsional 32 3.3.2 Kebutuhan Non Fungsional 32

3.3.3 Sumber Informasi 33

3.3.4 Identifikasi Masalah 33

3.3.5 Cara Kerja Sistem Pakar yang Dibuat 33

3.4 Pemodelan Sistem 35

3.4.1 Use Case Diagram 35

3.4.2 Activity Diagram 36

3.4.2.a Activity Diagram Proses Registrasi 36 3.4.2.b Activity Diagram Proses Login 37 3.4.2.c Activity Diagram Diagnosis 38

3.4.3 Sequence Diagram 39

3.5 Perancangan Sistem 40

3.5.1 Flowchart Diagnosis 41 3.6 Perancangan Antarmuka Sistem (Interface) 43 3.6.1 Halaman Menu Login 43 3.6.2 Halaman Menu Registrasi 44

3.6.3 Halaman Menu Utama 45

3.6.4 Halaman Menu Diagnosis 47 3.6.5 Halaman Menu Data Pasien 48 3.6.6 Halaman Menu Tentang Anemia 49

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 50

4.1 Implementasi 50

4.1.3 Frame Login 50

4.1.4 Frame Registrasi 51

4.1.5 Frame Menu Utama 52

4.1.6 Frame Tentang Anemia 53

4.1.7 Frame Data Pasien 53

4.2. Implementasi dengan Metode Dempster-Shafer 54

4.3 Pengujian Sistem 57

4.4 Pengujian Black Box Testing 57

4.4.1 Pengujian Black Box pada sistem 57

4.4.2 Kasus dan hasil pengujian 57

4.4.3 Tampilan Kesimpulan 60


(11)

BAB 5 KESIMPULAN DAN SARAN 62

5.1 Kesimpulan 62

5.1 Saran 62


(12)

DAFTAR TABEL

Halaman 2.1 Contoh Aturan Menggunakan Penalaran Forward Chaining (Alur Maju) 13

2.2 Kriteria Anemia Menurut WHO 20

2.3 Gambaran Prevalensi Anemia di Dunia Tahun 1985 20 3.1 Nilai Densitas untuk setiap Gejala Penyakit pada Anemia 34


(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Arsitektur Sistem Pakar 10

Gambar 2.2 Alur Inferensi Forward Chaining 15 Gambar 2.3 Alur Inferensi Backward Chaining 17

Gambar 2.4 Emulator 28

Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah 31

Gambar 3.2 Use Case Diagram User 36

Gambar 3.3 Activity Diagram Proses Registrasi 37 Gambar 3.4 Activity Diagram Proses Login 38 Gambar 3.5 Activity Diagram Proses Mendiagnosis 39

Gambar 3.6 Sequence Diagram 40

Gambar 3.7 Flowchart Gambaran Umum Sistem 41

Gambar 3.8 Flowchart Diagnosis 42

Gambar 3.9 Flowchart Dempster-Shafer 43

Gambar 3.10 Halaman Menu Login 44

Gambar 3.11 Halaman Menu Registrasi 45

Gambar 3.12 Halaman Menu Utama 46

Gambar 3.13 Halaman Menu Diagnosis 47

Gambar 3.14 Halaman Data Pasien 48

Gambar 3.15 Tentang Anemia 49

Gambar 4.1 Tampilan Frame Login 51

Gambar 4.2 Tampilan Frame Registrasi 52

Gambar 4.3 Tampilan Frame Menu Utama 52

Gambar 4.4 Tampilan Frame Tentang Anemia 53

Gambar 4.5 Tampilan Frame Data Pasien 54

Gambar 4.6 Pertanyaan 1 58

Gambar 4.7 Pertanyaan 2 58

Gambar 4.8 Pertanyaan 3 59

Gambar 4.9 Pertanyaan 4 59

Gambar 4.12 Kesimpulan 60


(14)

DAFTAR LAMPIRAN

Halaman

Lampiran A Listing Program A-1


(15)

ABSTRAK

Anemia merupakan masalah medik yang paling sering dijumpai di klinik di seluruh dunia. Berdasarkan permasalahan ini, maka penulis membangun sebuah aplikasi sistem pakar yang dapat digunakan untuk mendiagnosis penyakit anemia dengan dilengkapi nilai densisitas terhadap diagnosis tersebut. Nilai keyakinan tersebut diperoleh dengan menggunakan suatu metode yang dinamakan dempster-shafer. Dempster-Shafer merupakan suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible. Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian. Berdasarkan pengujian terhadap user dengan empat gejala yaitu perdarahan gusi, badan lemah, pusing dan jantung berdebar-debar, maka dapat diketahui anemia penyakit kronis yang mempunyai densisitas terbesar dengan nilai densisitasnya 0,621118.


(16)

A DESIGN OF EXPERT SYSTEM TO DIAGNOSE ANEMIA USING ANDROID-BASED DEMPSTER-SHAFER METHOD

ABSTRACT

Anemia is a medical problem that is most often found in clinics around the world. Based on these problems, the author build an expert system application that can be used to diagnose anemia according to its density value. The confidence level is obtained by using a method called Dempster-Shafer. Dempster-Shafer is a mathematical theory of evidence based on belief functions and plausible. If the value is 0 then it indicates that there is no evidence, and if the value of 1 indicates certainty. According to the test of having anemia, it is known that anemia of chronic disease has the largest density with a value of 0.621118.


(17)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Di dalam dunia kedokteran sangatlah penting untuk mendiagnosis sebuah penyakit dengan benar dan cepat. Di saat ini sering terjadi kesalahan dalam mendiagnosis sebuah penyakit yang diderita oleh pasien, maka dari itu sering terjadi kematian, karena tidak mengetahui lebih jauh apa penyakit yang diderita oleh pasien. Oleh maka itu dalam bidang kesehatan juga membutuhkan teknologi komputer. Salah satunya adalah digunakan untuk mendiagnosis penyakit anemia.

Aplikasi sistem pakar untuk diagnosis penyakit anemia ini adalah suatu sistem yang terkomputerisasi untuk membantu dokter dan masyarakat dalam mendiagnosis penyakit anemia. Aplikasi ini berbasis Mobile (android) sehingga lebih gampang digunakan melalui gadgetsmartphone khususnya yang berbasis android.

Langkah pertama dalam menyelesaikan setiap masalah adalah dengan mendefenisikan terlebih dahulu ruang lingkup permasalahan tersebut atau domain untuk permasalahan yang akan diselesaikan. Hal ini juga berlaku untuk pemrograman Articial Inteligence (AI). (Suparman & Marlan 2005)

Sistem pakar adalah salah satu cabang dari AI yang membuat penggunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. Ketika sistem pakar dikembangkan pertama kali sekitar tahun 70-an sistem pakar hanya berisi knowledge yang eksklusif.


(18)

Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalah yang cukup rumit, yang sebenarnya hanya dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. (Arhami, 2005)

Sistem pakar berbeda dengan sistem pendukung keputusan, sistem pakar dipakai dalam penelitian karena sistem pakar bersifat pasif, yang digunakan untuk menggantikan keberadaan seorang pakar, dan sistemlah yang membuat keputusan.

Ada berbagai macam penalaran dengan model yang lengkap dan sangat konsisten, tetapi pada kenyataannya banyak permasalahan yang tidak dapat terselesaikan secara lengkap dan konsisten. Ketidak konsistenan tersebut adalah akibat adanya penambahan fakta baru. Penalaran yang seperti itu disebut dengan penalaran non monotonis. Untuk mengatasi ketidak konsistenan tersebut maka dapat menggunakan penalaran dengan teori Dempster-Shafer. Secara umum teori Dempster-Shafer ditulis dalam suatu interval Belief, Plausibility.

Belief (Bel) adalah ukuran kekuatan evidence dalam mendukung suatu himpunan proposisi. Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian.

Berdasarkan latar belakang yang telah penulis uraikan, maka dilakukan penelitian dengan judul “Perancangan Sistem Pakar Untuk Mendiagnosis Penyakit anemia Dengan Menggunakan Metode Dempster-Shafer Berbasis Android”.

1.2 Perumusan Masalah

Rumusan masalah dalam penelitian ini adalah bagaimana mendiagnosis anemia berdasarkan gejala-gejala yang dialami secara dini dengan menggunakan metode Dempster-Shafer berbasis android.


(19)

1.3 Batasan Masalah

Adapun batasan masalah yang diangkat adalah sebagai berikut:

1. Data yang digunakan adalah data mengenai ciri-ciri penyakit anemia.

2. Hanya membahas jenis anemia aplastik, anemia defisiensi besi, anemia kronis, anemia hemolitik.

3. Input berupa gejala-gejala penyakit anemia.

4. Output yang dihasilkan adalah salah satu penyakit anemia. 5. Metode Menggunakan Dempster-Shafer.

6. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Java.

1.4 Tujuan Penelitian

Tujuan dari penulisan skripsi ini adalah diperolehnya sistem pakar yang dapat mendiagnosis penyakit pada anemia dengan menggunakan metode Dempster-Shafer.

1.5 Manfaat Penelitian

Hasil perancangan perangkat lunak ini diharapkan bermanfaat bagi:

a. Penderita penyakit anemia untuk mengetahui cara penanggulangannya. b. Pengetahuan mendiagnosis jenis penyakit pada anemia.

c. Pengetahuan cara kerja metode Dempster-Shafer dalam melakukan pengambil keputusan.

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur

Pada tahap studi literatur dilakukan pengumpulan buku, jurnal, makalah, maupun skripsi.


(20)

2. Analisis dan Perancangan Sistem

Pada tahap analisis dan perancangan sistem akan dilaksanakan perancangan flowchart, antar muka, dan UML.

3. Implementasi Sistem

Pada tahap ini dilakukan pemasukan data serta pengolah data untuk mendapatkan hasilnya apakah sudah sesuai dengan yang diharapkan.

4. Pengujian Sistem

Dalam tahap pengujian sistem dilakukan pengujian terhadap sistem yang telah dibangun.

5. Dokumentasi

Dalam tahap dokumentasi dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.

1.7 Sistematika Penulisan

Dalam penulisan skripsi ini penulis membagi membuat sistematika penulisan terbagi menjadi lima bab dengan susunan sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini membahas tentang latar belakang pemilihan judul, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi tentang balai, dasar-dasar teori dari sumber pustaka dan referensi yang menjadi landasan dasar dalam perancangan, analisis kebutuhan sampai dengan implementasi dan pengujian sistem.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini dibahas mengenai analisa penyakit anemia, analisa metode Dempster-Shafer, model analisa, diagram konteks, data flow diagram, perancangan user interface sistem pakar dalam mendiagnosis penyakit anemia.


(21)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini membahas tentang hasil implementasi dan pengujian sistem serta pembahasan dari hasil yang diperoleh.

BAB 5 KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan yang diperoleh dari hasil penelitian serta saran-saran yang ditujukan bagi para pembaca dan pengembang sistem selanjutnya.


(22)

BAB 2

LANDASAN TEORI

Bab ini berisi tentang balai, dasar-dasar teori dari sumber pustaka dan referensi yang menjadi landasan dasar dalam perancangan, analisis kebutuhan sampai dengan implementasi dan pengujian sistem.

2.1 Kecerdasan Buatan

Kecerdasan buatan berasal dari bahas Inggris “Artificial Intelligence” atau disingkat AI, yaitu Intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir, menimbang tindakan yang akan diambil dan mampu mengambil keputusan seperti yang dilakukan manusia. (Sutojo, 2011)

Kecerdasan buatan merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya di fungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan didunia ini karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan.


(23)

2.2 Sistem Pakar (Expert Ssystem)

Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli.

Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli.

Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalah yang cukup rumit, yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.

2.2.1. Konsep Umum Sistem Pakar

Pengatahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam sejumlah cara. Salah satu metode yang paling umum untuk merepresentasikan pengatahuan adalah dalam bentuk tipe aturan (rule) IF...THEN (Jika...Maka).

Walaupun cara diatas sangat sederhana, namun banyak hal yang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan diatas. (Kusrini,2006)

Ada tiga orang yang terlibat dalam lingkungan sistem pakar, yaitu (Arhami,2005): 1. Pakar

Adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.

Karakteristik sistem pakar:

a. Saling berkomunikasi dengan pakar-pakar lain. b. Menyelesaikan masalah secara cepat dan akurat.

c. Menjabarkan apa dan bagaimana mereka melakukannya.

d. Merubah sudut pandang agar dapat disesuaikan dengan persoalan. e. Mampu membagikan pengetahuan.

f. Mempertimbangkan apakah kesimpulan yang dihasilkan sudah benar. g. Belajar dari pengalaman.


(24)

2. Knowledge Enginer (Perekayasa Sistem)

Adalah orang yang membantu pakar dalam menyusun area permasalahan dengan menginterprestasikan jawaban-jawaban pakar atas pertanyaan yang diajukan.

3. Pemakai

Sistem pakar memiliki beberapa pemakai, yaitu : pemakai bukan pakar, pelajar, pembangunan sistem pakar yang ingin meningkatkan dan menambah basis pengetahuan, dan pakar.

2.2.2 Ciri-Ciri Sistem pakar

Ciri-ciri dari sistem pakar adalah sebagai berikut : (Sutojo, 2011) 1. Terbatas pada domain kehalian tertentu.

2. Dapat memberikan penalaran untuk data-data yang tidak lengkap. 3. Dapat menjelaskan alasan-alasan dengan cara yang dapat dipahami. 4. Bekerja berdasarkan kaidah/rule tertentu.

5. Mudah dimodifikasi.

6. Basis pengetahuan dan mekanisme inteferensi terpisah. 7. Keluarannya bersifat anjuran.

8. Sistem dapat mengaktifkan kaidah secara searah yang sesuai dengan pengguna.

2.2.3Keuntungan dan Kelemahan Sistem Pakar

Sistem pakar (expert system) merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasihat dan sarana bantu dalam memecahkan masalah di bidang-bidang spesialisasi tertentu seperti sains, perekayasaaan, matematika, kedokteran, pendidikan dan sebagainya. Sistem pakar merupakan subset dari artificial intelegence, selanjutnya ada beberapa keuntungan bila menggunakan sistem pakar, diantaranya adalah (Arhami,2005):

1. Menjadikan pengetahuan dan nasehat mudah didapat. 2. Meningkatkan output dan produktivitas.


(25)

4. Meningkatkan penyelesaian masalah, menerusi paduan pakar, penerangan, sistem pakar khas.

5. Meningkatkan reliabilitas.

6. Memberikan jawaban (respons) yang cepat. 7. Merupakan penduan yang inteligence (cerdas).

8. Dapat bekerja dengan informasi yang lengkap dan mengandung ketidakpastian. 9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat digunakan

untuk mengakses basis data dengan cara cerdas.

Selain keuntungan-keuntungan diatas, sistem pakar seperti halnya sistem lainnya juga memiliki kelemahan, diantaranya adalah (Arhami,2005):

1. Masalah dalam mendapatkan pengetahuan dimana pengetahuan tidak selalu bisa didapatkan dengan mudah, kadangkala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki pakar berbeda-beda.

2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya.

3. Boleh jadi sistem tak dapat membuat keputusan.

Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar, oleh karena itu perlu diuji ulang secara teliti.

2.2.4 Struktur Sistem Pakar

Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar kedalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh penggguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar berikut.


(26)

Gambar 2.1. Arsitektur Sistem Pakar Sumber (Arhami,2005):

Komponen- komponen yang terdapat dalam sebuah sistem pakar adalah seperti yang terdapat pada Gambar 1, yaitu user interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan, perbaikan pengetahuan (Arhami,2005):

1. Antarmuka Pengguna (user interface)

User Interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem.

2. Basis Pengetahuan (knowledge base)

Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan.


(27)

3. Akuisisi Pengetahuan (knowledge acqusition)

Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan kedalam program komputer. 4. Mesin Inferensi

Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (backward chainning) dan pelacakan ke depan (forward chainning). Backward chainning adalah pendekatan yang dimotori tujuan (goal-driven) sedangkan forward chainning adalah pendekatan yang dimotori data ( data-driven)

5. Workplace

Workplace merupakan area dari sekumpulan memori kerja (working memory). Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai.

6. Fasilitas Penjelasan

Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar.

7. Perbaikan Pengetahuan

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

2.3 Perbedaan Sistem Pakar dengan Sistem Pendukung Keputusan

Perbedaan system pakar (Expert System) dengan system pendukung keputusan adalah (decision support system) antara lain (Sutojo, 2011) :

1. Sistem pendukung keputusan terdiri dari routime merefleksikan keyakinan manajer dalam caranya memecahkan masalah. Keputusan yang dihasilkan oleh sistem pendukung keputusan merefleksikan gaya kemampuan manajer, sebaliknya sistem pakar memberikan peluang untuk mendapatkan kemampuan dalam membuat keputusan melebihi kemampuan yang dimiliki manajer.


(28)

2. Sistem pakar mempunyai kemampuan untuk menjelaskan jalur penalaran yang diikuti pencapaian pemecahan tertentu, penjelasan mengenai bagaimana pemecahan dicapai akan lebih berguna daripada pemecahan itu sendiri

3. Sistem pendukung keputusan menggunakan database, sedangkan sistem pakar menggunakan knowledge base pada komponennya.

4. Sistem pendukung keputusan berbasis pada pemodelan, sistem pakar berbasis pada konsultasi.

2.4 Mesin Inteferensi

Bagian mesin inferensi merupakan bagian yang mengatur proses penalaran sistem yang digunakan oleh seorang pakar serta mengarahkannya menuju solusi yang terbaik yang dapat dilakukan berdasarkan basis pengetahuan.

Metode inferensi terdiri dari dua tipe yaitu (Hartati & Iswanti 2008): a. Backward Chaining

Backward chaining memulai penalarannya dari sekumpulan hipotesa menuju fakta-fakta yang mendukung hipotesa tersebut.

b. Forward Chaining

Forward chaining merupakan kebalikan dari fordward chaining yaitu pendekatan yang dimulai dari sekumpulan data menuju kesimpulan. Forward chaining merupakan suatu penalaran deduktif, yang menentukan fakta spesifikasi dari aturan-aturan yang umum untuk mendapatkan konklusi yang lebih khusus.

2.4.1 Inferensi Forward Chaining

Metode Forward Chaining adalah suatu metode pengambilan keputusan yang umum digunakan dalam system pakar. Proses pencarian dengan metode Forward Chaining berangkat dari kiri ke kanan, yaitu dari premis menuju kepada kesimpulan akhir, metode ini sering disebut data driven yaitu pencarian dikendalikan oleh data yang diberikan. (Hartati & Iswanti 2008)

Aktivitas sistem dilakukan berdasarkan siklus mengenal-beraksi. Mula-mula, sistem mencari semua aturan yang kondisinya terdapat di memori kerja, kemudian memilih salah satunya dan menjalankan aksi yang bersesuaian dengan aturan tersebut.


(29)

Pemilihan aturan yang akan dijalankan berdasarkan strategi tetap yang disebut strategi penyelesain konflik. Aksi tersebut menghasilkan memori kerja baru dan siklus diulangi lagi sampai tidak ada aturan yang dapat dipicu, atau tujuan yang dikehendaki sudah terpenuhi. Untuk lebih jelasnya dapat melihat contoh tabel 2.1.

Tabel 2.1 Contoh Aturan Menggunakan Penalaran Forward Chaining

(Alur Maju) No Aturan

R1 IF A & B THEN C R2 IF C THEN D R3 IF A & E THEN F R4 IF A THEN G R5 IF F & G THEN D R6 IF G & E THEN H R7 IF C & H THEN I R8 IF I & A THEN J R9 IF G THEN J R10 IF J THEN K

Pada Tabel 2.1 terlihat ada 10 aturan yang tersimpan dalam basis pengetahuan. Jika fakta awal yang diberikan hanya: A dan F (artinya: A dan F bernilai benar). Ingin dibuktikan apakah K bernilai benar (hipotesis: K). Langkah-langkah inferensi adalah sebagai berikut:

1. Dimulai dari R-1, A merupakan fakta sehingga bernilai benar, sedangkan B belum bias diketahui kebenarannya, sehingga C pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R1 ini. Sehingga kita menuju ke R2.

2. Pada R2 kita tidak mengetahui informasi apapun tentang C, sehingga kita juga tidak bisa memastikan kebenaran D. Oleh karena itu kita tidak mendapatkan informasi apapun pada R1 ini. Sehingga kita menuju ke R3.

3. Pada R3, baik A maupun E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru


(30)

yaitu F. Karena F bukan hipotesis yang hendak kita buktikan (= K) maka penelusuran kita lanjutkan ke R4.

4. Pada R4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu G. Karena G bukan hipotesis yang hendak kita buktikan (= K), maka penelusuran kita lanjutkan ke R5.

5. Pada R5, baik F maupun G bernilai benar berdasarkan aturan R3 danR4. Dengan demikian G sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu D. Karena D bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R6.

6. Pada R6, baik A maupun G adalah benar berdasarkan fakta dari R4. Dengan demikian H sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu H. Karena H bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R7.

7. Pada R7, meskipun H benar berdasarkan R6, namun kita tidak tahu kebenaran C sehingga, I pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R7 ini. Sehingga kita menuju ke R8. 8. Pada R8, meskipun A benar karena fakta, namun kita tidak tahu kebenaran I,

sehingga J pun juga belum bisa diketahui kebenarannya, oleh karena itu kita tidak mendapatkan informasi apapun pada R8 ini. Sehingga kita menuju ke R9.

9. Pada R9, J bernilai benar karena G benar berdasarkan R4. Karena J bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R10. 10. Pada R10, K bernilai benar karena J benar berdasarkan R9. Karena K sudah

merupakan hipotesis yang hendak kita buktikan, maka terbukti bahwa K adalah benar.


(31)

Gambar 2.2 Alur Inferensi Forward Chaining

2.4.2 Inferensi Backward Chaining

Metode Backward Chaining adalah suatu metode pengambilan keputusan yang juga umum digunakan dalam sistem pakar. Metode backward chaining adalah kebalikan dari Forward Chaining. Percobaan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan. Proses pencarian dengan metode backward chaining berangkat dari kanan ke kiri, yaitu dari kesimpulan sementara menuju kepada premis, metode ini sering disebut good driven pencarian dikendalikan oleh tujuan yang diberikan (Hartati & Iswanti 2008)

Metode Backward Chaining merupakan strategi pencarian yang arahnya kebalikan dari Forward Chaining. Proses pencarian dimulai dari tujuan, yaitu kesimpulan yang menjadi solusi permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang kesimpulannya merupakan solusi yang ingin dicapai, kemudian dari kaidah-kaidah yang diperoleh, masing-masing kesimpulan Backward Chaining jalur yang mengarah ke kesimpulan tersebut.

Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke kesimpulan tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan merupakan solusi yang dicari. Backward Chaining memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven.


(32)

Seperti halnya pada Tabel 2.1, terlihat ada 10 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan : A dan E (artinya A dan E bernilai benar). Ingin dibuktikan apakah A bernilai benar (hipotesis: K). Langkah-langkah inferensi adalah sebagai berikut :

1. Pertama-tama kita cari terlebih dahulu mulai dari R1, aturan mana yang memiliki konsekuen K. Ternyata setelah ditelusuri, aturan dengan konsekuen K baru ditemukan pada R10.Untuk membuktikan bahwa K benar, maka perlu dibuktikan bahwa J benar.

2. Kita cari aturan yang memiliki konsekuen J. Kita mulai dari aturan R1, dan ternyata kita baru akan menemukan aturan dengan konsekuen J pada R8. Untuk membuktikan bahwa J benar, maka perlu dibuktikan bahwa I dan Abenar.Untuk membuktikan kebenaran I, kita perlu cari aturan dengan konsekuen I, ternyata ada di R7.

3. Untuk membuktikan I benar di R7, kita perlu buktikan bahwa C dan H benar. Untuk itu kitapun perlu mencari aturan dengan konsekuen C, dan ada di R1. 4. Untuk membuktikan C benar di R1, kita perlu buktikan bahwa A dan B benar. A

jelas benar karena A merupakan fakta. Sedangkan B kita tidak bisa membuktikan kebenarannya, karena selain bukan fakta, di dalam basis pengetahuan juga tidak ada aturan dengan konsekuen B. Dengan demikian maka dari penalaran ini kita tidak bisa membuktikan kebenaran dari hipotesis K. Namun demikian, kita masih punya alternatif lain untuk melakukan penalaran.

5. Kita lakukan backtracking. Kita ulangi lagi dengan pembuktian kebenaran C dengan mencari aturan lain dengan konsekuen C. Ternyata tidak ditemukan. 6. Kita lakukan backtra cking lagi dengan mencari aturan dengan konsekuen I,

ternyata juga tidak ada.

7. Kita lakukan backtracking lagi dengan mencari aturan dengan konsekuen J, ternyata kita temukan pada R9, sehingga kita perlu buktikan kebenaran G.

8. Kita mendapatkan R4 dengan konsekuen G. Kita perlu buktikan kebenaran A. Karena A adalah fakta, maka terbukti bahwa G benar. Dengan demikian berdasarkan penalaran ini bisa dibuktikan bahwa K bernilai benar.


(33)

Gambar 2.3 Alur Inferensi Backward Chaining

2.5 Anemia

Anemia merupakan masalah medik yang paling sering dijumpai di klinik di seluruh dunia, disamping sebagai masalah kesehatan utama masyarakat, terutama di negara berkembang. Kelainan ini merupakan penyebab dibelitas kronik (chronic debility) yang mempunyai dampak besar terhadap kesejahteraan sosial dan ekonomi, serta kesehatan fisik. Oleh karena frekuensinya yang sedemikian sering, anemia, terutama anemia ringan seringkali tidak mendapat perhatian dan dilewati oleh para dokter di praktek klinik.

Anemia secara fungsional didefenisikan sebagai penurunan jumlah massa eritrosit (red cell mass) sehingga tidak dapat memenuhi fungsinya untuk membawa oksigen dalam jumlah yang cukup ke jaringan perifer (penurunan oxygencarrying capacity). Secara praktis anemia ditunjukkan oleh penurunan kadar hemoglobin, hematokrit atau hitung eritrosit (red cell count). Tetapi yang paling lazim dipakai adalah kadar hemoglobin, kemudian hematrokit. Harus di ingat bahwa terdapat keadaan-keadaan tertentu dimana ketiga parameter tersebut tidak sejalan dengan masssa eritrosit, seperti pada dehidrasi, perdarahan akut dan kehamilan. Permasalahan yang timbul adalah berapa kadar hemoglobin, hematokrit atau hitung eritrosit sangat bervariasi tergantung pada usia, jenis kelamin, ketinggian tempat tinggal serta keadaan fisiologis tertentu seperti misalnya kehamilan.

Anemia bukanlah suatu kesatuan penyakit tersendiri (disease entity), tetapi merupakan gejala berbagai macam penyakit dasar (underlying disease). Oleh karena itu dalam diagnosis anemia tidaklah cukup hanya sampai kepada label anemia tetapi harus dapat ditetapkan penyakit dasar yang menyebabkan anemia tersebut. Hal ini


(34)

penting karena seringkali penyakit dasar tersembunyi, sehingga apabila hal ini dapat diungkap akan menuntun para klinisi ke arah penyakit berbahaya yang tersembunyi. Penentuan penyakit dasar juga penting dalam pengelolaan kasus anemia, karena tanpa mengetahui penyebab yang mendasari anemia tidak dapat diberikan terapi yang tuntas pada kasus anemia tersebut.

Pendekatan terhadap pasien anemia memerlukan pemahaman tentang patogenesis dan patofisiologi anemia, serta ketrampilan dalam memilih, menganalisis serta merangkum hasil anamnesis, pemeriksaan fisik, pemeriksaan laboratorium dan pemeriksaan penunjang lainnya. Tulisan ini bertujuan untuk membahas pendekatan praktis dalam diagnosis dan terapi anemia yang sering dihadapi oleh dokter umum ataupun spesialis penyakit dalam(Sudoyo, 2006)

2.5.1 Jenis Anemia

a. Anemia Defisiensi Besi

Adalah anemia yang timbul akibat berkurangnya penyediaan besi untuk eritropoesis, karena cadangan besi kosong (depleted iron store) yang pada akhirnya mengakibatkan pembentukan hemoglobin berkurang.

Anemia defisiensi besi merupakan anemia yang paling sering dijumpai, terutama di negara-negara tropik atau negara dunia ketiga, oleh karena sangat berkaitan erat dengan taraf sosial ekonomi. Anemia ini mengenai lebih dari sepertiga penduduk dunia yang memberikan dampak kesehatan yang sangat merugikan serta dampak sosial yang cukup serius(Sudoyo, 2006)

b. Anemia Aplastik

Anemia aplastik merupakan kegagalan hemopoiesis yang relatif jarang ditemukan namun berpotensi mengancam jiwa. Anemia aplastik dapat diwariskan atau didapat. Perbedaan antara keduanya bukan pada usia pasien, melainkan berdasarkan pemeriksaan klinis dan laboratorium. Oleh karena itu, pasien dewasa mungkin membawa kelainan herediter yang muncul di usia dewasa (Sudoyo, 2006)


(35)

c. Anemia Penyakit Kronis

Lemah badan, penurunan berat badan, pucat merupakan tanda-tanda dari penyakit kronis. Baru kemudian diketahui bahwa bahwa paa pasien tuberkulosis, misalnya timbul keluhan seperti tadi dan ternyata disebabkan oleh anemia infeksi. Belakangan diketahui bahwa penyakit infeksi seperti pneumonia, syphilis, HIV-AIDS dan juga pada penyakit lain seperti artritis reumatoid, limfoma Hodgkin, Kanker, sering disertai anemia, dan diintroduksi sebagai anemia penyakit kronik (Sudoyo, 2006)

d. Anemia Hemolitik

Anemia hemolitik adalah salah satu jenis penyakit kekurangan darah yang disebabkan oleh meningkatnya proses penghancura sel darah merah dalam tubuh. Pada kondisi normal, sel darah merah akan bertahan dalam waktu 120 hari, namun pada penderita anemia hemolitik penghancuran sel darah merah, yang bersifat sementara atau secara terus menerus(Sumantri, 2008)

2.5.2 Kriteria Anemia

Parameter yang paling umum dipakai untuk menunjukkan penurunan masa eritosit adalah kadar hemoglobin, disusul oleh hematokrit dan hitung eritrosit. Pada umumnya ketiga parameter ini tersebut saling bersesuaian. Yang menjadi masalah adalah berapakah kadar hemoglobin yang dianggap abnormal. Harga normal hemoglobin sangat bervariasi secara fisiologik tergantung pada umur,jenis kelamin, adanya kehamilan dan ketinggian tempat tinggal. Oleh karena itu perlu ditentukan titik pemilah (cut off point) dibawah kadar mana kita anggap terdapat anemia. Di negara barat kadar hemoglobin paling rendah untuk laki-laki adalah 14 g/dl dan 12 g/dl pada perempuan dewasa pada permukaan laut. Peneliti lain memberikan angka yang berbeda yaitu 12 g/dl (hematokorit 38%) untuk perempuan dewasa. 11 g/dl (hematokorit 36%) untuk perempuan hamil, dan 13 g/dl untuk laki dewasa.


(36)

Tabel 2.2 Kriteria Anemia Menurut WHO

Kelompok Kriteria Anemia ( Hb) Laki-laki dewasa < 13 g/dl

Wanita dewasa tidak hamil < 12 g/dl Wanita hamil < 11 g/dl

Untuk keperluan klinik di Indonesia dan negara berkembang lainnya, kriteria WHO sulit dilaksanakan karena tidak praktis. Apabila kriteria WHO dipergunakan secara ketat maka sebagian besar pasien yang mengunjungi poliklinik atau dirawat di rumah sakit akan memerlukan pemeriksaan work up anemia lebih lanjut. Oleh karena itu beberapa peneliti di Indonesia mengambil jalan tengah dengan memakai kriteria hemoglobin kurang dari 10 g/dl sebagai awal dari work up anemia, atau di India dipakai angka 10-11 g/dl. (Sumantri, 2008)

2.5.3 Pravalensi Anemia

Anemia merupakan kelainan yang sangat sering dijumpai baik di klinik maupun di lapangan. Diperkirakan lebih dari 30% penduduk dunia atau 1500 juta orang menderita anemia dengan sebagian besar tinggal di daerah tropik. De Maeyer memberikan gambaran prevalensi anemia di dunia seperti terlihat pada tabel 2.3 berikut. (Sumantri, 2008)

Tabel 2.3 Gambaran Prevalensi Anemia di dunia Lokasi Anak 0-4

tahun

Anak 5-12

tahun Laki dewasa

Wanita 15-49 Tahun

Wanita Hamil Negara

Maju 12% 7% 3% 14% 11%

Negara

Berkembang 51% 46% 26% 59% 47%

Dunia 43% 37% 18% 51% 35%

Untuk Indonesia, Husaini dkk memberikan gambaran prevalensi anemia sebagai berikut:


(37)

Anak prasekolah : 30-40% Anak usia sekolah : 25-35% Perempuan dewasa tidak hamil : 30-40% Perempuan hamil : 50-70% Laki-laki dewasa : 20-30% Pekerja berpenghasilan rendah : 30-40%

2.5.4 Gejala Umum Anemia

Gejala umum anemia, disebut juga sebagai sindrom anemia, timbul karena iskemia organ target serta akibat mekanisme kompensasi tubuh terhadap penurunan kadar hemoglobin. Gejala ini muncul pada setiap kasus anemia setelah penurunan hemoglobin sampai kadar tertentu (HB<7 d/dl). Sindrom anemia terdiri dari rasa lemah, lesu, cepat lelah, telinga mendenging (tinnitus), mata berkunang-kunang, kaki terasa dingin, sesak nafas dan dispepsia. Pada pemeriksaan, pasien tampak pucat, yang mudah dilihat pada konjungtiva, mukosa mulut, telapak tangan dan jaringan dibawah kuku. Sindrom anemia bersifat tidak spesifik karena dapat ditimbulkan oleh penyakit diluar anemia dan tidak sensitif karena timbul setelah penurunan hemoglobin yang berat (Hb <7 g/dl).

Gejala yang timbul akibat penyakit dasar yang menyebabkan anemia sangat bervariasi tergantung dari penyebab anemia tersebut. Misalnya gejala akibat infeksi cacing tambang: sakit perut, pembengkakan parotis dan warna kuning pada telapak tangan. Pada kasus tertentu sering gejala penyakit dasar lebih dominan, seperti misalnya pada anemia akibat penyakit kronik oleh karena artritis reumatoid.

Meskipun tidak spesifik, anamnesis dan pemeriksaan fisik sangat penting pada kasus anemia untuk mengarahkan diagnosis anemia. Tetapi pada umumnya diagnosis anemia memerlukan laboratorium. (Sudoyo, 2006)

2.6 Teori Dempster-Shafer

Teori Dempster-Shafer adalah suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible reasoning (fungsi kepercayaan dan pemikiran yang masuk akal), yang digunakan untuk mengkombinasikan potongan informasi yang


(38)

terpisah (bukti) untuk mengkalkulasi kemungkinan dari suatu peristiwa. Teori ini dikembangkan oleh Arthur P. Dempster dan Glenn Shafer(Kusumadewi, 2003)

Secara umum Teori Dempster-Shafer ditulis dalam suatu interval: [Belief, Plausibility]

Belief (Bel) adalah ukuran kekuatan evidence (bukti) dalam mendukung suatu himpunan proposisi. Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian.

Plausability (Pl) dinotasikan sebagai:

Pl(s)=1-Bel(-s) ………..(1)

Plausability juga bernilai 0 sampai 1. Jika yakin ¬s, maka dapat dikatakan bahwa: Bel = (¬s) = 0. Pada teorema Dempster-Shafer kita mengenal adanya frame of discernment yang dinotasikan dengan θ. Frame ini merupakan semesta pembicaraan dari sekumpulan hipotesis.

Misalkan : θ = {A,F,D,B} Dengan :

A = Alergi; F = Flu; D = Demam; B = Brokitis.

Tujuan adalah membangkitkan kepercayaan elemen-elemen θ. Tidak semua evidence secara langsung mendukung tiap-tiap elemen. Sebagai contoh, panas mungkin hanya mendukung {F,D,B} Untuk itu perlu adanya probabilitas densitas (m). Nilai m tidak hanya mendefinisikan elemen-elemen θ saja, namun juga semua subset -nya. Sehingga jika θ berisi n elemen, maka subset dari θ semua berjumlah 2n.

Jadi harus ditunjukkan bahwa jumlah semua m dalam subset θ sama dengan 1. Andaikan tidak ada informasi apapun untuk memilih keempat hipotesis tersebut, maka nilai: M{θ}=1,0.

Jika kemudian diketahui bahwa panas merupakan gejala dari flu, demam dan bronhitis dengan m = 0,8, maka:

M{F,D,B}= 0,8 M{θ}= 1-0,8 = 0,2

Andaikan diketahui X adalah subset dari θ, dengan m1 sebagai fungsi densitasnya, dan Y juga merupakan subset dari θ dengan m2 sebagai fungsi densitasnya, maka dapat dibentuk fungsi kombinasi m2 sebagai m3, yaitu m3(Z) = m2.


(39)

Nilai yang dihasilkan dari teori ini berupa persentase tiap elemen-elemen θ, dan juga semua subset-nya. Makin rendah persentase frame of discernment menggambarkan makin baik tingkat pemahaman user dalam materi tersebut. Penilaian diberikan kepada elemen-elemen berdasarkan hasil persentasi ini

……….(2)

Sumber : (Kusumadewi,2003) Contoh :

Gejala 1 : Perdarahan Gusi dan Sebagainya

Apabila diketahui nilai kepercayaan setelah dilakukan observasi merupakan dari penyakit Anemia Aplastik dan Hemolitik .

M1 {AP,AH} = 0,8

M1 {θ} = 1-0,8=0,2

Gejala 2 : Badan Kuning

Badan Kuning merupakan dari penyakit Anemia Hemolitik M2 {AH} = 0,9

M2 {θ} = 1-0,9 = 0,1

Aturan Kombinasi untuk m3

{AH} 0,9 {θ} 0,1

{AA,AH} 0,8 {AH} 0,72 {AA,AH} 0,08

{θ} 0,2 {AH} 0,18 {θ} 0,02

M3 {AH} = 0,72+0,18= 0,9 0,9 1-0

M3 {AA,AH} = 0,08/1=0,08 M3 {θ}= 0,02/1= 0,02

       y x z y x Y m X m Y m X m z m ) ( ). ( 1 ) ( ). ( ) ( 2 1 2 1 3


(40)

Gejala 3 : Pucat Dibawah Kelopak Mata

Pucat dibawah Kelopak Mata merupakan penyakit dari Anemia Aplastik, Anemia Def Besi, Anemia Kronis, Anemia Hemolitik.

M4 {AP,AD,AK,AH} = 0,9

M4 {θ} = 1-0,9=0,1

Aturan Kombinasi untuk m5

{AA,AD,AK,AH} 0,9 { θ} 0,1

{AH} 0,9 {AH} 0,81 {AH} 0,09

{AA,AH} 0,08 {AA,AH} 0,072 {AP,AH} 0,008

{ θ} 0,02 {AA,AD,AK,AH} 0,018 { θ} 0,002

{AH}= 0,81+0,09= 0,9/1= 0,9 1-0

{AA,AH}= 0,072+0,008=0,08/1= 0,08 1-0

{AA,AD,AK,AH}= 0,018=0,018 1-0

{θ}= 0,002=0,002 1-0

Dari 3 Gejala yang telah dipilih maka anemia hemolitik yang mempunya nilai yang paling besar diantara semua.

2.7 Android

Android merupakan system operasi berbasis linux yang bersifat terbuka (open source) dan dirancang untuk perangkat seluler layar sentuh seperti smartphone dan computer tablet. Android dikembangkan oleh Android,Inc., dengan dukungan finansial dari google yang kemudian dibeli pada tahun 2005. Android dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance.


(41)

Tampilan Android didasarkan pada manipulasi langsung, menggunakan masukan sentuh yang serupa dengan tindakan di dunia nyata, seperti menggesek, mengetuk, mencubit, dan membalikkan cubitan untuk memanipulasi obyek di layar. Pada bulan Oktober 2012, terdapat 700.000 aplikasi yang tersedia untuk android dan sekitar 25 juta aplikasi telah diunduh dari Google Play, toko aplikasi utama Android. Sebuah survei pada bulan April-Mei 2013 menemukan bahwa Android adalah platform paling popular bagi para pengembang, digunakan oleh 71% pengembang aplikasi seluler. Dan pada tanggal 3 September 2013, 1 Miliar perangkat Android telah diaktifkan.(Salbino,2014)

2.7.1 Sejarah Android

Pada bulan Oktober 2003 Android, Inc didirikan di Palo Alto, California, oleh Andy Rubin (pendiri Danger), Rich Milner (pendiri Wildfire Communications, Inc.), Nick Seras (Mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan anatarmuka WebTV) untuk mengembangkan. Awal tujuan pengembangan Android yaitu untuk mengembangkan sebuah system operasi canggih yang ditujukan untuk kamera digital, namun pasar untuk perangkat kamera digital tidak cukup besar, dan pengembangan android lalu dialihkan bagi pasar smartphone untuk menyaingi Symbian dan Windows Mobile.

Google mengakuisisi Android Inc. pada tanggal 17 Agustus 2005, menjadikannya sebagai anak perusahaan yang sepenuhnya dimiliki oleh Google. Pendiri Android Inc. seperti Rubin, Miner dan White tetap bekerja di perusahaan setelah diakuisisi oleh Google. Di Google, tim yang dipimpin oleh Rubin mulai mengembangkan platform smartphone menggunakan kernel linux. Google memasarkan platform tersebut kepada produsen perangkat seluler dan operator nirkabel, dengan janji bahwa mereka menyediakan system yang fleksibel dan bias diperbaharui. Google telah menyeleksi beberapa mitra perusahaan perangkat lunak dan perangkat keras, serta mengisyaratkan kepada operator seluler bahwa kerjasama ini terbuka bagi siapapun yang ingin berpartispasi. .(Salbino,2014)


(42)

2.7.2 Jenis-jenis Android

Pada saat perilisan perdana Android pada tanggal 5 November 2007, Android bersama Open Handset Alliance mendukung pengembangan standar terbuka pada perangkat seluler tersebut. Di sisi lain, Google merilis kode-kode Android di bawah lisensi Apache. Sehingga terdapat dua jenis distributor sistem operasi Android yaitu yang mendapat dukungan penuh dari Google dan yang mendapat dukungan penuh dari Open Handset Distribution (OHD). Tiap versi dirilis sesuai urutan alphabet yakni : a. Cupcake (1.5)

b. Donut (1.6) c. Éclair (2.0 – 2.1) d. Froyo (2.2-2.3)

e. Gingerbread (2.3-2.3.7) f. Honeycomb (3.0-3.2.6)

g. Ice Cream Sandwich (4.0-4.0.4) h. Jelly Bean (4.1-4.3), dan

i. Kitkat (4.4 + )

Pembaruan terbaru versi android adalah Lollypop yang dirilis pada 3 November 2014 .(Salbino, 2014)

2.7.3. Java Software Development Kit (SDK Java)

SDK Java merupakan kebutuhan utama bagi programmer untuk membuat dan menjalankan java. Komponen JDK antara lain compiler (javac), interpreter (java) disebut juga java virtual machine atau java runtime environment, applet viewer (appletviewer), debugger (jdb), java class library (jcl), header dan stub generator (java), dan yang paling penting yaitu java documentation (javadoc).


(43)

SDK Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform ( platform-independent).

2.7.5 Android Software Development Kit (SDK Android)

SDK Android adalah tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.

2.7.6 Android Eclipse Plugin (ADT)

Definisi Android Eclipse Plugin adalah suatu perangkat tambahan koneksi Eclipse dengan Android SDK, sehingga bisa lebih memudahkan membuat program untuk android di Eclipse.

2.7.7 Android Package (APK)

APK adalah paket aplikasi Android (Android P ackage). APK umumnya digunakan untuk menyimpan sebuah aplikasi atau program yang akan dijalankan pada perangkat Android. APK pada dasarnya seperti zip file, karena berisi dari kumpulan file, dapat diperoleh melalui berbagai metode, seperti menginstal sebuah aplikasi melalui Market, download dari sebuah situs web, atau membuat sendiri dengan bahasa Java.

2.7.8 Android Virtual Devices (AVD)

AVD adalah konfigurasi dari emulator sehingga kita dapat menjalankan perangkat Android sesuai model yang dipilih, misalkan Android 1.5 atau 2.2. Untuk dapat menjalankan emulator.


(44)

Emulator adalah Aplikasi yang memungkinkan sebuah software dari sebuah platform berjalan di atas platflorm lain. Emulator menjalankan kode-kode software pada virtual machine. Sehingga software tersebut mengira bahwa ia sedang berjalan di atas platform aslinya. Dalam hal ini emulator android dapat membuat virtual phone di komputer seperti telepon genggam berbasis sistem operasi android yang sebenarnya. Berikut tampilan emulator pada program dapat dilihat pada gambar 2.5 berikut ini:

Gambar 2.4 Emulator

2.8 Penelitian Relevan

Sistem pakar dapat berfungsi sebagai konsultan yang memberi saran kepada pengguna sekaligus sebagai asisten bagi pakar. Salah satu cara untuk mengatasi dan membantu mendeteksi tingkat resiko penyakit JK seseorang, yaitu dengan membuat sebuah sistem pakar sebagai media konsultasi dan monitoring terhadap seseorang sehingga dapat meminimalkan terjadinya serangan jantung yang mengakibatkan kematian. Metode Dempster-Shafer merupakan metode penalaran non monotonis yang digunakan untuk mencari ketidak konsistenan akibat adanya penambahan maupun pengurangan fakta baru yang akan merubah aturan yang ada, sehingga metode Dempster-Shafer memungkinkan seseorang aman dalam melakukan pekerjaan seorang pakar. Penelitian ini bertujuan menerapkan metode ketidakpastian


(45)

Dempster-Shafer pada sistem pakar untuk mendiagnosis tingkat resiko penyakit JK seseorang berdasarkan faktor serta gejala penyakit JK. Manfaat penelitian ini adalah untuk mengetahui keakuratan mesin inferensi Dempster-Shafer.

Hasil diagnosis penyakit JK yang dihasilkan oleh sistem pakar sama dengan hasil perhitungan secara manual dengan menggunakan teori mesin inferensi Dempster-Shafer. Sehingga dapat disimpulkan bahwa sistem pakar yang telah dibangun dapat digunakan untuk mendiagnosis PJK.(Wahyuni,2013)


(46)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini dibahas mengenai analisa penyakit anemia, analisa metode Dempster-Shafer, model analisa, diagram konteks, data flow diagram, perancangan user interface sistem pakar dalam mendiagnosis penyakit anemia

3.1 Analisis Sistem

Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengatahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. (Sutojo,2011)

Analisis sistem diperlukan untuk mengetahui berbagai hal yang dibutuhkan oleh sistem. Untuk menghasilkan sistem pakar penyakit pada Anemia yang baik diperlukan pembuatan basis pengetahuan dan basis aturan yang lengkap dan baik agar proses inferensi berjalan dengan baik. Pada tahapan ini juga akan diberikan gambaran-gambaran yang jelas terhadap sistem yang akan dibangun yang nantinya akan menghasilkan pemahaman terhadap kebutuhan sistem sehingga diperoleh sistem yang sesuai dan diinginkan.

3.2 Analisis Masalah

Berdasarkan analisis masalah diatas, maka melalui tugas akhir ini dibuat alternatif penyajian informasi dan konsulitasi tentang penyebab penyakit pada anemia serta cara penanganannya, aplikasi sebagai sistem pakar yang dapat mengidentifikasi penyebab penyakit pada anemia dengan menggunakan pilihan YA atau TIDAK melalui check


(47)

box yang telah disediakan yaitu menjawab gejala-gejala yang timbul dalam aplikasi tersebut dan masalah yang akan dianalisa yaitu tentang mengidentifikasi penyebab penyakit anemia beserta gejala, penyebab.

Aplikasi sistem pakar yang dibangun memiliki cara kerja untuk menghasilkan suatu keluaran/output kemungkinan penyakit yang diderita pasien dan terapi yang direkomendasikan berdasarkan basis pengetahuan. Metode penalaran yang akan dipake adalah metode Forward Chaining dimana dimulai dari sekumpulan data menuju kesimpulan. Forward chaining merupakan suatu penalaran deduktif, yang menentukan fakta spesifikasi dari aturan-aturan yang umum untuk mendapatkan konklusi yang lebih khusus.

Analisis masalah sebuah sistem dapat dirancang dengan menggunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara grafik menggambarkan secara detail semua penyebab yang berhubungan dengan suatu permasalahan, dimana bagian kepala yang berbentuk segiempat yang berada disebelah kanan merupakan masalah, sementara dibagian tulang-tulangnya merupakan penyebab seperti gambar yang terlihat pada gambar 3.1 berikut ini:

Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah

MACHINE/TOOL MATERIAL

Sulit menentukan nilai kepastian terhadap gejala yang dipilih

Belum ada aplikasi dalam hal mendiagnosis penyakit

Bobot nilai Densititas pada masing-masing gejala berbeda-beda Sistem pakar mendiagnosis penyakit anemia dengan metode dempster shafer User butuh waktu,

biaya dan tenaga untuk mendapatkan hasil diagnosis Kurangnya pengetahuan user terhadap gejala awal penyakit anemia


(48)

3.3 Analisis Kebutuhan Sistem

Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis kebutuhan sistem. Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu: kebutuhan fungsional dan kebutuhan non-fungsional.

3.3.1 Kebutuhan Fungsional

Fungsional Sistem adalah aktivitas dan pelayanan yang harus dimiliki oleh sebuah sistem yang dapat berupa input, output, proses maupun data yang tersimpan.

Dalam penelitian ini Fuctional Requitment harus dapat:

1. Sistem harus mampu melakukan diagnosis penyakit anemia serta menampilkan hasil diagnosis dengan mengimplementasikan metode Dempster-Shafer.

2. Sistem dapat memberikan pengetahuan seputar penyakit anemia. 3. Sistem dapat melakukan update data.

3.3.2. Kebutuhan Non Fungsional

Non Fungsional Sistem adalah karakteristik atau batasan yang menentukan kepuasan sebuah sistem seperti kinerja, kemudahan penggunaan, anggaran, tenggat waktu serta dokumentasi yang mampu bekerja tanpa mengganggu fungsionalitas perangkat lunak lainnya. Non Fungsional System dari perangkat lunak yang dibangun dalam aplikasi ini adalah:

1. Mudah digunakan (User friendly)

Sistem yang akan dibangun harus user friendly, artinya bahwa sistem mudah digunakan oleh user dengan tampilan (interfa ce) yang sederhana dan mudah dimengerti.

2. Menjadi Referensi

Sistem yang akan dibangun diharapkan mampu menjadi referensi bagi user untuk mendapatkan hasil diagnosis penyakit khususnya penyakit anemia.


(49)

3. Pelayanan

Kecepatan dari pada sistem yang dibangun dapat membantu kebutuhan user dengan pertanyaan-pertanyaan yang diterapkan serta sistem yang akan dibangun dibuat sederhana mungkin dengan tidak menghilangkan kehandalan sistem sehingga memudahkan penggunaan sistem pakar.

3.3.3 Sumber Informasi

Data mengenai penyakit anemia yaitu pengertian jenis penyakit, gejala, penyebab serta penanganannya yang didapat dari buku, artikel, dan situs internet. Selain itu informasi mengenai jenis penyakit anemia dari Bagian Divisi Hematologi dan Onkologi Medik RS. H. Adam Malik Medan yaitu Dr. Heny Syahrini Sp.PD yang memberikan bimbingan dan pengarahan sekaligus sebagai pakar dalam identifikasi penyebab penyakit anemia.

3.3.4 Identifikasi Masalah

Langkah pertama dalam mengembangkan aplikasi adalah mengidentifikasikan masalah yang akan dikaji, dalam hal ini adalah dengan mengidentifikasikan permasalahan yang akan dibuat terlebih dahulu, adapun masalah-masalah yang akan diambil dalam aplikasi untuk mengidentifikasi penyebab penyakit pada anemia.

3.3.5 Cara Kerja Sistem Pakar yang Dibuat

Aplikasi sistem pakar yang dibangun memiliki cara kerja untuk menghasilkan suatu keluaran/output kemungkinan penyakit yang diderita pasien dan terapi yang direkomendasikan berdasarkan basis pengetahuan. Metode penalaran yang akan diadopsi adalah metode Forward Chaining dimana penelusuran dimulai dari keadaan awal berupa informasi gejala-gejala yang merupakan fakta yang dialami pasien. Untuk mendapatkan kepercayaan atas gejala yang diberikan pasien, maka setiap gejala akan diberikan nilai kepercayaan berupa nilai densitas yang bernilai antara 0 – 1 untuk setiap gejala penyakit. Misalnya gejala Perdarahan gusi dan sebagainya, nilai densitas untuk kemungkinan penyakit Anemia Aplastik adalah 0,8, kemungkinan penyakit Anemia Defisiensi Besi adalah 0,3, penyakit anemia penyakit kronis 0,4 dan anemia


(50)

hemolitik 0,8, untuk gejala badan lemah, nilai densitas untuk kemungkinan anemia aplastik adalah 0,3, kemungkinan penyakit defisiensi besi adalah 0,8, anemia penyakit kronis 0,8 dan anemia hemolitik 0,8 data nilai densitas untuk setiap penyakit dapat dilihat pada Tabel berikut.

Tabel 3.1 Nilai densitas untuk setiap gejala penyakit pada anemia

Gejala Klinis Nilai Densitas Anemia Aplastik Anemia Defisiensi Besi Anemia Penyakit Kronis Anemia Hemolitik Perdarahan Gusi

dan Sebagainya 0,8 0,3 0,4 0,8

Badan Lemah 0,3 0,8 0,8 0,8

Pusing 0,8 0,8 0,8 0,6

Jantung

Berdebar-debar 0,4 0,6 0,8 0,3

Sesak Nafas 0,6 0,7 0,8 0,6

Demam 0,3 0,4 0,6 0,9

Kuku Menjadi Rapuh, bergaris-garis vertikal dan menjadi cekung sehingga mirip seperti sendok

0,2 0,9 0,2 0,6

Permukaan Lidah Melicin dna mengkilap

0,5 0,9 0,2 0,6

Nyeri Menelan karena kerusakan epitel hipofaring

0,1 0,8 0,1 0,2

Keinginan Makan yang tidak lazim seperti tanah,


(51)

es,lem dll

Badan Kuning 0,1 0,1 0,1 0,9

Pucat di Bawah

Kelopak Mata 0,8 0,8 0,8 0,8

Pembengkakan

limpa 0,7 0,6 0,5 0,8

Luka disudut

bibir 0,6 0,8 0,4 0,3

Lebam-lebam 0,8 0,5 0,5 0,4

Riwayat Batuk

Darah 0,5 0,7 0,5 0,3

Riwayat BAB

Hitam 0,6 0,8 0,6 0,5

3.4 Pemodelan Sistem

Perancangan aplikasi untuk mengidentifikasi penyebab penyakit anemia menggunakan metode Dempster-Shafer berbasis Android bertujuan untuk menerapkan solusi pemecahan masalah yang telah diajukan pada analisis sistem.

3.4.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, diagram ini menunjukkan fungsi dari sebuah sistem dan interaksi yang dilakukan oleh aktor dan sistem.


(52)

Gambar 3.2 Usecase Diagram User

3.4.2 Activity Diagram

Activity diagram menunjukkan berbagai alur aktifitas dalam sistem yang sedang dirancang.

3.4.2.a Activity Diagram Proses Registrasi

Pada activity Proses Registrasi, dijelaskan bahwa program meminta untuk memasukkan data Username dan Password yang diinginkan oleh user. Setelah selesai memasukkan data maka program akan masuk ke menu utama login. Berikut gambar Activity Diagram Proses Registrasi dapat dilihat pada Gambar 3.3.


(53)

Gambar 3.3 Activity Diagram Proses Registrasi

3.4.2.b. Activity Diagram Proses Login

Pada activity diagram login, dijelaskan bahwa program menunggu input dari user berupa username dan password seperti yang terlihat pada gambar dibawah ini. Setelah user memasukkan username dan password, program akan memeriksa data tersebut kedalam database, program akan memberikan konfirmasi login, apabila user tidak dapat melakukan proses login atau tidak memiliki username dan password maka user harus mendaftar terlebih dahulu membuat akun baru untuk mendapatkan username dan password untuk masuk ke menu utama. Berikut gambar Activity Diagram Login dapat dilihat pada Gambar 3.4.


(54)

Gambar 3.4 Activity Diagram Proses Login

3.4.2.c. Activity Diagram Diagnosis

Pada Activity Diagram Diagnosis, dijelaskan bahwa program akan menunggu sampai user memasukan data pasien yang akan didiagnosis, kemudian program akan menunggu user menjawab tiap-tiap pertanyaan terhadap symptom/gejala yang dialami pasien, lalu program akan menghitung tiap-tiap gejala yang dipilih kemudian program akan menampilkan hasil akhir berupa nilai kepastian terhadap gejala yang dipilih dan hasil diagnosis. Berikut gambar Activity Diagram Diagnosis dapat dilihat pada Gambar 3.5.


(55)

Gambar 3.5 Activity Diagram Proses Mendiagnosis

3.4.3 Sequence Diagram

Sequence diagram merupakan suatu diagram yang mendeskripsikan interaksi-interaksi antar objek di dalam sebuah sistem yang disusun pada sebuah urutan tertentu. Adapun sequence diagram sistem ini dapat dilihat pada Gambar 3.6 berikut.


(56)

Gambar 3.6 Sequence Diagram

3.5 Perancangan Sistem

Perancangan sistem merupakan tahap selanjutnya setelah analisa sistem, mendapatkan gambaran dengan jelas tentang apa yang dikerjakan pada analisa sistem, maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut. Perancangan sistem adalah proses menyusun atau mengembangkan aplikasi yang baru. Dalam tahap ini harus dapat dipastikan bahwa semua prasyaratan untuk menghasilkan sistem informasi dapat dipenuhi. Hasil sistem yang dirancang harus sesuai dengan kebutuhan pemakai untuk mendapatkan informasi. Hal lain yang perlu diperhatikan adalah bahwa sistem yang disusun harus dapat dikembangkan lagi.


(57)

Gambar 3.7 Flowchart Gambaran Umum Sistem

3.5.1 Flowchart Diagnosis

Proses pemasukan diagnosis ini agar berjalan dan menghasilkan output diagnosis harus menginput minimal 4 jawaban Ya. Proses Flowchart Diagnosis dapat dilihat pada gambar berikut.


(58)

(59)

3.5.2 Flowchart Dempster-Shafer

Gambar 3.9 Flowchart Dempster-Shafer

3.6 Perancangan Antarmuka Sistem (Interface)

Perancangan antar muka bertujuan untuk memberikan gambaran tentang aplikasi yang akan dibangun. Sehingga akan mempermudah dalam mengimplementasikan aplikasi serta akan memudahkan pembuatan aplikasi yang user friendly.

3.6.1 Halaman Menu Login

Halaman menu login merupakan halaman yang pertama kali muncul pada saat sistem dijalankan. Dimana halaman login ini terdiri dari menu username dan password, tombol submit login dan jika belum mempunyai akun, bisa mendaftar di tombol registrasi.


(60)

Gambar 3.9 Rancangan Interface Halaman Menu Home

Gambar 3.10. Halaman Menu Login

Keterangan:

1. Merupakan Text Viewuntuk memasukkan Username 2. Merupakan Text View untuk memasukkan Password

3. Merupakan Button Login untuk melanjutkan ke Menu Utama

4. Merupakan Button Regristrasi untuk melanjutkan ke menu registrasi jika belum mempunyai akun.

3.6.2 Halaman Menu Registrasi

Halaman menu registrasi merupakan halaman yang digunakan pengguna untuk melakukan proses registrasi. Fungsi registrasi adalah untuk membuat sebuah akun agar bisa masuk ke dalam tampilan login.

Username [1] Text View

Password [2] Text View

[3] Tidak punya akun ? Registrasi [4]


(61)

Gambar 3.10 Halaman Menu Regristrasi

Gambar 3.11 Halaman Menu Regristrasi

Keterangan:

1. Merupakan Text View untuk memasukkan Username 2. Merupakan Text View untuk memasukkan Email 3. Merupakan Text View untuk memasukkan Password

4. Merupakan Button Regristrasi untuk melanjutkan ke Menu Login

5. Merupakan Button Login untuk melanjutkan ke menu Login jika sudah mempunyai akun

3.6.3 Halaman Menu Utama

Halaman menu Utama merupakan halaman yang digunakan pengguna untuk memilih pilihan yang diinginkan, di menu utama ada 3 menu tombol button yaitu. Pertama Button Diagnosis untuk melakukan proses pengecekan Diagnosis, kedua Button

Username [1] Text View

Email [2] Text View

Password [3] Text View

[4] Already Registred. Login Me! [5]


(62)

Tentang Anemia yang berfungsi untuk mengetahui apa itu anemia dan yang terakhir adalah tombol Button Keluar atau Logout, yang berfungsi untuk mengeluarkan akun yang telah di login.

Gambar 3.11 Halaman Menu Utama

Gambar 3.12. Halaman Menu Utama

Keterangan:

1. Merupakan Text View untuk Menampilkan Judul 2. Merupakan Image Button untuk menampilkan Gambar 3. Merupakan Image Button untuk Menampilkan Gambar

4. Merupakan Button Diagnosis untuk melanjutkan ke Menu Diagnosis

5. Merupakan Button Tentang Anemia untuk melanjutkan ke menu pengertian dari anemia

6. Merupakan Button Keluar Anemia untuk Mengeluarkan Akun yang telah terdaftar dari menu Login

Aplikasi Diagnosis Penyakit Anemia [1]

Logo USU [2] Gambar Anemia

[3]

Diagnosa [4] Tentang Anemia [5]


(63)

3.6.4 Halaman Menu Diagnosis

Halaman menu Diagnosis merupakan halaman yang digunakan pengecekan penyakit/gejala anemia, di menu diagnosis ini terdapat beberapa pertanyaan yang akan dipilih oleh user, user hanya bisa memilih pilihan “ya atau tidak”, user akan menjawab sebanyak 17 pertanyaan, setelah menjawab pertanyaan tersebut maka secara otomatis akan lanjut ke menu kesimpulan, dan user diwajibkan menjawab minimal 4 “Ya”, jika user menjawab <4 pertanyaan dengan jawaban “Ya” maka secara otomatis program langsung ke frame yang menyatakan bahwa user kemungkinan tidak terkena penyakit anemia.

TAMPILAN KESIMPULAN

Halaman 3.11 halaman menu diagnosis

Gambar 3.13 Halaman Menu Diagnosis

Keterangan:

1. Merupakan Text Viewuntuk menampilkan pertanyaan

2. Merupakan Radio Button untuk menampilka pilihan jawaban

3. Merupakan Button Next untuk melanjutkan ke pertanyaan selanjutnya Pertanyaan 1 [1]

Perdarahan Gusi dan Sebagainya

Ya [2] Tidak

[3] Next


(64)

3.6.5 Halaman Menu Data Pasien

Halaman menu Data Pasien merupakan halaman yang digunakan pengisian data-data pasien untuk bisa melanjutkan ke menu diagnosis.

Halaman 3.12 Data Pasien

Gambar 3.14. Halaman Menu Data Pasien

Keterangan:

1. Merupakan TextView untuk Menampilkan Judul

2. Merupakan TextView untuk menampilkan Nama Pasien 3. Merupakan EditText untuk Memasukkan Nama Pasien

4. Merupakan Radio Button untuk memilih Jenis Kelamin Pasien 5. Merupakan Edit Text untuk Memasukkan Berat badan Pasien 6. Merupakan Edit Text untuk Memasukkan Usia Pasien

Data Pasien

[1]

Nama Pasien [2] Text View

Usian Pasien [3] Text View Jenis Kelamin [4]

Laki-laki Perempuan Berat Badan [5] Text View

Tinggi Badan [6] Text View


(65)

7. Merupakan Button Next untuk melanjutkan ke Daftar pertanyaan 3.6.6 Halaman Menu Tentang Anemia

Halaman menu Tentang Anemia merupakan halaman yang bertujuan untuk mengetahui sekilas apa itu anemia dan apa saja jenis-jenis anemia, di halaman ini hanya membahas sedikit mengenai anemia.

Gambar 3.15. Tentang Anemia

Keterangan:

1. Merupakan Text View untuk Menampilkan Judul

2. Merupakan TextView untuk menampilkan isi Tentang Anemia

Tentang Anemia [1]

________________________________________________

________________________________________________

_____________________________________________[2]


(66)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang hasil implementasi dan pengujian sistem serta pembahasan dari hasil yang diperoleh.

4.1 Implementasi

Tahap implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman Java dan menggunakan Eclipse Juno. Selain itu, dari hasil uji coba yang telah dilakukan akan dianalisa apakah rancangan ini dapat memenuhi tujuan yang akan dicapai seperti yang telah dipaparkan pada Bab I. Setelah implementasi maka dilakukan pengujian terhadap sistem yang baru dan akan dilihat kekurangan-kekurangan pada aplikasi yang baru untuk pengembangan sistem selanjutnya.

4.1.1 Frame Login

Frame Login merupakan tampilan awal sistem yang muncul pada saat sistem pertama kali dijalankan. Frame Login berfungsi untuk meminta memasukkan akun yang telah terdaftar dari menu Regristrasi, Frame Login terdiri dari Username, Password, Tombol Login dan Tombol Regristrasi. Jika belum mempunyai akun maka harus terlebih dahulu memilih tombol regristrasi. Tampilan frame Login dapat dilihat pada Gambar 4.1


(67)

Gambar 4.1 Tampilan Frame Login

4.1.2 Frame Registrasi

Frame Registrasi merupakan frame yang digunakan untuk membuat akun, jika user belum mempunyai akun maka terlebih dahulu harus membuat akun, agar bisa melanjutkan ke menu diagnosis. Di Frame Registrasi ini terdapat username untuk nama, email untuk memasukkan email pribadi, password untuk membuat pasword pada akun user, tombol login jika sudah mengisi ketiga data sebelumnya dan tombol regristrasi jika kita sebelumnya sudah mempunyai akun. Gambar 4.2 di bawah ini menunjukkan tampilan frame Registrasi.


(68)

Gambar 4.2 Tampilan Frame Registrasi

4.1.3 Frame Menu Utama

Frame Menu Utama merupakan tampilan yang berisi judul skripsi, gambar latar serta tampilan menu. Tampilan Menu Utama terdiri dari menu Diagnosis, Tentang Anemia, serta menu Keluar untuk menutup halaman menu utama. Gambar 4.2 di bawah ini menunjukkan tampilan frame Menu Utama.

.


(69)

4.1.4 Frame Tentang Anemia

Frame Tentang Anemia merupakan frame yang berisikan tentang pengertian secara ringkas apa itu anemia. Adapun tampilan submenu petunjuk pada menu Tentang Anemiadapat dilihat pada Gambar 4.4

Gambar 4.4 Tampilan Frame Tentang Anemia

4.1.5 Frame Data Pasien

Frame Data Pasien merupakan untuk mengisi data-data pasien agar bisa melanjutkan ke menu diagnosis, di frame ini terdapat nama pasien, usia pasien, jenis kelamin, berat badan, tinggi badan dan tombol next untuk melanjutkan ke frame diagnosis. Adapun tampilan submenu petunjuk pada menu Data Pasien dapat dilihat pada Gambar 4.5


(1)

writer.flush(); writer.close();

}

catch(IOException e) {

e.printStackTrace(); }

}

private static void Teta(double teta_gejala) {

List<String> lists1 = new ArrayList<String>(); List<String> lista1 = new ArrayList<String>(); File folder = new

File(Environment.getExternalStorageDirectory() + "/ds");

String csvFile = folder.toString()+"/"+"himpunan.csv";

BufferedReader br = null; String line = "";

String cvsSplitBy = "#";

int n = 0; try {

br = new BufferedReader(new FileReader(csvFile)); while ((line = br.readLine()) != null) {

// use comma as separator

String[] himpunan = line.split(cvsSplitBy);

String str2 = himpunan[0]; //himpunan lama double densitas_b =

Double.parseDouble(himpunan[1]) ;

lists1.add(str2);

double cbt = bulat((teta_gejala * densitas_b));

lista1.add(String.valueOf(cbt));

}

} catch (FileNotFoundException e) { e.printStackTrace();

} catch (IOException e) { e.printStackTrace(); } finally {

if (br != null) { try {

br.close();


(2)

e.printStackTrace(); }

} }

try

{

String csv = folder.toString()+"/"+"teta.csv"; FileWriter writer = new FileWriter(csv); for(int m= 0 ; m <lists1.size() ; m++){

writer.append(lists1.get(m)); writer.append('#');

writer.append(lista1.get(m)); writer.append('\n');

}

writer.flush(); writer.close();

}//end ststement try penulisan catch(IOException e)

{

e.printStackTrace(); }

}

private static void Irisan(String a , double teta_gejala, double densitas_gejala ,double teta_total)

{

File folder = new

File(Environment.getExternalStorageDirectory() + "/ds");

String csvFile = folder.toString()+"/"+"himpunan.csv";

BufferedReader br = null; String line = "";

String cvsSplitBy = "#";

List<String> sethuruf = new ArrayList<String>(); List<String> setangka = new ArrayList<String>(); int n = 0;

try {

br = new BufferedReader(new FileReader(csvFile)); while ((line = br.readLine()) != null) {

// use comma as separator

String[] himpunan = line.split(cvsSplitBy); String str1 = a; // himpunan baru


(3)

String str3 = himpunan[1];

double densitas_b = 0; try{

densitas_b = Double.parseDouble(str3) ; }catch(NumberFormatException e){

throw new RuntimeException(str3 + " is not a number");

}

TreeSet<String> set1 = new TreeSet<String>(); TreeSet<String> set2 = new TreeSet<String>(); ArrayList aList= new

ArrayList(Arrays.asList(str1.split(",")));

ArrayList bList= new ArrayList(Arrays.asList(str2.split(",")));

for(int i=0;i<aList.size();i++) {

String k = String.valueOf(aList.get(i));

set1.add(k); }

for(int j=0;j<bList.size();j++) {

String l = String.valueOf(bList.get(j)) ;

set2.add(l); }

String [] vvv = intersection(set1, set2).toArray(new String[intersection(set1, set2).size()]);

String k = String.valueOf(intersection(set1, set2)); System.out.println("set1: " + set1); System.out.println("set2: " + set2);

System.out.println("Intersection: " + intersection(set1, set2));

String h = ""; int c = vvv.length; if(c==0){

sethuruf.add("*");

setangka.add(String.valueOf(densitas_b * densitas_gejala)); }

else{

String potong = (k.substring(1, k.length()-1));

sethuruf.add(potong+","); double cb = bulat((densitas_b * densitas_gejala));


(4)

}

n++; }

sethuruf.add(a); double cbb = bulat((teta_total*densitas_gejala));

setangka.add(String.valueOf(cbb)); } catch (FileNotFoundException e) {

e.printStackTrace(); } catch (IOException e) {

e.printStackTrace(); } finally {

if (br != null) { try {

br.close();

} catch (IOException e) { e.printStackTrace(); }

} }

try

{

String sFileName = folder.toString()+"/"+"irisan.csv";

FileWriter writer = new FileWriter(sFileName);

String[] huruf = sethuruf.toArray(new String[sethuruf.size()]);

String[] angka = setangka.toArray(new String[setangka.size()]);

int gg = sethuruf.size();

for(int m= 0 ; m < gg; m++){ String himp = huruf[m];

String buang_spasi = himp.replaceAll("\\s+",""); writer.append(buang_spasi);

writer.append("#"); String densi = angka[m]; writer.append(densi); writer.append("\n"); }

writer.flush(); writer.close();


(5)

}//end ststement try penulisan catch(IOException e)

{

e.printStackTrace(); }

}

//fungsi irisan

public static <T> Set<T> union(Set<T> setA, Set<T> setB) { Set<T> tmp = new TreeSet<T>(setA);

tmp.addAll(setB); return tmp;

}

public static <T> Set<T> intersection(Set<T> setA, Set<T> setB) { Set<T> tmp = new TreeSet<T>();

for (T x : setA)

if (setB.contains(x)) tmp.add(x);

return tmp; }

public static <T> Set<T> difference(Set<T> setA, Set<T> setB) { Set<T> tmp = new TreeSet<T>(setA);

tmp.removeAll(setB); return tmp;

}

public static <T> Set<T> symDifference(Set<T> setA, Set<T> setB) { Set<T> tmpA;

Set<T> tmpB;

tmpA = union(setA, setB);

tmpB = intersection(setA, setB); return difference(tmpA, tmpB); }

public static <T> boolean isSubset(Set<T> setA, Set<T> setB) { return setB.containsAll(setA);

}

public static <T> boolean isSuperset(Set<T> setA, Set<T> setB) { return setA.containsAll(setB);

}


(6)

DAFTAR RIWAYAT HIDUP

Data Pribadi

Nama

: Abdi Edhino Bangun

Tempat, Tanggal Lahir

: Medan, 10 Oktober 1990

Jenis Kelamin

: Laki-laki

Kewarganegaraan

: Indonesia

Status Perkawinan

: Belum Menikah

Tinggi dan Berat Badan

: 165 cm dan 65 kg

Agama

: Kristen Protestan

Alamat Lengkap

: Jl. Bunga Melati LK III Kemenangan Tani,

Medan

Nomor Handphone

: 087868724856

Email

: abdi.edhino@gmail.com

Pendidikan

Formal

1995

1996 : TK Pardis

1996

2002 : SD Negeri 064023, Medan

2002

2005 : SMP Swasta Katolik Budi Murni-2, Medan

2005

2008 : SMA Negeri 17, Medan

2008

2012 : Diploma III ( D3 ) Manajemen Informatika STMIK Kristen

Neumann Indonesia, Medan

Non Formal

2010 : Neumann English Course, Medan