Algoritma Sistem Pakar untuk mendiagnosis penyakit Atherosklerosis Perancangan Struktur Program

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