Pakar untuk Mendiagnosa Penyakit Vertigo Dengan Metode Backward Chaining Berbasis Web
DENGAN METODE BACKWARD CHAINING
BERBASIS WEB
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
ANGGI SEPTIAN HIDAYAT
10106088
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
(2)
ii
EXPERT SYSTEM
TO DIAGNOSE VERTIGO DISEASE
WITH BACKWARD CHAINING METHOD
WEB BASED
By
ANGGI SEPTIAN HIDAYAT
10106088
Expert system is a computer based system using knowledge, fact, and logical technique in solving a problem which usually can be solve by the expert in a certain field. Expert system can be applied in various fields, included in medical field, by diagnosing a disease.
Expert system in this research is a system which is used to diagnose vertigo disease which is classified on vestibular canal damage; there are peripheral vertigo and central vertigo. Diagnosing vertigo disease process begin by, user answer some questions from system based on their own suffered disease. This expert system has dynamic characteristic, It means the user who has access right as pakar is able to manage knowledge along with the development of recent knowledge. The used inference method is backward chaining method and depth first search as a searching method. It is web based expert system. It’s accessible whenever and wherever by people when they are connected with internet and it built by using PHP programming language and MySQL database.
The built system can give the additional information about vertigo beside the information from the doctor and also give the conclusion of the diagnosing result about the suffered disease especially vertigo base on the answers of the patients. The additional facilities of knowledge and the change of rules make the system can be renewed without change the programming structures.
Keywords : Expert system, backward chaining, depth first search, PHP dan MySQL
(3)
i
SISTEM PAKAR
UNTUK MENDIAGNOSA PENYAKIT VERTIGO
DENGAN METODE BACKWARD CHAINING
BERBASIS WEB
Oleh
ANGGI SEPTIAN HIDAYAT
10106088
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan tehnik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tertentu. Sistem pakar dapat diterapkan diberbagai bidang, termasuk dibidang kedokteran, dengan cara mendiagnosis suatu penyakit.
Sistem pakar pada penelitian ini merupakan sistem yang digunakan untuk mendiagnosis vertigo yang diklasifikasikan berdasarkan kerusakan sistem saluran vestibular, yaitu vertigo periferal dan vertigo sentral. Proses diagnosis penyakit dimulai dengan cara, user menjawab beberapa pertanyaan yang diajukan oleh sistem berdasarkan penyakit yang diderita yang dianggap sesuai dengan gejala yang ia alami. Sistem pakar ini bersifat dinamis, artinya seorang user yang memiliki hak akses sebagai pakar dapat mengelola basis pengetahuan sesuai dengan perkembangan ilmu pengetahuan yang ada. Metode inferensi yang digunakan adalah metode runut mundur (backward chaining) dan metode pencariannya adalah depth first search. Sistem pakar ini berbasis web sehingga dapat diakses kapanpun dan di manapun oleh masyarakat selama mereka terhubung dengan internet dan sistem ini dibangun menggunakan bahasa pemrograman PHP dan database MySQL.
Sistem yang dibangun dapat memberikan informasi tambahan selain dari dokter mengenai vertigo dan dapat memberikan kesimpulan hasil diagnosis mengenai penyakit yang dialami pasien khususnya vertigo berdasarkan gejala-gejala yang telah dijawab. Dengan adanya fasilitas penambahan pengetahuan dan perubahan aturan, maka sistem dapat diperbaharui tanpa harus merubah struktur pemrograman yang ada.
Kata Kunci : Sistem pakar, backward chaining, depth first search, PHP dan MySQL.
(4)
v DAFTAR ISI
ABSTRAK... ... ...i
ABSTRACT…………. ...ii
KATA PENGANTAR...iii
DAFTAR ISI... v
DAFTAR TABEL... ...xii
DAFTAR GAMBAR... xiv
DAFTAR SIMBOL.... ... xx
DAFTAR LAMPIRAN...xxiii
BAB I PENDAHULUAN... 1
1.1 Latar Belakang Masalah... 1
1.2 Rumusan Masalah... 3
1.3 Maksud dan Tujuan ... 4
1.4 Batasan Masalah ... 5
1.5 Metodologi Penelitian ... 6
1.6 Sistematika Penulisan ... 8
BAB II LANDASAN TEORI... 10
2.1 Kecerdasan Buatan ... 10
2.2 Vertigo ... 11
2.2.1 Patofisiologi... 11
2.2.2 Anamnesis ... 14
2.2.3 Penyebab Vertigo... 14
2.2.4 Gejala Vertigo ... 16
2.2.5 Jenis-Jenis Vertigo... 17
2.2.6 Terapi Vertigo ... 23
2.3 Sistem Pakar ... 27
2.3.1 Sejarah Sistem Pakar... 27
(5)
2.3.3 Ciri-ciri Sistem Pakar... 31
2.3.4 Keuntungan Sistem Pakar ... 32
2.3.5 Arsitektur Sistem Pakar ... 32
2.3.6 Orang yang Terlibat dalam Sistem Pakar... 34
2.3.7 Kategori Masalah Sistem Pakar... 35
2.3.8 Inferensi... 36
2.4 PHP ... 42
2.4.1 Sejarah PHP... 42
2.4.2 Kelebihan PHP ... 43
2.5 MySQL... 45
2.5.1 Sejarah MySQL ... 45
2.6 JavaScript ... 47
2.7 AJAX ... 49
BAB III ANALISIS DAN PERANCANGAN SISTEM... 52
3.1 Analisis Masalah... 52
3.2 Analisis Sistem Pakar ... 52
3.3 Analisis Kebutuhan Data... 53
3.4 Representasi Pengetahuan ... 57
3.4.1 Tabel Penyakit ... 58
3.4.2 Tabel Gejala ... 58
3.4.3 Tabel Relasi Penyakit dan Gejala ... 62
3.4.4 Atruran Kaidah Produksi... 63
3.4.5 Pohon Pelacakan dan Penelusuran Penyakit ... 65
3.5 Metode Inferensi... 66
3.5.1 Backward Chaining... 66
3.5.2 Depth First Search ... 66
3.6 Analisis Kebutuhan Fungsional... 67
3.6.1 Entity Relationship Diagram (ERD)... 67
3.6.2 Data Context Diagram (DCD)... 68
3.6.3 Data Flow Diagram (DFD) Level 1... 69
3.6.3 DFD Level 2 Proses 1 (Login Pakar)... 70
(6)
3.6.5 DFD Level 2 Proses 3 (Pengolahan Data Gejala) ... 72
3.6.6 DFD Level 2 Proses 4 (Pengolahan Data Relasi)... 73
3.6.7 DFD Level 2 Proses 5 (Pengolahan Data Pasien) ... 74
3.6.8 DFD Level 2 Proses 6 (Pengolahan Data Istilah)... 75
3.6.9 DFD Level 2 Proses 7 (Pengolahan Data Tips dan Artikel Kesehatan) ... 76
3.6.10 DFD Level 2 Proses 8 (Pengolahan Data Pakar)... 77
3.6.11 DFD Level 2 Proses 9 (Daftar Pasien)... 78
3.6.12 DFD Level 2 Proses 10 (Diagnosa) ... 79
3.6.13 DFD Level 2 Proses 11 (Pengolahan Data Pesan) ... 80
3.6.14 Spesifikasi Proses ... 81
3.6.15 Kamus Data ... 100
3.6.16 Skema Relasi ... 104
3.7 Analisis Kebutuhan Non Fungsional ... 105
3.7.1 Analisis Kebutuhan Pengguna (User)... 105
3.7.2 Analisis Kebutuhan Perangkat Keras (Hardware)... 106
3.7.3 Analisis Kebutuhan Perangkat Lunak (Software) ... 106
3.8 Struktur Tabel ... 107
3.9 Flowchart... 114
3.10 Struktur Menu... 119
3.11 Perancangan Antarmuka ... 120
3.11.1 Perancangan Halaman Depan Aplikasi... 120
3.11.2 Perancangan Halaman Login Pakar... 121
3.11.3 Perancangan Halaman Validasi Login Pakar ... 122
3.11.4 Perancangan Halaman Login Pasien... 123
3.11.5 Perancangan Halaman Validasi Login Pasien... 124
3.11.6 Perancangan Halaman Daftar Pasien Baru ... 125
3.11.7 Perancangan Halaman Daftar Pasien Baru ... 126
3.11.8 Perancangan Halaman Hasil Pencarian... 128
3.11.9 Perancangan Halaman Detail Artikel... 129
3.11.10 Perancangan Halaman Informasi Daftar Penyakit... 130
(7)
3.11.12 Perancangan Halaman Peringatan ... 132
3.11.13 Perancangan Halaman Pasien... 133
3.11.14 Perancangan Halaman Konfirmasi ... 134
3.11.15 Perancangan Halaman Diagnosa (Pertanyaan)... 135
3.11.16 Perancangan Halaman Hasil Diagnosa ... 136
3.11.17 Perancangan Halaman Kontak ... 137
3.11.18 Perancangan Halaman Depan Pakar ... 138
3.11.19 Perancangan Pesan Validasi Keluar ... 139
3.11.20 Perancangan Halaman Daftar Penyakit... 139
3.11.21 Perancangan Halaman Tambah Penyakit... 140
3.11.22 Perancangan Validasi Halaman Tambah Penyakit ... 141
3.11.23 Perancangan Halaman Hasil Pencarian Penyakit ... 142
3.11.24 Perancangan Halaman Hasil Pencarian Penyakit ... 143
3.11.25 Perancangan Halaman Hasil Pencarian Penyakit ... 144
3.11.26 Perancangan Halaman Daftar Gejala ... 144
3.11.27 Perancangan Halaman Hasil Pencarian Gejala... 145
3.11.28 Perancangan Halaman Hasil Pencarian Gejala... 146
3.11.29 Perancangan Halaman Tambah Gejala ... 147
3.11.30 Perancangan Halaman Validasi Tambah Gejala ... 148
3.11.31 Perancangan Pesan Hapus Gejala... 148
3.11.32 Perancangan Halaman Relasi dan Aturan ... 149
3.11.33 Perancangan Halaman Daftar Pasien ... 150
3.11.34 Perancangan Halaman Hasil Diagnosa ... 151
3.11.35 Perancangan Halaman Rincian Hasil Diagnosa ... 152
3.11.36 Perancangan Halaman Rincian Data Pasien... 153
3.11.37 Perancangan Halaman Hasil Pencarian Pasien... 154
3.11.38 Perancangan Halaman Hasil Pencarian Pasien... 155
3.11.39 Perancangan Halaman Daftar Istilah ... 156
3.11.40 Perancangan Halaman Tambah Daftar Istilah... 157
3.11.41 Perancangan Halaman Pesan Validasi Tambah Daftar Istilah... 158
(8)
3.11.43 Perancangan Halaman Tambah Daftar Tips dan Artikel
... 160
3.11.44 Perancangan Halaman Pesan Validasi Tambah Daftar Tips dan Artikel ... 161
3.11.45 Perancangan Halaman Detail ... 162
3.11.46 Perancangan Halaman Informasi Profil ... 163
3.11.47 Perancangan Halaman Informasi Pesan... 164
3.12 Persentase Keputusan... 165
3.13 Algoritma Tree ... 166
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM... 172
4.1 Implementasi ... 172
4.1.1Implementasi Perangkat Keras ... 172
4.1.2Implementasi Perangkat Lunak ... 172
4.1.3Implementasi Persentase Keputusan ... 173
4.1.4Implementasi Algoritma Tree... 174
4.1.5Implementasi Antarmuka ... 180
4.1.5.1Halaman Depan... 180
4.1.5.2Halaman Login Pakar ... 181
4.1.5.3Halaman Validasi Login Pakar ... 181
4.1.5.4Halaman Validasi Login Pakar ... 182
4.1.3.5Halaman Daftar Pasien ... 182
4.1.3.6Halaman Validasi Daftar Pasien ... 183
4.1.3.7Halaman Validasi Daftar Pasien ... 183
4.1.3.8Halaman Daftar Pasien Baru... 184
4.1.3.9Halaman Informasi Daftar Penyakit... 185
4.1.3.10Halaman Informasi Arsip ... 185
4.1.3.11Halaman Informasi Arsip ... 186
4.1.3.12Halaman Hasil Pencarian... 186
4.1.3.13Halaman Validasi Pencarian ... 187
4.1.3.14Halaman Depan Pakar ... 187
4.1.3.15Halaman Daftar Penyakit... 188
(9)
4.1.3.17Pesan Konfirmasi Hapus Data Penyakit... 189
4.1.3.18Pesan Konfirmasi Ubah Data Penyakit ... 189
4.1.3.19Halaman Daftar Gejala ... 190
4.1.3.20Pesan Konfirmasi Hapus Data Gejala ... 190
4.1.3.21Halaman Tambah Daftar Gejala ... 191
4.1.3.22Pesan Konfirmasi Ubah Data Gejala... 191
4.1.3.23Halaman Relasi Gejala dan Penyakit ... 192
4.1.3.24Halaman Daftar Pasien ... 192
4.1.3.25Pencarian Data Pasien ... 193
4.1.3.26Halaman Hasil Pencarian Data Pasien ... 193
4.1.3.27Halaman Hasil Pencarian Data Pasien ... 194
4.1.3.28Halaman Hasil Pencarian Data Pasien ... 194
4.1.3.29Halaman Rincian Data Pasien... 195
4.1.3.30Halaman Daftar Istilah ... 195
4.1.3.31Halaman Daftar Tips dan Artikel Kesehatan .... 196
4.1.3.32Halaman Detail Tips dan Artikel Kesehatan .... 196
4.1.3.33Halaman Tambah Data Tips dan Artikel Kesehatan ... 197
4.1.3.34Halaman Ubah Data Tips dan Artikel Kesehatan ... ... 197
4.1.3.35Pesan Konfirmasi Ubah Data Tips dan Artikel Kesehatan ... 198
4.1.3.36Halaman Informasi Profil Pakar ... 198
4.1.3.37Halaman Ubah Profil Pakar ... 199
4.1.3.38Halaman Ubah Password Pakar ... 199
4.1.3.39Halaman Lihat Log Pakar... 200
4.1.3.40Halaman Lihat Log Pasien... 200
4.1.3.41Halaman Daftar Pesan ... 201
4.1.3.42Halaman Rincian Pesan ... 201
4.1.3.43Pesan Konfirmasi Logout Pakar ... 202
4.1.3.44Halaman Depan Pasien... 202
(10)
4.1.3.46Halaman Konfirmasi ... 203
4.1.3.47Halaman Konsultasi Pasien ... 204
4.1.3.48Halaman Hasil Diagnosa ... 204
4.2 Pengujian... 205
4.2.1 Rencana Pengujian... 205
4.2.2 Kasus dan Hasil Pengujian... 207
4.2.3 Kesimpulan Hasil Pengujian Alpha... 228
4.2.4 Pengujian Beta... 228
4.2.5 Kesimpulan Hasil Pengujian Beta ... 232
BAB V KESIMPULAN DAN SARAN... 233
5.1 Kesimpulan... 233
5.2 Saran ... 233
(11)
1 BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Teknologi semakin berkembang seiring dengan meningkatnya kebutuhan setiap individu di berbagai bidang, seperti di bidang bisnis, pendidikan, psikologi, dan tentu saja dibidang kesehatan. Dengan perkembangan teknologi saat ini, semua orang dapat berkomunikasi serta memperoleh dan menyampaikan berbagai informasi yang dibutuhkan kapan pun dan dimana pun mereka berada secara cepat, akurat dan ekonomis. Fenomena tersebut kemudian mendorong para ahli untuk mengembangkan kegunaan komputer agar dapat membantu pekerjaan manusia.
Kesehatan merupakan hal yang sangat penting dalam kehidupan. Namun terkadang kesadaran akan pola hidup yang sehat dan pola makan yang teratur masih terabaikan. Banyak penyakit dan gejala-gejala yang timbul akibat pola hidup dan pola makan yang tidak teratur, salah satunya adalah vertigo. Vertigo merupakan sakit kepala yang berbeda dari gejala sakit kepala biasa dan migren. Vertigo adalah suatu sensasi gerakan atau rasa gerak dari tubuh atau lingkungan sekitarnya dengan gejala yang timbul, terutama dari jaringan otonomik yang disebabkan oleh gangguan alat keseimbangan tubuh (PERDOSSI, 1999 : 1) yang ditandai dengan perasaan berputar, dunia serasa bergoyang, benda sekeliling berputar, rasa mau jatuh bahkan adakalanya benar-benar terjatuh, disertai dengan mual, muntah, keringat dingin serta merasa lebih baik jika berbaring, tapi vertigo
(12)
terus berlanjut meski tidak bergerak sama sekali, kadang merasa enak bila tutup mata dan vertigo berulang saat mata dibuka.
Terkadang seorang penderita vertigo itu sendiri pada awalnya tidak mengetahui jenis gejala maupun penyakit yang dideritanya karena minimnya informasi yang mereka ketahui. Bila seorang penderita vertigo ingin mengetahui tentang gejala-gejala, penyebab serta cara penanggulangan yang baik maka mereka akan mendatangi dokter untuk berkonsultasi. Akan tetapi, hal tersebut tidak dapat dilakukan oleh semua orang mungkin karena faktor perekonomian yang kurang mencukupi ataupun karena tuntutan kesibukan dan aktifitas mereka yang padat sehingga tidak bisa menyesuaikan dengan jadwal konsultasi praktek dokter. Terkadang ketika berkonsultasi pun informasi hasil diagnosa yang disampaikan oleh dokter tidak sepenuhnya dipaparkan secara mendetail.
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut (Martin dan Oxman, 1988). Sistem pakar dapat diterapkan diberbagai bidang, termasuk dibidang kedokteran, dengan cara mendiagnosis suatu penyakit.
Berdasarkan fenomena tersebut, maka dapat disimpulkan bahwa dibutuhkan sebuah sistem pakar berbasis web agar dapat diakses kapan pun sebagai alternatif penyajian informasi dan konsultasi yang lebih ekonomis melihat jumlah penderita vertigo tidak sedikit dikalangan masyarakat. Dan menilik permasalahan yang ada, sistem pakar ini cocok menggunakan metode inferensi backward chaining sebagai metode penelusurannya karena penelusuran yang dilakukan diawali dengan suatu hipotesis yang kemudian akan diuji kebenarannya
(13)
berdasarkan gejala-gejala yang muncul. Backward chaining adalah metode penelusuran dengan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut. Metode ini cocok digunakan untuk memcahkan masalah diagnosis (Schnupp, 1989) dan merupakan cara yang efesien untuk memecahkan masalah yang dimodelkan sebagai masalah pemilihan terstruktur (Kusrini, 2006 : 37).
Penelitian dan pembangunan sistem pakar mengenai diagnosa penyakit telah dilakukan oleh beberapa individu. Namun, dalam penelitian tugas akhir dan skripsi ini terdapat beberapa perbedaan, diantaranya objek penelitian, bahasa pemrograman serta metode penelusuran yang digunakan dalam pembangunan sistem guna menarik kesimpulan akhir.
Berdasarkan latar belakang tersebut, maka penulis mengangkat topik yang berjudul ”Sistem Pakar Untuk Mendiagnosa Penyakit Vertigo Dengan Metode Backward Chaining Berbasis Web”.
1.2 Rumusan Masalah
Dalam penelitian ini terdapat masalah-masalah yang timbul diantaranya sebagai berikut :
1. Bagaimana masyarakat dapat memperoleh dan menyampaikan informasi kapan pun dan dimana pun mereka berada secara cepat, akurat dan ekonomis.
2. Terkadang seorang penderita penyakit vertigo itu sendiri pada awalnya tidak mengetahui apa yang dideritanya karena minimnya informasi yang mereka ketahui.
(14)
3. Tidak semua penderita vetigo dapat berkonsultasi ke dokter mengenai gejala-gejala, penyebab serta cara penanggulangan vertigo dikarenakan faktor perekonomian yang kurang memadai ataupun karena tuntutan aktifitas dan kesibukan mereka yang padat sehingga tidak bisa menyesuaikan dengan jadwal praktek dokter spesialis.
4. Informasi yang dipaparkan oleh dokter terkadang tidak mendetail.
Berdasarkan beberapa masalah tersebut, maka dapat dirumuskan masalahnya adalah bagaimana membangun Sistem Pakar Untuk Mendiagnosa Penyakit Vertigo Dengan Metode Backward Chaining Berbasis Web.
1.3 Maksud dan Tujuan
Maksud dari penelitian ini adalah membangun Sistem Pakar Untuk Mendiagnosa Penyakit Vertigo Dengan Metode Backward Chaining Berbasis Web.
Adapun tujuan dibangunnya sistem ini adalah :
1. Mempermudah masyarakat untuk memperoleh dan menyampaikan informasi kapanpun dan dimanapun mereka berada secara cepat, akurat dan ekonomis.
2. Memberikan fasilitas konsultasi bagi user guna mendiagnosa kemungkinan user terkena vertigo.
3. Memberikan informasi mengenai gejala-gejala serta bagaimana terapi penanggulangan yang baik tentang vertigo.
4. Menampilkan informasi secara detail dari hasil diagnosa.
5. Menampilkan informasi secara detail dari hasil diagnosa dalam format .pdf.
(15)
6. Menampilkan informasi secara detail history (log) dari aktivitas yang dilakukan oleh admin (pakar) dan user (pasien).
1.4 Batasan Masalah
Dari beberapa kajian tersebut maka batasan masalahnya adalah sebagai berikut :
1. Sistem yang dibangun ditujukan untuk menentukan dan memberikan informasi mengenai gejala-gejala dan terapi penanggulangan vertigo yang baik.
2. Data yang diperoleh ialah data mengenai pengertian vertigo, jenis-jenis vertigo, gejala-gejala vertigo, dan terapi penangulangan vertigo.
3. Jenis vertigo yang didiagnosa adalah berdasarkan kerusakan sistem saluran vestibular, yaitu vertigo periferal dan vertigo sentral.
4. Sistem pakar ini berbasis web sehingga dapat digunakan kapanpun dan di manapun oleh user.
5. Pembangunan sistem pakar ini menggunakan metode inferensi Backward Chaining.
6. Untuk metode pencarian, sistem ini menggunakan metode Depth first search.
7. Aplikasi ini dibangun menggunakan bahasa pemrograman PHP dan database MySQL.
8. Pengguna sistem adalah administrator (pakar) dan end user (pasien) sebagai pengakses informasi.
(16)
1.5 Metodologi Penelitian
Metodologi penelitian merupakan tahap-tahap penelitian yang harus diterapkan sebelum melakukan pemecahan masalah. Dalam menganalisa digunakan metode–metode sebagai berikut :
1. Tahap Penelitian 1) Wawancara
Mengadakan tanya-jawab (interview) langsung kepada pihak yang terkait. 2) Observasi
Melakukan pengamatan dan pengumpulan data obyek penelitian. 3) Studi Literatur
Metode yang dipakai untuk mengumpulkan data yang sifatnya teoritis dengan membaca buku-buku atau literatur yang ada hubungannya dengan laporan tugas akhir dan skripsi.
2. Pembangunan Perangkat Lunak
Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall. Waterfall adalah sebuah pengembangan model perangkat lunak yang dilakukan secara berurutan atau sekuensial, adapun model ini dimulai pada tahap :
1) System Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya ke dalam pembentukan perangkat lunak.
(17)
2) Analysis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
3) Design
Tahap penerjemahan dari data yang dianalisis ke dalam bentuk yang mudah dimengerti oleh user. Pada tahap ini dilakukan pembuatan tabel aturan, membuat basis pengetahuan serta interface (antarmuka).
4) Coding
Tahap ini merupakan suatu proses mengubah desain menjadi bentuk yang dapat dimengerti oleh komputer yaitu dengan bahasa pemrograman. 5) Testing
Merupakan tahap pengujian terhadap perangkat lunak yang dibangun. 6) Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan user.
Gambar 1.3 Metodologi Pengembangan Sistem Model Waterfall System
Engineering
Analysis
Design
Coding
Testing
(18)
1.6 Sistematika Penulisan
Sistematika penulisan laporan tugas akhir dan skripsi ini dibagi menjadi beberapa bab dengan pokok pembahasan. Sistematika secara umum adalah sebagai berikut :
Bab I Pendahuluan
Bab ini membahas tentang latar belakang, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.
Bab II Landasan Teori
Membahas mengenai berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya. Bab III Analisis dan Perancangan Sistem
Menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antarvariabel yang diteliti serta model matematis untuk analisisnya.
Bab IV Implementasi dan Pengujian Sistem
Menguraikan tentang bagaimana mengimplementasikan setiap prosedur yang telah dirancang pada bab sebelumnya ke dalam bentuk bahasa pemrograman untuk membuat aplikasi, kemudian akan dilakukan pengujian terhadap prosedur tersebut dan melakukan pembahasan terhadap prosedur tesebut.
(19)
Bab V Kesimpulan dan Saran
Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan skripsi dan tugas akhir.
(20)
10 BAB II LANDASAN TEORI
2.1 Kecerdasan Buatan
Kecerdasan buatan adalah suatu ilmu yang mempelajari tentang cara membuat komputer agar memiliki kemampuan bekerja seperti dan sebaik manusia. Adapun definisi lain, kecerdasan buatan merupakan kawasan penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas (H. A. Simon : 1987).
Ada tiga tujuan kecerdasan buatan, yaitu : membuat komputer lebih cerdas, mengerti tentang kecerdasan, dan membuat mesin lebih berguna. Teknologi kecerdasan buatan dipelajari dalam beberapa bidang penelitian, seperti (Kusrini, 2006 : 5) :
1. Formal tasks (matematika, games).
2. Perceptron, robotics, natural language, common sense, reasoning.
3. Expert tasks (financial analysis, medical diagnostics, engineering, scientific analysis, dll).
Ada beberapa konsep yang harus dipahami dalam kecerdasan buatan (Kusrini, 2006 : 5) :
1. Turing Test-Metode Pengujian Kecerdasan.
2. Pemrosesan Simbolik.
3. Heuristic.
(21)
5. Pencocokan Pola (Pattern Matching).
2.2 Vertigo
Kata ”vertigo” berasal dari bahasa Latin yaitu vertere yang artinya
memutar. Nama ini diberikan kepada orang yang biasanya merasa dunia di sekitarnya berputar sehingga hilang keseimbangan. Vertigo merupakan sakit kepala yang berbeda dari gejala sakit kepala biasa dan migren. Vertigo adalah suatu sensasi gerakan atau rasa gerak dari tubuh atau lingkungan sekitarnya dengan gejala yang timbul, terutama dari jaringan otonomik yang disebabkan oleh gangguan alat keseimbangan tubuh (PERDOSSI, 1999 : 1) yang ditandai dengan perasaan berputar, dunia serasa bergoyang, benda sekeliling berputar, rasa mau jatuh bahkan adakalanya benar-benar terjatuh, disertai dengan mual, muntah, keringat dingin serta merasa lebih baik jika berbaring, tapi vertigo terus berlanjut meski tidak bergerak sama sekali, kadang merasa enak bila tutup mata dan vertigo berulang saat mata dibuka.
2.2.1 Patofisiologi
Rasa pusing atau vertigo disebabkan oleh gangguan alat keseimbangan tubuh yang mengakibatkan ketidakcocokan antara posisi tubuh yang sebenarnya dengan apa yang dipersepsikan oleh susunan saraf pusat (Cermin Dunia Kedokteran, 2004 : 41).
Ada beberapa teori yang berusaha menerangkan kejadian tersebut (Cermin Dunia Kedokteran, 2004 : 41) :
(22)
1. Teori Rangsang Berlebihan (Overstimulation)
Teori ini berdasarkan asumsi bahwa rangsang yang berlebihan
menyebabkan hiperemi kanalis semisirkularis sehingga fungsinya
terganggu; akibatnya akan timbul vertigo, nistagmus, mual dan muntah.
2. Teori Konflik Sensorik
Menurut teori ini terjadi ketidakcocokan masukan sensorik yang berasal
dari berbagai reseptor sensorik perifer yaitu antara mata (visus),
vestibulum dan proprioseptik, atau ketidakseimbangan (asimetri) masukan sensorik dari sisi kiri dan kanan. Ketidakcocokan tersebut menimbulkan kebingungan sensorik di sentral sehingga timbul respons yang dapat
berupa nistagmus (usaha koreksi bola mata), ataksia atau sulit berjalan
(gangguan vestibuler, serebelum) atau rasa melayang, berputar (yang
berasal dari sensasi kortikal). Berbeda dengan teori rangsang berlebihan,
teori ini lebih menekankan gangguan proses pengolahan sentral sebagai penyebab.
3. Teori Neural Mismatch
Teori ini merupakan pengembangan teori konflik sensorik. Menurut teori ini otak mempunyai memori/ingatan tentang pola gerakan tertentu sehingga jika pada suatu saat dirasakan gerakan yang aneh atau tidak sesuai dengan pola gerakan yang telah tersimpan, timbul reaksi dari
susunan saraf otonom. Jika pola gerakan yang baru tersebut dilakukan
berulang-ulang akan terjadi mekanisme adaptasi sehingga berangsur-angsur tidak lagi timbul gejala.
(23)
4. Teori Otonomik
Teori ini menekankan perubahan reaksi susunan saraf otonom sebagai usaha adaptasi gerakan (perubahan posisi). Gejala klinis timbul jika sistem
simpatis terlalu dominan, sebaliknya hilang jika sistem parasimpatis
mulai berperan.
5. Teori Neurohumoral
Diantaranya teori histamin (Takeda), teori dopamin (Kohl) dan teori
serotonin (Lucat) yang masing-masing menekankan peranan
neurotransmiter tertentu dalam mempengaruhi sistem saraf otonom yang menyebabkan timbulnya gejala vertigo.
6. Teori sinap
Merupakan pengembangan teori sebelumnya yang meninjau peranan
neurotransmisi dan perubahan-perubahan biomolekuler yang terjadi pada
proses adaptasi, belajar dan daya ingat. Rangsang gerakan menimbulkan
stres yang akan memicu sekresi CRF (corticotropin releasing factor);
peningkatan kadar CRF selanjutnya akan mengaktifkan susunan saraf simpatik yang selanjutnya mencetuskan mekanisme adaptasi berupa meningkatnya aktivitas sistem saraf parasimpatik. Teori ini dapat menerangkan gejala penyerta yang sering timbul berupa pucat, berkeringat diawal serangan vertigo akibat aktivitas simpatis, yang berkembang menjadi gejala mual, muntah dan hipersalivasi setelah beberapa saat akibat dominasi aktivitas susunan saraf parasimpatis.
(24)
2.2.2 Anamnesis
Pertama-tama ditanyakan bentuk vertigonya, apakah terasa seperti melayang, goyang, berputar, tujuh keliling, serasa naik perahu dan sebagainya. Perlu diketahui juga keadaan yang memprovokasi timbulnya vertigo, seperti perubahan posisi kepala dan tubuh, keletihan, ketegangan. Dari segi profil waktu, seperti apakah timbulnya akut atau perlahan-lahan, hilang timbul, paroksimal, kronik, progresif atau membaik. Beberapa penyakit tertentu mempunyai profil waktu yang karakteristik (Cermin Dunia Kedokteran, 2004 : 42).
Apakah juga ada gangguan pendengaran yang biasanya
menyertai/ditemukan pada lesi alat vestibuler atau n vestibularis. Penggunaan
obat-obatan seperti streptomisin, kanamisin, salisilat, antimalaria dan lain-lain
yang diketahui ototoksik/vestibulotoksik dan adanya penyakit sistemik seperti
anemi, penyakit jantung, hipertensi, hipotensi, penyakit paru juga perlu ditanyakan. Juga kemungkinan trauma akustik (Cermin Dunia Kedokteran, 2004 : 42).
2.2.3 Penyebab Vertigo
Vertigo bukan terjadi karena faktor keturunan. Vertigo tidak boleh disepelekan karena bisa menjadi pertanda penyakit yang serius, seperti tumor
otak, hipertensi (tekanan darah tinggi), diabetes mellitus (kencing manis), jantung,
dan ginjal. Semakin dini vertigo ditangani akan semakin cepat dapat diatasi. Vertigo bisa terjadi karena :
1. Infeksi virus yang menyerang area labirin
2. Infeksi bakteri yang mengenai telinga tengah
(25)
4. Serangan migren
5. Sirkulasi darah yang berkurang yang dapat menyebabkan aliran darah ke
otak berkurang
6. Mabuk kendaraan
7. Alkohol
8. Kelainan Neurologis
a. Sklerosis multipel
b. Patah tulang tengkorak yang disertai cedera pada labirin,
persarafannya atau keduanya
c. Tumor otak
d. Tumor yang menekan saraf vestibularis.
Vertigo biasanya muncul karena adanya gangguan sistem vestibular
(misalnya terdapat gangguan pada struktur telinga bagian dalam, saraf vestibular,
batang otak, dan otak kecil/cerebellum). Sistem vestibular bertanggung jawab
untuk mengintegrasikan rangsangan terhadap indera dan gerakan tubuh. Selain itu
sistem vestibular bertugas menjaga agar suatu obyek ada di fokus penglihatan saat
tubuh bergerak. Ketika kepala bergerak, sinyal ditransmisikan ke labirin, yang
terdapat di telinga bagian dalam. Labirin kemudian membawa informasi ke saraf
vestibular yang kemudian diteruskan ke batang otak dan otak kecil, yang berfungsi mengontrol keseimbangan, postur, dan kordinasi gerak.
(26)
Gambar 2.1 Gangguan Sistem Vestibular
2.2.4 Gejala Vertigo
Vertigo bisa merupakan gejala yang mandiri, namun bisa juga timbul bersama dengan gejala lainnya (PERDOSSI, 1999 : 19). Berikut ini adalah gejala umum vertigo:
1) Mual.
2) Muntah.
3) Keringat dingin.
4) Pandangan gelap.
5) Lelah dan stamina menurun.
6) Memori dan daya pikir menurun.
7) Tidak mampu berkonsentrasi.
8) Pusing.
(27)
10)Lemas (contoh : tidak mampu menggenggam erat benda dengan telapak tangan).
11)Keadaan sekitar terasa berputar, benda diam di sekitar nampak bergoyang
(Oscillpsia) dan nampak ganda (Diplopia).
12)Sukar menelan.
13)Kelumpuhan otot-otot wajah.
14)Sakit kepala yang parah.
15)Kesadaran terganggu.
16)Hilangnya koordinasi.
17)Telinga Berdenging (tinnitus) atau hilangnya pendengaran.
18)Posisi kepala terfiksasi kearah tertentu.
19)Sensitif pada cahaya terang dan suara.
20)Rasa seolah-olah akan terjatuh pada permulaan tidur.
21)Hilang keseimbangan, seperti tidak bisa tegak dan tidak bisa stabil ketika
berdiri dan atau duduk jalan sempoyongan dan jalan membelok.
22)Ketika berbaring miring atau ketika kepalanya menengadah ke atas
keadaan sekitar terasa berputar selama 15-20 detik.
23)Pandangan tidak fokus (gerakan mata ulang-alik diluar kemauan
(nistagimus atau nystagmoid jerks)).
2.2.5 Jenis-Jenis Vertigo
Vertigo bukan suatu penyakit tersendiri, melainkan gejala dari penyakit yang letak lesi dan penyebabnya berbeda-beda. Oleh karena itu, pada setiap penderita vertigo harus dilakukan anamnesis dan pemeriksaan yang cermat dan terarah untuk menentukan bentuk vertigo, letak lesi dan penyebabnya.
(28)
Saluran vestibular adalah salah satu organ bagian dalam telinga yang senantiasa mengirimkan informasi tentang posisi tubuh ke otak untuk menjaga keseimbangan. Vertigo diklasifikasikan menjadi dua kategori berdasarkan saluran
vestibular yang mengalami kerusakan, yaitu :
1. Vertigo Periferal
Vertigo perifer (peripheral vertigo) disebabkan oleh disfungsi struktur
perifer hingga ke batang otak (brain stem). Vertigo periferal terjadi jika
terdapat gangguan di saluran yang disebut kanalis semisirkularis, yaitu
telinga bagian tengah yang bertugas mengontrol keseimbangan. Vertigo jenis ini biasanya diikuti gejala-gejala seperti:
1) Mual.
2) Muntah.
3) Keringat dingin.
4) Pandangan gelap.
5) Lelah dan stamina menurun.
6) Memori dan daya pikir menurun.
7) Tidak mampu berkonsentrasi.
8) Pusing.
Sentral
Fisikologik Ketinggian, mabuk udara
Vertigo Patologik
Perifer
Sindroma Fobia Psikogenik
BPPV Meniere
Infeksi Trauma Iskemi
(29)
9) Telinga Berdenging (tinnitus).
10)Posisi kepala terfiksasi kearah tertentu.
11)Sensitif pada cahaya terang dan suara.
12)Rasa seolah-olah akan terjatuh pada permulaan tidur.
13)Hilang keseimbangan, seperti tidak bisa tegak dan tidak bisa stabil
ketika berdiri dan atau duduk jalan sempoyongan dan jalan membelok.
14)Ketika berbaring miring atau ketika kepalanya menengadah ke atas
keadaan sekitar terasa berputar selama 15-20 detik.
15)Pandangan tidak fokus (gerakan mata ulang-alik diluar kemauan
(nistagimus atau nystagmoid jerks)).
Beberapa kondisi yang dapat menyebabkan vertigo perifer antara lain : 1) Benign paroxysmal positional vertigo (BPPV)
2) Drug-induced vertigo (vertigo yang disebabkan oleh obat)
3) Labyrinthitis
4) Ménière's disease
5) Vestibular neuritis
2. Vertigo Sentral
Vertigo sentral (central vertigo) terjadi jika ada sesuatu yang tidak normal
di dalam otak, khususnya di bagian saraf keseimbangan, yaitu daerah
percabangan otak dan serebelum (otak kecil). Beberapa penyakit yang
dapat menyebabkan vertigo sentral antara lain : 1) Acoustic schwannomas atau meningiomas
2) Cerebellar pontine angle tumors
(30)
4) Cerebellar hemorrhage
5) Vertebrobasilar insufficiency
6) Stroke.
7) Multiple sclerosis (gangguan tulang belakang dan otak)
8) Tumor.
9) Trauma di bagian kepala.
10)Migren.
11)Kondisi peradangan pada leher.
12)Neurodegenerative illnesses (penyakit akibat kemunduran fungsi saraf) yang menimbulkan dampak pada otak kecil.
Gejala vertigo sentral biasanya terjadi secara bertahap, penderita akan mengalami hal-hal seperti:
1) Mual.
2) Muntah.
3) Keringat dingin.
4) Pandangan gelap.
5) Lelah dan stamina menurun.
6) Memori dan daya pikir menurun.
7) Tidak mampu berkonsentrasi.
8) Pusing.
9) Sulit berdiri.
10)Lemas (contoh : tidak mampu menggenggam erat benda dengan
(31)
11)Keadaan sekitar terasa berputar, benda diam di sekitar nampak
bergoyang (Oscillpsia) dan nampak ganda (Diplopia).
12)Sukar menelan
13)Kelumpuhan otot-otot wajah
14)Sakit kepala yang parah
15)Kesadaran terganggu
16)Hilangnya koordinasi
Berdasarkan gejalanya yang menonjol atau klinis, vertigo dapat dibagi atas beberapa kelompok penyakit (PERDOSSI, 1999 : 21) :
1. Vertigo yang paroksismal.
Vertigo yang paroksismal adalah vertigo yang serangannya datang secara
mendadak, berlangsung selama beberapa menit atau beberapa hari, kemudian menghilang sempurna. Tetapi suatu ketika serangan tersebut muncul kembali. Vertigo jenis ini dapat dibedakan berdasarkan gejala penyertanya, yaitu :
1) Vertigo yang disertai dengan keluhan telinga
Kelompok penyakit ini memiliki kumpulan gejala (sindroma) yang
sama yang disebut sindrom meniere. Yang termasuk dalam kelompok
ini adalah morbus meniere, araknoditis ponto serebelaris, sindrom
lermoyes, serangan iskemia sepintas arteria vertebralis, sindroma Cogan, Tumor fosa kranii posterior, kelainan gigi (Ondontogen).
(32)
2) Vertigo yang tanpa disertai keluhan telinga
Yang termasuk kelompok ini adalah serangan isekmia sepintas arteria
vertebro basilaris, epilepsi, vertigo akibat lesi lambung, ekuivalen
migren, vertigo pada anak (vertigo de L’enfance), labirin picu (trigger
labyrinth).
3) Vertigo yang timbulnya dipengaruhi oleh perubahan posisi
Yang termasuk kelompok ini adalah vertigo posisional paroksismal
yang laten dan vertigo posisional paroksismal benigna.
2. Vertigo yang kronis
Yaitu vertigo yang menetap lama, keluhannya konstan tidak membentuk serangan-serangan akut. Vertigo jenis ini dapat dibedakan berdasarkan gejala penyertanya, yaitu :
1) Vertigo yang disertai dengan keluhan dari telinga
Yang termasuk kelompok ini adalah otitis media kronika, meningitis
TB, labirintitis kronika, lesi labirin akibat bahan ototoksik, tumor serebelopontis.
2) Vertigo yang tidak disertai dengan keluhan dari telinga
Yang termasuk kelompok ini adalah kontusio serebri, esenfalitis
pontis, sindrom pasca komosio, pelagra, siringobulbi, hipoglikemi, sklerosis multipleks, kelainan okuler, intoksikasi obat-obatan, kelainan
psikis, kelainan kardiovaskular, kelainan endokrin.
3) Vertigo yang timbulnya dipengaruhi oleh perubahan posisi
Yang termasuk kelompok ini adalah Hipotensi ortostatik dan vertigo
(33)
3. Vertigo yang serangannya mendadak/akut, berangsur-angsur mengurang Vertigo jenis ini dapat dibedakan berdasarkan gejala penyertanya, yaitu :
1) Vertigo yang disertai dengan keluhan dari telinga
Yang termasuk kelompok ini adalah trauma labirin, herpes zoster
otikus, labirintis akuta, pendarahan labirin, neuritis VIII, cedera
arteria auditiva atau arteria vestibulokoklearis.
2) Vertigo yang tidak disertai dengan keluhan dari telinga
Yang termasuk kelompok ini adalah neuronitis vestibularis, neuritis
vestibularis, sindrom arteria vestibularis anterior, ensenfalitis vestibularis, vertigo epidemika, sklerosis multipleks, hematobulbi,
sumbatan arteria serebeli inferior posterior.
2.2.6 Terapi Vertigo
Terapi vertigo terdiri atas (PERDOSSI, 1999 : 41) :
1. Terapi Kausal
Kebanyakan kasus vertigo tidak diketahui penyebabnya. Walaupun demikian bilamana penyebabnya dapat ditemukan, maka terapi kausal merupakan pilihan utama.
2. Terapi Simtomatik
Terapi ini ditujukan pada dua gejala utama, yaitu rasa vertigo (berputar, melayang) dan gejala otonom (mual, muntah). Gejala-gejala tersebut
timbul paling berat pada vertigo vestibular fase akut dan biasanya akan
menghilang dalam beberapa hari berkat adanya mekanisme kompensasi sentral. Namun, oleh karena pada fase ni pasien biasanya merasa cemas dan menderita, maka harus diberikan obat simtomatik. Oleh karena
(34)
obat-obatan supresan vestibular dapat menghalangi mekanisme kompensasi sentral, maka pemberiannya secukupnya saja untuk mngurangi gejala, tuijuannya agar pasien dapat segera dimobilisasi untuk melakukan latihan rehabilitasi.
3. Terapi Rehabilitatif
Tujuan terapi mi adalah untuk menimbulkan dan meningkatkan
kompensasi sentral dan habituasi pada pasien dengan gangguan vestibular.
Mekanisme kerja terapi ini adalah melalui :
1) Substitusi Sentral oleh sistem visual dan somatosensori untuk fungsi
vestibular yang terganggu.
2) Mengaktifkan kendali pada tonus inti vestibular oleh sereblum, sistem
visual, dan somatsensori.
3) Menimbulkan habituasi, yaitu berkurangnya respon terhadap stimulasi
sensorik yang diberikan berulang-ulang.
Untuk terapi rehabilitatif ini, penderita diberikan latihan yang disebut
latihan vestibular (Vestibular Exercise) :
1) Metode Brandt-Daroff
Latihan vestibular untuk pengobatan Benign Paroxysmal Positional
Vertigo (BPPV) caranya adalah pasien duduk tegak di tepi tempat tidur dengan kaki tergantung. Lalu tutup kedua mata dan berbaring dengan cepat pada salah satu sisi tubuh selama 30 detik, kemudian duduk tegak kembali. Setelah 30 detik, baringkan tubuh lain ke sisi lain dengan cara yang sama, tunggu 30 detik, setelah itu duduk tegak kembali. Lakukan latihan ini 5 kali pada pagi hari dan 5 kali pada
(35)
malam hari sampai 2 hari berturut-turut tidak timbul vertigo lagi (Brandt T. dan Daroff R.B., 1980 : 106-484).
Gambar 2.3 Terapi Metode Brandt-Daroff
Pada penderita gangguan vestibular lain selain BPPV, setelah lewat
fase akut, dimana rasa mual dan muntahnya sudah menghilang,
diberikan latihan vestibular lain, diantaranya :
2) Latihan Visual-Vestibular
a. Pada pasien yang harus berbaring :
a) Melirik ke atas, ke bawah, ke samping kanan, ke samping kiri.
Selanjutnya gerakan serupa sambil menatap jari yang digerakkan pada jarak 30 cm, mula-mula gerakkannya lambat, makin lama makin cepat.
b) Gerakkan kepala fleksi dan ekstensi, makin lama makin cepat.
Lalu diulangi dengan mata tertutup. Setelah itu, gerakkan kepala ke kiri dan ke kanan dengan urutan yang sama.
(36)
a) Gerakkan kepala dengan cepat ke atas dan ke bawah, seperti sedang manggut, sebanyak 5 kali, lalu tunggu 10 detik atau lebih lama sampai vertigo menghilang. Ulangi latihan tersebut sebanyak 5 kali.
b) Gerakkan kepala menatap ke kiri atau ke kanan atas selama 30
detik, kembali ke posisi biasa selama 30 detik, lalu menatap ke atas sisi lain selama 30 detik dan seterusnya. Ulangi latihan sebanyak 3 kali.
c) Sambil duduk membungkuk dan mengambil benda yang
diletakkan di lantai.
c. Untuk pasien yang sudah bisa berdiri (berjalan) :
a) Sambil berdiri gerakkan mata, kepala seperti pada latihan a-a),
a-b), b-a), dan b-b).
b) Duduk di kursi lalu berdiri dengan mata terbuka dan tertutup.
3) Latihan berjalan (Gait Exercise)
a. Jalan menyebrang ruangan dengan mata terbuka dan tertutup
bergantian.
b. Berjalan tandem dengan mata terbuka dan tertutup bergantian. Lalu
jalan tandem dengan kepala menghadap ke atas.
c. Jalan turun-naik pada lantai miring atau undakan dengan mata
terbuka dan tertutup bergantian.
d. Jalan mengelilingi seseorang sambil melempar bola dengannya.
e. Physical conditioning dengan melakukan olahraga bowling, basket, jogging, dan rowing.
(37)
2.3 Sistem Pakar
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut (Martin dan Oxman, 1988).
Pada dasarnya sistem pakar diterapkan untuk mendukung aktifitas pemecahan masalah. Beberapa aktifitas pemecahan yang dimaksud, yaitu pembuat
keputusan (decision making), pemaduan pengetahuan (knowledge fusing),
pembuatan desain (designing), perencanaan (planning), prakiraan (forecasting),
pengaturan (regulating), pengendalian (controlling), diagnosa (diagnosing),
perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising),
dan pelatihan (tutoring) (Kusrini, 2006 : 11).
Biasanya sistem pakar hanya digunakan untuk memecahkan masalah yang memang sulit untuk dipecahkan dengan pemrograman biasa, mengingat biaya yang diperlukan untuk membuat sistem pakar jauh lebih besar dari pembuatan sistem biasa (Kusrini, 2006 :12).
Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar juga akan membantu aktivitasnya sebagai asisten yang pandai.
2.3.1 Sejarah Sistem Pakar
Sistem pakar dikembangkan pertama kali tahun 1960 oleh Artificial
(38)
hasil suatu penelitian yang didominasi oleh suatu penalaran bahwa pengetahuan yang digabungkan dengan komputer akan menghasilkan prestasi pakar. GPS yang berupa sebuah prosedur yang dikembangkan oleh Allan Newell, John Cliff Shaw,
dan Hebert Simon sari Logic Theorist yang merupakan sebuah percobaan untuk
menciptakan mesin yang cerdas.
Beberapa sistem pakar yang terkenal antara lain :
1. MYCIN
1) Paling terkenal, dibuat oleh Edward Shortlife of Standford University
tahun 1970
2) Sistem pakar medical yang bisa mendiagnosa penyakit infeksi dan
merekomendasi pengobatan
3) MYCIN membantu dokter mengidentifikasi pasien yang menderita
penyakit. Dokter duduk di depan komputer dan memasukkan data pasien: umur, riwayat kesehatan, hasil laboratorium dan informasi terkait lainnya. Dengan informasi ini ditambah pengetahuan yang sudah ada dalam komputer, MYCIN mendiagnosa selanjutnya merekomendasi obat dan dosis yang harus dimakan. MYCIN sebagai penasehat medis, tidak dimaksudkan untuk mengantikan kedudukan seorang dokter. Tetapi membantu dokter yang belum berpengalaman dalam penyakit tertentu. Juga untuk membantu dokter dalam mengkonfirmasi diagnosa dan terapi yang diberikan kepada pasien apakah sesuai dengan diagnosa dan terapi yang ada dalam basis pengetahuan yang sudah dimasukkan ke dalam MYCIN, karena
(39)
MYCIN dirancang oleh dokter-dokter yang ahli dibidang penyakit tersebut.
4) Kesimpulan : sistem pakar seperti MYCIN bisa digunakan sebagai
bahan pembanding dalam pengambilan solusi dan pemecahan masalah. Keputusan terakhir atas pengobatan tersebut tetap menjadi tanggung jawab dokter.
2. DENDRAL
Mengidentifikasi struktur molekular campuran kimia yang tak dikenal.
3. XCON
1) Merupakan sistem pakar untuk membantu konfigurasi sistem komputer
besar, membantu melayani order langganan sistem komputer DEC VAX 11/780 ke dalam sistem spesifikasi final yang lengkap
2) Komputer besar seperti VAX terbuat dari ratudan komponen yang
berbeda digabung dan disesuaikan dengan konfigurasi tertentu yang diinginkan oleh para pelanggan. Ada ribuan cara dimana asesosri
Pcboard, kabel, disk drive, periperal, perangkat lunak, dan lainnya bisa
dirakit ke dalam konfigurasi yang sangat rapih. Untuk
mengidentifikasi hal-hal tersebut diperlukan waktu
berhari-hari/berminggu-minggu agar bisa memenuhi spesifikasi yang diinginkan pemesan, tapi dengan XCON bisa dalam beberapa menit.
4. XSEL
1) Dirancang untuk membantu karyawan bagian penjualan dalam
(40)
tersebut sering menghadapi kesulitan dalam memilih suatu komponen yang paling tepat
2) Basis pengetahuan yang ada pada XSEL membantu mengarahkan para
pemesan serius untuk memilih konfigurasi yang dikehendaki, kemudian XSEL memilih CPU, memori, periperal dan menyarankan paket software tertentu yang paling tepat dengan konfigurasinya.
5. PROSPECTOR
1) sistem pakar yang membantu ahli geologi dalam mencari dan
menemukan deposit
2) Basis pengetahuan berisi bermacam-macam mineral dan batu-batuan.
Banyak pakar geologi diwawancarai dan pengetahuan mereka tentang berbagai bentuk biji deposit dimasukkan ke dalam sistem pakar.
3) Ahli geologi melacak biji deposit dengan pergi ke lapangan untuk
meninjau medan dan mengumpulkan bukti yang ada seperti ciri-ciri geologi dicatat, sampel tanah dan batu-batuan. Sistem pakar mengevaluasi areal dalam bentuk pertanyaan dan data-data tersebut dimasukkan, kemudian Prospector memberikan rekomendasi yang menunjukkan jumlah deposit yang ada dan apakah menguntungkan atau tidak bila dieksplorasi atau di bor lebih lanjut.
2.3.2 Pemakai Sistem Pakar
Sistem pakar dapat digunakan oleh (Kusrini, 2006 : 14):
1. Orang awam yang bukan pakar untuk meningkatkan kemampuan mereka
dalam memecahkan masalah.
(41)
Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alasan mendasar mengapa sistem pakar dikembangkan (Kusrini, 2006 : 14) :
1. Dapat menyediakan kepakaran setiap waktu dan diberbagai lokasi
2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan
seorang pakar.
3. Seorang pakar akan pensiun atau pergi.
4. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.
2.3.3 Ciri-ciri Sistem Pakar
Adapun ciri-ciri sistem pakar adalah sebagai berikut (Kusrini, 2006 : 14) :
1. Terbatas pada bidang yang spesifik.
2. Dapat memberikan penalaran untuk data-data yang tidak lengkap atau
tidak pasti.
3. Dapat mengemukan rangkaian alasan yang diberikan dengan cara yang
dapat dipahami.
4. Berdasarkan pada rule atau kaidah tertentu.
5. Dirancang untuk dapat dikembangkan seara bertahap
6. Output bersifat nasihat atau anjuran.
7. Output tergantung dari dialog dengan user.
(42)
2.3.4 Keuntungan Sistem Pakar
Adapun keuntungan dari sistem pakar adalah sebagai berikut (Kusrini, 2006 : 15) :
1. Membuat seorang yang awam dapat bekerja seperti layaknya seorang
pakar
2. Dapat bekerja dengan informasi yang tidak lengkap atau tidak pasti
3. Meningkatkan output dan produktifitas. Sistem pakar dapat bekerja lebih
cepat daripada manusia. Keuntungan ini berarti mengurangi jumlah pekerja yang dibutuhkan, dan akhirnya akan mereduksi biaya.
4. Meningkatkan kualitas.
5. Sistem pakar menyediakan nasehat yang konsisten dan dapat mengurangi
tingkat kesalahan.
6. Membuat peralatan yang kompleks lebih mudah dioperasikan karena
sistem pakar dapat melatih pekerja yang tidak berpengalaman.
7. Handal.
8. Sistem pakar tidak akan lelah atau bosan.
9. Memiliki kemampuan untuk memecahkan masalah yang kompleks.
10.Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta
memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai di mana saja.
2.3.5 Arsitektur Sistem Pakar
Sistem pakar memiliki beberapa komponen utama, yaitu antarmuka
pengguna (user interface), basis data sistem pakar (expert system database),
(43)
inferensi (inference mechanism). Selain itu ada satu komponen yang hanya ada
pada beberapa sistem pakar, yaitu fasilitas penjelasan (explanation facility)
(Martin dan Oxman, 1988).
Antarmuka pengguna adalah perangkat lunak yang menyediakan media komunikasi antara pengguna dengan sistem. Basis data sistem pakar berisi pengetahuan setingkat pakar pada subyek tertentu. Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan, dan menyelesaikan masalah. Basis data ini terdiri atas 2 elemen dasar (Kusrini, 2006 : 17) :
1. Fakta, sesuai masalah dan teori yang terkait.
2. Heuristik khusus atau rules, yang langsung menggunakan pengetahuan
untuk menyelesaikan masalah khusus.
Pengetahuan ini dapat berasal dari pakar, jurnal, majalah, dan sumber pengetahuan yang lain.
Fasilitas akuisisi pengetahuan merupakan perangkat lunak yang menyediakan fasilitas dialog anatara pakar dengan sistem. Fasilitas akuisisi ini digunakan untuk memasukan fakta-fakta dan kaidah-kaidah sesuai dengan perkembangan ilmu. Meliputi proses pengumpulan, pemindahan, dan perubahan dari kemampuan pemecahan masalah seorang pakar atau sumber terdokumentasi ke program komputer, yang bertujuan untuk memperbaiki dan atau mengembangkan basis pengetahuan.
Mekanisme inferensi merupakan perangkat lunak yang melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan pemodelan proses berpikir manusia.
(44)
Fasilitas penjelasan berguna dalam memberikan penjelasan kepada pengguna mengapa komputer meminta suatu informasi tertentu dari pengguna dan dasar apa yang digunakan komputer sehingga dapat menyimpulkan suatu kondisi.
Arsitektur dasar dari sistem pakar dapat dilihat pada Gambar 2.4 (Giarrantano dan Riley, 1994).
Memori kerja dalam arsitektur sistem pakar merupakan bagian yang berisi fakta-fakta masalah yang ditemukan dalam suatu sesi, berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses konsultasi.
2.3.6 Orang yang Terlibat dalam Sistem Pakar
Untuk memahami perancangan sistem pakar, perlu dipahami mengenai siapa saja yang berinteraksi dengan sistem. Mereka adalah (Kusrini, 2006 : 19):
1. Pakar (domain expert), seorang ahli yang dapat menyelesaikan masalah
yang sedang diusahakan untuk dipecahkan oleh sistem. Aturan
Mesin
Memori Kerja (Fakta)
Fasilitas Penjelasan
Akuisisi Pengetahuan
Antarmuka Pengguna
(45)
2. Membangun pengetahuan (knowledge engineer), seseorang yang menterjemahkan pengetahuan seorang pakar dalam bentuk deklaratif sehingga dapat digunakan oleh sistem pakar.
3. Pengguna (user), seseorang yang berkonsultasi dengan sistem untuk
mendapatkan saran yang disediakan oleh pakar.
4. Pembangun sistem (system engineer), seorang yang membuat antarmuka
pengguna, merancang bentuk basis pengetahuan secara deklaratif dan mengimplementasikan mesin inferensi.
2.3.7 Kategori Masalah Sistem Pakar
Masalah-masalah yang dapat diselesaikan dengan sistem pakar, yaitu (Kusrini, 2006 : 21) :
1. Interpretasi, membuat kesimpulan atau deskripsi dari sekumpulan data
mentah.
2. Prediksi, memproyeksikan akibat-akibat yang dimungkinkan dari
situasi-situasi tertentu.
3. Diagnosis, menentukan sebab malfungsi dalam situasi kompleks yang
didasarkan pada gejala-gejala yang teramati.
4. Desain, menentukan konfigurasi komponen-komponen sistem yang cocok
dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu.
5. Perencanaan, merencanakan serangkaian tindakan yanga akan dapat
mencapai sejumlah tujuan dengan kondisi awal tertentu.
6. Debugging dan Repair, menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi.
(46)
7. Instruksi, mendeteksi dan mengoreksi definisi dalam pemahaman domain subyek.
8. Pengendalian, mengatur tingkah laku suatu environment yang kompleks.
9. Selection, mengidentifikasi pilihan terbaik dari sekumpulan kemungkinan. 10.Simulation, pemodelan interaksi antara komponen-komponen sistem. 11.Monitoring, membandingkan hasil pengamatan dengan kondisi yang
diharapkan.
2.3.8 Inferensi
Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang
diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclution)
atau implikasi berdasarkan informasi yang tersedia (Kusrini, 2006 : 35).
2.3.8.1Mesin Inferensi
Dalam sistem pakar, proses inferensi dilakukan pada suatu modul yang
disebut mesin inferensi, yang dikenal juga sebagai struktur kontrol atau penerjemah aturan (dalam sistem pakar berbasis-aturan). Komponen ini sebenarnya adalah program komputer yang menyediakan metodologi untuk
mempertimbangkan informasi dalam pengetahuan dan workplace, dan
merumuskan kesimpulan.
Mesin inferensi adalah keahlian yang dibutuhkan yang tersimpan di
dalam knowledge base (basis pengetahuan), komputer diprogram sehingga dapat
(47)
2.3.8.2 Metode Inferensi
Metode inferensi adalah mekanisme berfikir dan pola-pola penalaran yang digunakan oleh sistem untuk mencapai suatu kesimpulan. Metode ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. Penalaran dimulai dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data.
Terdapat dua cara (metode) mekanisme inferensi dalam sistem pakar berbasis aturan, yaitu:
1. Runut maju (forward chaining) Runut maju adalah aturan-aturan diuji satu
demi satu dalam urutan tertentu (data driven). Dalam metode ini, data
digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Proses diulangi sampai ditemukan suatu hasil (Wilson, 1998).
Contoh :
Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu : R1 : if A and B then C
R2 : if C then D R3 : if A and E then F R4 : if A then G R5 : if F and G then D R6 : if G and E then H R7 : if C and H then I R8 : if I and A then J R9 : if G then J
(48)
R10 : if J then K
Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K
bernilai benar. Proses penalaran forward chaining terlihat pada gambar
dibawah :
Gambar 2.5 Proses Penalaran Forward Chaining
2. Runut mundur (backward chaining) adalah penalaran dimulai dari
kesimpulan dan akan dibuktikan kebenarannya (goal driven). Metode ini
merupakan cara yang efesien untuk memecahkan masalah yang dimodelkan sebagai masalah yang terstruktur. Tujuan dari inferensi ini adalah mengambil pilihan terbaik dari banyak kemungkinan (Kusrini,
2006 : 37). Metode backward chaining ini cocok digunakan untuk
memecahkan masalah diagnosis (Schnupp, 1989). Contoh:
Seperti pada contoh forward chaining, terdapat 10 aturan yang sama pada
basis pengetahuan dan fakta awal yang diberikan hanya A dan E. ingin
membuktikan apakah K bernilai benar. Proses penalaran backward
(49)
Gambar 2.6 Proses Penalaran Backward Chaining
Kedua cara di atas dipengaruhi oleh macam penelusuran yang terdiri atas 3 macam atau teknik penelusuran:
1. Depth first search
Depth first search merupakan teknik penelusuran dari node ke node bergerak menurun ke tingkat dalam yang berurutan.
Proses pencarian dilakukan dengan mengunjungi cabang terlebih dahulu hingga tiba di simpul terakhir. Jika tujuan yang diinginkan belum tercapai maka pencarian dilanjutkan ke cabang sebelumnya, turun ke bawah jika
1
7
9 8
5
6 2
4 3
Gambar 2.7 Depth First Search
(50)
memang masih ada cabangnya. Begitu seterusnya hingga diperoleh tujuan
akhir (goal).
2. Breadth first search
Breadth first search merupakan teknik penelusuran pada semua node dalam satu level sebelum berpindah ke level di bawahnya.
3. Best first search
Best first search merupakan kombinasi dari metode depth first search dan
breadth first search dengan mengambil kelebihan-kelebihan dari kedua metode tersebut. Pada metode best first search ini, pencarian node tujuan atau goal, mengizinkan untuk mengunjungi sebuah node yang ada pada level yang lebih rendah jika ternyata node yang berada pada level yang lebih tinggi memiliki nilai heuristik yang lebih buruk (rendah). Hal ini sangat berbeda apabila pencarian dilakukan dengan metode hill climbing, dimana pada metode hilll climbing tidak diperbolehkannya untuk mengunjungi sebuah node pada level yang rendah yang meskipun node tersebut mempunyai nilai heuristik yang lebih baik (tinggi).
1
7
9 8
5
6 2
4 3
Gambar 2.8 Breadth First Search
(51)
2.3.9 Representasi Pengetahuan
Agar pengetahuan dapat digunakan dalam sistem, pengetahuan harus direpresentasikan dalam format tertentu yang kemudian dihimpun dalam suatu basis pengetahuan. Cara merepresentasikan pengetahuan akan mempengaruhi perkembangan, efesiensi, dan perbaikan sistem (Kusrini, 2006 : 23).
Penalaran merupakan kemampuan untuk membentuk model mental yang menggambarkan obyek yang tepat dan merepresentasikannya dalam aksi yang dilakukan suatu obyek (Martin dan Oxman, 1988). Pengetahuan dapat diklasifikasikan menjadi tiga, yaitu pengetahuan prosedural, pengetahuan deklaratif, dan pengetahuan tacit. Pengetahuan prosedural lebih menekankan bagaimana melakukan sesuatu. Pengetahuan deklaratif menjawab pertanyaan apakah sesuatu bernilai salah atau benar. Sedangkan pengetahuan tacit merupakan pengetahuan yang tidak diungkapkan dengan bahasa. Misalnya, bagaimana cara memindahkan tangan.
Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan pengetahuan dalam sebuah sistem pakar yang berbasis pengetahuan. Perepresentasian dimaksudkan untuk menangkap sifat-sifat penting problema dan membuat informasi itu dapat diakses oleh prosedur pemecahan problema.
Beberapa model repersentasi pengetahuan yang penting antara lain (Kusrini, 2006 : 24) :
1. Logika Predikat.
2. Logika Proporsional.
(52)
4. Object Attribute Value (OAV).
5. Bingkai (Frame).
6. Kaidah Produksi.
2.4 PHP
PHP merupakan singkatan dari Hypertext Preprocessor, adalah sebuah
bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java, asp dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama bahasa ini adalah untuk memungkinkan perancang web untuk menulis halaman web dinamik dengan cepat.
Sampai saat ini telah banyak database yang telah didukung oleh PHP dan kemungkinan akan terus bertambah. Database tersebut adalah dBase, DBM, FilePro, mSQL, MySQL, Oracle, Postgres, Sybase, dan Velocis. Selain itu PHP juga mendukung koneksi dengan protokol IMAP, SNMP, NNTP dan POP3. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.
2.4.1 Sejarah PHP
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada
waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa
(53)
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan
menamakannya PHP/FI, kependekan dari Hypertext Preprocessing’/Form
Interpreter. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP
sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter
PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998,
perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis
tersebut sebagai PHP 3.0. Pada pertengahan tahun 1999, Zend merilis interpreter
PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP
5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi
ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
2.4.2 Kelebihan PHP
Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan zaman
sehingga sebagian besar designer web banyak beralih ke bahasa server-side
scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada
(54)
konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah :
1. Oracle
2. MySQL
3. Ms. Access
4. Sybase
5. PostgreSQL
6. dan lainnya
Kelebihan PHP dari bahasa pemrograman lain adalah :
1. PHP dapat berjalan di berbagai sistem operasi seperti windows 98/NT,
UNIX/LINUX, solaris maupun macintosh.
2. PHP mendukung komunikasi dengan layanan seperti protocol IMAP,
SNMP, NNTP, POP3 bahkan HTTP.
3. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaanya.
4. Web Server yang mendukung PHP dapat ditemukan di mana-mana dari
mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah.
5. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan
developer yang siap membantu dalam pengembangan.
6. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling
mudah karena referensi yang banyak.
7. PHP adalah bahasa open source yang dapat digunakan diberbagai mesin
(linux, unix, windows) dan dapat dijalankan secara runtime melalui
(55)
2.5 MySQL
MySQL adalah Open Source Software yang menggunakan GPL (GNU
General Public License) dan merupakan sebuah sistem manajemen database yang saling berhubungan. Database adalah sekumpulan data yang terstruktur. Untuk menambah, mengakses dan memproses data yang tersimpan pada database komputer, dibutuhkan manajemen database seperti MySQL.
2.5.1 Sejarah MySQL
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994-1995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web. Kala itu Michael Widenius, atau “Monty”, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya. Mula-mula TcX memakai
mSQL, atau “mini SQL”. mSQL adalah satu-satunya kode database open source
yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres. Namun mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks.
Nama MySQL (baca: mai és kju él) tidak jelas diambil dari mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama My karena Monty memang aslinya seorang Finlandia.
(56)
MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini
tidak diberikan di bawah lisensi General Public License.
Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagian besar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki dan ditambah fitur demi fiturnya. Tapi tetap dengan fokus utama pengembangan pada kelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fitur yang opsional. Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis.
Versi-versi akhir 3.22 pada tahun 1998-1999, MySQL menjadi semakin populer dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetap memberikan dukungan technical support untuk seri ini.
Kelebihan-kelebihan MySQL antara lain : 1. Open Source program.
2. Dapat bekerja di beberapa platform yang berbeda, seperti LINUX,
Windows, MacOS dll.
3. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
4. Memiliki lebih banyak type data seperti : signed/unsigned integer yang
(57)
CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
5. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.
Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
6. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan
sintak ODBC.
7. Mendukung ODBC for Windows 95 (dengan source program). Semua
fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
8. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
9. Kita dapat menggabungkan beberapa table dari database yang berbeda
dalam query yang sama.
10. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang
sangat jauh berbeda.
11.Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan
‘Host-Based’ Verifikasi.
2.6 JavaScript
JavaScript merupakan kode bahasa Java yang diselipkan diantara kode
HTML untuk dijalankan pada komputer client. Javascript diperkenalkan pertama
kali oleh Netscape pada tahun 1995. Pada awalnya bahasa yang sekarang disebut
JavaScript ini dulunya dinamai “LiveScript” yang berfungsi sebagai bahasa
sederhana untuk browser Netscape Navigator 2 yang sangat populer pada saat itu. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun
(58)
(pengembang bahasa pemrograman “Java”) pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa tersebut pada tanggal 4 Desember 1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk
mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di browser
milik mereka yaitu Internet Explorer 3. JavaScript sendiri merupakan modifikasi dari bahasa pemrograman C++ dengan pola penulisan yang lebih sederhana dari bahasa pemrograman C++.
JavaScript adalah bahasa pemrograman yang khusus untuk halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri atas dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program.
Ada beberapa hal yang harus diperhatikan dalam pengelolaan
pemrograman JavaScript, diantaranya JavaScript adalah “case sensitive”, yang
artinya JavaScript membedakan huruf besar dan huruf kecil, Jika Anda pernah belajar bahasa pemrograman seperti Turbo C atau C++, maka sama seperti bahasa pemrograman tersebut, dimana huruf T tidak sama dengan huruf t. Dalam bahasa pemrograman JavaScript juga, sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga tidak boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil semua). Perintah lain adalah new Date tidak boleh ditulis new date (huruf kecil semua), dan banyak yang lainnya.
(59)
2.7 AJAX
Teknologi informasi telah membuka mata dunia akan sebuah dunia baru, interaksi baru dan sebuah jaringan bisnis dunia yang tanpa batas. Disadari betul bahwa perkembangan teknologi yang disebut internet telah mengubah pola interaksi masyarakat.
Pertama kali AJAX diperkenalkan oleh Jesse James Garret dari Adaptive
Path tahun 2005. Ia mempublikasikan artikel yang berjudul “AJAX : A New
Approach to Web Aplications”.
Asynchronous JavaScript And XML, atau disingkat Ajax, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer
web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari:
1. XHTML (atau HTML) dan CSS untuk bahasa mark up dan tampilan.
2. DOM yang diakses dengan client side scripting language, khususnya
implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan
3. Objek XMLHttpRequest untuk melakukan pertukaran data asinkronus
dengan web server. Pada beberapa framework dan kasus Ajax, objek IFrame lebih dipilih daripada XMLHttpRequest untuk melakukan pertukaran data dengan web server.
(60)
4. XML umumnya digunakan sebagai format untuk pengiriman data, walaupun format lain juga memungkinkan, seperti HTML, plain text, JSON dan EBML.
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX sudah mulai bermunculan.
AJAX adalah teknologi browser (client-side) yang tidak tergantung pada
software web server tertentu. AJAX juga bukan bahasa pemrograman baru tetapi
teknik baru penggunaan standar yang telah ada. AJAX berbasiskan standar terbuka seperti JavaScript, XML, HTML / XHTML, CSS. Dengan JavaScript AJAX dapat mengirimkan dan menerima data antara web server dan web browser.
teknik yang di gunakan AJAX akan bergantian bertukar data dan me-refresh ulang
seluruh halaman. AJAX didukung sebagian besar browser popular
sehinggaaplikasi AJAX adalah aplikasi cross-platform dan cross-browser.
Keuntungan aplikasi AJAX dengan aplikasi desktop :
1. Dapat menjangkau pengguna yang luas.
2. Mudah di-install.
3. Mudah dikembangkan.
4. Mudah dipelihara.
Beberapa web komersial yang sudah menggunakan teknologi ajax diantaranya sebagai berikut :
1. http://www.gmail.com
(61)
3. http://news.yahoo.com
4. http://www.google.com/webhp?complete=1
(62)
52 BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah
Terkadang seorang penderita vertigo itu sendiri pada awalnya tidak mengetahui jenis gejala maupun penyakit yang dideritanya karena minimnya informasi yang mereka ketahui. Bila seorang penderita vertigo ingin mengetahui tentang gejala-gejala, penyebab serta cara penanggulangan yang baik maka mereka akan mendatangi dokter untuk berkonsultasi. Akan tetapi, hal tersebut tidak dapat dilakukan oleh semua orang mungkin karena faktor perekonomian yang kurang mencukupi ataupun karena tuntutan kesibukan dan aktifitas mereka yang padat sehingga tidak bisa menyesuaikan dengan jadwal praktek dokter. Terkadang ketika berkonsultasi pun informasi hasil diagnosa yang disampaikan oleh dokter tidak sepenuhnya dipaparkan secara mendetail.
Berdasarkan hal tersebut, maka diperlukan suatu alat bantu yang mampu merepresentasikan keahlian seorang pakar (dokter spesialis) dan dapat diakses dimanapun dan kapanpun.
3.2 Analisis Sistem Pakar
Dalam membangun sistem pakar dilakukan beberapa tahapan analisis : 1. Informasi menentukan masalah yang akan dibangun sistem pakarnya. 2. Mengumpulkan data yang diperlukan untuk membangun sistem berupa
jenis-jenis penyakit, gejala-gejala penyakit, pengertian penyakit, dan saran terapi penanggulangan penyakit melalui studi literatur, penelitian, dan
(1)
xix
Gambar 4.38 Halaman Ubah Password Pakar ... 199
Gambar 4.39 Halaman Lihat Log Pakar ... 200
Gambar 4.40 Halaman Lihat Log Pasien ... 200
Gambar 4.41 Halaman Daftar Pesan... 201
Gambar 4.42 Halaman Rincian Pesan... 201
Gambar 4.43 Pesan Konfirmasi Logout Pakar... 202
Gambar 4.44 Halaman Depan Pasien... 202
Gambar 4.45 Halaman Kontak Pasien ... 203
Gambar 4.46 Halaman Konfirmasi ... 203
Gambar 4.47 Halaman Konsultasi Pasien... 204
Gambar 4.48 Halaman Hasil Diagnosa... 204
(2)
DAFTAR LAMPIRAN
Lampiran A Listing Program ... A-1 Lampiran B Hasil Kuesioner... B-1 Lampiran C Surat Penelitian ... C-1
(3)
234 DAFTAR PUSTAKA
1. Anurogo, Dito. (25 Februari 2009 00.52 WIB). Cara Asyik Mengenali Vertigo Perifer dan Vertigo Sentral.
http://www.kabarindonesia.com/berita.php?pil=3&jd=Cara+Asyik+ Mengenali+Vertigo+Perifer+dan+Vertigo+Sentral&dn=2009022422 3740
2. Brandt T. dan Daroff R.B., 1980 . Diambil dari buku PERDOSSI yang berjudul Vertigo Patofisiologi, Diagnosis dan Terapi, Pertemuan Ilmiah Tahunan (PIT) PERDOSSI. Editor, PERDOSSI.
3. Dewati, Eva. (15 April 2010 WIB). Vertigo Pada Kelainan Neurologis. http://repository.ui.ac.id/contents/koleksi/11/f56b3f7f7de1da5887ee0 1064deb50a9b3bf017b.pdf
4. Dwiyantoro, Kiky. (6 Juni 2009). Pengertian dan Sejarah PHP. http://kikysroger.ngeblogs.com/Pengertian-Sejarah-PHP/
5. Giarrantano dan Riley. 1994. Diambil dari buku Kusrini yang berjudul Sistem Pakar Teori dan Aplikasi. Andi Yogyakarta : Yogyakarta.
6. Hakim, Lukmanul. (2008). Membongkar Trik Rahasia Para Master PHP. Lokomedia. Yogyakarta.
7. Hakim, Lukmanul. (2009). Jalan Pintas Menjadi Master PHP. Lokomedia. Yogyakarta.
8. Hakim, Lukmanul. (2009). Trik Rahasia Master PHP Terbongkar Lagi. Lokomedia. Yogyakarta.
9. H. A. Simon. 1987. Diambil dari buku Kusrini yang berjudul Sistem Pakar Teori dan Aplikasi. Andi Yogyakarta : Yogyakarta.
(4)
235
10. J.,Aboe Amar, Suryamiharja, Andradi, dan Nurimaba, Nurjaman (PERDOSSI). 1999. Vertigo Patofisiologi, Diagnosis dan Terapi, Pertemuan Ilmiah Tahunan (PIT) PERDOSSI, Malang, Indonesia. Editor, PERDOSSI.
11. Kusrini. (2006). Sistem Pakar Teori dan Aplikasi. Andi Yogyakarta : Yogyakarta.
12. Marel. (13 Februari 2010 15.25 WIB). Apa sih obat vertigo ?
http://id.answers.yahoo.com/rss/question?qid=20080715030450AAC kOc
13. Martin dan Oxman. 1988. Diambil dari buku Kusrini yang berjudul Sistem Pakar Teori dan Aplikasi. Andi Yogyakarta : Yogyakarta.
14. Munir, Rinaldi dan Leoni Lidya. Algoritma dan Pemrograman Buku 2. Informatika : Bandung.
15. Mustika, I Made.( Senin, 02 Januari 2010). Vertigo dan Pencegahannya. http://www.balipost.com/mediadetail.php?module=detailberitamingg u&kid=24&id=27405
16. Nugroho, Adi. 2009. Algoritma Struktur Data Dengan C#. Andi : Yogyakarta.
17. Nugroho, Bunafit. (2008). Membuat Aplikasi Sistem Pakar. Gava Media : Yogyakarta.
18. Pausta Yugianus. (13 Februari 2010 15.19 WIB). Sistem Pakar. http://paustayugianus.blog.upi.edu/2009/10
19. Ramdhani, Agus. (27 Agustus 2009 6.34 WIB). Tentang MySQL. http://www.o-om.com
(5)
236
20. Wreksoatmodjo, Budi Riyanto. (12 April 2010 13.56 WIB). Vertigo : Aspek Neurologi,http://www.kalbe.co.id/files/cdk/files/144_14VertigoAspe kNeurologi.pdf/144_14VertigoAspekNeurologi.html
21. Rouist. (7 Juli 2009). Pengertian (Definisi) PHP & MySQL. http://masrois.com/pengertian-definisi-php-mysql/
22. Rozi, Imam Fahrur. (8 Januari 2008 15.53 WIB). Langkah Implementasi Depth First Search. http://ifrozi.wordpress.com/2008/01/08/langkah-implementasi-depth-first-search/
23. Santoso, Sugeng. (15 April 2010 11.50 WIB). Penyakit Vertigo. http://webcache.googleusercontent.com/search?q=cache:t60Ge3PRlI 0J:images.sugengsantoso5ka17.multiply.multiplycontent.com/attach ment/0/SvWcFAoKCH0AABHyHIo1/6.PENYAKIT%2520VERTIG O.doc%3Fnmid%3D294710823+pengertian+vertido+sentral&cd=6 &hl=id&ct=clnk&gl=id.
24. Schnupp. 1989. Diambil dari buku Kusrini yang berjudul Sistem Pakar Teori dan Aplikasi. Andi Yogyakarta : Yogyakarta.
25. Siagan, Luckman. 2008. Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit THT Menggunakan Metode Forward Chaining. Universitas Komputer Indonesia : 34.
26. Supono. (5 Agustus 2009). Apa Itu JavaScript. http://supono.wordpress.com/
author/supono/
27. Wiely, Stefanus. (13 Februari 2010 15.15 WIB). Kesehatan Gejala Vertigo.
http://beriman-hati.blogspot.com/2009/07/kesehatan-gejala-vertigo.html
28. Yayasan Total Sarana Edukasi. (15 Juni 2009). Pengertian JavaScript. http://www.total.or.id
(6)
RIWAYAT HIDUP
Data Pribadi
Nama : Anggi Septian Hidayat NIM : 10106088
Tempat Tanggal Lahir : Bogor, 27 Agustus 1988 Jenis Kelamin : Laki - laki
Agama : Islam Pekerjaan : Mahasiswa Status : Belum Menikah
Alamat Tempat Tinggal : Jalan Dipati Ukur Kubang Sari 3 No. 41 RT 01/06 Bandung
Alamat Asal : Kp. Babakan Cibatok No.55 RT 04/04 Desa Cibatok 1 Kec. Cibungbulang Kab. Bogor 16630 No. Telp (HP) : 0856 5999 8056
E-mail : anggi.septian.hidayat@gmail.com
Latar Belakang Pendidikan
1992-1994 TK Mutia Kabupaten Bogor
1994-2000 SD Negeri 3 Cibatok Kabupaten Bogor
2000-2003 SMP Negeri 1 Cibungbulang Kabupaten Bogor 2003-2006 SMA Negeri 1 Leuwiliang Kabupaten Bogor 2006-sekarang Mahasiswa Teknik Informatika
Program S1
Universitas Komputer Indonesia
Pengalaman Organisasi
2003-2004 Anggota Majalah Sekolah Anda (MASA) SMA Negeri 1 Leuwiliang Kabupaten Bogor
2004-2005 Anggota Basket SMA Negeri 1 Leuwiliang Kabupaten Bogor
Kegiatan yang pernah diikuti
09 – 19 Desember 2007 Programming Contest 2007 Unikom
09 Mei 2008 Workshop Perakitan PC dan Instalasi Dual OS Tabloid Computer News
2 – 31 Juli 2009 Kerja Praktek (Dinas Energi Dinas Energi dan Sumber Daya Mineral Provinsi Jawa Barat). 12 Desember 2009 Seminar Get ready for windows 7
6 – 17 April 2010 Penelitian Skripsi dan Tugas Akhir (Rumah Sakit DR. H. Marzoeki Mahdi Bogor)