Aplikasi sistem Pakar Berbasis Mobile Device Untuk Diagnosa Awal Gangguan Kesehatan
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
DWI REZEKI MALVIANTO
10105224
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
(2)
LEMBAR PENGESAHAN
APLIKASI SISTEM PAKAR BERBASIS MOBILE DEVICE
UNTUK DIAGNOSA AWAL GANGGUAN KESEHATAN
DWI REZEKI M
10105224
Menyetujui, Pembimbing
Muhammad Nasrun, S.Si., MT NIP.
Ketua Jurusan Teknik Informatika
Mira Kania Sabariah, S.T., M.T. NIP. 41277006008
(3)
APLIKASI SISTEM PAKAR BERBASIS MOBILE DEVICE
UNTUK DIAGNOSA AWAL GANGGUAN KESEHATAN
DWI REZEKI M
10105224
Penguji III
Tati Harihayati M., S.T., M.T. NIP. 41277006006 Penguji I
Linda Salma A, S.Si,. M.T. NIP. 41277006004
Penguji II
Muhammad Nasrun, S.Si., M.T. NIP.
(4)
i
ABSTRAK
APLIKASI SISTEM PAKAR BERBASIS MOBILE DEVICE
UNTUK DIAGNOSA AWAL GANGGUAN KESEHATAN
Oleh
Dwi Rezeki Malvianto 10105224
Tugas Akhir ini membahas tentang “Aplikasi Sistem Pakar Berbasis Mobile Device Untuk Diagnosa Awal Gangguan Kesehatan”. Aplikasi dibagi menjadi 5 bagian yaitu : Gangguan, tindakan sendiri, pencarian, bantuan aplikasi dan tentang. Pengguna berinteraksi dengan aplikasi melalui ponsel. Fungsionalitas yang disediakan untuk pengguna adalah menu Gangguan untuk menampilkan macam-macam gangguan kesehatan dan memilih ganguan kesehatan untuk memulai proses diagnosis, menu Tindakan Sendiri untuk menampilkan berbagai tindakan yang dapat dilakukan sendiri dalam menangani gejala, menu Pencarian untuk mencari gangguan kesehatan baik gangguan kesehatan umum ataupu gangguan kesehatan khusus dengan memasukkan kata kunci, menu Bantuan untuk menampilkan informasi bagaimana menggunakan menu-menu dalam aplikasi diagnosa gangguan kesehatan ini dan menu Tentang untuk menampilkan informasi tentang aplikasi diagnosa gangguan kesehatan ini.
Aplikasi sistem pakar yang dibuat ini mampu mendiagnosa gangguan kesehatan yang dialami sebagai diagnosa awal. Aplikasi sistem pakar ini akan memberikan informasi kepada pengguna berupa kemungkinan penyebab sebagai hasil diagnosa, panduan mencari bantuan medis, dan saran tindakan sendiri yang dapat dilakukan untuk mengatasi kemungkinan penyebabanya. Pengguna juga dapat melakukan pencarian gangguan kesehatan berdasarkan gejala, dan pencarian tindakan sendiri menangani gangguan kesehatan.
(5)
ii
Aplikasi ini juga dilengkapi dengan elemen-elemen multimedia seperti teks, dan gambar. Pengujian aplikasi menggunakan dua metode yaitu pengujian fungsionalitas aplikasi yang dilakukan oleh pengembang aplikasi menggunakan emulator J2ME dan ponsel yang berbasis Java. Perangkat lunak untuk pengembangan aplikasi menggunakan Java 2 Micro Edition (J2ME) versi 2.2.
(6)
iii
ABSTRACT
EXPERT SYSTEM APPLICATION FOR EARLY DIAGNOSIS
OF HEARING HEALTH BASED ON MOBILE DEVICE
By
Dwi Rezeki Malvianto 10105224
End Task is about the "Expert system application for early diagnosis of hearing health based on mobile device". The application is divided into 5 sections namely: attack, measurement, search, help and about. Users interact with applications via mobile phones. Functionality provided to users are: attack menu to display various health disorders and selected health problems to begin the process of diagnosis, measurement menu to display the various actions that can be done alone in dealing with symptoms, search menu to search for good health disorders or general medical disorders specific health problems by entering a keyword, help menu to display information on how to use menus in the application of this health disorder diagnosis and about menu to display information about the application of this health disorder diagnosis.
Expert system application that created it is able to diagnose health problems experienced as early diagnosis. This expert system application will provide information to the user as a possible cause of diagnostic results, guidelines for medical assistance, and suggestions for actions which can be done to overcome the possible causes. Users can also search based on symptoms of health problems, and the search for his own actions dealing with health problems.
This application is also equipped with multimedia elements such as text, and images. Testing applications using two methods of testing the functionality of applications by application developers use J2ME emulator and the Java-based
(7)
(8)
viii DAFTAR ISI
LEMBAR PENGESAHAN
ABSTRAK ... i
ABSTRACT ... iii
KATA PENGANTAR ... v
DAFTAR ISI ... viii
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xv
DAFTAR SIMBOL ... xvii
DAFTAR LAMPIRAN ... xix
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 3
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 4
1.5 Metodologi Penelitian ... 5
1.6 Sistematika Penulisan ... 7
BAB II LANDASAN TEORI 2.1 Teknologi Java ... 9
2.1.1 Arsitektur Java... 9
2.1.2 Java 1 ... 9
2.1.3 Java 2 ... 10
2.2 Java 2 Micro Edition (J2ME) ... 11
2.2.1 Konfigurasi... 11
2.2.2 Profil ... 12
2.3 MIDlet ... 14
2.3.1 Daur Hidup MIDlet ... 14
(9)
ix
2.4.3 Statechart Diagra... ... 17
2.4.4 Activity Diagram... ... 17
2.4.5 Sequence Diagram... .... 17
2.4.6 Collaboration Diagram... .... 17
2.4.7 Component Diagram... .... 18
2.4.8 Deployment Diagram... .... 18
2.5 Sistem Pakar ... 18
2.5.1 Pengertian Sistem Pakar ... 18
2.5.2 Ciri-ciri Sistem Pakar ... 19
2.5.3 Komponen Sistem Pakar ... 20
2.5.4 Representasi Pengetahuan ... 22
2.6 Tree ... 24
2.7 Metode Inferensi Backward Chaining ... 25
2.8 Metode Pelacakan ... 26
2.8.1 Breadth First (Pelacakan Melebar) ... 26
2.8.2 Depth First Search (Pelacakan Mendalam)... 27
2.9 Gangguan Kesehatan ... 28
2.9.1 Jenis Gangguan Kesehatan ... 29
2.9.1.1 Gangguan Kesehatan Anak ... 29
2.9.1.2 Gangguan Kesehatan Orang Dewasa ... 33
2.9.2 Kemungkinan Penyebab dan Tindakan ... 38
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem ... 40
3.2 Analisis Masalah ... 40
3.3 Spesifikasi Perangkat Lunak ... 69
3.4 Spesifikasi Perangkat Keras ... 70
3.5 Perancangan Perangkat Lunak ... 71
(10)
x
3.5.2 Hasil Perancangan ... 71
3.6 Spesifikasi User ... 72
3.7 Perancangan UML (Unified Modelling Language ... 72
3.7.1 Use Case Diagram ... 72
3.7.2 Definisi Use Case ... 73
3.7.3 Skenario Use Case ... 73
3.7.4 Realisasi Use Case Tahap Analisis... 80
3.7.4.1 Kelas Analisis Use Case Mendiagnosa Gangguan Kesehatan ... 80
3.7.4.2 Kelas Analisis Use Case Mencari Gangguan Berdasarkan Gejala ... 81
3.7.4.3 Kelas Analisis Use Case Mencari Tindakan Sendiri ... 81
3.7.4.4 Kelas Analisis Use Case Tindakan Sendiri ... 82
3.7.4.5 Kelas Analisis Use Case Bantuan ... 82
3.7.4.6 Kelas Analisis Use Case Tentang ... 83
3.7.5 Sequence Diagram ... 83
3.7.6 Activity Diagram ... 88
3.7.7 Class Diagram ... 92
3.8 Perancangan Basis Pengetahuan ... 94
3.9 Perancangan Mesin Inferensi ... 98
3.10Perancangan Arsitektur Menu ... 103
3.11Perancangan Antarmuka ... 104
3.11.1 Perancangan Antarmuka Input ... 104
3.11.1.1 Rancangan Antarmuka Gangguan ... 104
3.11.1.2 Rancangan Antarmuka Tanya Jawab Gejala ... 106
3.11.1.3 Rancangan Antarmuka Tindakan Sendiri ... 108
3.11.1.4 Rancangan Antarmuka Pencarian ... 109
3.11.2 Perancangan Antarmuka Output ... 111
3.11.2.1 Rancangan Antarmuka Menu Utama ... 111
3.11.2.2 Rancangan Antarmuka Hasil Diagnosis ... 113
(11)
xi
3.11.2.6 Rancangan Antarmuka Tentang ... 117
3.11.3 Perancangan Antarmuka Pesan ... 118
3.12Jaringan Semantik ... 120
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Perangkat Lunak ... 122
4.2 Implementasi Perangkat Keras ... 122
4.3 Implementasi Class ... 123
4.4 Implementasi Antarmuka ... 123
4.4.1 Tampilan Splash Screen ... 124
4.4.2 Tampilan Menu Utama ... 125
4.4.3 Tampilan Gangguan ... 125
4.4.4 Tampilan Tindakan Sendiri... 126
4.4.5 Tampilan Pencarian ... 127
4.4.6 Tampilan Bantuan ... 129
4.4.7 Tampilan Tentang... 130
4.5 Pengujian Sistem ... 131
4.5.1 Rencana Pengujian ... 131
4.5.2 Kasus dan Hasil Pengujian ... 132
4.5.3 Kesimpulan Hasil Pengujian Alpha ... 134
4.5.4 Pengujian Betha ... 134
4.5.5 Kesimpulan Hasil Pengujian Betha ... 139
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 140
5.2 Saran ... 140
(12)
xii
DAFTAR GAMBAR
Gambar 1.1 Waterfall ... 6
Gambar 2.1 Alur Hidup MIDlet ... 14
Gambar 2.2 Konsep Dasar Fungsi Sistem Pakar ... 19
Gambar 2.3 Komponen-komponen Sistem Pakar ... 20
Gambar 2.4 Binary Tree ... 25
Gambar 2.5 Konsep Backward Chaining ... 26
Gambar 2.6 Metode Pelacakan Breadth First ... 27
Gambar 2.7 Metode Pelacakan Depth First ... 28
Gambar 3.1 Alur Keputusan ... 45
Gambar 3.2 Alur Keputusan Pada Gangguan Dewasa Umum ... 46
Gambar 3.3 Alur Keputusan Pada Gangguan Dewasa Khusus ... 51
Gambar 3.4 Alur Keputusan Pada Gangguan Anak Bayi ... 57
Gambar 3.5 Alur Keputusan Pada Gangguan Anak Segala Usia dan Remaja ... 64
Gambar 3.6 Use Case Diagram ... 72
Gambar 3.7 Kelas Analisis Use Case Mendiagnosa Gangguan Kesehatan ... 80
Gambar 3.8 Kelas Analisis Use Case Mencari Gangguan Berdasarkan Gejala ... 81
(13)
xiii
Gambar 3.12 Kelas Analisis Use Case Tentang ... 83
Gambar 3.13 Sequence Diagram Mendiagnosa Gangguan Kesehatan ... 84
Gambar 3.14 Sequence Diagram Mencari Gangguan Kesehatan ... 85
Gambar 3.15 Sequence Diagram Mencari Tindakan Sendiri ... 86
Gambar 3.16 Sequence Diagram Melihat Tindakan Sendiri... 87
Gambar 3.17 Sequence Diagram Melihat Bantuan Aplikasi ... 87
Gambar 3.18 Sequence Diagram Tentang Aplikasi ... 88
Gambar 3.19 Activity Diagram Mendiagnosa Gangguan Kesehatan ... 89
Gambar 3.20 Activity Diagram Melihat Tindakan Sendiri ... 90
Gambar 3.21 Activity Diagram Mencari Gangguan Kesehatan atau Tindakan Sendiri... 91
Gambar 3.22 Activity Diagram Bantuan ... 91
Gambar 3.23 Activity Diagram Tentang... 92
Gambar 3.24 Class Diagram ... 93
Gambar 3.25 Perancangan Mesin Inferensi Untuk Gangguan Kesehatan Batuk ... 99
Gambar 3.26 Perancangan Arsitektur Menu ... 104
Gambar 3.27 Rancangan Antarmuka Gangguan ... 105
Gambar 3.28 Rancangan Antarmuka Daftar Gangguan-gangguan Kesehatan ... 106
(14)
xiv
Gambar 3.30 Rancangan Antarmuka Tindakan Sendiri ... 108
Gambar 3.31 Rancangan Antarmuka Daftar Tindakan Sendiri ... 109
Gambar 3.32 Rancangan Antarmuka Pencarian ... 110
Gambar 3.33 Rancangan Antarmuka Pencarian (memasukkan kata kunci) 111 Gambar 3.34 Rancangan Antarmuka Splash Screen ... 112
Gambar 3.35 Rancangan Antarmuka Halaman Utama ... 113
Gambar 3.36 Rancangan Antarmuka Hasil Diagnosis ... 114
Gambar 3.37 Rancangan Antarmuka Informasi Tindakan Sendiri ... 115
Gambar 3.38 Rancangan Antarmuka Hasil Pencarian ... 116
Gambar 3.39 Rancangan Antarmuka Bantuan ... 117
Gambar 3.40 Rancangan Antarmuka Tentang ... 118
Gambar 3.41 Rancangan Antarmuka Pesan ... 119
Gambar 3.42 Jaringan Semantik ... 120
Gambar 4.1 Splash Screen ... 124
Gambar 4.2 Menu Utama ... 125
Gambar 4.3 Halaman Utama ... 126
Gambar 4.4 Tindakan Sendiri... 127
Gambar 4.5 Halaman Pencarian ... 128
Gambar 4.6 Halaman Pencarian (memasukkan kata kunci) ... 129
Gambar 4.7 Halaman Bantuan ... 130
(15)
xv
Tabel 2.1 Perbandingan Antara CDC dan CLDK ... 12
Tabel 3.1 Jenis Gangguan Kesehatan Dewasa Umum ... 47
Tabel 3.2 Jenis Gangguan Kesehatan Dewasa Khusus ... 52
Tabel 3.3 Jenis Gangguan Kesehatan Anak Bayi ... 58
Tabel 3.4 Jenis Gangguan Kesehatan Anak Segala Usia dan Remaja .. 65
Tabel 3.5 Spesifikasi User ... 72
Tabel 3.6 Definisi Use Case ... 73
Tabel 3.7 Skenario Use Case Mendiagnosis Gangguan Kesehatan ... 74
Tabel 3.8 Skenario Use Case Mencari Gangguan Berdasarkan Gejala 75
Tabel 3.9 Skenario Use Case Mencari Tindakan Sendiri ... 76
Tabel 3.10 Skenario Use Case Melihat Tindakan Sendiri ... 78
Tabel 3.11 Skenario Use Case Melihat Bantuan Aplikasi ... 79
Tabel 3.12 Skenario Use Case Melihat Tentang Aplikasi ... 79
Tabel 3.13 Fakta Pertanyaan Gejala Gangguan Kesehatan Batuk ... 94
Tabel 3.14 Fakta Kemungkinan Penyebab dan Tindakan Gangguan Kesehatan Batuk ... 95
Tabel 4.1 Implementasi Class ... 123
Tabel 4.2 Pengujian Sistem ... 132
Tabel 4.3 Pengujian Gangguan ... 133
Tabel 4.4 Pengujian Tindakan Sendiri ... 133
(16)
xvi
Tabel 4.6 Pengujian Bantuan ... 134 Tabel 4.7 Pengujian Tentang ... 134 Tabel 4.8 Kuesioner ... 135
(17)
xvii
DAFTAR SIMBOL 1. Simbol UML (Unified Modeling Language)
No Daftar Simbol Nama
1.
NewUseCase
Use Case
2.
Aktor
Aktor
3.
Ektends
4.
Include 5.
Start 6.
End
7.
Decision
9.
NewState State
10.
NewActivity Activity state
11.
Transition <<extend>>
(18)
xviii
12. NewClass
Class
13.
Boundry
14.
Control
15.
Entity
16.
(19)
xix
DAFTAR LAMPIRAN
Lampiran A Tampilan Antar Muka ... A-1 Lampiran B Listing Program ... B-1 Lampiran C Hasil Kuesioner ... C-1 Lampiran D Pohon Keputusan ... D-1
(20)
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti layaknya para pakar (expert). Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para pakar/ahli. Dengan pengembangan sistem pakar, diharapkan bahwa orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktifitasnya sebagai asisten yang sangat berpengalaman.
Sistem pakar dikembangkan dalam berbagai bidang, termasuk dalam bidang medis. Saat ini kebutuhan manusia akan pelayanan medis yang lebih baik sangat mendesak, yang berarti dukungan instrumentasi dan informatika medis modern (telemedis) menjadi sangat dibutuhkan termasuk metode untuk membantu analisisnya sehingga dihasilkan diagnosis yang lebih optimal.
Mobile device atau perangkat bergerak sebagai salah satu dari teknologi telekomunikasi tidak berhenti untuk terus meningkatkan teknologinya, yaitu dengan adanya aplikasi yang terdapat pada perangkat bergerak. Dulu aplikasi-aplikasi ini hanya dapat dibuat dan dikembangkan oleh perusahan perangkat bergerak yang bersangkutan. Tapi sekarang dengan adanya standar bahasa pemrograman J2ME
(21)
(Java 2 Micro Edition), semua orang dapat membuat dan mengembangkan aplikasi-aplikasi yang diinginkan untuk perangkat bergerak.
Aplikasi-aplikasi yang dibuat dapat bermacam-macam, misalnya tentang kesehatan. Masyarakat kini semakin memahami pentingnya arti kesehatan, apalagi jika itu bersangkutan dengan dirinya sendiri atau dengan keluarganya. Masyarakat juga semakin mandiri dalam menangani gangguan-gangguan kesehatan. Banyak yang telah sadar bahwa berbagai gangguan/sakit ringan yang biasa seperti batuk, pilek, pusing atau diare dapat ditangani sendiri tanpa memanggil ahli kesehatan atau menjalani pengobatan yang rumit. Gangguan kesehatan ini dapat sembuh dengan sendirinya, bahkan tanpa mendapatkan pengobatan sekalipun.
Akan menjadi masalah bagi yang tidak terlatih secara medis, adalah bahwa gangguan/sakit ringan semacam ini bisa jadi merupakan petunjuk awal adanya sakit yang serius. Padahal setiap penyakit sebelum mencapai tahap yang kronis umumnya menunjukkan gejala-gejala gangguan/sakit yang ringan, seperti pusing, batuk, atau diare. Sayangnya karena ketidaktahuan tersebut, gejala-gejala yang dirasakan akan diabaikan dan tidak diperhatikan.
Sekarang sudah banyak aplikasi yang dibuat untuk membantu masyarakat mendiagnosa awal gangguan kesehatan yang berbasis desktop. Aplikasi yang sudah ada sekarang hanya menjelaskan penyakit-penyakit yang sudah kronis. Dan aplikasi tersebut masih kurang efisien karena tidak dapat digunakan setiap saat.
Dengan memanfaatkan standar bahasa pemrograman J2ME, aplikasi yang terkait dengan gangguan kesehatan yang biasa dialami oleh masyarakat dapat dibuat untuk menjadi aplikasi pada perangkat bergerak. Gangguan-gangguan kesehatan ini
(22)
3
diimplementasikan menjadi sebuah sistem pakar berbasis mobile device diharapkan dapat memudahkan pengguna untuk mencari diagnosa awal dari gangguan-gangguan kesehatan yang sedang dialami secara cepat lewat perangkat bergerak, misalnya handphone, sehingga lebih mudah dibandingkan harus mendiagnosa melalui sistem pakar yang berbasis dekstop ataupun web.
Bertolak dari latar belakang tersebut, maka melalui Tugas Akhir ini penulis bermaksud merealisasikan masalah tersebut dengan memilih judul “Aplikasi Sistem Pakar Berbasis Mobile Device Untuk Diagnosa Awal Gangguan Kesehatan”. 1.2 Rumusan Masalah
Berdasarkan latar belakang diatas dapat dirumuskan permasalahan yang menjadi objek penelitian dan pengembangan tugas akhir ini adalah bagaimana merancang dan membangun sistem pakar yang dapat membantu dan memberikan diagnosis awal dari gejala dan gangguan-gangguan kesehatan ringan yang sedang dialami sebagai sebuah aplikasi mobile.
1.3 Maksud dan Tujuan
Maksud dari penelitian tugas akhir ini adalah membuat aplikasi sistem pakar berbasis mobile divice untuk diagnosa awal gangguan kesehatan.
Sedangkan tujuan dari penelitian tugas akhir ini adalah sebagai berikut : 1. Dapat membantu pengguna untuk mendeteksi awal gangguan kesehatan yang
sedang dialami. Sehingga pengguna dapat mengetahui diagnosa awal yang kemudian dapat dilanjutkan ke tahap selanjutnya, misalnya langsung mengecek ke dokter.
(23)
2. Mampu memberikan kemudahan dan manfaat kepada masyarakat dalam mendiagnosa gangguan kesehatan secara mandiri.
1.4 Batasan Masalah
Batasan masalah pada penelitan tugas akhir ini bertujuan untuk menyederhanakan masalah dan sebagai kontrol agar tidak terjadi penyimpangan dari apa yang diharapkan dalam penelitian ini. Batasan-batasan tersebut antara lain :
1. Sistem pakar dibuat hanya untuk mendiagnosis 150 jenis gangguan kesehatan, yang terdiri dari 55 gangguan kesehatan pada anak-anak dan 95 gangguan kesehatan pada orang dewasa.
2. Penanganan setiap gangguan kesehatan pada penderita/pengguna hanya ditujukan untuk kelompok usia :
a. Anak-anak :
1. Bayi dibawah usia setahun
2. Anak-anak segala usia dan usia remaja, yaitu usia 2 tahun sampai 18 tahun.
b. Orang dewasa, yaitu usia 19 tahun ke atas.
3. Jenis keluhan gangguan kesehatan didasarkan oleh Dr. Muhammad Yusuf. 4. Output berupa kemungkinan penyebab suatu gejala, saran cara mengatasi
sendiri gejala yang dirasakan, dan panduan mencari bantuan medis.
5. Pengetahuan atau basis data sistem pakar direpsentasikan berbasis aturan (rule). 6. Menggunakan metode inferensi penalaran mundur atau Backward Chaining. 7. Penyakit yang terdapat dalam aplikasi ini bersifat statis.
(24)
5
1.5 Metodologi Penelitian
Metodologi penelitian adalah suatu cara berurutan yang dilakukan dalam penelitian. Metode yang digunakan adalah untuk membantu dalam merancang Aplikasi Sistem Pakar Berbasis Mobile Device Untuk Diagnosa Awal Gangguan Kesehatan adalah sebagai berikut :
1.5.1 Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
1. Metode Observasi
Metode observasi yaitu, mengumpulkan data-data yang berkaitan dengan penelitian tugas akhir ini untuk menentukan input dan output yang sesuai dan efektif.
2. Metode Kepustakaan (Library Research)
Metode kepustakaan atau library research yaitu, mengumpulkan data-data yang diperoleh dengan cara mengumpulkan data dari buku-buku, referensi, dan artikel-artikel yang sesuai dengan penelitian tugas akhir ini.
1.5.2 Metode Pembuatan Perangkat Lunak
Tahapan pembuatan perangkat lunak dilakukan sesuai dengan metode waterfall. Tahapan-tahapan pada metode ini dirincikan sebagai berikut :
A. Analisis
Merupakan tahapan yang dilakukan untuk mengetahui hal-hal yang diperlukan dalam melaksanakan penelitian.
(25)
B. Perancangan
Tahapan ini meliputi perancangan perangkat lunak yang dimulai dengan perancangan aliran data hingga perancangan antar muka.
C. Coding
Pada tahapan ini dilakukan pengkodean terhadap analisis dan perancangan yang telah dibuat kedalam bahasa yang dapat dimengerti oleh mesin atau komputer.
D. Pengujian
Sebelum melakukan implementasi, terlebih dahulu dilakukan pengujian terhadap perangkat lunak yang telah dibuat, hingga tidak terdapat kesalahan maka perangkat lunak tersebut siap diimplementasikan.
E. Implementasi
Merupakan tahap akhir pada metode watefall. Pada tahap ini aplikasi yang dihasilkan sudah bebas dari kesalahan dan siap dirilis ke publik.
Pengujian
Implementasi Coding
Perancangan Analisis
(26)
7
1.6 Sistematika Penulisan
Dalam penyusunan penelitian tugas akhir ini, sistematika penulisan dibagi menjadi beberapa bab sebagai berikut :
BAB I PENDAHULUAN
Berisi pendahuluan yang menjelaskan mengenai latar belakang, identifikasi masalah, batasan masalah, maksud dan tujuan penelitian, metodologi penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Berisi tinjauan pustaka yang merupakan teori dasar dalam memahami permasalahan yang berkaitan teknologi Java, J2ME (Java 2 Micro Edition), MIDlet, UML (Unified Modelling Language), konsep sistem pakar, dan jenis keluhan/gejala gangguan kesehatan ringan dan kemungkinan penyebabnya.
BAB III ANALISIS MASALAH
Berisi tentang analisa kebutuhan apa saja yang diperlukan untuk merancang sistem serta perangkat lunak. Dari analisa ini dijelaskan hasil awal yang akan dicapai yaitu meliputi analisa kebutuhan data masukan, analisa kebutuhan proses, analisa kebutuhan sistem, fungsi-fungsi yang digunakan, kinerja yang harus diperlukan dan antar muka yang diinginkan serta analisis sistem yang meliputi pengertian sistem dan sistem pendukung pengolah data baik software maupun hardware, dan desain sistem. BAB IV PERANCANGAN DAN IMPLEMENTASI
Bagian ini membahas tentang implementasi perangkat lunak dan analisis perangkat lunak. Pada bagian implementasi perangkat lunak membahas tentang
(27)
tampilan perangkat lunak yang telah dibangun dan implementasi perangkat lunak pada perangkat bergerak.
BAB V SIMPULAN DAN SARAN
Berisi kesimpulan yang merupakan rangkuman dari hasil penelitian tugas akhir dan saran-saran yang perlu diperhatikan bagi pengembangan sistem berdasarkan pengujian yang telah dilakukan.
(28)
9
BAB II
LANDASAN TEORI
2.1 Teknologi Java
Java adalah bahasa pemrograman yang disusun oleh James Gosling yang dibantu oleh rekan-rekannya seperti Patrick Naughton, Chris Warth, Ed Rank, dan Mike Sheridan di suatu perusahaan perangkat lunak yang bernama Sun Microsystems pada tahun 1991. Bahasa pemrograman ini mula-mula diinisialisasi dengan nama
“Oak”, namun pada tahun 1995 diganti namanya menjadi “Java”.
2.1.1 Arsitektur Java
Secara arsitektur, Java tidak berubah sedikit pun semenjak awal mula bahasa tersebut dirilis. Kompiler Java (yang disebut dengan javac atau Java Compiler) akan mentransformasikan kode-kode dalam bahasa Java ke dalam suatu bytecode.
Bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat
dieksekusi melalui sebuah mesin komputer abstrak, yang disebut dengan JVM (Java Virtual Machine). JVM juga sering dinamakan sebagai interpreter, karena sifatnya yang selalu menerjemahkan kode-kode yang tersimpan dalam bytecode dengan cara baris demi baris.
2.1.2 Java 1
Pada awal rilisnya, versi lama Java masih dikenal dengan sebutan JDK (Java Development Kit). Semua kebutuhan untuk pengembangan dan eksekusi program
(29)
dalam JDK masih tergabung menjadi satu. Penamaan ini berlaku sampai Java 1.1. Setelah Java 1.2 rilis, Sun Microsystems menamainya dengan JSDK (Java Software Development Kit). Pada JSDK, kebutuhan untuk pengembangan program dipisahkan dengan kebutuhan eksekusi program. Bagian software yang digunakan untuk kebutuhan eksekusi program disebut dengan JRE (Java-Runtime Environment).
2.1.3 Java 2
Pada perkembangan selanjutnya Sun Microsystems memperkenalkan java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK dan JRE versi 1.2. Aplikasi-aplikasi java yang kompatibel dengan Java 2 ini dikenal dengan Java 2 Compliant. Pada Java 2 ini, Java dibagi menjadi tiga kategori, yaitu :
1. Java 2 Standard Edition (J2SE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer).
2. Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada lingkungan enterprise, dengan menambah fungsionalitas-fungsionalitas Java semacam EJB (Enterprise Java Bean), Java COBRA, Servlet dan JSP, serta Java XML (Extensible Markup Language)
3. Java 3 Micro Edition (J2ME)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada handled devices atau perangkat-perangkat semacam handphone, PDA, dan PocketPC.
(30)
11
2.2 Java 2 Micro Edition (J2ME)
J2ME dirancang untuk dapat menjalankan program Java pada perangkat-perangkat semacama handphone dan PDA, yang memiliki karakteristik yang berbeda dengan komputer biasa, misalnya dalam keterbatasan memori dalam handphone dan PDA.
J2ME terbentuk dari beberapa komponen. Komponen-komponen tersebut antara lain :
1. Java Virtual Machine (JVM). Yaitu komponen untuk menjalankan
program-program Java pada emulator atau handled devices.
2. Java API (Application Programming Interface). Yaitu komponen yang
merupakan kumpulan librari untuk menjalankan dan mengembangkan program Java pada handled devices.
3. Tools lain untuk pengembangan aplikasi Java, semacam emulator Java Phone, emulator Sun.
2.2.1 Konfigurasi
Konfigurasi merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Perlu diperhatikan bahwa JVM yang dimaksud disini bukanlah JVM tradisional seperti yang terdapat pada J2SE, melainkan JVM yang sudah didesain secara khusus untuk alat. Ada dua kategori konfigurasi J2ME saat ini, yaitu :
1. CLDC (Connected Limited Device Configuration)
Kategori ini umumnya digunakan untuk aplikasi Java pada handphone semacam Nokia, Samsung Java Phone, Motorolla i85s, organizer/PDA (personal digital
(31)
assistant) semacam PALM, PocketPC, dan two way pagers. Umumnya perangkat-perangkat tersebut hanya memiliki memori berukuran 160-512 KiloBytes.
2. CDC (Connected Device Configuration)
Kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-perangkat handled devices dengan ukuran memori paling tidak 2 Megabytes. Contohnya adalah internet TV, Nokia Communicator dan car television atau TV pada mobil.
Perbedaan antara CDC dan CLDC dapat dilihat dari tabel dibawah ini Tabel 2.1 Tabel Perbandingan Antara CDC dan CLDC
CLDC CDC
Mengimplementasikan subset dari J2SE Mengimplementasikan seluruh fitur pada J2SE
JVM yang digunakan dikenal dengan nama KVM
JVM yang digunakan dikenal dengan nama CVM
Digunakan pada perangkat handled dengan ukuran memori terbatas (160 – 512 Kbytes)
Digunakan pada perangkat handled dengan ukuran memori minimal 2 Mbytes
Prosesor : 16 Bit atau 32 Bit Prosesor : 32 Bit
2.2.2 Profil
Profil merupakan bagian perluasan dari konfigurasi, yaitu sekumpulan kelas yang terdapat pada konfigurasi, terdapat juga kelas-kelas spesifik yang didefinisikan lagi di dalam profil. Dengan kata lain, profil akan membantu secara fungsional yaitu
(32)
13
dengan menyediakan kelas-kelas yang tidak terdapat di level konfigurasi. Berikut ini adalah profil J2ME yang tersedia saat ini yaitu :
1. MIDP (Mobile Information Device Profile)
MIDP adalah profil yang disediakan oleh Sun Microsystems. MIDP menyediakan librari-librari Java untuk implementasi dasar antarmuka (GUI), implementasi jaringan (networking), database, dan timer. MIDP dirancang khususnya untuk wireless phone dan pager.
2. PDAP (Personal Digital Assistant Profile)
Yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi CLDC dan digunakan khusus untuk menambahkan kemampuan-kemampuan lebih apabila dibandingkan dengan penggunaan profil MIDP.
3. Foundation Profile
Yaitu profil yang digunakan untuk konfigurasi CDC. Profil ini menambahkan beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga sebagai pondasi untuk membentuk profil baru lainnya.
4. Personal Profile
Yaitu profil yang mendefinisikan ulang PersonalJava sebagai profil yang dapat digunakan sebagai profil dalam J2ME. Profil ini merupakan hasil perluasan dari Foundation Profile.
5. RMI Profile
Yaitu profil yang menambahkan dukungan RMI (Remote Method Invocation) ke dalam konfigurasi CDC.
(33)
2.3 MIDlet
MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk.
2.3.1 Daur Hidup MIDlet
MIDlet terdiri dari beberapa metode yang harus ada, yaitu construktor() protected void startApp() throws MIDletStateChangeException, protected void
pauseApp(), protected void destroyApp(boolean unconditional) throws
MIDletStateChangeException. Alur hidup MIDlet dapat dilihat pada gambar 2.1.
Konstruktor
Jedah Aktif
Terminasi
MIDlet memanggil pauseApp()
MIDlet memanggil startApp() MIDlet memanggil
destroyApp() Untuk terminasi
Gambar 2.1 Alur Hidup MIDlet
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu
(34)
15
pada startApp(). Metode tersebut diimplementasikan sebagai protected dengan maksud agar MIDlet lain tidak dapat memanggil metode tersebut.
Ketika keluar dari MIDlet, maka metode destroyApp() akan dijalankan sebelum MIDlet benar-benar tidak berjalan lagi. DestroyApp() akan memanggil
notifyDestroyed(), dan notifyDestroyed() akan memberitahu platform untuk
menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet.
2.4 UML (Unified Modelling Language)
Unified Modelling Language (UML) adalah sebuah bahasa untuk
menentukan, visualisasi, konstruksi, dan mendokumentasikan artifacts dari sistem software, untuk memodelkan bisnis, dan sistem nonsoftware lainnya. Artifacts adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifacts dapat berupa model, deskripsi, atau software.
Untuk membuat suatu model, UML memiliki diagram grafis yang diberi nama berdasarkan sudut pandang yang berbeda-beda terhadap sistem dalam proses analisa atau rekayasa. Diagram grafis tersebut antara lain :
1. Use case diagram
2. Class diagram
3. Behavior diagram :
a. Statechart diagram b. Activity diagram c. Interaction diagram :
(35)
1. Sequence diagram 2. Collaboration diagram
4. Implementation diagram :
a. Component diagram
b. Deployment diagram
2.4.1 Use Case Diagram
Use case diagram menjelaskan manfaat sistem jika dilihat menurut
pandangan orang yang berada diluar sistem (actor). Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar.
2.4.2 Class Diagram
Class diagram membantu dalam visualisasi struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class diagram memperlihatkan hubungan antarkelas dan penjelasan detail tiap-tiap kelas didalam model desain dari suatu sistem .
Selama proses analisis, class diagram memperlihatkan aturan-aturan dan tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat.
(36)
17
2.4.3 Statechart Diagram
Statechart diagram dapat digunakan untuk memodelkan perilaku dinamis satu kelas atau objek. Statechart diagram juga dapat memperlihatkan urutan keadaan sesaat (state) yang dilalui sebuah objek, kejadian yang menyebabkan sebuah transisi dari satu state atau aktivitas kepada yang lainnya, dan aksi yang menyebabkan perubahan satu state atau aktivitas.
2.4.4 Activity Diagram
Activity diagram memodelkan alur kerja sebuah proses bisnis dan urutan aktivitas dalam suatu proses. Diagram ini sangat mirip dengan flowchart karena dapat memodelkan sebuah alur kerja satu aktivitas ke aktivitas lainnya atau dari satu aktivitas ke dalam keadaan sesaat (state). Seringkali bermanfaat bila membuat sebuah proses activity diagram terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.
2.4.5 Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case.
2.4.6 Collaboration Diagram
Collaboration diagram melihat pada interaksi dan hubungan terstruktur antarobjek. Tipe diagram ini menekankan pada hubungan antarobjek, berbeda dengan
(37)
sequence diagram yang menekankan pada urutan kejadian. Collaboration diagram digunakan sebagai alat untuk menggambarkan interaksi yang mengungkapkan keputusan mengenai perilaku sistem.
2.4.7 Component Diagram
Component diagram menggambarkan alokasi semua kelas dan objek ke dalam komponen-komponen dalam desain fisik sistem software. Diagram ini memperlihatkan pengaturan dan kebergantungan antara komponen-komponen software, seperti source code, binary code, dan komponen tereksekusi (executable components).
2.4.8 Deployment Diagram
Deployment diagram memperlihatkan pemetaan software kepada hardware. Setiap model hanya memiliki satu diagram deployment.
2.5 Sistem Pakar
2.5.1 Pengertian Sistem Pakar
Sistem pakar merupakan salah satu cabang dari ilmu kecerdasan buatan (Artifical Intelegence). Suatu sistem pakar adalah sebuah sistem komputer yang menyamai (emulates) kemampuan pengambilan keputusan dari seorang pakar. Emulates berarti bahwa sistem pakar diharapkan dapat bekerja dalam semua hal seperti seorang pakar.
Konsep dasar sistem pakar adalah pengguna (user) menyampaikan fakta atau informasi kepada sistem pakar dan kemudian menerima saran dari pakar atau jawaban
(38)
19
ahlinya. Bagian dalam sistem pakar terdiri dari 2 komponen utama, yaitu knowledge base yang berisi knowledge dan mesin inferensi yang menggambarkan kesimpulan. Kesimpulan tersebut adalah respons dari sistem pakar atas permintaan pengguna. Lebih jelas mengenai konsep dasar sistem pakar ini dapat dilihat pada gambar 2.2 :
Gambar 2.2 Konsep Dasar Fungsi Sistem Pakar 2.5.2 Ciri-Ciri Sistem Pakar
Ciri-ciri dari sistem pakar adalah sebagai berikut, yaitu : 1. Terbatas pada domain keahlian tertentu.
2. Dapat memberikan penalaran (reasoning) untuk data yang tidak lengkap dan tidak pasti.
3. Berdasarkan pada kaidah atau rule tertentu.
4. Dirancang untuk dapat dikembangkan secara bertahap. 5. Outputnya bersifat anjuran.
(39)
2.5.3 Komponen Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu :
1. Lingkungan pengembangan (development environment), yaitu digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar. 2. Lingkungan konsultasi (consultation environment), yaitu digunakan oleh
pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dapat dilihat pada gambar 2.3 :
Gambar 2.3 Komponen-komponen Sistem Pakar a. Knowledge Base
Knowledge base (basis pengetahuan) adalah sebuah basis data yang menyimpan aturan-aturan tentang suatu domain knowledge/pengetahuan tertentu. Knowledge base merupakan inti dari program sistem pakar karena basis pengetahuan itu merupakan presentasi pengetahuan (knowledge presentation).
(40)
21
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan.
b. Working Memory
Working memory adalah bagian yang mengandung fakta-fakta, yaitu : 1. Fakta awal pada saat sistem beroperasi.
2. Fakta-fakta yang diperoleh pada saat sistem beroperasi.
Sistem akan mencocokkan fakta yang diperoleh dengan pengetahuan yang ada di basis pengetahuan untuk mencari fakta berikutnya ataupun untuk mendapatkan suatu kesimpulan.
c. Inference Engine
Inference engine (mesin inferensi) mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace/working memory, dan untuk memformulasikan kesimpulan.
Inference engine (mesin inferensi) adalah prosesor dalam sistem pakar yang bertugas untuk mencocokkan fakta yang diperoleh working memory dan domain knowledge base untuk mengahasilkan suatu kesimpulan. Mesin memulai pelacakannya dengan mecocokkan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. Terdapat dua teknik inferensi, yaitu :
(41)
1. Penalaran maju (forward chaining), yaitu pencocokkan premise-premise yang ada untuk menghasilkan kesimpulan.
2. Penalaran mundur (backward chaining), yaitu mencari fakta berdasarkan kesimpulan untuk membuktikan bahwa kesimpulan adalah benar.
d. Interface
Interface (antarmuka) merupakan mekanisme yang digunakan oleh
pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dan pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima informasi dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai.
2.5.4 Representasi Pengetahuan
Menurut Turban (2001), ada beberapa tipe pengetahuan yang bisa dikategorikan dalam bentuk keahlian, yaitu :
1. Teori-teori yang mendasari suatu permasalahan.
2. Aturan-aturan baku dan prosedur-prosedur yang berkaitan dengan permasalahan tertentu.
3. Aturan-aturan (heuristik) tentang apa yang harus dikerjakan dalam suatu permasalahan yang diberikan.
4. Strategi-strategi global untuk pemecahan dari tipe-tipe ini.
5. Meta knowledge (pengetahuan dari pengetahuan).
(42)
23
Dalam sistem pakar, pengetahuan yang telah diuraikan direpesentasikan ke dalam bentuk yang dapat diproses oleh komputer. Ada empat jenis representasi pengetahuan, yaitu :
1. Logika
2. Jaringan Semantik
3. Frame
4. Aturan (rules)
a. Aturan (Rules)
Rules merupakan pengetahuan prosedural yang menghubungkan informasi
yang diberikan dengan tindakan (action). Struktur rule, secara logika menghubungkan satu atau lebih antecendent (premis) yang berada pada bagian IF, dengan satu atau lebih consequent (konklusi) pada bagian THEN. Contoh : IF warna baju itu biru THEN saya suka baju itu.
Sebuah rule dapat mempunyai multiple premise yang tergabung dengan menggunakan operasi logika (AND, OR). Bagian konklusi dapat berupa kalimat tunggal atau gabungan dengan menggunakan operasi logika (AND) dan dapat pula memiliki kalimat ELSE. Contoh : IF baju warna biru AND harga baju murah, THEN saya akan beli baju itu.
Aturan (rules) terdiri dari beberapa jenis, yaitu : relationship/hubungan, rekomendasi, strategi, heuristik, interpretasi, analisis, dan desain. Representasi pengetahuan jenis aturan (rules) memiliki beberapa keunggulan dan keterbatasan, yaitu :
(43)
1. Keunggulan
a. Modifikasi dan perawatan relatif mudah.
b. Uncertainty dapat dikombinasikan dengan rules. c. Tiap rules biasanya independent dari yang lainnya. 2. Keterbatasan
a. Pengetahuan yang kompleks membutuhkan rules yang sangat banyak. b. Sistem dengan banyak rules mempunyai keterbatasan dalam proses
pencarian pada bagian program kontrol.
2.6 Tree (Pohon)
Suatu Tree adalah suatu hierarki struktur yang terdiri dari simpul (node) yang menyimpan informasi atau pengetahuan dan cabang yang menghubungkan simpul. Cabang disebut juga link atau edge dan simpul disebut juga dengan vertex. Akar simpul adalah simpul yang tertinggi dalam hierarki dan daun adalah simpul yang paling bawah. Tree dapat dianggap sebagai tipe khusus dari jaringan semantik yang setiap simpulnya, kecuali akar pasti mempunyai suatu simpul orang tua dan mempunyai nol atau lebih simpul anak.
Untuk tipe biasa dari Binery Tree, maksimum mempunyai 2 anak untuk setiap simpulnya, sisi kiri dan kanan dari simpul anak dibedakan. Jika simpul mempunyai lebih dari satu orang tua maka disebut jaringan. Binery Tree ditunjukkan pada gambar 2.4.
(44)
25
Tingkat/Level 1
Tingkat/Level 1
Tingkat/Level 2
Tingkat/Level 2
Tingkat/Level 3
Tingkat/Level 3
Node Akar
Node Akar
Gambar 2.4 Binary Tree
Aplikasi dari tree adalah pembuatan keputusan dan biasa disebut dengan istilah
Decision Tree (pohon keputusan). Contoh Decision Tree mendiagnosa awal
gangguan kesehatan. Simpul berisikan pertanyaan, cabangnya berisi jawaban Ya atau Tidak untuk menjawab pertanyaan dan daunnya berisikan penyebab dan solusi dari gangguan kesehatan.
2.7 Metode Inferensi Backward Chaining
Backward chaining adalah suatu rantai yang dilintasi dari suatu hipotesa kembali ke fakta yang mendukung hipotesa tersebut. Pokok permasalahan backward chaining adalah untuk mendapatkan suatu rantai yang menghubungkan fakta-fakta ke hipotesis.
Dalam backward chaining, sistem bekerja dari tujuan/hipotesis kemudian menghubungkan fakta yang diperoleh dengan aturan yang ada untuk mencocokkan
(45)
dengan tujuan yang diharapkan. Gambar 2.5 memperlihatkan konsep dari backward chaining.
A
B C D
E F G H I J
Gambar 2.5 Konsep Backward Chaining 2.8 Metode Pelacakan
2.8.1 Breadth First (Pelacakan Melebar)
Pelacakan Breadth First menguji semua node dalam pohon pelacakan mulai dari node akar. Node yang ada pada setiap tingkat seluruhnya diuji sebelum pindah ke tingkat selanjutnya. Pelacakan Breadth First diilustrasikan dalam gambar 2.5.
(46)
27
A
B C D
E F G H I J
Node Akar Node
Akar
Goal Goal
Gambar 2.6 Metode Pelacakan Breadth First
Huruf-huruf yang ada di dalam lingkaran nedo menunjukkan node tiap itu diuji. Dalam contoh diatas pelacakan akan berjenti pada node G karena node G adalah tujuan (Goal).
2.8.2 Depth First (Pelacakan Mendalam)
Pelacakan Depth bermulda dari node akar dan bergerak ke bawah ke tingkat yang berurutan. Suatu operator diterapkan pada node yang menimbulkan node berikutnya dalam suatu urutan. Proses ini berlangsung terus sampai ditemukan atau jika tidak menemui jalan buntu ia melacak kebelakang (backtracking). Pelacakan Depth First diilustrasikan dalam gambar 2.7.
(47)
A
B H K
C E I L N
D F G J M
Node Akar Node
Akar
Goal Goal
Gambar 2.7 Metode Pelacakan Depth First
Huruf-huruf yang ada di dalam lingkaran nedo menunjukkan node tiap itu diuji. Dalam contoh diatas pelacakan akan berjenti pada node M karena node M adalah tujuan (Goal).
2.9 Gangguan Kesehatan
Tubuh manusia terdiri dari beberapa sistem tubuh dengan banyak struktur dan fungsinya, seperti sistem pernapasan, sistem pencernaan, sistem syaraf, sistem kemih, sistem indera, dan sebagainya. Sistem-sistem tersebut tentu saja bisa mengalami gangguan kesehatan, dari gangguan yang paling kecil sampai menjadi gangguan yang lebih serius.
Gangguan-gangguan kesehatan ringan bisa saja menjadi indikasi akan terjadinya gangguan kesehatan yang lebih serius. Dari mulai usia bayi, anak-anak,
(48)
29
remaja, sampai usia dewasa, gangguan-gangguan kesehatan tersebut bisa saja dan sangat mungkin dialami. Akan menjadi sangat penting bila gangguan-gangguan kesehatan tersebut bisa didiagnosa dan diobati lebih awal untuk menghindari gangguan kesehatan yang lebih serius.
2.9.1 Jenis Gangguan Kesehatan
Berdasarkan buku ”Dokter di Rumah Anda” karangan Tony Smith dan Sue
Davidson, jenis gangguan kesehatan umum terdiri dari 3 kriteria gangguan kesehatan, yaitu :
2.9.1.1 Gangguan Kesehatan Anak-Anak
Usia bayi, anak-anak, ataupun remaja merupakan periode yang sangat menentukan kualitas seorang manusia dewasa nantinya. Kesehatan anak sangat penting artinya bagi keluarga. Ibaratnya, kesehatan anak adalah kebahagiaan orang tua. Berdasarkan kelompok usianya, gangguan kesehatan untuk anak-anak terdiri dari 3, yaitu :
1. Gangguan kesehatan bayi dibawah 1 tahun
Berdasarkan buku ”Dokter di Rumah Anda” karangan Tony Smith dan Sue Davidson, jenis gangguan kesehatan untuk bayi dibawah 1 tahun terdiri dari 8 jenis gangguan kesehatan. Beberapa diantaranya adalah sebagai berikut :
a. Demam
Demam adalah temperatur tubuh yang tinggi, sampai 38 oC atau lebih. Pada bayi yang demam, dahinya akan terasa panas dan ia tampak tidak sehat dan
(49)
rewel. Gejala-gejala yang biasanya terjadi ketika bayi mengalami demam adalah sebagai berikut :
1. Usia bayi anda kurang dari 6 bulan. 2. Ada ruam di kulitnya.
3. Ia terbangun di malam hari, menangis tanpa bisa diredakan, dan/atau menarik-narik salah satu telinganya.
4. Nafasnya cepat dan tidak wajar.
5. Ada cairan bening dari hidung, dan/atau apakah dia bersin.
6. Ada salah satu gejala berikut : mengantuk tidak wajar, gelisah, menangis menjerit atau tidak wajar, bintik merah gelap yang tidak memudar dengan tekanan.
7. Si anak sedang diare.
8. Si bayi baru saja diimunisasi.
9. Pakaiannya sangat tebal dan/atau ia di lingkungan berhawa hangat.
Dari gejala-gejala tersebut, tergantung gejala apa saja yang dirasakan si bayi, akan didapatkan beberapa kemungkinan penyebab dari gangguan kesehatan demam. Kemungkinan penyebab tersebut adalah sebagai berikut : 1. Mungkin bayi anda terserang infeksi virus atau bakteri. Selain itu,
demam bisa timbul setelah menjalani imunisasi.
2. Suatu infeksi virus atau bakteri di telinga bagian tengah adalah penyebab umum naiknya temperatur seorang bati usia diatas 6 bulan. Infeksi telinga bagian tengah semakin mungkin bila ia baru saja sakit pilek.
(50)
31
3. Bronkhitis (infeksi virus di saluran nafas paru-paru) atau pneumonian(infeksi virus atau bakteri pada gelembung udara di paru-paru).
4. Demamnya mungkin karena infeksi virus, misalnya pilek. Campak adalah kemungkinan yang agak tipis. Bila akibat campak, akan timbul ruam merah rata melebar dalam 2-3 hari.
5. Meningitis, peradangan selaput pembungkus otak akibat infeksi.
6. Gastroenteritis, yaitu infeksi sistem pencernaan, adalah kemungkinan terbesar gejala seperti ini, terutama bila si bayi juga muntah.
7. Sebagian bayi bisa merasa tidak nyaman atau demam ringan dalam seminggu setelah diimunisasi rutin.
8. Kegerahan, karena pakaian yang terlalu tebal atau udara sekitar yang terlalu panas, bisa menyebabkan demam.
2. Gangguan kesehatan anak-anak segala usia dan usia remaja
Pada periode usia anak-anak, banyak didapatkan banyak permasalah, baik permasalahan kesehatan ataupun masalah perkembangan dan perilaku. Sedangkan gangguan kesehatan yang biasanya dialami oleh anak-anak yang berusia remaja atau beranjak remaja adalah biasanya masalah pertumbuhan, masalah perilaku, masalah pubertas, dan masalah kulit. Berdasarkan buku ”Dokter di Rumah Anda” karangan Tony Smith dan Sue Davidson, jenis gangguan kesehatan untuk anak-anak segala usia dan usia remaja terdiri dari 47 jenis gangguan kesehatan. Beberapa diantaranya adalah sebagai berikut :
(51)
a. Masalah berat badan
Anak remaja memerlukan lebih banyak kalori daripada orang dewasa yang bekerja manual. Cepatnya penambahan tinggi badan pada remaja serta perkembangan proporsi tubuh dewasa kadang-kadang membuat anak merasa terlalu kurus atau kegemukan. Remaja adalah masa ketika para pemuda sangat sensitif terhadap penampilan diri, dan akibatnya mudah timbul berbagai masalah kebiasaan makan, misalnya anorexia nervosa. Gejala-gejala yang biasanya terjadi ketika anak mengalami masalah berat badan adalah sebagai berikut :
1. Si anak termasuk gemuk untuk usianya.
2. Si anak terlalu kurus untuk usianya, ataukah beratnya baru susut banyak. 3. Si anak baru saja terserang sakit.
4. Ada salah satu gejala berikut : sangat ingin berat badannya turun dan berdiet, terlalu kritis terhadap tubuhnya sendiri, siklus haidnya terhenti, menolak makan dan/atau menyisihkan makanan, menyalahgunakan urus-urus, diuretika, atau pil diet, menghindari kegiatan sosial karena sedang berdiet.
5. Tinggi badannya sedang bertambah pesat.
Dari gejala-gejala tersebut, tergantung gejala apa saja yang dirasakan si anak, akan didapatkan beberapa kemungkinan penyebab dari gangguan kesehatan masalah berat badan pada remaja. Kemungkinan penyebab tersebut adalah sebagai berikut :
(52)
33
1. Remaja yang gemuk akan menghadapi resiko obesitas di masa depan. 2. Adalah wajar bila berat badan susut karena sakit.
3. Anak anda mungkin mengidap anorexia dan/atau bulimia. Diagnosa ini adalah kunci penting dalam penanganan kondisi yang berpotensi membahayakan jiwa ini.
4. Pertambahan tinggi badan yang sangat cepat bisa tidak sebanding dengan penambahan berat badan.
2.9.1.2 Gangguan Kesehatan Orang Dewasa
Gangguan-gangguan kesehatan yang dialami orang yang sudah dewasa tentunya mempunyai gejala dan kemungkinan penyebab yang berbeda dengan gejala dan kemungkinan penyebab yang dialami oleh bayi, anak-anak, ataupun remaja. Dan tentunya tingkat resiko gangguan kesehatan pun juga berbeda.
Berdasarkan buku ”Dokter di Rumah Anda” karangan Tony Smith dan Sue
Davidson, gangguan kesehatan untuk orang dewasa terdiri dari 2, yaitu : 1. Gangguan kesehatan dewasa umum
Yaitu gangguan-gangguan kesehatan yang bersifat umum untuk orang
dewasa, baik yang dialami pria maupun wanita. Berdasarkan buku ”Dokter di Rumah Anda”, gangguan kesehatan dewasa umum terdiri dari 63 jenis gangguan kesehatan. Beberapa diantaranya adalah sebagai berikut :
a. Gatal-gatal
Gatal yaitu iritasi di kulit yang membuat keinginan kuat untuk menggaruk. Gatal bisa disebabkan oleh reaksi alergi terhadap zat tertentu. Pada kasus lain, gatal bisa menandakan kelainan kulit atau bahkan penyakit tersembunyi atau
(53)
pun stres psikologis. Hilangnya minyak alami di kulit sebagai akibat penuaan atau akibat keseringan dibasuh bisa menyebabkan kulit kering dan gatal. Gejala-gejala yang biasanya terjadi ketika mengalami gatal-gatal adalah sebagai berikut :
1. Gatalnya hanya di daerah kelamin.
2. Gatalnya hanya di bagian kulit yang tampak tidak wajar. 3. Sedang minum obat resep atau pun obat bebas.
4. Kulit dan/atau putih mata anda tampak kekuningan. 5. Baru saja berganti merk untuk produk sabun atau deterjen. 6. Kulit umumnya menjadi sangat kering.
Dari gejala-gejala tersebut, tergantung gejala apa saja yang dirasakan si anak, akan didapatkan beberapa kemungkinan penyebab dari gangguan kesehatan gatal-gatal pada orang dewasa Kemungkinan penyebab tersebut adalah sebagai berikut :
1. Gatal di daerah kelamin bisa karena infeksi jamur atau karena kulit.
2. Perubahan bentuk kulit yang bukan karena garukan mungkin akibat dari sengatan serangga atau kelainan kulit.
3. Obat tertentu bisa menyebabkan gatal sebagai efek samping.
4. Penyakit kuning, yaitu perubahan warna kulit dan putih mata, sering berkaitan dengan rasa gatal. Mungkin disebabkan oleh gangguan pada hati atau empedu.
(54)
35
5. Iritasi kulit karena sensitifitas terhadap bahan kimia tertentu bisa menyebabkan gatal yang meluas.
6. Kulit kering, karena faktor bakat, karena terlalu banyak dibasuh, atau pun terpapar pada bahan kimia, nisa sangat gatal.
2. Gangguan kesehatan dewasa khusus
Yaitu gangguan-gangguan kesehatan yang bersifat khusus untuk orang dewasa. Gangguan kesehatan dewasa khusus dibedakan menjadi gangguan kesehatan khusus untuk pria dan gangguan kesehatan khusus untuk wanita.
a. Gangguan kesehatan khusus pria
Berdasarkan buku ”Dokter di Rumah Anda”, gangguan kesehatan khusus
untuk pria terdiri dari 9 jenis gangguan kesehatan. Beberapa diantaranya adalah sebagai berikut :
1. Masalah ejakulasi
Masalah ejakulasi adalah biasa terjadi dan bisa semakin memburuk oleh kecemasan yang ditimbulkannya. Membicarakannya dengan pasangan anda seringkali cukup bisa mengatasi masalah ini. Ejakula dini jarang disebabkan oleh keadaan fisik. Ejakulasi terlambat atau tidak terjadi bisa akibat dari masalah emosi maupun fisik. Orgasme tanpa ejakulasi biasanya merupakan akibat dari pembedahan prostata sebelumnya. Gejala-gejala yang biasanya terjadi ketika mengalami masalah ejakulasi adalah sebagai berikut :
1. Ejakulasinya terasa sakit.
(55)
3. Secara seksual anda kurang berpengalaman, atau anda baru saja memulai suatu hubungan seksual.
4. Ejakulasinya sangat lambat atau tidak ada sama sekali. 5. Anda bisa ejakulasi saat bermasturbasi.
6. Anda sedang minum suatu obat resep.
Dari gejala-gejala tersebut, tergantung gejala apa saja yang dirasakan si anak, akan didapatkan beberapa kemungkinan penyebab dari gangguan kesehatan masalah ejakulasi pada pria. Kemungkinan penyebab tersebut adalah sebagai berikut :
1. Hal itu mungkin disebabkan oleh infeksi akibat hubungan seks atau prostatitis (radang kelenjar prostata).
2. Terlalu bersemangat dan/atau kecemasan tentang hubungan seks dengan seorang pasangan baru bisa menyebabkan ejakulasi prematur.
3. Kebanyakan masalah ejakulasi berkaitan dengan buruknya teknik salah satu atau kedua pasangan, atau karena buruknya komunikasi.
4. Mencemaskan penampilan di saat berhubungan seks bisa membuat anda sedemikian tegang sehingga tidak bisa ejakulasi.
5. Beberapa jenis obat, terutama antidepresan dan antianxietas, bisa menghambat ejakulasi atau meniadakannya.
6. Bila usia anda diatas 60 tahun dan kadang mengalami ejakulasi lambat, mungkin hal itu karena proses penuaan alami.
(56)
37
b. Gangguan kesehatan khusus wanita
Berdasarkan buku ”Dokter di Rumah Anda”, gangguan kesehatan khusus
untuk wanita terdiri dari 23 jenis gangguan kesehatan. Beberapa diantaranya adalah sebagai berikut :
1. Mual dan muntah dalam kehamilan
Banyak wanita mengalami mual dan muntah pada 3 bulan pertama kehamilan.
Simptom ini dikenal sebagai ”mual pagi” walau bisa terjadi kapan saja
sepanjang hari, terutama bila wanita tersebut letih atau lapar. Mual pagi kemungkinan disebabkan perubahan hormonal di awal kehamilan. Gejala ini biasanya membaik pada minggu ke 12 kehamilan, dan bisa diatasi sendiri. Muntah-muntah yang timbul di masa kehamilan lanjut mungkin akibat infeksi saluran kemih atau masalah yang tak berkaitan dengan kehamilan, misalnya keracunan makanan. Gejala-gejala yang biasanya terjadi ketika mengalami mual dan muntah dalam kehamilan adalah sebagai berikut :
1. Kehamilan anda kurang dari 12 minggu.
2. Ada hal berikut yang terjadi : sulit makan apa pun tanpa muntah. 3. Mual dan muntahnya baru belakangan ini.
4. Anda juga mengalami sakit kepala parah dan/atau gangguan penglihatan, misalnya terasa berkunang-kunang.
5. Ada salah satu gejala berikut : nyeri punggung di bawah rusuk, nyeri buang air kecil, urin keruh, sering ingin buang air kecil, suhu tubuh 38 derajat celcius atau lebih.
(57)
Dari gejala-gejala tersebut, tergantung gejala apa saja yang dirasakan si anak, akan didapatkan beberapa kemungkinan penyebab dari gangguan kesehatan mual dan muntah dalam kehamilan. Kemungkinan penyebab tersebut adalah sebagai berikut :
1. Mual dan mungah berat, disebut hiperemesis, bisa membahayakan anda dan janin bila tidak dirawat. Penyebabnya tidak diketahui, walau lebih umum dialami dalam kehamilan kembar dua atau lebih.
2. Anda mungkin menderita mual pagi, yaitu kondisi umum di awal kehamilan berbentuk mual dan/atau muntah, diduga akibat perubahan hormon. Bisa terjadi sepanjang hari.
3. Kemungkinan ini akibat refluks gastro oesofagal, yaitu isi perut bocor naik oesofagus, menimbulkan radang dan nyeri. Hal ini lebih umum terjadi di saat hamil, ketika bukaan oesofagus ke lambung cenderung mengendur. 4. Bisa jadi ini adalah migren. Lebih buruk lagi, ini mungkin gejala
pre-eklamsia parah, terutama bila usia kehamilannya sudah 28 minggu. Kondisi ini bisa membahayakan anda dan janin.
5. Pyelonefritis (radang ginjal karena infeksi) bisa berakibat mual dan muntah. Hal ini lebih umum terjadi di masa hamil dan bisa menyebabkan kelahiran prematur.
2.9.2 Kemungkinan Penyebab dan Tindakan
Kemungkinan penyebab adalah menunjukkan apa saja kondisi yang paling mungkin menjadi penyebab gejala dan apakah perlu penanganan dokter. Sedangkan
(58)
39
tindakan adalah menunjukkan apa yang bisa dilakukan untuk kondisi yang dialami. Bila diperlukan bantuan medis, akan ditunjukkan berbagai tes dan perawatan yang mungkin perlu dijalani. Bila tidak diperlukan bantuan medis, ditunjukkan apa saja yang bisa dilakukan secara mandiri.
(59)
40 3.1 Analisis Sistem
Analisis sistem (systems analysis) dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.
3.2 Analisis Masalah
Pada umumnya masyarakat telah memahami makna kesehatan. Ketika diri atau anak mereka sakit, mereka ingin lebih mengetahui penyebab gejala yang mereka alami dan seberapa cepat mereka akan sembuh. Sementara itu, kini kita juga semakin mandiri. Kebanyakan kita sadar bahwa berbagai penyakit ringan biasa, seperti pilek atau diare tidak memerlukan bantuan ahli kesehatan atau pengobatan yang rumit. Gangguan semacam itu akan sembuh dengan sendirinya bahkan walau tanpa mendapatkan pengobatan.
Masalah bagi mereka yang tidak terlatih secara medis adalah bahwa keluhan semacam sakit kepala atau batuk bisa merupakan petunjuk awal adanya penyakit yang serius. Kejadian yang paling membuat para orangtua merasa tak berdaya adalah sakit mendadak yang menimpa anak terutama anak yang masih belum bisa menjelaskan keluhannya.
(60)
41
Program yang akan dibuat ini akan membantu membedakan antara keluhan sederhana dengan masalah darurat yang memerlukan penanganan medis selekas mungkin. Tetapi program ini tidak menuntun menjadi dokter bagi para pengguna. Apa yang diberikan program ini adalah menunjukkan kapan dan seberapa lama para pengguna bisa menunggu dengan aman sampai sakitnya sembuh dengan sendirinya. Program yang akan dibuat ini memberikan saran-saran praktis penggunaan obat-obat rumah dan obat yang dijual bebas, sehingga menumbuhkan kemandirian di saat yang tepat. Berikut merupakan alur aktifitas pemeriksaan pasien secara konvensional :
1. Pasien datang ke dokter.
2. Dokter menanyakan gejala yang dirasakan oleh pasien. 3. Dokter memeriksa keadaan pasien.
4. Dokter mendiagnosa berdasarkan hasil pemeriksaan dan gejala-gejala yang dirasakan oleh pasien.
5. Dokter menganalis keputusan dengan menganalisis beberapa kemungkinan penyakit yang bisa diderita oleh pasien.
6. Dokter memberikan pantangan yang sesuai dengan penyakit yang diderita oleh penyakit.
7. Dokter memberikan resep atau solusi dari penyakit yang diderita pasien.
Berdasarkan alur di atas dapat diambil sebuah analisis diagnosa gangguan kesehatan. Dimana algoritama sesuai dengan analisis yang telah dilakukan. Untuk lebih jelasnya, berikut merupakan algoritma utama yang diterapkan pada sistem pakar ini.
(61)
Kamus Const
maks_array1=150 maks_array2=15 Type
penyakit=record <nm_gangguan:string, jml_pertanyaan:integer> endrecord
pertanyaan=record <tanya:string, jawab:string> endrecord
data1=array[1..maks_array] of penyakit dt_penyakit:data1
data2=array[1..maks_array]of pertanyaan dt_pertanyaan:data2
procedure isi_penyakit(output dt_penyakit:data1, input maks_array1)
procedure isi_pertanyaan(input dt_penyakit:data1, input maks_array2:integer, output dt_pertanyaan:data2)
procedure tampil_pertanyaan(input dt_penyakit, input dt_pertanyaan:data2) procedure tindakan_sendiri (output tips:string)
(1)
1.
INTRODUCTION
1.1 Problem Identification
1. The
people
who
started
independently in dealing with
health nuisances.
2. Unconscious public that health
problems are mild disease is one of
the instructions from serious health
problems.
3. Communities
that
are
not
medically trained..
1.2 Benefit
1. Can help users to detect early
health
problems
being
experienced.
2. Capable of providing convenience
and
benefit
to
society
in
diagnosing
health
problems
independently.
3. Utilizing
standard
J2ME
programming language to build
applications
for
the
early
diagnosis of health disorders on
the mobile device useful for
society..
2.
MODEL, ANALYSIS, DESIGN
AND IMPLEMENTATION
2.1 Model
1.
Data collection phase
a. Studies Library
.
b. Observation.
c. Interviews
.
2. Stage of software.
a.
Requirements analysis and
definition
b.
System and software design
c.
Implementation and unit testing
d.
Integration and system testing
e.
Operation and maintenance
2.2 Problem Analysis
Analysis of this system obtained
through interviews and observations to
be found in some data and facts that
will be used as test material and the
analysis to the application and
development of an application of the
proposed system.
Generally,
the
people
have
understood the meaning of health.
When self or their children sick, they
want to know the cause of the
symptoms they experience and how
quickly they will recover. Problem for
those who are not medically trained is
that
such
complaints
or
cough
headache can be the first indication of
a serious illness.
The method used is Backward
chaining is a chain that crossed from a
hypothesis back to the facts that
support these hypotheses. Backward
chaining point is to get a chain that
connects the facts to the hypothesis
2.3
Designing UML
1
Use Case Diagram
Pengguna
Mendiagnosis gangguan kesehatan
Melihat tentang aplikasi Melihat bantuan
aplikasi Melihat tindakan
sendiri Mencari tindakan
sendiri Mencari gangguan berdasarkan gejala
System
<<Extends>>
<<Extends>>
Drawing 1.
Use Case Diagram
2
Class Analysis
sd kelas analisis diagnosa kesehatan
user
gangguan kriteria diagnosa kesehatan pertanyaan
kemungkinan penyebab dan tindakan
BP.dewasaUmumBP.dewasaKhususBP.anakBayiBP.anakAnakRemaja
Drawing 2. Analyst Use Case Class Diagnose Health
Disorders
(2)
sd kelas analaisis mencari gej ...
user
pencarian kriteria halaman kata kunci cari
halaman hasil pencarian
cariGejala.gejalaAnak cariGejala.gejalaDewasa
Drawing 3. Analyst Class Use Case Based Searching for
Disorder Symptoms
sd kelas analisis mencari tindakan
user
pencarian kriteria halaman kata kunci cari
tindakanSendiri.tindakanDewasa tindakanSendiri.tindakanAnak halaman hasil
pencarian
Drawing 4. Analyst Use Case Class Action Finding
Himself
sd kelas analisis tindakan sendiri
user
tindakan sendiri kriteria tindakanSendiri lihat tindakan
tindakanSendiri.tindakanDewasa tindakanSendiri.tindakanAnak halaman tindakan
sendiri
Drawing 5. Analyst Use Case Class Action Alone
sd kelas analisis bantuan
user
bantuan
infoAplikasi
Drawing 6. Analyst Use Case Class Help
sd kelas analisis tentang
user
tentang
infoAplikasi
Drawing 7. Analyst Use Case Class About
2.4
Sequence Diagram
sd Diagnosa Gangguan Kesehatan
user gangguan kriteria diagnosaKesehatanpertanyaan xml parser
BP.dewasaUmum kemungkinan penyebab dan tindakan BP.dewasaKhusus BP.anakBayi BP.anakAnakRemaja
alt
[if pilih gangguan dewasa umum]
[else pilih gangguan dewasa khusus] [else pilih gangguan anak bayi] [else pilih gangguan anak segala usia dan remaja]
opt
[sampai ditemukan solusi] memilih gangguan() memilih kriteria() lihat daftar() jawab petanyaan() meminta file() meminta file() memberi file() meminta file() memberi file() meminta file() memberi file() meminta file() memberi file() memberi file()
render halaman kemungkinan penyebab dan tindakan() menampilkan halaman kemungkinan penyebab dan tindakan()
drawing 8. Sequence Diagrams Diagnose Health
Disorders
sd mencari gangguan kesehatan
user pencarian kriteria halaman kata kunci cari cariGejala.gejalaDewasa halaman hasil pencarian cariGejala.gejalaAnak
alt
[if pilih gejala dewasa]
[else pilih gejala bayi/anak/remaja] memilih pencarian() memilih kriteria() masukkan kata kunci() mencari data() mencari data() data tidak ditemukan()
data ditemukan() mencari data() data tidak ditemukan()
data ditemukan() render halaman hasil pencarian() menampilkan halaman hasil pencarian()
Drawing 9.
Sequence Diagram Looking for Health
Disorders
sd mencari tindakan sendiriuser pencarian kriteria halaman kata kunci caritindakanSendiri.tindakanDewasa tindakanSendiri.tindakanAnakhalaman hasil pencarian
alt
[if pilih tindakan sendiri dewasa]
[else pilih tindakan sendiri bayi/anak/remaja] memilih pencarian() memilih kriteria() masukkan kata kunci() mencari data() mencari data() data tidak ditemukan()
data ditemukan() mencari data() data tidak ditemukan()
data ditemukan() render halaman hasil pencarian() menampilkan halaman hasil pencarian()
Drawing 10.
Sequence Diagram Looking for Action
Own
sd tindakan sendiriuser tindakan sendiri kriteria tindakanSendiri xml parser
tindakanSendiri.tindakanDewasa tindakanSendiri.tindakanAnak halaman tindakan sendiri lihat tindakan
sendiri
alt
[if pilih tindakan untuk orang dewasa]
[else pilih tindakan untuk bayi, anak-anak, remaja] memilih tindakan sendiri() memilih kriteria() lihat daftar() melihat tindakan() meminta file() meminta file() memberi file() meminta file() memberi file() memberi file()
render halaman tindakan sendiri() menampilkan halaman tindakan sendiri()
Drawing 11.
Sequence Diagram of Self-Action View
sd bantuan
user bantuan infoAplikasi memilih bantuan()
melihat bantuan() menampilkan halaman bantuan()
Drawing 12.
Sequence Diagram Help
sd tentang
user tentang infoAplikasi memilih tentang()
melihat tentang() menampilkan halaman tentang()
Drawing 13.
Sequence Diagram About
1.
Activity Diagram
gangguan menerima request halaman gangguanmerender halaman gangguan
pengguna aplikasi
menerima request kriteria gangguan merender halaman kriteria gangguan menerima tampilan halaman list gangguan
memilih gangguan menerima request gangguan merender halaman gangguan menerima tampilan kriteria gangguan
memilih kriteria gangguan
menerima tampilan pertanyaan
menjawab pertanyaan menerima request halaman menjawab pertanyaan
merender halaman menjawab pertanyaan menerima tampilan kemungkinan penyebab
memilih tindakan menerima request halaman tindakan merender halaman tindakan menerima tampilan tindakan
Tidak ada pertanyaan lagi Masih ada pertanyaan lagi
Drawing 14.
Activity Diagrams Diagnose Health
(3)
tindakan sendiri menerima request halaman tindakan sendiri merender halaman tindakan sendiri
pengguna
aplikasi
menerima request kriteria tindakan sendiri merender halaman kriteria tindakan sendiri menerima tampilkan tindakan sendiri
menerima tampilan kriteria tindakan sendiri memilih kriteria tindakan sendiri
Drawing 15. A
ctivity Diagram of Self-Action View
pencarian menerima request halaman pencarian merender halaman pencarian
pengguna
aplikasi
menerima request kriteria pencarian merender halaman kriteria pencarian menerima tampilan kata kunci
memasukkan kata kunci menerima kata kunci
merender halaman kata kunci menerima tampilan kriteria pencarian
memilih kriteria pencarian
menerima halaman hasil pencarian
True False
Drawing 16.
Activity Diagram Looking for Health
Disorders or Self-Action
bantuan
menerima request halaman bantuan
merender halaman bantuan
pengguna
aplikasi
menerima tampilan bantuan
Drawing 17.
Activity Diagram Help
tentang menerima request halaman tentang merender halaman tentang
pengguna
aplikasi
menerima tampilan tentang
Drawing 18.
Activity Diagram About
2.
Class Diagram
+tulisFakta() +berdebarDebar() +nafasBunyi() +nafasTersengal() +nyeriDada() +pernapasanAnak() -diagnosa,tindakan : string
JantungParu
+cariGejala() +cariTindakan() -kriteria : string -idBack : int
Pencarian +tulisFakta() +tidakEnakBadan() +kelelahan() +demam() +bintilBenjolan() +keringatBerlebih() +tangisBerlebihBayi() +demamBayi() +masalahMenyusui() +tidakEnakBadanAnak() +keletihanAnak() +demamAnak() +benjolanAnak() +masalahMakanAnak() -diagnosa,tindakan : string
GangguanUmum +tulisFakta() +depresi() +kecemasan() +pikiranKacau() +sulitTidur() +masalahTidurBayi() +masalahTidurAnak() +sulitBicaraAnak() +masalahPrilakuAnak() +kesulitanSekolah() +masalahPerilakuRemaja() -diagnosa,tindakan : string
Psikologis +bantuan() +tentang() InfoAplikasi +tulisFakta() +mataSakit() +mataKabur() +masalahMataAnak() +mataTergangguAnak() -diagnosa,tindakan : string
Penglihatan +tulisFakta() +masalahPenis() +sulitEreksi() +masalahEjakulasi() +masalahTestisSkrotum() +nyeriSenggama() +seksRendah() +masalahKesuburan() +pilihanKontrasepsi() +masalahKelaminAnak() +masalahPuberitasAnak() -diagnosa,tindakan : string
ReproduksiPria
+listTindakanSendiri() +tampilTindakan() -nmTindakanDewasa : string -nmTindakanAnak TindakanSendiri +tulisFakta() +sakitTelinga() +telingaBerdenging() +telingaNyeriAnak() +pendengaranAnak() -diagnosa,tindakan : string
Pendengaran +tulisFakta() +masalahPayudara() +haidTerlambat() +haidBerlebihan() +nyeriHaid() +pendarahanVagina() +cairanVaginaTakWajar() +iritasiKelamin() +nyeriLambungBawah() +nyeriSenggamaWanita() +seksRendahWanita() +masalahKesuburanWanita() +pilihanKontrasepsiWanita() +masalahKelaminAnakPr() +puberitasAnakPr() -diagnosa,tindakan : string
ReproduksiWanita
+startApp() +showMain() +kriteriaGangguan() +tampilGangguan() -nmGangguanUmum : string -nmGangguanKhusus : string -nmGangguanAnak : string -nmGangguanBayi : string
DiagnosaKesehatan +tulisFakta() +batuk() +hidungBerlendir() +suaraSerak() +tenggorokanPerih() +hidungBerlendirAnak() +tenggorokanSerakAnak() +batukAnak() -diagnosa,tindakan : string
HidungTenggorokan «interface» CommandListener +tulisFakta() +kesemutan() +kedutanGemetar() +nyeriWajah() +pusing() +sulitBicara() +sakitKepala() +pingsan() +pelupaLinglung() +pingsanAnak() +sakitKepalaAnak() +bingungAnak() +canggungAnak() -diagnosa,tindakan : string
SistemSaraf
+process() -offset : int = 0
Parsing +tulisFakta() +masalahKemih() +nyeriBak() +masalahKemihPria() +masalahKemihWanita() +masalahKemihAnak() +melatihKeWc() -diagnosa,tindakan : string
SistemKemih +tulisFakta() +masalahMulut() +sulitMenelan() +perutMembesar() +masukAngin() +diare() +sembelit() +tinjaTidakWajar() +masalahAnus() +masalahGigi() +muntah() +muntahKambuhan() +sakitPerut() +sakitPerutKambuhan() +muntahBayi() +diareBayi() +masalahMulutAnak() +masalahGigiAnak() +muntahAnak() +sakitPerutAnak() +diareAnak() +sembelitAnak() +tinjaTakWajarAnak() -diagnosa,tindakan : string
Pencernaan +tulisFakta() +mualMuntah() +masalahBeratBadan() +pendarahanVagina() +nyeriLambung() +perubahanKulit() +bengkakPergelanganKaki() +nyeriPunggung() +tandaPersalinan() +masalahPayudara() +depresiMelahirkan() -diagnosa,tindakan HamilPersalinan +tulisFakta() +nyeriBahu() +nyeriLengan() +nyeriLutut() +pergelanganKakiBengkak() +nyeriSendi() +nyeriTungkai() +masalahKaki() +nyeriPunggung() +pegalLeher() +nyeriLenganKakiAnak() +sendiPunggungAnak() +masalahKakiAnak() +lunglaiAnak() -diagnosa,tidakan : string
TulangSendiOtot +tulisFakta() +beratBadanTurun() +kegemukan() +timbanganRendahBayi() +pertumbuhanAnak() +timbanganBerlebihBayi() -diagnosa,tindakan : string
Pertumbuhan +tulisFakta() +ruamKulit() +masalahKuku() +masalahRambut() +gatal() +kulitUbahWarna() +masalahUmumKulit() +kulitWajah() +masalahKulitBayi() +ruamDemamAnak() +masalahKulitAnak() +masalahRambutAnak() +gatalAnak() +masalahKulitRemaja() -diagnosa,tindakan : string
KulitRambutKuku
Drawing 19.
Class Diagram
3.
Decision Flow Disturbance
Pertanyaan ke-1 Pertanyaan ke-8 Tidak Pertanyaan ke-10 Tidak Penyebab 9 Ya Pertanyaan ke-11 Tidak Penyebab 10 Ya Penyebab Tidak Tindakan 9 Tindakan 10 Ya Pertanyaan ke-9 Penyebab 7 Ya Penyebab 8 Tidak
Tindakan 7 Tindakan 8 Pertanyaan ke-2 Pertanyaan ke-3 Pertanyaan ke-4 Ya Tidak Tidak Penyebab 1 Ya Penyebab 2 Ya Penyebab 3 Ya Pertanyaan ke-5 Tidak Ya Pertanyaan ke-7 Tidak Penyebab 6 Ya Penyebab Tidak Tindakan 1 Tindakan 2 Tindakan 3 Tindakan 6 Pertanyaan ke-6 Penyebab 4 Ya Penyebab 5 Tidak
Tindakan 4 Tindakan 5
Drawing 20. Decision Flow Disturbance
4.
Designing Menu Structure
Diagnosa Gangguan Kesehatan
Gangguan Tindakan Pencarian Bantuan Sendiri Tentang Gangguan
Dewasa : Umum Dewasa : KhususGangguan Gangguan Anak : Bayi Gangguan Anak : Segala Usia & Remaja
Untuk Dewasa Untuk Bayi, Anak-anak & Remaja Gejala Dewasa Gejala Bayi, Anak-anak dan remaja Tindakan Dewasa Tindakan Bayi, Anak-anak & Remaja
Drawing 21. Designing Menu Structure
2.5
Implementation
oftware used in developing this
website is as follows:
1. Java(TM) ME Platform sdk 3.0.
2. Emulator : J2MEWTK 1.0.4 (
Java2 Micro Edition Wireless Toolkit
).
1.
View
Splash Screen
(4)
2.
View Disorders
Drawing 9. View Disorders
3.
View List Hearing Health
Drawing 10. View Health Disorders
4.
Display Symptoms FAQ
Drawing 11. Symptoms FAQ
5.
Diagnosis Result Display
Drawing 12. Diagnosis Result Display
6.
Diagnosis Result Display
Drawing 13. Diagnosis Result Display
7.
Self-Action View
Drawing 14. Self-Action View
8.
Display List of Actions Alone
Drawing 1.15 Display List of Actions Alone
(5)
Drawing 1.16 Alone Action Information Display
3.
RESULTS AND DISCUSSION
1.
Based
Expert
Systems
Applications Mobile Device For
Initial Diagnosis of this health
disorder looks interesting.
2.
Based
Expert
Systems
Applications Mobile Device For
Initial
Diagnosis
of
health
disorders are easy to use (user
friendly).
3.
Based
Expert
Systems
Applications Mobile Device For
Initial Diagnosis of this disorder
Provide Health Information.
4.
Based
Expert
Systems
Applications Mobile Device For
Initial
Diagnosis
of
health
disorders is useful and fairly
accurate.
4.
CONCLUSIONS AND
RECOMMENDATIONS
4.1 Conclusions
Based on research that has been
done on this application, it can draw
some conclusions as follows:
1.
This expert system application is a
mobile application that is built on
the rules as a knowledge base and
reasoning
backward
as
inferensinya method.
2.
Expert system application is made
has been able to diagnose the
health problems experienced by
the user or users as early
diagnosis, based on input answers
to questions about the health
problems of the system.
3.
The application of this expert
system was able to provide
information early diagnosis of
health disorders in the form of
possible causes, guidelines for
medical
assistance,
and
suggestions for actions which can
be done to overcome the possible
causes.
4.2 Recomendation
To further improve the quality
and the quality of these applications
there are a few suggestions that can
be used as consideration, namely:
1.
Applications that have been built
to be more specific to one disease.
In order for users to get more
detailed
explanation
of
the
perceived health problems. So
that the user can actually see the
danger or not experienced health
problems.
2.
The system can be developed as a
web-based applications continue
to
function
as
a
mobile
application. Web applications are
used as a medium for knowledge
base development system that
serves as an update in the form of
the next version.
5.
REFERENCES
[1]
Shlahuddin M. Rossa, 2008.
Pemrograman
J2ME
,
Informatika, Bandung.
[2]
Tony Smith and Sue Davidson,
2005.
Dokter di Rumah Anda
,
Dian Rakyat, Jakarta.
[3]
Kusumadewi, S., 2003.
Artificia
(6)