19
BAB III PERANCANGAN
3.1 Metodologi Dan Prosedur Pengembangan Sistem
Aplikasi sistem pakar deteksi katarak menggunakan basis pengetahuan kaidah produksi dan pengambilan keputusan dengan deductive reasoning yang
terdiri dari modus ponen dan silogisme konjungtif. Aplikasi dibuat untuk membantu masyarakat dan dokter untuk mendeteksi penyakit katarak sedini
mungkin. Untuk pengumpulan data berupa gejala dan nama jenis katarak untuk menunjang pembuatan aplikasi ada beberapa tahapan yang harus dilakukan.
Pertama adalah mencari informasi tentang katarak, gejala dan nama-nama jenis katarak. Kedua, melakukan wawancara ke dokter spesialis mata yang berkaitan
dengan penyakit katarak. Setelah pengumpulan data dilakukan masuk dalam perancangan pembuatan aplikasi deteksi katarak. Kemudian dilanjutkan dengan
implementasi pembuatan aplikasi sistem katarak berdasarkan informasi yang telah dimiliki. Pengujian dalam penelitian ini adalah dengan menyebarkan kuisioner
untuk dokter mata dan masyarakat. Pengujian dilakukan untuk mengetahui aplikasi ini dapat mendeteksi katarak dengan kaidah produksi.
3.2 Deskripsi Sistem
Gambaran sistem yang dibuat adalah sistem akan menampilkan pertanyaan- pertanyaan yang berkaitan dengan gejala, misalnya gejala perubahan kefokusan
cahaya, penglihan berkabut, noda pada manik mata dan kemampuan melihat berkurang yang akan mengakibatkan jenis katarak nuclear. Gejala-gejala tersebut
akan diisi oleh user berdasarkan yang dirasakan. Sistem akan mengolah pertanyaan yang telah dijawab dengan menggunakana kaidah produksi dan
deductive reason. Output yang akan ditampilkan berupa jenis katarak yang di derita user dan merupakan informasi yang diadopsi dari pengetahuan dokter.
Gambar 3.2.1 Diagram Block
3.3 Use Case Diagram
3.3.1 Use case
Use case akan menampilkan aktor yang akan menggunakan use case.
admin login
tambah data gejala hapus data gejala
edit data gejala
logout user
input data gejala tambah data katarak
hapus data katarak edit data katarak
lihat hasil diagnosa
input data relasi
Gambar 3.3.1 Use Case
Tabel 3.3.1 Deskripsi Aktor No
Aktor Deskripsi
1 AdminDokter
Aktor ini memiliki wewenang untuk login ke dalam sistem; menambah, menghapus, mengedit data;
menginputkan data dan melihat hasil diagnosa. 2
Userpasien Aktor ini memiliki wewenang menginputkan data
masyarakat dan melihat hasil diagnosa.
3.3.2 Skenario Use case
Tabel 3.3.2 Skenario Login
Case : Login
Aktor : Admin
Kondisi Awal :
Kondisi Akhir : Berhasil login
Aksi Aktor Reaksi Sistem
1. Aktor mengisi username dan
password yang sudah ada. 2.
Aktor klik tombol “login”. 3.
Sistem mengecek ada atau tidaknya username dan password.
4. Sistem menampilkan halaman
beranda admin.
Tabel 3.3.3 Skenario Tambah Data
Case : Menambah Data
Aktor : Admin
Kondisi Awal : Aktor sudah login
Kondisi Akhir : Data katarak berhasil disimpan
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu update
katarak. 2.
Sistem menampilkan halaman masukan data gejala.
3. Aktor klik data gejala pada tabel.
4. Aktor memilih tombol selanjutnya.
5. Sistem menampilkan halaman
masukan data katarak. 6.
Aktor memilih tombol simpan. 7.
Sistem menampilkan pesan “data
berhasil disimpan ”.
Tabel 3.3.4 Skenario Edit Data
Case : Mengedit Data
Aktor : Admin
Kondisi Awal : Aktor sudah login
Kondisi Akhir : Data berhasil diedit
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu update katarak.
2. Sistem menampilkan halaman
masukan data gejala. 3.
Aktor klik data gejala pada tabel yang ingin diedit.
4. Sistem menampilkan data gejala
pada JtextField. 5.
Aktor mengubah data gejala 6.
Aktor klik tombol ubah. 7.
Sistem menampilka. n pesan “data
berhasil diubah” 8.
Aktor klik tombol selanjutnya. 9.
Sistem menampilkan halaman masukan data katarak.
10. Aktor klik data katarak pada tabel
yang ingin diedit. 11.
Sistem menampilkan data katarak
pada JtextField. 12.
Aktor mengubah data gejala. 13.
Aktor klik tombol ubah. 14.
Sistem menampilkan pesan “data
berhasil diubah”.
Tabel 3.3.5 Skenario Menghapus Data
Case : Menghapus Data
Aktor : Admin
Kondisi Awal : Aktor sudah login
Kondisi Akhir : Data berhasil dihapus
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu update katarak.
2. Sistem menampilkan halaman
masukan data gejala. 3.
Aktor klik data gejala pada tabel yang ingin dihapus.
4. Sistem menampilkan data gejala
pada JtextField. 5.
Aktor klik tombol hapus. 6.
Sistem menampilkan pesan “data berhasil dihapus”.
7. Aktor klik tombol selanjutnya.
8. Sistem menampilkan halaman
masukan data katarak. 9.
Aktor klik data katarak pada tabel yang ingin di hapus.
10. Sistem menampilkan data
katarak pada JtextField. 11.
Aktor klik tombol hapus. 12.
Sistem menampilkan pesan
“data berhasil diubah”.
Tabel 3.3.6 Skenario Input Data
Case : Menginputkan data
Aktor : Admin, User
Kondisi Awal : login,
Kondisi Akhir : Muncul hasil diagnosa
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu deteksi
katarak. 2.
Sistem menampilkan halaman deteksi katarak.
3. Aktor klik data gejala yang
dirasakan pada tabel 1. 4.
Sistem menampilkan data yang dipilih pada tabel 2.
5. Aktor klik tombol deteksi.
6. Sistem menampilkan data yang
telah dipilih, nama jenis katarak dan presentase.
7. Aktor klik tombol print.
8. Sistem menampilkan output dalam
bentuk PDF.
3.4 Diagram Kelas
+Halaman Utama -adminActionPerformed : void
-pengunjungActionPerformed : void
Halaman Utama
+login -masukActionPerformed : void
Login
+Beranda -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
Beranda User
Gambar 3.4.1Diagram Kelas1
27
+berandaUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
Beranda User
+bantuanUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
Bantuan User
+infoUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
info User
+deteksiKatarak -berandaActionPerformed : void
-deteksiActionPerformed : void -infoActionPerformed : void
-bantuActionPerformed : void -deteksiOKActionPerformed : void
-tabel1MouseClicked : void -teoremaBayes : double
-tabel2MouseClicked : void +modusPonenin ArrayListString : string
-lihatKategori : void -lihatKategoriTemporeri : void
+ktk : ArrayListkatarak +kode : ArrayListString
-kk : string
Deteksi Katarak
+modelGejala +deleteKategori : void
+updateKategori : void +addKategori : void
+getRowCount : int +getColumnCount : int
+getValueAt : object +getColumnName : string
+isCellEditable : Boolean +getColumnClass
-dk : Update Gejala
Model Gejala
+modelKatarak +deleteKategori : void
+updateKategori : void +addKategori : void
+getRowCount : int +getColumnCount : int
+getValueAt : object +getColumnName : string
+isCellEditable : bool +getColumnClass
-dk : ArrayListkatarak
Model Katarak
+updateGejala +loadData : void
+isiTabel : void +isiText : void
+kosongkanText : void +statusAwal : void
-updateActionPerformed : void -berandaActionPerformed : void
-deteksiActionPerformed : void -infoActionPerformed : void
-keluarActionPerformed : void -bantuanActionPerformed : void
-tambahActionPerformed : void -hapusActionPerformed : void
-ubahActionPerformed : void -lanjutActionPeerformed : void
-tabel1MouseClicked : void -lihatKategori : void
-lihatKategoriTemporeri : void -row : int
-ak : ArrayListkatarak -kode : ArrayListSring
Update Gejala
+katarak +katarakin : string, in : string
+getGejala : string +setGejala : void
+getKodeGejala : string +setKodeGejala : void
+getPg : double +setPg : string
+getPng : double +setPng : string
+getStatus : string +setStatus : void
+getJenisKatarak : string +setJenisKatarak : void
+getKodeJenisKatarak : string +setKodeJenisKatarak : void
+gejala : string +kodegejala : string
-pg : double -png : double
-jeniskatarak : string -kodejeniskatarak : string
-status : string
katarak
+updateKatarak +loadData : void
+isiTabel : void +isiText : void
+kosongkanText : void +statusAwal : void
-updateActionPerformed : void -berandaActionPerformed : void
-deteksiActionPerformed : void -infoActionPerformed : void
-keluarActionPerformed : void -bantuanActionPerformed : void
-tambahActionPerformed : void -hapusActionPerformed : void
-ubahActionPerformed : void -lanjutActionPeerformed : void
-tabel1MouseClicked : void -lihatKategori : void
-lihatKategoriTemporeri : void -updateKatarakin ArrayListString
+updateKatarakin : string -row : int
-ak : ArrayListkatarak -kode : ArrayListSring
-dataKodeGejala : ArrayListString
Update Katarak
+modelMemiliki +deleteKategori : void
+updateKategori : void +addKategori : void
+getRowCount : int +getColumnCount : int
+getValueAt : object +getColumnName : string
+isCellEditable : bool +getColumnClass
-dk : Arraylistkatarak
Model Memiliki
Gambar 3.4.2 Diagram Kelas2
+berandaUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
Beranda User
+bantuanUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
Bantuan User
+infoUser -infoActionPerformed : void
-bantuanActionPerformed : void -deteksiActionPerformed : void
-berandaActionPerformed
info User
+deteksiKatarak -berandaActionPerformed : void
-deteksiActionPerformed : void -infoActionPerformed : void
-bantuActionPerformed : void -deteksiOKActionPerformed : void
-tabel1MouseClicked : void -teoremaBayes : double
-tabel2MouseClicked : void +modusPonenin ArrayListString : string
-lihatKategori : void -lihatKategoriTemporeri : void
+ktk : ArrayListkatarak +kode : ArrayListString
-kk : string
Deteksi Katarak
+modelGejala +deleteKategori : void
+updateKategori : void +addKategori : void
+getRowCount : int +getColumnCount : int
+getValueAt : object +getColumnName : string
+isCellEditable : Boolean +getColumnClass
-dk : ArrayListkatarak
Model Gejala
+modelKatarak +deleteKategori : void
+updateKategori : void +addKategori : void
+getRowCount : int +getColumnCount : int
+getValueAt : object +getColumnName : string
+isCellEditable : bool +getColumnClass
-dk : ArrayListkatarak
Model Katarak
Gambar 3.4.3 Diagram Kelas3 3.5
Diagram Aktivitas 3.5.1
Login
Aktor mengisi username dan password yang sudah ada.
Aktor
Aktor klik tombol login Sistem mengecek ada atau tidaknya username dan password.
Sistem menampilkan halaman beranda admin.
Sistem
Gambar 3.5.1 Diagram Aktifitas Login
3.5.2 Tambah Data
Aktor memilih menu update katarak.
Aktor
Aktor klik data gejala pada tabel. Sistem mengecek ada atau tidaknya username dan password.
Sistem menampilkan pesan “data berhasil disimpan”.
Sistem
Sistem menampilkan halaman masukan data gejala.
Aktor memilih tombol selanjutnya. Sistem menampilkan halaman masukan data katarak.
Aktor memilih tombol tambah.
Gambar 3.5.2 Diagram Aktifitas Tambah Data
3.5.3 Ubah data
Aktor memilih menu update katarak.
Aktor
Aktor klik data gejala pada tabel yang ingin diedit. Sistem menampilkan data gejala pada JtextField.
Sistem menampilka. n pesan “data berhasil diubah”
Sistem menampilkan halaman masukan data gejala.
Aktor mengubah data gejala
Aktor klik tombol ubah.
Aktor klik tombol selanjutnya. Sistem menampilkan halaman masukan data katarak.
Aktor klik data katarak pada tabel yang ingin diedit. Sistem menampilkan halaman masukan data katarak.
Aktor mengubah data gejala.
Aktor klik tombol ubah. Sistem menampilkan halaman masukan data katarak.
Sistem
Gambar 3.5.3 diagram Aktifitas Ubah Data
3.5.4 Hapus Data
Aktor memilih menu update katarak.
Aktor
Aktor klik data gejala pada tabel yang ingin dihapus. Sistem menampilkan data gejala pada JtextField.
Sistem menampilkan halaman masukan data katarak. Sistem menampilkan halaman masukan data gejala.
Aktor klik tombol hapus. Sistem menampilkan pesan “data berhasil dihapus”.
Aktor klik button selanjutnya.
Aktor klik data katarak pada tabel yang ingin di hapus. Sistem menampilkan data katarak pada JtextField.
Aktor klik tombol hapus. Sistem menampilkan pesan “data berhasil diubah”.
Sistem
Gambar 3.5.4 Diagram Aktifitas Hapus Data
3.5.5 Deteksi Katarak
Aktor memilih menu deteksi katarak.
Aktor
Aktor klik data gejala yang dirasakan pada tabel 1. Sistem menampilkan data yang dipilih pada tabel 2.
Sistem menampilkan output dalam bentuk PDF. Sistem menampilkan halaman deteksi katarak.
Aktor klik tombol deteksi. Sistem menampilkan data yang telah dipilih, nama jenis katarak dan presentase.
Aktor klik tombol print.
Sistem
Gambar 3.5.5 Diagram Aktifitas Deteksi Katarak 3.6
Diagram Sequence 3.6.1
Tambah Gejala
Gambar 3.6.1 Diagram Sequence Tambah Gejala
3.6.2 Tambah Katarak
Gambar 3.6.2 Diagram Sequence Tambah Katarak 3.6.3
Edit Gejala
Gambar 3.6.3 Diagram Sequence Edit Gejala
3.6.4 Edit Katarak
Gambar 3.6.4 Diagram Sequence Edit Katarak 3.6.5
Hapus Gejala
Gambar 3.6.5 Diagram Sequence Hapus Gejala 3.6.6
Hapus Katarak
Gambar 3.6.6 Diagram Sequence Hapus Katarak
3.6.7 Deteksi Katarak
Gambar 3.6.7 Diagram Sequence Deteksi Katarak 3.7
Perancangan Basis Data 3.7.1
Conceptual Design
Gambar 3.7.1 Entity Relationship Diagram
Gambar 3.7.2 Reational Tabel Model
Pada gambar 3.6.1 jenis katarak bisa memiliki banyak gejala dan gejala bisa memiliki atau terjadi di berbagai jenis katarak. Sehingga dibuat tabel baru yaitu
memiliki yang berisi primary key dari tabel jenis katarak dan gejala.
3.7.2 Physical Database Design
Physical database design merupakan ini merupakan gambaran implementasi database yang digunakan dalam sistem. Tabel-tabel physical database design
adalah sebagai berikut: 1.
Tabel Gejala Tabel dibawah ini berisi atribut data gejala yang diinputkan ke dalam sistem.
Tabel 3.7.1 Tabel Gejala Nama Field
Tipe Keterangan
KODE_GEJALA varchar220
PK untuk tabel gejala NAMA_GEJALA
varchar21000 Field untuk nama gejala
STATUS varchar220
Field untuk status gejala
2. Tabel Katarak
Tabel untuk menyimpan data-data penyakit katarak dalam data base.
Tabel 3.7.2 Tabel Katarak Nama Field
Tipe Keterangan
KODE_KATARAK varchar220
PK untuk tabel katarak NAMA_KATARAK
varchar21000 Field untuk nama katarak
3. Tabel Memiliki
Tabel memiliki berisi primary key dari tabel katarak dan tabel gejala. Tabel ini berfungsi untuk menyimpan gejala-gejala yang dimiliki setiap jenis katarak.
Tabel 3.7.3 Tabel Memiliki Nama Field
Tipe Keterangan
KODE_KATARAK varchar220
Field untuk kode katarak KODE_ GEJALA
varchar21000 Field untuk kode gejala
4. Tabel Temporeri
Tabel temporeri merupakan tabel bantuan saat memilih gejala dalam menu deteksi katarak.
Tabel 3.7.4 Tabel Temporeri Nama Field
Tipe Keterangan
KODE_GEJALA varchar220
Field untuk tabel gejala NAMA_GEJALA
varchar21000 Field untuk nama gejala
3.8 Kaidah Produksi
Dari jenis katarak dan gejala yang telah diketahui maka dapat di buat tabel sebagai berikut :
Tabel 3.8.1 Tabel Hubungan Gejala dan Jenis Katarak
NuclearP1 corticalP2
subcorticalP3 komplikataP4
senilP5 Perubahan kefokusan cahaya G1
Penglihatan menjadi kuning G2
Noda pada lapisan mata G3
Kemampuan melihat berkurang G4
Mata silau G5
Kemampuan menangkap
cahaya berkurang G6
Lensa mata keruh keseluruhan G7
Mata mengalami gangguan kejernihan lensa G8
Kelainan sistemik di kedua mata G9
Kelainan local di satu mata 10
Usia 50 tahun 11
Penggunaan aturan-aturan kaidah produksi dalam sistem pakar deteksi katarak adalah sebagai berikut :
Tabel 3.8.2 Aturan Hubungan Antara Gejala dan Jenis Katarak NO.
ATURAN R1
IF perubahan kefokusan cahaya AND penglihatan menjadi kuning
AND noda pada lapisan mata AND kemampuan melihat berkurang
THEN katarak nuclear.
R2 IF noda pada lapisan mata
AND mata silau AND kemampuan menangkap cahaya berkurang
THEN cortical.
R3 IF noda pada lapisan mata
AND kemampuan melihat berkurang AND kemampuan menangkap cahaya berkurang
THEN subcortical.
R4 IF gangguan kejernihan lensa
AND kelainan sisternik kedua mata AND kelainan local satu mata
THEN komplikata.
R5 IF lensa keruh keseluruhan
AND usia diatas 50 tahun THEN senil.
R6 IF lensa mata keruh
AND gangguan kejernihan mata THEN bebas katarak
3.9 Pengambilan Keputusan