3.5 Algoritma Sistem Pakar untuk mendiagnosis penyakit Atherosklerosis
Berikut ini rincian langkah-langkah Algoritma
1. Mulai 2. Ambil semua gejala yang menentukan aturan nama penyakit.
Bentuk dari query untuk melakukan pencarian gejala adalah Select D., G.’+ From DETAIL_RULEPENYAKIT D,
GEJALA G ‘+ ‘Where D.IDGEJALA = G.IDGEJALA and IDGEJALA=:y’;
3. Tanyakan semua gejala penyakit kepada pengguna. 4. Jika gejala habis maka lanjut ke langkah 6, jika tidak kembali ke langkah 2.
5. Simpan jawaban CF pengguna ke dalam tabel cek gejala. 6. Cari nilai minimum dari sekumpulan CF pengguna dalam tabel cek gejala yang
memiliki IDRule yang sama. Bentuk query pencarian :
select minCFPengguna as CFUser from CekGejala where IDRule=:ID; Select min CFPengguna as CFUser from CekGejala
where IDRule=:ID’; 7. Cari nilai CFFinal dari tiap-tiap aturan nama penyakit.
Bentuk rumus pencariannya : CFFinal = CFUser CF Pakar.
8. Tampilakan kesimpulan penyakit 9. Selesai.
Algoritma sistem pakar untuk mendiagnosis penyakit Atherosklerosis dengan metode Certainty Factor dapat digambarkan dalam bentuk flowchart dapat dilihat
seperti gambar berikut:
Universitas Sumatera Utara
Tidak
Ya
Gambar 3.4 Algoritma Sistem pakar untuk mendiagnosis penyakit atherosklerosis
mulai
Tanyakan Gejala Kepada Pengguna
Masukkan CF pengguna ke dalam tabel cekGejala
Inc No Gejala
Gejala habis ?
Cari CFMinimum dari sekumpulan CFPengguna dengan IDRule yang
Sama
Cari CFFinal dari tiap-tiap nama penyakit
Tampilkan penyakit
selesai
Universitas Sumatera Utara
3.6 Perancangan Basis Data
Struktur pangkalan data yang digunakan adalah struktur pangkalan data relasional.
3.6.1 Struktur Tabel
Adapun struktur data dari tabel-tabel relasional tersebut adalah sebagai berikut : 1. Tabel Pengguna
Tabel pengguna ini berfungsi untuk menyimpan data pengguna system.
Tabel 3.2 Tabel Pengguna
2. Tabel GejalaPenyakit
Tabel Gejala ini berfungsi untuk menyimpan data-data gejala.
Tabel 3.3 Tabel Gejala
3. Tabel Penyakit
Tabel penyakit berfungsi untuk menyimpan data penyakit yang akan di diagnosis. Nama Field
Tipe Data Keterangan
IDPengguna Integer
Auto Increment Nama
Varchar 30 Password
Varchar 10
Akses Varchar 20
Admin Pakar
Paramedis
Nama Field Tipe Data
Keterangan IDGejala
Integer Auto Increment
Nama Gejala Varchar 50
Universitas Sumatera Utara
Tabel 3.4 Tabel Penyakit
4. Tabel RulePenyakit Tabel Rule Penyakit berfungsi utnuk menyimpan aturan diagnosis penyakit.
Tabel 3.5 Tabel Rule Penyakit
5. Tabel detail_rule penyakit Tabel detail_rulepenyakit ini berfungsi untuk menyimpan aturan yangtelah
dimasukkan pada saat akuisisi pengetahuan.
Tabel 3.6 Tabel Detail_Rule Penyakit
6. Tabel Cek Gejala Tabel CekGejala ini berfungsi untuk menyimpan data jawaban gejala yang dialami
pasien berserta nilai kepercayaannya. Nama Field
Tipe Data Keterangan
IDPenyakit Integer
Auto Increment Nama Penyakit
Varchar 30
Nama Field Tipe Data
Keterangan IDRule
Integer Auto Increment
CFPakar Float
Nama Field Tipe Data
Keterangan IDRule
Integer Auto Increment
Op_Rule Integer
0 : JIKA 1 : DAN
IDGejala Integer
Universitas Sumatera Utara
Tabel 3.7 Tabel Cek Gejala
7. Tabel Cek Penyakit
Tabel CekPenyakit ini berfungsi untuk menyimpan data kemungkinan penyakit yang diderita pasien beserta prosentase kepercayaan terhadap penyakit tersebut.
Tabel 3.8 Tabel Cek Penyakit
8. Tabel Pasien Tabel pasien berfungsi untuk menyimpan data pasien.
Tabel 3.10 Tabel Pasien
Nama Field Tipe Data
Keterangan IDRule
Integer Auto Increment
IDGejala Integer
CFPengguna Float
Nama Field Tipe Data
Keterangan IDPenyakit
Integer Auto Incerement
NamaPenyakit Varchar 40
CFFinal Integer
Nama Field Tipe Data
Keterangan IDPasien
Integer Auto Increment
NamaPasien Varchar30
Alamat Varchar80
Universitas Sumatera Utara
3.6.2 Relasi Antar Tabel
Gambar 3.5 Relasi Antar Table
ID Gejala PK Nama Gejala
Gejala Penyakit
ID penyakit PK Nama Penyakit
Cek Penyakit Detail_RulePenyakit
Cek gejala Rule Penyakit
Pengguna
ID Pasien PK Nama Pasien
Alamat ID Rule
OP_Rule ID Gejala
IDPenyakitPK NamaPenyakit
CFFinal ID Rule
ID Gejala CFPengguna
ID Rule PK CF Pakar
ID Pengguna PK Username
Sandi Akses
Pasien
Universitas Sumatera Utara
3.6.3 Perancangan DFD
Hubungan konseptual antar pengguna eksternal dengan sistem dapat digambarkan secara rinci dalam diagram konteks pada Gambar 3.5
Gambar 3.6 Diagram Konteks
Penjelasan proses diagram konteks DFD sistem pakar untuk mendiagnosis penyakit Atherosklerosis adalah sebagai berikut:
a. Proses Nama Proses
:
Sist em pakar unt uk mendiagnosis penyakit at herosklerosis
Keterangan : Proses diagnosis penyakit berdasarkan gejala yag dialami pasien.
b. Arus Data Masukan
: - Data hak akses - Data gejala
- Data penyakit - Nilai Certainty Factor
- Pertanyaan konsultasi - Data pasien
Universitas Sumatera Utara
- Jawaban Keluaran
: - Data hak akses - Data gejala
- Data penyakit - Pertanyaan konsultasi
- Nilai Certainty Factor - Hasil diagnosis Diagnosa
c. Entitas Luar Nama Entitas : - Admin
Keterangan : Merupakan bagian yang mengontrol dan memperbaiki sistem
Masukan : - Data hak akses
- Data gejala - Data penyakit
- Pertanyaan konsultasi - Nilai Certainty Factor
Keluaran : - Data hak akses
- Data gejala - Data penyakit
- Nilai Certainty Factor - Pertanyaan konsultasi
Nama Entitas : Pengguna Keterangan
: Paramedis yang akan melakukan proses diagnosis penyakit pasien Masukan
: - Data penyakit - Pertanyaan konsultasi
Universitas Sumatera Utara
- Hasil diagnosis Keluaran
: - Data pasien - Jawaban
- Data gejala
Proses yang ada pada diagram konteks dapat dipecah lagi menjadi proses-proses yang lebih kecil dan lengkap dalam DFD level 0. Diagram untuk DFD level 0 dapat dilihat
pada Gambar 3.6 di bawah ini.
Universitas Sumatera Utara
Gambar 3.7 DFD level 0
Penjelasan proses DFD level nol sistem pakar untuk mendiagnosis penyakit
Atherosklerosis adalah sebagai berikut:
a. Proses 1P Nama Proses
: Otentifikasi Pengguna Masukan
: - Data username , password san akses Keluaran
: - Data username, password dan akses Keterangan
: Proses untuk mengecek kebenaran username, password dan akses administrator yang masuk
b. Proses 2P Nama Proses
: Proses data gejala Masukan
: - Data gejala Keluaran
: - Data gejala Keterangan
: Mengolah data gejala penyakit, seperti add, delete, dan edit data gejala penyakit
c. Proses 3P Nama Proses
: Proses data penyakit Masukan
: - Data penyakit Keluaran
: - Data penyakit Keterangan
: Mengolah data penyakit, seperti add, delete, dan edit data penyakit .
d. Proses 4P Nama Proses
: Proses Rule Penyakit Masukan
: - Nilai CF Keluaran
: - Nilai CF
Universitas Sumatera Utara
Keterangan : Mengolah rule diagnosis penyakit, seperti add, delete, dan
edit Rule e. Proses 5P
Nama Proses : Proses pertanyaan konsultasi
Masukan : - Pertanyaan konsultasi
Keluaran : - Pertanyaan konsultasi
Keterangan : Mengolah pertanyaan konsultasi, seperti add, delete, dan
edit data f. Proses 6P
Nama Proses : Show data penyakit
Masukan : - Data penyakit
Keluaran : - Data penyakit
Keterangan : Menampilkan data tentang penyakit .
g. Proses 7P Nama Proses
:Proses penentuan kemungkinan penyakit beserta nilai kepercayaanya berdasarkan gejala yang dialami
Masukan : - Data gejala
- Jawaban - Data pasien
- Hasil diagnosis - Nilai CF
Keluaran : - Data pasien
- Jawaban - Data gejala
Universitas Sumatera Utara
- Nilai CF - Pertanyaan konsultasi
- Hasil diagnosis
Keterangan : Mengolah hasil diagnosis penyakit setelah dilakukan proses
perhitungan keseluruhan nilai gejala dan didapat CF final.
Proses yang ada pada diagram level 0 DFD dapat dipecah lagi menjadi proses- proses yang lebih jelas ke dalam diagram level 1 DFD. Diagram untuk DFD level 1
dapat dilihat pada Gambar 3.7 di bawah ini:
Universitas Sumatera Utara
Gambar 3.8 DFD level 1
Penjelasan proses diagram level 1 DFD sistem pakar untuk mendiagnosis penyakit Atherosklerosis adalah sebagai berikut:
a. Proses 7.1P Nama Proses
: Proses data pasien Masukan
: - Data pasien Keluaran
: - Data pasien Keterangan
: Mengolah data pasien yang akan di diagnosa
Universitas Sumatera Utara
b. Proses 7.2P Nama Proses
: Proses data gejala dengan metode forward chaining Masukan
: - Data gejala Keluaran
: - Data gejala Keterangan
: Mengolah data yang diinputkan pasien dengan metode forward chaining
c. Proses 7.3P Nama Proses
: Aturan diagnosis dengan nilai CF Masukan
: - Jawaban - Nilai CF
- Pertanyaan konsultasi Keluaran
: - Pertanyaan konsultasi - Nilai CF
Keterangan : Proses pengolahan data gejala yang ditampilkan pada pertanyaan
konsultasi beserta nilai kepercayaannya. d. Proses 8.4P
Nama Proses : Kesimpulan hasil diagnosis penyakit pasien
Masukan : - Nilai CF
- Hasil diagnosis Keluaran
: - Hasil diagnosis beserta nilai CF Keterangan
: Laporan kemungkinan penyakit yang diderita oleh pasien berdasarkan gejala yang diinputkan.
3.6.4 Kamus Data
Kamus data dipersiapkan untuk menjelaskan data yang dipakai untuk fase implementasi.
Universitas Sumatera Utara
No Field
Type Default
Keterangan
1. Id Pengguna int6
- Id Pengguna
2. Username
varchar30 -
Nama dari pengguna
3. Sandi
Varchar10 -
Kata sandi untuk login ke sistem
4. Akses
Varchar20 -
Akses dari pengguna yang masuk meliputi admin, pakar, paramedis
Tabel 3.10 Kamus data pengguna No
Field Type
Default Comments
1. Id gejala
int6 -
Kode untuk menentukan gejala
2. nama_gejala
varchar50 -
Nama gejala penyakit
Table 3.11 Kamus data Gejala
No Field
Type Default
Comments 1.
Id Penyakit int 6
- Kode untuk penyakit
2. Nama_penyakit varchar30
- Nama penyakit
Tabel 3.12 Kamus Data Penyakit
No Field
Type Default
Comments 1.
Id Rule int 6
- Kode untuk aturan penyakit
3. CF Pakar
float -
Nilai Cf dari masing-masing penyakit
Tabel 3.13 Kamus data Rule Penyakit
No Field
Type Default
Comments 1.
Id Rule int 6
- Kode untuk aturan penyakit
2. Op_Rule
Int10 -
Operator logika dalam aturan diagnosis penyakit, dimana
0 : JIKA
Universitas Sumatera Utara
1: DAN 2 : ATAU
3. Id Gejala
Int6 -
Kode untuk gejala
Tabel 3.14 Kamus data detail_rule panyakit No
Field Type
Default Comments
1. Id Rule
int 6 -
Kode untuk aturan penyakit
3. Id Gejala
Int6 -
Kode untuk gejala 4.
CFPengguna float
- Nilai dari jawaban pengguna
terhadap gejala yang di tanyakan.
Tabel 3.15 Kamus data cek gejala
No Field
Type Default
Comments 1.
Id Penyakit int 6
- Kode untuk penyakit
2. Nama Penyakit
Varchar40 -
Nama penyakit
3. CFFinal
Int6 -
CF hasil perhitungan akhir yang dijadika prosentasi kepercayaan
terhadap penyakit
Tabel 3.16 Kamus data Cek Penyakit
No Field
Type Default
Comments 1.
Id Pasien int 6
- Kode untuk pasien
2. Nama Pasien
varchar30 -
Nama Pasien
3. Alamat
Varchar 80
- Alamat pasien
Tabel 3.17 Kamus data pasien
Universitas Sumatera Utara
3.7 Perancangan Struktur Program
Untuk lebih memudahkan pembuatan suatu sistem, perlu dilakukan terlebih dahulu perancangan struktur menu program dari sistem yang akan dibangun, hal ini akan
membantu kita dalam merancang bagian-bagian dari sistem yang sebenarnya dan untuk mengetahui bagian mana yang terlebih dahulu nantinya yang akan diakses
setelah program tersebut selesai. Struktur program Sistem pakar untuk
mendiagnosis penyakit atherosklerosis terlihat pada gambar berikut:
Gambar 3.9 Perancangan Struktur Program
3.8 Perancangan Antar Muka