SISTEM BERBASIS ATURAN UNTUK
MENENTUKAN JENIS PENYAKIT DEGENERATIF
DENGAN FORWARD CHAINING
TUGAS AKHIR
Program Studi S1 Sistem Informasi
Oleh:
MOCHAMAD SA’AD
05410100228
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
x
ABSTRAK ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xiv
DAFTAR GAMBAR ... xvi
DAFTAR LAMPIRAN ... xx
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 4
1.5 Manfaat ... 4
1.6 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1 Penyakit Degeneratif ... 6
2.1.1 Jantung ... 7
2.1.2 Diabetes Melitus ... 9
2.1.3 Hipertensi ... 10
2.1.4 Osteoartritis ... 11
2.1.5 Dislipidemia ... 11
2.1.6 Hiperurisemia ... 12
xi
2.4 Komponen Utama Sistem Pakar ... 14
2.5 Sistem Berbasis Aturan ... 16
2.6 Komponen Sistem Berbasis Aturan ... 16
2.7 Inference Engine ... 18
2.8 Verifikasi ... 21
2.9 Diagram Blok ... 24
2.10 Diagram Ketergantungan ... 25
2.11 Decision Table ... 26
2.12 Reduced Decision Table ... 27
2.13 Penyajian Aturan (Rule) Dengan Treeview ... 28
2.14 Basis Data ... 29
BAB III PERANCANGAN SISTEM ... 30
3.1 Perancangan System Flow ... 30
3.2 Desain Arsitektur ... 37
3.3 Perancangan Sistem ... 39
3.3.1 Perancangan Diagram Blok ... 39
3.3.2 Perancangan Dependency Diagram ... 41
3.3.3 Perancangan Decision Table ... 43
3.3.4 Perancangan Reduksi Tabel ... 44
3.3.5 Proses Verifikasi ... 45
3.3.6 Perancangan Rule Base ... 47
xii
3.5.1 Desain Form Login ... 52
3.5.2 Desain Form Utama ... 53
3.5.3 Desain Form Master Pengguna ... 54
3.5.4 Desain Form Master Pertanyaan ... 57
3.5.5 Desain Form Master Saran Pengobatan ... 58
3.5.6 Desain Form Treeview ... 60
3.5.7 Desain Form Verifikasi Rule ... 62
3.5.8 Desain Form Konsultasi ... 64
3.5.9 Desain Form Hasil Konsultasi Pengguna ... 65
3.5.10 Desain Form Laporan History Konsultasi Pengguna 66
3.5.11 Desain Form Laporan Pertanyaan ... 67
3.5.12 Desain Form Laporan Rule ... 68
BAB IV IMPLEMENTASI DAN EVALUASI ... 69
4.1 Implementasi Sistem ... 69
4.1.1 Kebutuhan Perangkat Keras ... 69
4.1.2 Kebutuhan Perangkat Lunak ... 69
4.2 Penjelasan Penggunaan Program ... 70
4.2.1 Form Login ... 70
4.2.2 Form Menu Utama ... 72
4.2.3 Form Maintenance Pengguna ... 73
4.2.4 Form Maintenance Saran Pengobatan ... 73
xiii
4.2.7 Form Verifikasi Rule ... 77
4.2.8 Form Laporan Daftar Pertanyaan ... 78
4.2.9 Form Laporan Daftar Rule ... 79
4.2.10 Form Konsultasi ... 80
4.2.11 Form History Konsultasi ... 81
4.3 Uji Coba ... 82
4.3.1 Uji Coba Form Login ... 82
4.3.2 Uji Coba Form Treeview ... 83
4.3.3 Uji Coba Form Verifikasi Rule ... 90
4.3.4 Uji Coba Form Konsultasi ... 94
4.3.5 Uji Coba Kasus ... 97
4.4 Evaluasi Hasil Uji Coba ... 106
BAB V PENUTUP ... 107
5.1 Kesimpulan ... 107
5.2 Saran ... 107
DAFTAR PUSTAKA ... 108
1 BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Penyakit degeneratif merupakan penyakit yang mengiringi proses penuaan. Penyakit ini terjadi seiring bertambahnya usia dan sering kali mendera setiap orang di belahan bumi. Penyakit degeneratif juga mampu menyerang setiap orang hingga dalam rentan waktu yang sangat cepat. Dahulu penyakit degeneratif menyerang orang yang berusia di atas 50 tahun, tetapi belakangan ini sudah merambah ke penderita berusia 40 tahun. Penyakit ini dapat disebabkan keturunan, lingkungan, mutasi gen, usia tua, pola makan, stress, dan polusi udara.
Penyakit degeneratif semakin lama dapat dialami oleh semakin banyak orang yang berusia muda. Hal ini disebabkan meningkatnya taraf hidup yang menyebabkan perubahan gaya hidup yang kurang baik, seperti mengkonsumsi makanan junk food sehingga menyebabkan obesitas. Selain itu, sekarang ini banyak orang yang belum dapat mengenali dan enggan mengetahui kondisi tubuh dan penyakit yang berpotensi menjadi penyakit degeneratif di kemudian hari.
Pengenalan akan gejala-gejala penyakit degeneratif perlu dilakukan untuk melakukan pencegahan sehingga dapat menghindari penyakit degeneratif dan agar dapat melakukan perawatan dan pengobatan bila sudah menderita penyakit degeneratif sehingga tidak akan menganggu aktifitas ketika usia sudah mulai menua.
tentang penyakit tersebut. Metode yang digunakan adalah forward chaining. Menurut Irawan (2007:32), forward chaining (data driven) menghasilkan suatu kesimpulan dari seperangkat data yang diketahui. Sistem yang dibuat nantinya dapat memberikan suatu kesimpulan yang berisi tentang informasi penyakit degeneratif dan saran pengobatannya.
1.2 Perumusan Masalah
Berdasarkan latar belakang masalah di atas, maka dapat dirumuskan suatu permasalahan yaitu bagaimana membuat sistem berbasis aturan untuk mengenali gejala-gejala penyakit degeneratif dengan forward chaining dan memberikan informasi tentang penyakit tersebut dan saran pengobatannya.
1.3 Batasan Masalah
Berdasarkan permasalahan-permasalahan tersebut maka batasan masalah dalam pembuatan sistem ini adalah :
1. Data dan parameter yang digunakan dalam sistem ini adalah data yang berasal dari buku dan wawancara kepada pakar.
2. Sistem dibuat untuk dapat menyelesaikan permasalahan dengan menggunakan metode penelusuran forward chaining.
3. Program ini hanya sebatas mengetahui penyakit degeneratif berdasar gejala yang ada dan memberikan saran untuk pengobatannya.
4. Jenis penyakit degeneratif yang dibahas pada sistem ini adalah : a. Jantung.
b. Diabetes Melitus.
d. Osteoartritis.
e. Dislipidemia (Kolesterol).
f. Hiperurisemia (Asam Urat Tinggi).
5. Proses verifikasi yang dibahas dalam sistem ini antara lain :
a. Redundant rules adalah suatu rule jika dua atau lebih mempunyai premise
dan conclusion yang sama.
b. Conflicting rules adalah suatu rule jika dua atau lebih mempunyai premise
yang sama, tetapi mempunyai conclusion yang berlawanan.
c. Circular rules adalah suatu keadaan dimana terjadinya proses perulangan
dari suatu rule. Ini dikarenakan suatu premise dari salah satu rule merupakan conclusion dari rule yang lain, atau kebalikannya.
d. Subsumed rules adalah suatu rule mempunyai constraint yang lebih atau
kurang tetapi mempunyai conclusion yang sama. e. Unnecessary if condition
Unnecessary if condition adalah suatu keadaan dimana dua rule atau lebih
mempunyai conclusion yang sama, tetapi salah satu dari rule tersebut mempunyai premise yang tidak perlu dikondisikan dalam rule karena tidak mempunyai pengaruh apapun.
f. Dead end rules
Dead end rules adalah suatu rule yang conclusion-nya tidak diperlukan
oleh rules lainnya.
1.4 Tujuan
Tujuan dari pembuatan sistem ini yaitu membuat sistem berbasis aturan untuk mengenali gejala-gejala penyakit degeneratif dengan forward chaining dan memberikan informasi tentang penyakit tersebut dan saran pengobatannya.
1.5 Manfaat
Manfaat dari pembuatan sistem ini yaitu :
1. Membantu pengguna untuk mengenali gejala-gejala penyakit degeneratif. 2. Membantu pengguna untuk mendapat informasi tentang penyakit degeneratif
dan saran pengobatannya.
1.6 Sistematika Penulisan
Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut :
BAB I : PENDAHULUAN
Bab pertama berisi tentang pendahuluan yang merupakan gambaran umum penulisan. Bab ini juga berisi latar belakang masalah, perumusan masalah, batasan masalah, tujuan yang hendak dicapai, manfaat, serta sistematika penulisan yang berisi penjelasan singkat dari masing-masing bab.
BAB II : LANDASAN TEORI
aturan, komponen sistem berbasis aturan, inference engine, verifikasi, diagram blok, diagram ketergantungan, decision table,
reduced decision table, penyajian aturan (rule) dengan treeview,
basis data.
BAB III : PERANCANGAN SISTEM
Bab ketiga berisi tentang pembahasan sistem. Bab ini menjelaskan tentang perancangan sistem yang terdiri dari system flow untuk pakar, system flow untuk user umum, system flow proses verifikasi, system flow proses inference engine, desain arsitektur untuk menentukan penyakit degeneratif, block diagram, dependency
diagram, decision table, reduksi tabel, verifikasi rule, perancangan
rule base, struktur tabel, desain input output.
BAB IV : IMPLEMENTASI DAN EVALUASI
Bab keempat berisi tentang implementasi dan evaluasi sistem. Bab ini berisi tentang implementasi perancangan sistem dan hasil implementasi sistem, uji coba sistem serta evaluasi hasil uji coba sistem untuk mengetahui kesesuaian sistem dengan kebutuhan dan tujuan yang diharapkan.
BAB V : PENUTUP
6 BAB II
LANDASAN TEORI
2.1 Penyakit Degeneratif
orang di seluruh dunia. Jumlah ini menempatkan penyakit degeneratif menjadi penyakit pembunuh manusia terbesar.
2.1.1 Jantung
Jantung merupakan organ utama yang sangat penting bagi manusia, karena jantung diperlukan untuk memompa darah ke seluruh tubuh sehingga tubuh mendapatkan oksigen dan sari makanan yang diperlukan untuk metabolisme tubuh. Jantung perlu dijaga agar dapat menjalankan fungsinya dengan baik. Menurut Suiraoka (2012), penyakit jantung adalah kelas penyakit yang melibatkan pembuluh jantung atau darah (arteri dan vena). Sering kita jumpai banyak korban meninggal seketika akibat serangan jantung. Bahkan penyakit ini merupakan empat penyakit tidak menular yang paling banyak menyebabkan kematian selain kanker, diabetes, dan paru kronis.
Menurut Aisyah (2013), beberapa macam penyakit jantung : 1. Akut Miokard Infark (AMI)
sampai kematian mendadak. Diagnosa dan pengobatan yang tepat dapat menyelamatkan penderita dari kematian.
2. Gagal Jantung Kongestif / CHF
Penyakit gagal jantung kongestif ini adalah satu dari jenis macam penyakit jantung. Yang dimaksud dengan gagal jantung kongestif adalah ketidakmampuan jantung untuk memompa darah secara efektif ke seluruh tubuh. Padahal fungsi jantung salah satu diantaranya yaitu fungsi memompa darah ke seluruh tubuh. Dengan adanya kegagalan ini maka tubuh tidak tersuplai darah dengan baik. dan akan terjadi apa yang dinamakan dengan gagal jantung.
3. Aterosklerosis
Penyakit jantung jenis ini kelainannya adalah penebalan dinding arteri sebelah dalam karena endapan plak (berupa lemak dan kolesterol) sehingga menghambat serta menyumbat pasokan darah ke sel-sel otot. Aterosklerosis dapat terjadi di seluruh bagian tubuh. Bila terjadi pada dinding arteri jantung, maka disebut penyakit jantung koroner atau penyakit jantung iskemik.
4. Penyakit Jantung Rematik
Penyakit jantung rematik ini biasanya menyerang pada anak-anak dan juga bisa merupakan penyebab penyakit katup jantung. Penyakit jantung rematik adalah penyakit jantung yang terfokus pada kerusakan pada katup jantung karena demam rematik, yang disebabkan oleh bakteri streptokokus.
5. Penyakit Katup Jantung
fungsi dalam mengendalikan aliran darah dalam ruang-ruang jantung. Kelainan katup jantung yang dapat mengganggu aliran tersebut, antara lain karena pengecilan (stenosis), kebocoran (regurgitasi), atau tidak menutup sempurna (prolaps). Kelainan katup dapat terjadi sebagai bawaan lahir maupun karena infeksi. Demikian yang dimaksud dengan Penyakit katup jantung.
2.1.2 Diabetes Melitus
Menurut Khasanah (2011), diabetes melitus atau kencing manis adalah suatu kumpulan gejala yang timbul pada seseorang yang disebabkan oleh adanya peningkatan kadar gula (glukosa darah). Glukosa sangat penting bagi kesehatan karena merupakan sumber energi utama bagi otot dan jaringan. Jika seseorang memiliki diabetes tipe apapun, itu berarti memiliki terlalu banyak glukosa. Terlalu banyak glukosa dalam darah akan menyebabkan masalah yang serius.
Jenis-jenis penyakit diabetes : 1. Diabetes Melitus Tipe I
Disebut juga Insulin Dependent Diabetes Melitus (IDDM), dimana penderita mengalami gangguan pada produksi hormon insulin oleh suatu bagian dari limpa.
2. Diabetes Melitus Tipe II
3. Diabetes Gestational
Diabetes yang terjadi pada saat kehamilan. Sekitar 4% wanita hamil menderita tipe ini. Jika dilihat dari penyebab terjadinya, penyakit ini lebih mengarah ke dalam golongan diabetes tipe II.
2.1.3 Hipertensi
Menurut Khasanah (2011), hipertensi atau darah tinggi adalah gejala peningkatan tekanan darah yang mengakibatkan suplai oksigen dan nutrisi yang dibawa oleh darah terhambat sampai ke jaringan tubuh yang membutuhkan. Hipertensi berdasarkan penyebabnya dibagi menjadi 2 jenis :
1. Hipertensi primer atau esensial adalah hipertensi yang tidak atau belum diketahui penyebabnya (terdapat pada kurang lebih 90% dari seluruh hipertensi).
2. Hipertensi sekunder adalah hipertensi yang disebabkan atau sebagai akibat dari adanya penyakit lain.
2.1.4 Osteoartritis
Menurut J. D’Adamo (2007:4), osteoartritis adalah suatu penyakit sendi degeneratif, kebanyakan mempengaruhi tulang rawan. Tulang rawan yang sehat memungkinkan tulang meluncur di atas satu sama lain dan menyerap energi dari kejutan gerak fisik. Pada osteoartritis, lapisan permukaan tulang rawan rusak dan aus. Hal ini menyebabkan tulang bergesekan, menyebabkan rasa nyeri, pembengkakan, dan hilangnya gerakan sendi. Dengan berjalannya waktu, sendi dapat kehilangan bentuk normalnya.
Nyeri dan kekakuan dari sendi-sendi dapat terjadi setelah periode-periode yang panjang dari ketidakaktifan, contohnya, duduk dalam teater. Pada osteoartritis yang parah, kehilangan bantal cartilage yang komplit menyebabkan gesekan antara tulang-tulang, menyebabkan nyeri pada saat istirahat atau nyeri dengan gerakan yang terbatas.
2.1.5 Dislipidemia
Menurut Pramono (2009), dislipidemia adalah kelainan metabolisme lipid yang ditandai dengan peningkatan maupun penurunan fraksi lipid dalam plasma. Di mana peningkatan abnormal itu terjadi pada kadar kolesterol total, kolesterol LDL, trigliserida (TG), sedangkan kolesterol HDL yang berperan penting untuk kesehatan jantung mengalami penurunan.
sehingga aliran darah tak bisa mengalir. Dan pada kondisi inilah, seseorang umumnya akan mengalami serangan jantung.
Sedangkan untuk dislipidemia sekunder, serangan jantung umumnya dipicu karena penyakit kronis seperti diabetes, dan efek buruk merokok, alkohol serta obesitas. Kondisi itu bisa terjadi karena semua penyakit dan kebiasaan buruk itu memicu resistensi insulin dalam tubuh, sehingga peredaran pembuluh darah terganggu dan memicu gangguan pada penyakit jantung dan pembuluh darah.
2.1.6 Hiperurisemia
1. Primer
Disebabkan oleh produksi asam urat yang berlebihan. 2. Sekunder
Disebabkan oleh obat / racun yang mengakibatkan produksi asam urat naik dan menyebabkan serangan akut / mendadak (obat golongan salisilat, diuretik).
2.2 Kedudukan Sistem Pakar Dalam Kecerdasan Buatan
Menurut Subakti (2006), sistem pakar adalah salah satu bagian dari bidang kecerdasan buatan. Sistem dirancang untuk meniru perilaku seorang ahli yang bisa menyelesaikan permasalahan-permasalahan yang cukup kompleks. Kunci sukses dari sistem pakar adalah bagaimana sistem tersebut dapat memproses basis pengetahuan yang ada. Apabila basis pengetahuan tersebut dikombinasikan dengan teknik inferensi yang ada dalam kecerdasan buatan, tidak menutup kemungkinan menghasilkan pemecahan yang lebih baik dari seorang pakar pada satu area masalah yang spesifik dan biasanya lebih sempit.
Proses dari sistem pakar bisa dinilai sederhana. Kepakaran dipindahkan dari seorang pakar ke komputer yang disimpan dalam basis data dan bila user meminta saran spesifik yang dibutuhkan, komputer mencari, mengolah, dan menampilkan kesimpulan yang spesifik.
2.3 Sistem Pakar
dalam bidang tersebut. Sistem pakar bekerja berdasarkan pengetahuan yang dimasukkan oleh seorang atau beberapa orang pakar dalam rangka mengumpulkan informasi hingga sistem pakar dapat menemukan jawabannya.
Di dalam menyelesaikan suatu masalah, sistem pakar mengajukan berbagai pertanyaan kepada pemakai dalam rangka pengumpulan informasi hingga sistem pakar tersebut dapat memberikan suatu penyelesaian yang dianggap tepat atau sesuai bagi seseorang, yang harus memiliki serangkaian alternatif terbaik dari alternatif yang ada. Berdasarkan kriteria yang diberikan, sistem pakar bisa menentukan pilihan yang tepat. Tujuan utama sistem ini adalah untuk memindahkan secara efektif ilmu pengetahuan kepada mereka yang bukan pakar.
2.4 Komponen Sistem Pakar
Menurut Irawan (2007), sistem pakar mempunyai 3 komponen utama, yaitu knowledge base, working memory, dan inference engine. Model sistem pakar dapat dijelaskan melalui diagram gambar 2.1 di bawah ini.
A. Knowledge base merupakan berfungsi untuk menyimpan data atau
pengetahuan yang memuat fakta-fakta, yang diperlukan untuk membuat suatu keputusan. Knowledge base terdiri dari dua bagian yaitu:
1. Fakta
Fakta adalah suatu kenyataan atau kebenaran yang diketahui. Fakta menyatakan hubungan (relasi) antara dua objek atau lebih. Fakta dapat pula menunjukkan sifat.
2. Aturan
Dalam menerangkan masalah digunakan aturan untuk menentukan hal apa yang harus dilakukan dalam situasi tertentu dan aturan tersebut terdiri dari 2 bagian yaitu IF dan THEN. IF merupakan kondisi yang mungkin benar atau mungkin tidak benar, sedangkan THEN adalah tindakan yang dilakukan jika kondisi benar.
B. Working memory berfungsi untuk menyimpan fakta-fakta yang ditemukan
selama proses konsultasi. Selama proses konsultasi, user memasukkan fakta yang dibutuhkan, kemudian sistem mencari padanan tentang fakta dengan informasi yang ada di knowledge base untuk menghasilkan fakta baru. Sistem akan memasukkan fakta baru ke dalam working memory, sehingga working
memory menyimpan fakta-fakta yang ditemukan baik dari user maupun hasil
kesimpulan sistem.
C. Inference engine adalah bagian dari sistem pakar yang melakukan penalaran
dengan menggunakan isi knowledge base berdasarkan urutan tertentu.
Inference engine berfungsi untuk mencari padanan antara fakta yang ada
yang selanjutnya inference engine akan menarik kesimpulan dari problem yang diajukan kepada sistem. Ada dua metode utama yang digunakan
inference engine untuk melakukan penelusuran yaitu penalaran maju
(Forward Chaining) dan penalaran mundur (Backward Chaining).
2.5 Sistem Berbasis Aturan
Menurut Subakti (2006), sistem berbasis aturan merupakan suatu sistem yang pengetahuannya direprensentasikan sebagai serangkaian rule-rule
(production rules). Dengan kata lain bahwa sistem berbasis aturan adalah suatu perangkat lunak yang menyajikan keahlian pakar dalam bentuk aturan-aturan pada suatu domain tertentu untuk menyelesaikan suatu permasalahan.
2.6 Komponen Sistem Berbasis Aturan
Untuk membangun suatu sistem berbasis aturan diperlukan beberapa komponen, secara umum dapat dilihat pada gambar 2.2 di bawah ini.
Antar muka untuk
A. Knowledge base (basis pengetahuan) adalah bagian dari sebuah sistem pakar
yang mengandung/menyimpan pengetahuan (domain knowledge). Knowledge
base yang dikandung oleh sebuah sistem pakar berbeda antara satu dengan
yang lain tergantung pada bidang kepakaran dari sistem yang dibangun (Irawan, 2007).
B. Mekanisme inferensi berfungsi untuk mensimulasikan strategi penyelesaian masalah dari seorang pakar. Sebuah konklusi akan dicapai dengan menjalankan suatu aturan tertentu pada fakta yang ada.
C. Komponen penjelas berfungsi menjelaskan strategi penyelesaian masalah bagi user yang meliputi:
1. Pertanyaan apa yang akan diajukan pada pemakai dan jika diperlukan mengapa mengajukan pertanyaan tersebut.
2. Alasan bagaimana sistem tersebut memperoleh hasil demikian. 3. Karakteristik apa yang dimiliki tiap-tiap objek.
D. User interface yaitu bagian program yang berhubungan langsung dengan
pemakai, baik selama konsultasi maupun untuk pengembangan sistem. Oleh karena itu sistem haruslah menggunakan bahasa dan sistem pengoperasian yang mudah dimengerti.
1. Pengetahuan yang terdiri dari pengetahuan dan fakta harus mudah untuk dimasukkan.
2. Metode penyajian informasi dalam basis pengetahuan harus mudah dimengerti.
3. Sangat baik jika memiliki sistem pengecekan atas format yang salah.
2.7 Inference Engine
Menurut Andi (2003), inference engine adalah bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar rule berdasarkan urutan dan pola tertentu. Selama proses konsultasi antara user dengan sistem,
inference engine menguji rule satu demi satu sampai kondisi rule itu benar.
Ada 2 metode utama yang telah dibuat bagi inference engine untuk menguji aturan yaitu penalaran maju (Forward Chaining) dan penalaran mundur
(Backward Chaining).
1. Forward Chaining
Gambar 2.3 Metode Forward Chaining (Sumber: Fitriawanti, 2009:14)
Pada gambar di atas menunjukkan pangkalan kaidah yang terdiri dari 5 buah yaitu kaidah A, kaidah B, kaidah C, kaidah D dan kaidah E. Sedangkan pangkalan data terdiri dari pengawalan fakta yang sudah diketahui, yaitu fakta 1, fakta 2 dan fakta 3.
Melalui observasi 1 mulai melacak pangkalan kaidah untuk mencari premis dengan menguji semua kaidah secara berurutan. Pada observasi 1 pertama-tama melacak kaidah A dan kaidah B. Inference engine mulai melakukan pelacakan, mencocokkan kaidah A dalam pangkalan pengetahuan terhadap informasi yang ada di dalam pangkalan data, yaitu fakta 1 dan fakta 2. Jika pelacakan pada kaidah A tidak ada yang cocok dengan fakta 1, maka terus bergerak menuju kaidah C yang kemudian menghasilkan kesimpulan, demikian seterusnya.
Observasi
Observasi
Fakta 2 Fakta 1
Kaidah E Kaidah D
Kaidah C Kesimpulan
Kesimpulan Kesimpulan Kesimpulan
Kaidah B Kaidah A
2. Backward Chaining
Menurut Irawan (2007), metode backward chaining dilakukan dengan cara memilih beberapa kesimpulan yang mungkin dan mencoba membuktikan kesimpulan tersebut dari bukti-bukti yang ada. Metode backward chaining merupakan kebalikan dari metode forward chaining dan sering disebut penalaran mundur. Pada metode ini pelacakan atau penalaran dari dilakukan dari sekumpulan hipotesa menuju fakta-fakta yang mendukung kesimpulan tersebut. Jadi interpreter kaidah mulai menguji kaidah sebelah kanan yaitu
THEN.
Inference engine akan melacak bukti-bukti yang mendukung hipotesa awal.
Gambar 2.4 Metode Backward Chaining (Sumber: Fitriawanti, 2009:16)
Dalam melakukan penelusuran pada backward chaining berawal dari goal atau pada gambar disebut sebagai tujuan, kemudian mencari informasi untuk memenuhi tujuan tersebut. Pertama-tama mulai dengan memberitahu sistem bahwa kita ingin membuktikan keadaan tujuan. Inference engine melihat pangkalan data yaitu fakta untuk dicocokkan dengan pangkalan kaidah.
2.8 Verifikasi
Menurut Gonzales (2000), verifikasi adalah proses untuk memastikan bahwa sistem cerdas sesuai dengan spesifikasi serta basis pengetahuannya konsisten dan terbebas dari kesalahan. Suatu kualitas dari basis pengetahuan dapat dilihat dari ukuran, kompleksitas dan sifat kritikal dari aplikasi-aplikasi yang ada. Semuanya itu dapat diwujudkan dari proses-proses verifikasi. Elemen ini sangat penting bagi suatu sistem berbasis pengetahuan. Verifikasi adalah membangun sistem yang benar. Verifikasi itu sendiri terdiri dari 2 proses yaitu:
Observasi
Observasi
Fakta 2 Fakta 1
Kaidah E Kaidah D
Kaidah C
Tujuan Kaidah B
Kaidah A
Fakta 3 Observasi
1. memeriksa pelaksanaan suatu sistem secara spesifik.
2. memeriksa konsistensi dan kelengkapan dari basis pengetahuan.
Verifikasi dijalankan ketika ada penambahan atau perubahan pada rule, karena rule tersebut sudah ada pada sistem. Sedangkan tujuan verifikasi adalah untuk memastikan adanya kecocokkan antara sistem dengan apa yang sistem kerjakan dan juga untuk memastikan bahwa sistem itu terbebas dari error.
Berikut ini adalah yang harus dicek dalam suatu basis pengetahuan : 1. Redundant rules
Dikatakan redundant rules jika 2 rule atau lebih mempunyai premise dan
conclusion yang sama.
Contoh :
Rule 1 : If the humidity is high and the temperature is hot
Then there will be thunderstorms
Rule 2 : If the temperature is hot and the humidity is high
Then there will be thunderstorms 2. Conflicting rules
Conflicting rules terjadi ketika 2 rule atau lebih mempunyai premise yang
sama tetapi conclusion yang berbeda. Contoh :
Rule 1 : If the temperatur is hot and the humidity is high
Then there will be sunshine
Rule 2 : If the temperatur is hot and the humidity is high
3. Subsumed rules
Suatu keadaan dapat dikatakan subsumed rules jika rule tersebut mempunyai
constraint yang lebih atau kurang tetapi mempunyai conclusion yang sama.
Contoh :
Rule 1 : If the temperatur is hot and the humidity is high
Then there will be thunderstorms
Rule 2 : If the temperatur is hot
Then there will be thunderstorms 4. Circular rules
Circular rules ialah suatu keadaan dimana terjadinya proses perulangan dari
suatu rule. Ini dikarenakan suatu premise dari salah satu rule merupakan
conclusion dari rule yang lain, atau kebalikannya.
Contoh :
Rule 1 : If X and Y are brothers
Then X and Y have the same parents
Rule 2 : If X and Y have the same parents
Then X and Y are brothers 5. Unnecessary IF condition
Unnecessary IF terjadi ketika 2 rule atau lebih mempunyai conclusion yang
Contoh :
Rule 1 : If the patient has pink spots and the patient has a fever
Then the patient has measles
Rule 2 : If the patient has pink spots and the patient does not have fever
Then the patient has measles 6. Dead-end rules
Dead-end rules adalah suatu rule yang conclusionnya tidak diperlukan oleh
rule-rule lainnya.
Contoh :
Rule 1 : If the gauge reads empty
Then the gas tank is empty
2.9 Diagram Blok
Langkah awal yang dilakukan dalam menerjemahkan suatu bidang ilmu ke dalam sistem berbasis aturan yaitu melalui diagram blok (block diagram). Menurut Ogata (2002), diagram blok dari sebuah sistem merupakan gambaran dari proses yang dijalankan oleh tiap komponen dan aliran sinyal.
Gambar 2.5 Block Diagram Health Maintenance Organization (HMO) (Sumber: Irawan, 2007:56)
2.10 Diagram Ketergantungan
Setelah diketahui urutan kerja sistem dalam mencari keputusan dari diagram blok, langkah selanjutnya adalah membuat diagram ketergantungan
(dependency diagram). Menurut Viony (2012), dependency diagram
Gambar 2.6 Dependency diagram HMO (Sumber: Irawan, 2007:57)
2.11 Decision Table
Dari data-data yang diolah dan dibuat diagram ketergantungan, langkah yang berikutnya adalah pembuatan decision table. Menurut Viony (2012),
decision table merupakan tabel yang menunjukkan semua kombinasi inputan dan
Tabel 2.1 Decision Table HMO Rule Set 1
(Sumber: Irawan, 2007:57)
2.12 Reduced Decision Table
Setelah didapatkan nilai dari decision table akan direduksi untuk mendapatkan nilai dari kondisi terakhir. Menurut Lee (2011), reduced decision
table adalah penyederhanaan dari decision table dengan menggunakan rule-rule
Tabel 2.2 Reduced Decision Table HMO Rule Set 1
(Sumber: Irawan, 2007:58)
2.13 Penyajian aturan (rule) dengan treeview
Treeview adalah sebuah fasilitas yang disediakan bahasa pemrograman
Visual Basic untuk penyusunan aturan-aturan. Menurut Tarigan (2010), object
treeview adalah sebuah diagram pohon yang menggambarkan hubungan logis
antara komponen visual dan non visual yang terletak pada form, data module, maupun frame. Dalam sebuah treeview ada beberapa fungsi dan prosedur yang bisa membantu menyusun aturan-aturan dan memanfaatkannya sebagai inference
engine ketika sistem dijalankan.
2.14 Basis Data
Menurut Minartiningtyas (2013), basis data (database) adalah kumpulan informasi yang disusun berdasarkan cara tertentu dan merupakan suatu kesatuan yang utuh. Berdasarkan pengertian tersebut, data yang terhimpun dalam suatu database dapat menghasilkan informasi yang berguna.
Manfaat dari pembentukkan database adalah untuk mempermudah penciptaan struktur data. Selain itu suatu database dapat digunakan untuk sejumlah program aplikasi yang berlainan sehingga dapat meningkatkan produktifitas progammer. Kumpulan file yang saling berkaitan dengan program untuk pengelolaanya disebut sebagai database.
30 BAB III
PERANCANGAN SISTEM
Pada bab ini akan dijelaskan tentang langkah-langkah dalam perancangan sistem. Hal-hal yang akan dibahas di bab ini, antara lain perancangan system flow yang menunjukkan alur jalan dari sistem, desain arsitektur yang menunjukkan hubungan antar elemen, dan perancangan sistem. Perancangan sistem ini terdiri dari perancangan diagram blok, perancangan dependency diagram, perancangan
decision table, perancangan reduksi tabel, proses verifikasi, dan perancangan rule
base. Dalam bab ini juga dilengkapi dengan struktur tabel dan desain input output.
3.1 Perancangan System Flow
System flow merupakan gambaran suatu aliran data proses dan hubungan
antara proses satu dengan yang lain dalam suatu sistem komputer dengan menggunakan simbol-simbol tertentu. Oleh karena itu, penganalisa dapat menginformasikan jalannya suatu sistem dan dapat memahami sistematika sistem dengan mudah.
System flow untuk admin memiliki fungsi untuk melakukan proses
Mulai
Alur kerja system flow untuk admin dimulai dari proses login kemudian dilakukan validasi user_id dan password. Setelah validasi valid, masuk ke menu
treeview untuk melakukan penambahan dan pengubahan parameter. Setelah
parameter sudah dimasukkan, dilakukan proses desain list aturan, yang kemudian dilakukan proses perubahan list aturan. List aturan yang sudah valid kemudian akan melalu proses verifikasi dan hasil verifikasi akan disimpan pada tabel data aturan penyakit degeneratif.
System flow untuk user umum menjelaskan proses jalannya sistem pada
Login
Hasil Konsultasi Simpan hasil konsultasi
Gambar 3.2 System flow untuk user umum
Mulai
mendapatkan hasil, sistem akan menampilkan menghasilkan hasil yang berupa kesimpulan konsultasi dan hasil keputusan. Hasil konsultasi yang ditampilkan akan disimpan pada tabel hasil konsultasi.
System flow proses verifikasi menjelaskan proses jalannya verifikasi pada
sistem. Proses verifikasi diperlukan untuk melakukan reduksi pada tabel keputusan agar tabel keputusan bebas dari kesalahan. System flow proses verifikasi dapat dilihat pada gambar 3.3.
System flow proses verifikasi untuk proses redundant rules, conflicting
rules, circular rules, subsumed rules, unnecessary if condition, dan dead end
rules. Proses diawali dengan pengecekan list aturan.
Pengecekan pertama adalah pengecekan untuk redundant rules, apakah pada suatu rule terdapat premis dan konklusi yang sama. Jika ada, maka akan diperiksa dan ditampilkan pada display redundant rules dan proses akan dilanjutkan untuk pengecekan selanjutnya.
Pengecekan kedua adalah pengecekan untuk conflicting rules, apakah pada suatu rule terdapat premis yang sama tetapi konklusi berlawanan. Jika ada, maka akan diperiksa dan ditampilkan pada display conflicting rules dan proses akan dilanjutkan untuk pengecekan selanjutnya.
Pengecekan ketiga adalah pengecekan untuk circular rules, apakah pada suatu rule terdapat premis yang merupakan konklusi dari rule lain. Jika ada, maka akan diperiksa dan ditampilkan pada display circular rules dan proses akan dilanjutkan untuk pengecekan selanjutnya.
Pengecekan keempat adalah pengecekan untuk subsumed rules, apakah pada suatu rule terdapat constraint yang lebih atau kurang tetapi mempunyai konklusi yang sama. Jika ada, maka akan diperiksa dan ditampilkan pada display
subsumed rules dan proses akan dilanjutkan untuk pengecekan selanjutnya.
Pengecekan kelima adalah pengecekan untuk unnecessary if condition, apakah pada 2 rule atau lebih terdapat konklusi yang sama tetapi salah satu dari
rule tersebut mempunyai premis yang tidak perlu dikondisikan dalam rule karena
Mulai
Cek Fakta dengan basis rule (forward
chaining)
Set telah terjawab Data parameter
Data aturan penyakit degeneratif
Kesimpulan konsultasi dan
keputusan
Selesai ya
Tidak
ditampilkan pada display unnecessary if condition dan proses akan dilanjutkan untuk pengecekan selanjutnya.
Pengecekan keenam adalah pengecekan untuk dead end rules, apakah pada suatu rule terdapat konklusi yang tidak diperlukan oleh rule-rule lainnya. Jika ada, maka akan diperiksa dan ditampilkan pada display dead end rules dan proses telah selesai.
System flow proses inference engine menjelaskan proses penelusuran
untuk menentukan jawaban yang tepat. Pada sistem berbasis aturan ini akan digunakan pencarian arah maju (forward chaining). System flow proses inference
engine dapat dilihat pada gambar 3.4.
System flow proses inference engine akan menerima respon data yang
diterima dari user umum berupa jawaban dari pertanyaan-pertanyaan sistem, kemudian melakukan proses terhadap basis pengetahuan yang dimiliki dengan masukan data dari tabel data aturan penyakit degeneratif dan tabel data parameter. Setelah proses inference engine menemukan jawaban yang sesuai, akan ditampilkan hasil yang berupa kesimpulan konsultasi dan hasil keputusan.
3.2 Desain Arsitektur
Desain arsitektur seperti terlihat pada gambar 3.5 menggambarkan hubungan antara elemen-elemen utama.
User Umum - Saran Pengobatan hasil diagnosa penyakit degeneratif
Gambar 3.5 Desain Arsitektur Menentukan Jenis Penyakit Degeneratif
1. Interface admin, yaitu suatu media bagi admin untuk menginputkan
parameter rule. Rule yang diinputkan adalah gejala-gejala penyakit degeneratif untuk menghasilkan knowledge base.
2. Verifikasi, yaitu suatu proses validasi rule dengan menggunakan teori verifikasi anatara lain:
a. Redundant rules adalah suatu kondisi jika 2 rule atau lebih mempunyai premise dan conclusion yang sama.
b. conflicting rules adalah suatu kondisi ketika 2 rule atau lebih mempunyai premise yang sama tetapi conclusion yang berbeda.
c. circular rules adalah suatu kondisi dimana suatu premise dari salah satu rule merupakan conclusion dari rule yang lain, atau kebalikannya.
d. subsumed rules adalah suatu kondisi jika rule tersebut mempunyai constraint yang lebih atau kurang tetapi mempunyai conclusion yang
sama.
e. unnecessary if condition adalah suatu kondisi ketika 2 rule atau lebih
mempunyai conclusion yang sama tetapi salah satu dari rule tersebut mempunyai premise yang tidak perlu dikondisikan dalam rule karena tidak mempunyai pengaruh apapun.
f. dead end rules adalah suatu kondisi suatu rule yang conclusionnya tidak
diperlukan oleh rule-rule lainnya.
3. Knowledge database, yaitu suatu media penyimpanan data yang digunakan
untuk user umum yang berfungsi untuk menyimpan data-data yang berkaitan dengan user umum.
4. Knowledge base, yaitu kumpulan dari fakta dan aturan tentang
permasalahan-permasalahan yang telah didesain oleh admin yang diperoleh sistem selama proses berlangsung.
5. Interface user umum, yaitu suatu media bagi user umum untuk berinteraksi
dengan sistem dengan menginputkan fakta-fakta untuk mendapatkan suatu kesimpulan.
6. Inference engine, yaitu mekanisme inferensi yang digunakan untuk
mensimulasikan strategi penyelesaian masalah. Mekanisme yang digunakan adalah forward chaining, yaitu penelusuran dari data-data yang ada untuk mencapai suatu kesimpulan.
7. Output, yaitu hasil yang didapatkan dari sistem yang bisa menunjukkan
jawaban dari fakta-fakta yang telah diinputkan. Output yang dihasilkan adalah sebagai berikut:
a. Hasil diagnosa penyakit degeneratif
b. Saran pengobatan hasil diagnosa penyakit degeneratif
3.3 Perancangan Sistem
3.3.1 Perancangan Diagram Blok
Jenis Penyakit Degeneratif
Pemeriksaaan Laboratorium
Gula darah puasa >126mg/dl
Kolesterol Total > 200mg/dl
LDL > 150mg/dl
HDL < 50mg/dl
Asam urat pada pria > 7mg/dl
Asam urat pada wanita > 5,7mg/dl
Gula darah 2jam setelah makan >200mg/dl Pemeriksaaan
Tekanan Darah
Sistole
Diastole Gejala
Sering terasa haus, lapar, dan sering kencing Cepat lelah
Lemas Pusing berputar
Kesemutan di tangan atau di kaki Nyeri Kepala
Nyeri
Nyeri menyebar ke seluruh tubuh Nyeri pada kaki disertai bengkak Nyeri pada kedua kaki
Nyeri bertambah jika beraktifitas Kaku sendi pagi hari
Nyeri > 1 sendi
Nyeri menjalar ke punggung & bahu Dada seperti diremas-remas Nyeri pada di dada kiri/kanan/tengah
Level 0 Level 1 Level 2 Level 3
Gambar 3.6 Diagram Blok Menentukan Jenis Penyakit Degeneratif
3.3.2 Perancangan Dependency Diagram
Dependency diagram menunjukkan hubungan atau ketergantungan antara
inputan jawaban, aturan-aturan (rules), nilai-nilai dan direkomendasikan untuk
knowledge base system. Dependency diagram menentukan jenis penyakit
Darah Tinggi Nyeri pada di dada kiri/kanan/tengah (ya, tidak)
Dada seperti diremas-remas (ya, tidak)
Nyeri Kepala (ya, tidak) Nyeri > 1 sendi (ya, tidak) Gula darah puasa >126mg/dl (ya, tidak)
Kolesterol Total > 200mg/dl (ya, tidak)
Gula darah 2jam setelah makan >200mg/dl (ya, tidak)
Set 3 Nyeri
Kaku sendi pagi hari (ya, tidak)
LDL > 150mg/dl (ya, tidak) HDL < 50mg/dl (ya, tidak) Asam urat pada pria > 7mg/dl (ya, tidak) Asam urat pada wanita > 5,7mg/dl (ya, tidak) Nyeri menjalar ke punggung & bahu (ya, tidak)
Nyeri pada kaki disertai bengkak (ya, tidak) Nyeri pada kedua kaki (ya, tidak) Nyeri bertambah jika beraktifitas (ya, tidak)
Kesemutan di tangan atau di kaki (ya, tidak) Pusing berputar (ya, tidak)
Lemas (ya, tidak) Cepat lelah (ya, tidak)
Sering terasa haus, lapar, dan sering kencing (ya, tidak) Nyeri menyebar ke seluruh tubuh (ya, tidak)
Gejala
3.3.3 Perancangan Decision Table
Decision table dibuat untuk menunjukkan hubungan antara nilai-nilai
pada hasil fase antara atau rekomendasi akhir knowledge base system. Pada tabel 3.2 menunjukkan salah satu contoh perancangan decision table untuk rule set 3 yaitu pemeriksaan laboratorium. Decision table berikut dibuat berdasarkan perancangan dependency diagram menentukan jenis penyakit degeneratif.
Tabel 3.1 Decision Table Langkah 1 Langkah 1 : Plan
Kondisi : Sistole ( >= 140, 120 - 139 ) = 2 Diastole ( >= 100, 70 - 90 ) = 2
Baris 2 x 2 = 4
Tabel 3.2 Decision Table Langkah 2 Langkah 2 : Complete Decision Table
Rule Sistole Diastole Kesimpulan
A1 >= 140 >= 100 Darah Tinggi
A2 >= 140 70 - 90 Darah Tinggi
A3 120 - 139 >= 100 Darah Tinggi
A4 121 - 139 70 - 90 Normal
3.3.4 Perancangan Reduksi Tabel
Pada sistem ini proses perancangan reduksi tabel untuk setiap decision
table dilakukan secara manual. Perancangan reduksi berdasarkan decision table
pada tabel 3.4 menghasilkan parameter seperti pada tabel 3.5.
Tabel 3.3 Reduced Decision Table Langkah 1 Langkah 1 : Plan
Kondisi : Sistole ( >= 140, 120 - 139 ) = 2 Diastole ( >= 100, 70 - 90 ) = 2
Baris 2 x 2 = 4
Tabel 3.4 Reduced Decision Table Langkah 2 Langkah 2 : Complete Decision Table
Rule Sistole Diastole Kesimpulan
A1 >= 140 >= 100 Darah Tinggi
A2 >= 140 70 - 90 Darah Tinggi
A3 120 - 139 >= 100 Darah Tinggi
A4 121 - 139 70 - 90 Normal
Tabel 3.5 Reduced Decision Table Langkah 3 Langkah 3 : Reduced Decision Table
Rule Sistole Diastole Kesimpulan
B1 >= 140 - Darah Tinggi
B2 120 - 139 >= 100 Darah Tinggi
Pada langkah 1 ditentukan jumlah baris maksimal yang akan terdapat pada decision table dengan cara mengkalikan jumlah jawaban tiap-tiap parameter pada rule set 3. Kemudian pada langkah 2 tiap-tiap jawaban parameter dikombinasikan sejumlah baris yang telah ditentukan pada langkah 1. Selanjutnya pada langkah 3 tabel 3.4 dilakukan reduksi untuk tiap-tiap parameter. Reduksi tabel dimulai dengan mengambil 2 kolom dari paling kanan, kemudian tiap-tiap baris kolom sebelah kanan dari parameter kolom kiri tadi dilihat kesimpulannya, jika tidak sama maka menjadi rule baru, akan tetapi jika sama baris yang sama tadi dihilangkan dan ditambah kolom baru ke 2 kolom tadi yaitu kolom berasal dari sebelah kiri 2 kolom tadi, kemudian diulang lagi proses pembandingan diatas hingga tinggal satu kolom dan satu baris yang kemudian menjadi rule baru.
3.3.5 Proses Verifikasi
Proses verifikasi dijalankan ketika ada penambahan atau perubahan pada rule, karena rule tersebut sudah ada pada sistem. Sedangkan tujuan verifikasi adalah untuk memastikan adanya kecocokan antara sistem dengan apa yang sistem kerjakan dan juga untuk memastikan bahwa sistem itu terbebas dari error.
Berikut ini adalah yang harus dicek dalam suatu basis pengetahuan: 1. Redundant rules
Dikatakan redundant rules jika 2 rule atau lebih mempunyai premise dan
conclusion yang sama.
Contoh :
Rule 1 : If gula darah puasa > 126 mg/dl and gula darah 2 jam setelah makan >
200 mg/dl
Rule 2 : If gula darah 2 jam setelah makan > 200 mg/dl and darah puasa >
126 mg/dl
Then pemeriksaan laboratorium gula darah 2. Conflicting rules
Conflicting rules terjadi ketika 2 rule atau lebih mempunyai premise yang
sama tetapi conclusion yang berbeda. Contoh :
Rule 1 : If kolesterol total >200 mg/dl and LDL > 150 mg/dl
Then pemeriksaan laboratorium profil lipid
Rule 2 : If kolesterol total >200 mg/dl and LDL > 150 mg/dl
Then pemeriksaan laboratorium gula darah 3. Subsumed rules
Suatu keadaan dapat dikatakan subsumed rules jika rule tersebut mempunyai
constraint yang lebih atau kurang tetapi mempunyai conclusion yang sama.
Contoh :
Rule 1 : If kolesterol total >200 mg/dl and LDL > 150 mg/dl
Then pemeriksaan laboratorium profil lipid
Rule 2 : If kolesterol total >200 mg/dl
Then pemeriksaan laboratorium profil lipid 4. Circular rules
Circular rules ialah suatu keadaan dimana terjadinya proses perulangan dari
suatu rule. Ini dikarenakan suatu premise dari salah satu rule merupakan
conclusion dari rule yang lain, atau kebalikannya.
Rule 1 : If kolesterol total >200 mg/dl
Then pemeriksaan laboratorium profil lipid
Rule 2 : If pemeriksaan laboratorium profil lipid
Then X kolesterol total >200 mg/dl 5. Unnecessary IF condition
Unnecessary IF terjadi ketika 2 rule atau lebih mempunyai conclusion yang
sama tetapi salah satu dari rule tersebut mempunyai premise yang tidak perlu dikondisikan dalam rule karena tidak mempunyai pengaruh apapun.
Contoh :
Rule 1 : If kolesterol total >200 mg/dl and LDL > 150 mg/dl
Then pemeriksaan laboratorium profil lipid
Rule 2 : If kolesterol total >200 mg/dl and LDL > 250 mg/dl
Then pemeriksaan laboratorium profil lipid 6. Dead-end rules
Dead-end rules adalah suatu rule yang conclusionnya tidak diperlukan oleh
rule-rule lainnya.
Contoh :
Rule 1 : If bukan gejala penyakit degeneratif
Then bukan penyakit degeneratif
3.3.6 Perancangan Rule Base
Suatu rule terdiri dari dua bagian utama, yaitu IF yang sering disebut premis atau kondisi dan bagian THEN yang sering disebut konklusi atau kesimpulan. Berikut ini merupakan contoh dari struktur basis pengetahuan yang sebelumnya telah dirancang menggunakan diagram blok.
Rule 1 : If Sistole >= 140
Then Darah Tinggi
Rule 2 : If Sistole = 120-139 and diastole >= 100
Then Darah Tinggi
Rule 3 : If Sistole = 120-139 and diastole = 70-90
Then Normal
3.4 Struktur Tabel
Struktur tabel merupakan penjabaran dan penjelasan tabel tersebut, mulai dari fungsi masing-masing tabel sampai masing-masing field yang ada dalam tabel. Adapun struktur tabel adalah sebagai berikut:
1. Nama : Login
Primary key : Foreign key : -
Fungsi : Digunakan menyimpan data Login
Tabel 3.6 Login
Field Tipe Data Constraint Keterangan
username Text(50) PK id user
password Text(50) Not Null password user
Tipe Text(50) Not Null tipe user yaitu admin atau
2. Nama : Pengguna Primary key : id_pengguna Foreign key : -
Fungsi : digunakan untuk menyimpan data-data pengguna Tabel 3.7 Pengguna
Field Tipe Data Constraint Keterangan
id_pengguna Number PK id pengguna berupa
auto number sehingga user tidak perlu
mengisi id_pengguna
nama Text(50) Not Null nama pengguna
tanggal_lahir Date Not Null tanggal lahir
pengguna jenis_kelamin Text(1) Not Null jenis kelamin
pengguna
alamat Text(50) Not Null alamat pengguna
telepon Text(15) Not Null telepon pengguna
kota Text(50) Not Null kota domisili
pengguna
3. Nama : Solusi
Primary key : id_solusi
Foreign key : id_value dan id_parameter
Fungsi : Digunakan menyimpan solusi dari setiap kesimpulan akhir Tabel 3.8 Solusi
Field Tipe Data Constraint Keterangan
id_solusi Number PK id solusi berupa auto
number sehingga user
tidak perlu mengisi id_solusi
id_value Number FK id value berasal dari
tabel PossibleValue
id_parameter FK id parameter berasal dari
tabel PossibleValue
4. Nama : PossibleValue
Primary key : id_value dan id_parameter Foreign key : -
Fungsi : Digunakan menyimpan data jawaban pertanyaan dari masing-masing parameter
Tabel 3.9 Possible Value
Field Tipe Data Constraint Keterangan
id_value Number PK id value berupa auto
number sehingga user
tidak perlu mengisi id_value
id_parameter Number PK id parameter yang berasal dari tabel Parameter nama_value Text(50) Not Null nama value
5. Nama : Parameter
Primary key : id_parameter Foreign key : -
Fungsi : Digunakan menyimpan data parameter berdasarkan Tree
View yang telah dibuat.
Tabel 3.10 Parameter
Field Tipe Data Constraint Keterangan
id_parameter Number PK id parameter berupa auto
number sehingga user tidak
perlu mengisi id_parameter nama_parameter Text(50) Not Null nama parameter di dalam
tree view
path Text(50) Not Null path parameter di dalam
tree view
Idx Number Not Null index parameter di dalam
tree view
pertanyaan Memo Not Null pertanyaan yang akan
6. Nama : Rule Primary key : id_rule Foreign key : set
Fungsi : digunakan untuk menyimpan rule hasil generate
Tabel 3.11 Rule
Field Tipe Data Constraint Keterangan
id_rule Number PK id rule berupa auto
number sehingga user
tidak perlu mengisi id rule
Primary key : id_detail, id_parameter dan id_value Foreign key : -
Fungsi : Digunakan menyimpan detail dari setiap rule
Tabel 3.12 Detail Rule
Field Tipe Data Constraint Keterangan
id_rule Number PK id rule berasal dari
tabel Rule
id_value Number PK id value berasal dari
tabel PossibleValue
Id_parameter Number PK id parameter berasal
dari tabel PossibleValue
is_conclusion Yes/No keterangan yang
8. Nama : Konsultasi Primary key : id_konsultasi Foreign key : -
Fungsi : Digunakan menyimpan data hasil konsultasi
Tabel 3.13 Konsultasi
Field Tipe Data Constraint Keterangan
id_konsultasi Number PK id konsultasi berupa
auto number sehingga user tidak perlu
mengisi id konsultasi
jawaban Text(100) Not Null jawaban dari
pertanyaan
kesimpulan Text(100) Not Null kesimpulan
konsultasi
kesimpulan akhir Text(100) Not Null kesimpulan akhir konsultasi
3.5 Desain Input Output
Bagian ini menjelaskan tentang desain input output dari aplikasi sistem berbasis aturan menentukan penyakit degeneratif. Form-form yang dirancang meliputi konsep interaksi manusia dan komputer dimana seorang user hanya dengan melihat form, dapat mengerti langkah apa yang dilakukan selanjutnya.
3.5.1 Desain Form Login
Desain form login berfungsi untuk masuk ke dalam sistem. Pada desain
form login ini terdapat level user yang digunakan untuk menentukan siapa yang
UserName Varchar(50)
Login Batal Keluar
Password Varchar(50)
Gambar 3.8 Desain Form Login
Fungsi-fungsi obyek yang ada pada desain form login dapat dilihat pada tabel 3.14.
Tabel 3.14 Fungsi Obyek Desain Form Login No Nama Obyek Tipe Obyek Fungsi
Digunakan untuk mengisi data
username, dan password sesuai
dengan data yang ada dalam
database.
2 Login Button Digunakan sebagai autentikasi dan
autorisasi agar dapat masuk dan menggunakan sistem.
3 Batal Button Digunakan untuk membersihkan
field
4 Keluar Button Digunakan untuk keluar dari
sistem
3.5.2 Desain Form Utama
Menu
Gambar 3.9 Desain Form Utama
Fungsi-fungsi obyek dalam desain form utama dapat dilihat pada tabel 3.15. Tabel 3.15 Fungsi Obyek Desain Form Utama
No Nama obyek Tipe Obyek Fungsi
1 Menu Link Label Digunakan untuk memanggil form anak
3.5.3 Desain Form Master Pengguna
Varchar(50 Cari
Gambar 3.10 Desain Form Data Pengguna
Fungsi-fungsi obyek dalam desain form data pengguna dapat dilihat pada tabel 3.16.
Tabel 3.16 Fungsi Obyek Desain Form Data Pengguna No Nama Obyek Tipe Obyek Fungsi
1 Cari berdasarkan Combobox
Digunakan untuk
6 Keluar Button Digunakan untuk
Simpan Batal Keluar
Gambar 3.11 Desain Form Tambah Data Pengguna
Fungsi-fungsi obyek dalam desain form tambah data pengguna dapat dilihat pada tabel 3.17.
Tabel 3.17 Fungsi Obyek Desain Form Tambah Data Pengguna No Nama Obyek Tipe Obyek Fungsi
1 Kode Textbox Digunakan untuk data
kode pengguna
6 Jenis Kelamin Radiobutton
8 Telepon Textbox
12 Keluar Button Digunakan untuk
keluar dari form
3.5.4 Desain Form Master Pertanyaan
Desain form master pertanyaan digunakan untuk melakukan maintenance terhadap pertanyaan tiap-tiap parameter. Form master pertanyaan digunakan untuk menambah dan mengubah pertanyaan untuk parameter yang ada. Form master pertanyaan dapat dilihat pada gambar 3.12.
Varchar(50
Fungsi-fungsi obyek dalam desain form master pertanyaan dapat dilihat pada tabel 3.18.
Tabel 3.18 Fungsi Obyek Desain Form Master Pertanyaan No Nama Obyek Tipe Obyek Fungsi
7 Keluar Button Digunakan untuk
keluar form
3.5.5 Desain Form Master Saran Pengobatan
Desain form master saran pengobatan digunakan untuk melakukan
maintenance terhadap kesimpulan dan saran pengobatan. Form master saran
Varchar(50
Gambar 3.13 Desain Form Master Saran Pengobatan
Fungsi-fungsi obyek dalam desain form master saran pengobatan dapat dilihat pada tabel 3.19.
Tabel 3.19 Fungsi Obyek Desain Form Master Saran Pengobatan No Nama Obyek Tipe Obyek Fungsi
1 Kesimpulan Textbox
Digunakan untuk menampilkan Kesimpulan yang dipilh
2 Saran Pengobatan Textbox
6 Ubah Button
Digunakan untuk mengubah data saran pengobatan untuk kesimpulan
7 Keluar Button Digunakan untuk
keluar form
3.5.6 Desain Form Treeview
Desain form treeview digunakan untuk membuat treeview yang merupakan langkah awal dalam membuat rule. Desain form treeview dapat dilihat pada gambar 3.14.
Gambar 3.14 Desain Form Treeview
Tabel 3.20 Fungsi Obyek Desain Form Treeview No Nama
Obyek Tipe Obyek Fungsi
1 Nama node Textbox Digunakan untuk menginputkan
nama node
2 Level node Textbox Digunakan untuk memberikan
informasi berupa level node 3 Indeks node Textbox Digunakan untuk memberikan
informasi berupa indeks node
4 Nama parent Textbox Digunakan untuk memberikan informasi berupa nama parent 5 Set rule Radiobutton Digunakan untuk memilih kondisi
set rule
6 Pertanyaan Textbox Digunakan untuk menginputkan
pertanyaan
9 Pilihan value Textbox Digunakan untuk menginputkan isi value
10 Tambah
node Button Digunakan untuk menambah node 11 Ubah node Button Digunakan untuk mengubah node 12 Hapus node Button Digunakan untuk menghapus node 13 Batal Button Digunakan untuk membersihkan
field
14 Simpan Button Digunakan untuk menyimpan data
treeview dan data node
15 Ubah Button Digunakan untuk mengubah data
treeview dan data node
3.5.7 Desain Form Verifikasi Rule
Desain form verifikasi rule digunakan untuk proses verifikasi rule. Langkah pertama yang harus dilakukan untuk melakukan verifikasi rule adalah memasukkan set rule untuk verifikasi. Setelah set rule dipilih, kemudian set rule beserta jawabannya tampil pada detil rule. Setelah menekan tombol ok, sistem menampilkan set rule dan jawabannya yang ada pada detil rule untuk ditampilkan pada listbox. User harus memilih kesimpulan dari rule yang akan digenerate dan diverifikasi. Setelah kesimpulan dipilih, sistem akan melakukan generate rule dan hasil generate harus diverifikasi terlebih dahulu untuk menghindari terjadinya kesalahan pada rule. Desain form verifikasi rule dapat dilihat pada gambar 3.15.
Verifikasi Rule
Gambar 3.15 Desain Form Verifikasi Rule
Tabel 3.21 Fungsi Obyek Desain Form Verifikasi Rule No Nama Obyek Tipe Obyek Fungsi
1 Set rule combobox Digunakan untuk memilih
set rule 2 Parameter combobox
Digunakan untuk memilih parameter dari set rule yang telah dipilih
3 Jawaban combobox
Digunakan untuk memilih jawaban dari parameter yang telah dipilih
4 Nama set combobox Digunakan untuk memilih
nama set 5 Value set combobox
Digunakan untuk memilh
value dari nama set yang
dipilih 6 Listbox
kesimpulan Listbox
Sebagai tempat untuk menampilkan set rule yang dipilih beserta jawabannya 7 Kesimpulan combobox Digunakan untuk memilih
kesimpulan set rule
8 Ok Button
Digunakan untuk
menampilkan set rule yang dipilih beserta jawabannya pada listbox
9 Generate Rule Button
Digunakan untuk
menampilkan/melakukan
generate rule pada listview
10 Batal Button 12 Verifikasi Button
Digunakan untuk
14 Keluar Button Digunakan untuk keluar
3.5.8 Desain Form Konsultasi
Desain form konsultasi berisi pertanyaan-pertanyaan yang diajukan kepada user. Pilihan jawaban yang ditampilkan sistem merupakan jawaban yang ada dalam database. Desain form konsultasi dapat dilihat pada gambar 3.16.
Form Konsultasi
Gambar 3.16 Desain Form Konsultasi
Fungsi-fungsi obyek dalam desain form konsultasi dapat dilihat pada tabel 3.22. Tabel 3.22 Fungsi Obyek Desain Form Konsultasi
No Nama Obyek Tipe
Obyek Fungsi
1 Id konsultasi Label Digunakan untuk menampilkan id
konsultasi
2 Kode pengguna Label Digunakan untuk menampilkan kode
pengguna
3 Nama Label Digunakan untuk menampilkan nama
pengguna
4 Usia Label Digunakan untuk menampilkan usia
pengguna
7 Pertanyaan Label Sebagai tempat menampung data
8 Jawaban radiobutton Sebagai tempat menampung data
jawaban dari database
9 Lanjut Button Digunakan untuk menuju pertanyaan
dan jawaban selanjutnya
10 Keluar Button Digunakan untuk keluar dari form 11 Lihat Hasil
konsultasi Button
Digunakan untuk ke form hasil konsultasi pengguna
3.5.9 Desain Form Hasil Konsultasi Pengguna
Desain form hasil konsultasi digunakan untuk menampilkan data hasil konsultasi pengguna. Form ini berisi jawaban-jawaban hasil konsultasi, kesimpulan beserta saran pengobatannya. Desain form hasil konsultasi dapat dilihat pada gambar 3.17.
Hasil Konsultasi
Gambar 3.17 Desain Form Hasil Konsultasi
Tabel 3.23 Fungsi Obyek Desain Form Hasil Konsultasi No Nama Obyek Tipe
Obyek Fungsi
1 Id Konsultasi Label Digunakan untuk menampilkan id
konsultasi
2 Nama pengguna Label Digunakan untuk menampilkan nama
pengguna
3 Kode pengguna Label Digunakan untuk menginputkan kode
pengguna
4 Jawaban Listbox
Digunakan untuk menampilkan jawaban-jawaban hasil konsultasi pengguna
5 Kesimpulan Listbox
Digunakan untuk menampilkan kesimpulan dari fakta-fakta yang diberikan user
6 Saran pengobatan Listbox Digunakan untuk menampilkan saran
pengobatan
7 Simpan Button Digunakan untuk menyimpan hasil
konsultasi
8 Keluar Button Digunakan untuk keluar dari form
3.5.10 Desain Form Laporan History Konsultasi Pengguna
Desain form laporan history konsultasi pengguna digunakan untuk menampilkan data history konsultasi pengguna yang tersimpan di database dalam bentuk crystal report. Gambar desain form laporan history konsultasi pengguna dapat dilihat pada gambar 3.18.
Laporan History Konsultasi Pengguna
Crystal Report History Pengguna
Keluar
Fungsi-fungsi obyek dalam desain form laporan history konsultasi pengguna dapat dilihat pada tabel 3.24.
Tabel 3.24 Fungsi Obyek Desain Form Laporan History Konsultasi Pengguna
No Nama Obyek Tipe Obyek Fungsi
1 Crystal report history pengguna
crystal report Digunakan untuk menampilkan data history konsultasi pengguna pada crytal report
2 Keluar Button Digunakan untuk keluar dari form
3.5.11 Desain Form Laporan Pertanyaan
Desain form laporan pertanyaan digunakan untuk menampilkan data pertanyaan yang tersimpan di database. Desain form laporan pertanyaan dapat dilihat pada gambar 3.19.
Laporan Data Pertanyaan
Crystal Report Data Pertanyaan
Keluar
Gambar 3.19 Desain Form Laporan Pertanyaan
Tabel 3.25 Fungsi Obyek Desain Form Laporan Pertanyaan
No Nama Obyek Tipe Obyek Fungsi
1 Crystal report pertanyaan
crystal report Digunakan untuk menampilkan data pertanyaan pada crystal report 2 Keluar Button Digunakan untuk keluar dari form
3.5.12 Desain Form Laporan Rule
Desain form laporan rule digunakan untuk menampilkan data rule yang tersimpan di database. Desain form laporan rule dapat dilihat pada gambar 3.20.
Laporan Data Rule
Crystal Report Data Rule
Keluar
Gambar 3.20 Desain Form Laporan Rule
Fungsi-fungsi obyek dalam desain form laporan rule dapat dilihat pada tabel 3.26. Tabel 3.26 Fungsi Obyek Desain Form Laporan rule
No Nama Obyek Tipe Obyek Fungsi
1 Crystal report rule
crystal report Digunakan untuk menampilkan data
rule pada crystal report
69 4.1 Implementasi Sistem
Implementasi program adalah implementasi dari analisa dan desain sistem yang telah dibuat sebelumnya. Tahap ini merupakan pembuatan perangkat lunak yang disesuaikan dengan rancangan atau desain sistem yang telah dibuat. Sebelumnya pengguna harus mempersiapkan kebutuhan-kebutuhan dari program yang akan diimplementasikan baik dari segi perangkat keras maupun perangkat lunak komputer.
4.1.1 Kebutuhan Perangkat Keras
Kebutuhan minimum perangkat keras yang diperlukan untuk menjalankan aplikasi ini adalah:
a. Processor Intel Celeron, Pentium IV, atau di atasnya.
b. Memory 256 Mb atau lebih.
c. Space Harddisk 1 Gb atau lebih
d. Monitor dengan resolusi minimal 1024 x 768. e. Mouse.
f. Keyboard.
g. Cd-rom drive
h. Printer (Optional).
4.1.2 Kebutuhan Perangkat Lunak