Sebagai langkah awal dari proses analisis kebutuhan ini, akan diuraikan kembali tujuan dari tugas akhir sesuai dengan bab sebelumnya, adalah merancang sistem pakar
yang dapat membantu petani jeruk dalam mendiagnosis penyakit pada jeruk dengan metode Fuzzy Inferensi.
Sesuai dengan tujuan tugas akhir di atas, maka kriteria yang nantinya menjadi spesifikasi perangkat lunak yang dibangun adalah sebagai berikut:
1. Perangkat lunak yang dapat menerapkan metode inferensi forward chaining
untuk memperoleh gejala yang diderita oleh user. 2.
Perangkat lunak yang dapat menerapkan metode fuzzy dalam penentuan kemungkinan penyakit jeruk oleh user.
Untuk memenuhi kriteria tersebut, maka dilakukan langkah-langkah seperti yang akan dijelaskan pada subbab-subbab selanjutnya.
3.2 Perancangan Sistem
Pada subbab ini akan diuraikan tentang perancangan sistem yang terdiri dari perancangan mesin inferensi, perancangan flowchart, perancangan basis data, bentuk
tabel information sistem, dan perancangan algoritma.
3.2.1 Perancangan Mesin Inferensi
Pada perancangan sistem pakar untuk mendiagnosis suatu penyakit dilakukan dengan menggunakan mesin inferensi. Pada sistem ini digunakan metode forward chaining
dimana data gejala akan diinputkan oleh user. Setelah data gejala diinputkan oleh user maka sistem akan memberi pertanyaan intensitas gejala yang terliahat pada jeruk.
Dalam menjawab setiap pertanyaan, sistem telah menyediakan pilihan jawaban yang
Universitas Sumatera Utara
akan digunakan oleh user, dimana setiap jawaban merupakan representasi dari nilai fuzzy yang telah ditentukan pada sistem.
Setiap jawaban yang diberikan oleh user akan dicari nilai
kesesuaiankesamaannya dengan nilai gejala suatu penyakit tertentu yang ada dalam knowledge-based, sehingga diperoleh nilai kesesuaian berdasarkan frekuensi dan
intensitas untuk masing-masing data gejala yang telah diinput pada penyakit tertentu.
Setelah mendapatkan nilai kesesuaiannya, kemudian dilakukan pengelompokan nilai kesesuaian untuk setiap penyakit lalu menjumlahkannya. Setelah
mendapatkan jumlah nilai kesesuaian untuk setiap penyakit, selanjutnya mencari nilai probability untuk setiap penyakit dengan cara membandingkan jumlah nilai
kesesuaian setiap penyakit dengan banyaknya gejala yang dimiliki oleh penyakit tersebut di knowledge-based.
Setelah mendapatkan
nilai probability untuk setiap penyakit, kemudian
dilakukan pengurutan secara menurun descending untuk kemungkinan penyakit yang diderita oleh user. Sehingga secara keseluruhan proses dari forward chaining
mencakup proses input gejala user, perhitungan nilai kesesuaian sampai perhitungan
nilai probability untuk setiap penyakit..
3.2.2 Perancangan Flowchart
Intensitas Input
Input Gejala
User START
Gejala dan intensitas
= list gejala
Universitas Sumatera Utara
Hitung Nilai
Kesesuaian
Jumlah Nilai
Kesesuaian
Cetak Hasil
Diagnosis Hitung
Nilai Probability
END
Gambar 3.1 Flowchart
3.2.1.1 Perhitungan Nilai Kesesuaian
Misalnya jika U adalah suatu knowledge-based gejala suatu set dari penyakit yang dinyatakan sebagai sebuah fuzzy set terhadap gejala A dan B adalah gejala yang di-
inputkan oleh user yang dinyatakan sebagai suatu fuzzy set terhadap A, dimana A={a
1
, a
2
, a
3
, ..., a
n
} sedangkan U={µ
uj
a
1
a
1
, µ
uj
a
2
a
2
, µ
uj
a
3
a
3
, µ
uj
a
4
a
4
} dan B={µ
B
a
1
a
1
, µ
B
a
2
a
2
, µ
B
a
3
a
3
, µ
B
a
4
a
4
}. Untuk mencari nilai kesesuaian antara fuzzy set U dengan B maka dicari seberapa besar
selisih antara µ
uj
a
1
yang merupakan nilai fuzzy set gejala a
1
menurut knowledge- based dengan µ
B
a
1
yang merupakan nilai fuzzy set gejala a
1
yang diinputkan oleh
Universitas Sumatera Utara
rikut: user dibagi dengan nilai µ
uj
a
1
. Jadi rumus untuk mencari nilai kesesuaian fuzzy set adalah sebagai be
d
Keterangan rumus 3.1 dan 3.2: A= Universal set dari gejala pada knowledge-based
B = Fuzzy set gejala milik user U = Fuzzy set knowledge-based gejala terhadap A dari suatu penyakit
ai = gejala yang ke-i dari set A i = 1,2,3, ..., n dimana n = banyaknya gejala yang diinputkan oleh user
j = 1,2,3, ..., m dimana m = banyaknya gejala yang ada pada knowledge-based C = Konstanta yang bernilai diantara 0C 1.
µ
Uj
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set U dari penyakit ke-j pada knowledge-based.
µ
B
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set A yang diinputkan oleh user. Max0,1-
= Hasil fungsi yang bernilai antara 0 sampai dengan 1.
Misalnya diberikan B = {0.6a
1
, 0.3a
2
, 0.3a
5
}, jika C=1 maka penyelesaian RBa
i
, Ua
i
sesuai dengan Tabel information system 2.2 pada bab 2 adalah: RBa
1
, U
3
a
1
= Max0, 1- = Max0, 0.6 = 0.6
Universitas Sumatera Utara
RBa
1
, U
4
a
1
= Max0, 1- = Max0, 1 = 1
RBa
2
, U
1
a
2
= Max0, 1- = Max0, 0.5 = 0.5
RBa
2
, U
4
a
2
= Max0, 1- = Max0, 1 = 1
RBa
5
, U
3
a
5
= Max0, 1- = Max0, 0.5 = 0.5
RBa
5
, U
4
a
5
= Max0, 1- = Max0, 0.3 = 0.3
Dari perhitungan di atas dapat dilihat nilai kesesuaian yang dihasilkan tiap gejala yang diinput user terhadap gejala yang ada pada knowledge-based untuk setiap
penyakit yang memiliki gejala tersebut. Untuk pengembangan aplikasi sistem pakar ini, perhitungan dibagi menjadi dua bagian, yaitu perhitungan nilai kesesuaian untuk
frekuensi gejala dan perhitungan nilai kesesuaian untuk intensitas gejala. Sehingga rumus 3.1 dikembangkan lagi menjadi sebagai berikut :
Keterangan rumus 3.3 dan 3.4: A= Universal set dari gejala pada knowledge-based
B = Fuzzy set gejala milik user U = Fuzzy set knowledge-based gejala terhadap A dari suatu penyakit
ai = gejala yang ke-i dari set A
Universitas Sumatera Utara
i = 1,2,3, ..., n dimana n = banyaknya gejala yang diinputkan oleh user j = 1,2,3, ..., m dimana m = banyaknya gejala yang ada pada knowledge-based
C = Konstanta yang bernilai diantara 0C 1. µ
Ujfreq
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set U dari penyakit ke-j pada knowledge-based berdasarkan frekuensi.
µ
Bfreq
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set A yang diinputkan oleh user berdasarkan frekuensi.
µ
Ujint
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set U dari penyakit ke-j pada knowledge-based berdasarkan intensitas.
µ
Bint
a
i
= Nilai keanggotaan atribut ke-i pada fuzzy set A yang diinputkan oleh user berdasarkan intensitas.
Max0,1- = Hasil fungsi yang bernilai antara 0 sampai dengan 1.
3.2.1.2 Perhitungan Nilai Fuzzy Conditional Probability
Setelah perhitungan nilai kesesuaian gejala antara gejala yang berasal dari user dengan gejala yang ada pada knowledge-based, maka selanjutnya adalah penjumlahan nilai
kesesuaian untuk setiap penyakit, selanjutnya mencari nilai fuzzy conditional probability untuk setiap penyakit dengan cara membandingkan jumlah nilai
kesesuaian setiap penyakit dengan banyaknya gejala yang dimiliki oleh penyakit tersebut di knowledge-based. Jadi rumus untuk mencari nilai fuzzy conditional
probability adalah sebagai berikut:
Keterangan rumus 3.5: = Hasil penjumlahan nilai kesesuaian gejala pada penyakit yang ke-j
Universitas Sumatera Utara
i=1,2,3, ..., k dimana k adalah banyaknya gejala yang diinputkan user = Banyaknya gejala yang diderita oleh suatu penyakit
, dimana a adalah gejala sedangkan
adalah penyakit yang ke-n. Gejala pada adalah gejala yang
tidak bernilai 0.
Misalnya dihitung nilai fuzzy conditional probability pada contoh di subbab 3.2.3.1.1:
= 0.6+0.53 = 1.13 = 0.36 = 1+1+0.33 = 2.33 = 0.76
= 0.53 = 0.16
Dari hasil perhitungan di atas maka dapat disimpulkan bahwa peluang user terkena penyakit U
3
adalah 0.36, peluang user terkena penyakit U
4
0.76, dan peluang user terkena penyakit U
1
0.16. Pada penggunaan rumus 3.5 di atas digunakan untuk menghitung satu parameter saja. Dalam aplikasi sistem pakar ini terdapat dua
parameter yang digunakan dalam menghitung nilai fuzzy conditional probability suatu penyakit, yaitu parameter frekuensi dan intensitas. Sehingga pada rumus berikut
digunakan dua parameter :
Keterangan rumus 3.6: i=1,2,3, ..., k dimana k adalah banyaknya gejala yang diinputkan user
= Banyaknya gejala yang diderita oleh suatu penyakit , dimana a adalah
gejala sedangkan adalah penyakit yang ke-n. Gejala pada
adalah gejala yang tidak bernilai 0.
C
1
dan C
2
= konstanta dengan syarat C
1
+C
2
= 1 yang menyatakan besarnya frekuensi dan intensitas gejala dalam menentukan suatu penyakit ke-j
= Nilai kesesuaian frekuensi antara gejala ke a
i
yang diinputkan user dengan gejala yang ada pada knowledge-based untuk penyakit ke-j
Universitas Sumatera Utara
= Nilai kesesuaian intensitas antara gejala ke a
i
yang diinputkan user dengan gejala yang ada pada knowledge-based untuk penyakit ke-j
Setelah diperoleh hasil perhitungan fuzzy conditional probability masing- masing penyakit, selanjutnya perlu dibuat laporan kemungkinan penyakit yang
diderita oleh user dengan menggunakan bahasa yang sering digunakan oleh manusia variable linguistic. Variable linguistic tersebut antara lain: kecil sekali, kecil, ragu,
agak besar, besar, dan hampir pasti. Rentang nilai fuzzy untuk masing-masing variable linguistic tersebut adalah sebagai berikut:
- Jika nilai_diagnosa 0.2, maka variable linguisticnya Kecil sekali.
- Jika nilai_diagnosa =0.2 dan nilai_diagnosa =0.499, maka variable
linguisticnya Kecil. -
Jika nilai_diagnosa =0.5 dan nilai_diagnosa =0.599, maka variable linguisticnya Ragu.
- Jika nilai_diagnosa =0.6 dan nilai_diagnosa =0.799, maka variable
linguisticnya Agak besar. -
Jika nilai_diagnosa =0.8 dan nilai_diagnosa =0.899, maka variable linguisticnya Besar.
- Jika nilai_diagnosa =0.90, maka variable linguisticnya Hampir pasti.
3.2.3 Perancangan Basis Data
Universitas Sumatera Utara
Dalam perancangan basis data ini terdiri dari perancangan DFD, perancangan kamus data, dan perancangan antarmuka.
3.2.3.1 Perancangan DFD
Diagram Aliran DataData Flow Diagram DFD adalah alat yang biasa dipakai untuk mendokumentasi proses dalam sistem atau sebuah teknis grafis yang menggambarkan
aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output. Gambar 3.1 menggambarkan diagram aliran data dari sistem
yang akan dibuat:
Bantuan Hasil Diagnosis
Data Diri User Gejala Penyakit
Data Penyakit Tentang Jeruk
USER Sistem
Pakar Berbasis Web
untuk Mendiagnosis Penyakit
Jeruk Dengan Menggunakan
Fuzzy Inferensi
Gambar 3. 2 Diagram Konteks Sistem
Penjelasan proses diagram konteks DFD sistem pakar untuk diagnosa penyakit jeruk dengan metode fuzzy adalah sebagai berikut:
a. Proses
Universitas Sumatera Utara
Nama proses: Sistem Pakar Berbasis Web untuk Mendiagnosis Penyakit Jeruk Dengan Menggunakan Fuzzy Inferensi
Keterangan: proses diagnosa penyakit jeruk berdasarkan gejala-gejala pada jeruk.
b. Arus Data
Masukan: - Data diri user - Gejala Penyakit
Keluaran: - Hasil diagnosis - Data penyakit
- Tentang jeruk - Bantuan
. Entitas Luar 1.
Nama Entitas: Pasien Keterangan: pengguna yang menggunakan sistem untuk mendiagnosa
penyakit jeruknya. Masukan : - Data diri user
- Gejala
penyakit Keluaran : -Hasil diagnosis
- Data
penyakit -
Tentang jeruk
- Bantuan
Proses yang ada pada diagram konteks dapat dipecah lagi menjadi proses- proses yang lebih kecil dan lengkap dalam DFD level1. Diagram untuk DFD level 1
dapat dilihat pada gambar di bawah ini.
Simpan Data
1.0 Olah
Data Pasien
USER
Universitas Sumatera Utara
i
Hasil Diagnosis Simpan data Basis Data
2.0 Olah
Hasil Input Gejala
Data Hasil Pemeriksaan
Gambar 33. DFD Level 1
Penjelasan proses diagram level nol sistem pakar fuzzy untuk diagnosa penyakit Jeruk
adalah sebagai berikut:
a. Proses 1P
Nama Proses : Olah data User Masukan
: Data diri user yang berupa nama, alamat, luas kebun, alamat kebun
Keluaran : Data diri user yang berupa nama, alamat, luass kebun, alamat
kebun Keterangan
: Proses untuk mengolah data user b.
Proses 2P Nama Proses :Olah Hasil Input Gejala
Masukan :
Hasil inputan gejala user berupa id pasien, dan gejala yang diinputkan user
Keluaran : id pasien dan gejala yang diinputkan user
Keterangan : Mengolah data yang telah diinputkan user
3.0 Metode
Fuzzy
Universitas Sumatera Utara
c. Proses 3.0
Proses : Proses Metode Fuzzy
Masukan : Data hasil pemeriksaan berupagejala yang diinputkan user
.
Keluaran : Data hasil pemeriksaan berupa hasil diagnosis.
Keterangan : Proses mengolah variabel penentu penyakit jeruk dengan metode
Fuzzy.
3.2.3.2 Perancangan Kamus Data
Kamus data dipersiapkan untuk menjelaskan data yang dipakai untuk fase implementasi
.
Tabel 3.1 Tabel Kamus Data
No Field
Tipe data
Panjang Keterangan
1 Id
Int 20
Id sebagai primary key
2 Nama
Varchar 35
Nama Pasien
3 Alamat
Varchar 100
Alamat user
4 Alamat
Kebun Varchar
100 Alamat
Kebun Jeruk Pasien 5
Luas Kebun
Int 4
Luas kebun User m2
6 Gejala
Varchar 200
Gejala yang diinputkan user
7 Variabel
Gejala Varchar
50 Nilai
Variabel gejala yang diinputkan
user 8
Hasil_Pemeriksaan Char 30
Hasil Diagnosis
3.2.3 Bentuk Tabel Information System
Pada bab 2 telah dinyatakan bahwa penerapan sistem fuzzy dalam sistem pakar untuk merepresentasikan pengetahuan dalam lingkungan yang tidak pasti dan tidak lengkap
Universitas Sumatera Utara
serta sangat kompleks. Penggabungan kedua sistem tersebut dikenal dengan sistem pakar fuzzy. Jika pada sistem pakar cara kerjanya mengacu pada rule based yang nilai
perhitungannya hanya terdiri dari 0 dan 1, maka pada sistem pakar fuzzy lebih mengacu pada perhitungan nilai fuzzy yang berada pada interval 0 sampai dengan 1.
Adapun nilai fuzzy dari gejala-gejala penyakit untuk suatu penyakit ditampilkan pada tabel information system. Tabel berikut merupakan information system dari gejala-
gejala penyakit pada jeruk yang diperoleh dari seorang pakar berdasarkan nilai intensitasnya.
Tabel 3.2 Tabel Information System Berdasarkan Nilai Intensita Gejala
NO Nama penyakit
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10
1 Blendok 0,6
0,3 1
2 Busa
0 0 0,6 0,3
0 0 0 0 0 0 3 Buruk
akar 0 0,6
0 0 1 1 0 0 0 0
4 Kanker bakteri
0 0 0 0 0 0 0,6 0,6
0 0
5 CVPD 0,3
0 0 0 0 0 0 0,6 0 0
6 Tepung
0 0 0 0 0 0 0 1 0,3 7
Jamur 0,3
0 0 0 0 0 0 0,6 0 0,6
8 Pucuk merana
0 0.6 0 0 0 0 0 1 0 0
Dengan G= gejala
Tabel 3.2 Tabel Keterangan Kode Gejala
NO Kode Gejala
Nama Gejala
Universitas Sumatera Utara
1 G1
Ada getah pada batang 2
G2 Warna daun kuning
3 G3
Ada busa pada batang 4 G4
Busuk batang
5 G5 Busuk
akar 6 G6
Warna akar
hitam 7
G7 Bercak-bercak pada dau
8 G8 Daun
gugur 9
G9 Ada tepung pada daun dan pucuk
10 G10
Batang dan dahan lapuk
3.2.4 Jenis-jenis Gejala Pada Penyakit Jeruk
Adapun gejala-gejala yang ditimbulkan oleh penyakit pada jeruk antara lain, yaitu:
1. Ada getah pada batang
2. Warna daun kuning
3. Ada busa pada batang
4. Busuk batang
5. Busuk akar
6. Warna akar hitam
7. Bercak-bercak pada daun
8. Daun gugur
9. Ada tepung pada daun dan pucuk
10. Batang dan dahan lapuk
Universitas Sumatera Utara
Gejala penyakit ini sudah diringkas untuk gejala yang umum pada penyakit jeruk. untuk mempermudah mendiagnosa dan mempermudah user dalam
menggunakanya.
3.2.5 Perancangan Antarmuka
Perancangan antarmuka interface merupakan tampilan program aplikasi yang digunakan oleh pemakai user untuk dapat berkomunikasi dengan computer. Adapun
yang menjadi rancangan antarmuka dalam perancangan ini adalah rancangan menu utama program. Perancangan antarmka form sistem yang akan dibuat yaitu:
1. Rancangan Halaman Utama
Halaman ini merupakan halaman pertama yang akan muncul ketika program dijalankan. Halaman ini berisi menu: diagnosis penyakit jeruk, penyakit jeruk,
tentang jeruk, bantuan dan admin. Rancangan halaman utama dapat dilihat pada gambar dibawah ini:
HEADER
BERANDA
ISI
Universitas Sumatera Utara
DIAGNOSIS PENYAKIT
JERUK PENYAKIT
JERUK TENTANG
JERUK BANTUAN
FOOTER
Gambar 3. 4 Rancangan Halaman Utama
2. Halaman Rancangan Menu Diagnosis Penyakit Jeruk
Halaman diagnosis penyakit jeruk merupakan halaman yang akan muncul ketika menu diagnosis penyakit jeruk dipilih. Dimana pada halaman ini user
diwajibkan untuk mengisi biodata yang telah dibuat.
HEADER
BATAL KIRIM
Nama :
Alamat :
Luas Kebun
: Alamat
Kebun :
BERANDA
PENYAKIT JERUK
TENTANG JERUK
BANTUAN DIAGNOSIS
PENYA Isilah
Biodata Anda
Gambar 3. 5 Rancangan Halaman Diagnosis-isi data
Halaman berikutnya adalah halaman dimana dihalaman berikut ini user dapat memilih gejala-gejala yang terlihat pada tanaman jeruknya. Halaman ini dapat
dilihat pada gambar dibawah ini:
Universitas Sumatera Utara
HEADER
Gambar 3. 6 Rancangan Halaman pilih gejala
Halaman yang muncul setelah user menginput gejala adalah halaman pengisian intensitas gejala, dimana gejala yang telah dipilih user pada halaman berikutnya akan
ditanya lagi nilai intensitas gejalanya. Adapun halaman intensitas gejala dapat dilihat pada gambar dibawah ini:
FOOTER TENTANG
JERUK BANTUAN
KIRIM
BATAL
HEADER
PILI GEJALA‐GEJALA YANG TELIHAT PADA JERUK:
O Gejala ke‐1
O Gejala ke‐2 …
O Gejala ke‐n
BERANDA DIAGNOSIS
PENYA PENYAKIT
JERUK
BERANDA
NAMA PENYAKIT
TENTANG JERUK
BANTUAN BATAL
KIRIM FOOTER
Silahkan lengkapi nilai intensitas gejala dibawah ini Seberapa banyak gejala1
O Sangat Banyak O banyak
O sedikit O tidak ada
… gejala ke-n DIAGNOSIS
Universitas Sumatera Utara
Gambar 3. 6 Rancangan Halaman input intensitas gejala
Halaman berikutnya merupakan halaman hasil diagnosis dimana pada halaman yang lalu, user telah memilih gejala-gejala yang terlihat pada jeruknya. Adapun halaman
hasil diagnosis dapat dilihat pada gambar dibawah ini:
BERANDA
Nama :
Alamat :
Luas Kebun :
Alamat Kebun :
Kemungkinan Penyakit: 1. ____________ 2. ____________
HEADER
DIAGNOSIS PENYAKIT
PENYAKIT JERUK
TENTANG JERUK
BANTUAN FOOTER
Gambar 3.7 Rancangan Halaman Diagnosis
3. Halaman Rancangan Menu Penyakit Jeruk
Pada halaman ini user dapat melihat nama-nama penyakit jeruk yang pernah ada di Kabupaten Tanah Karo. Adapun halaman ini dapat dillihat pada gambar
dibawah ini:
HEADER
BERANDA
Nama-nama penyakit jeruk yang pernah ada di Kabupaten Tanah Karo
Blendok Phitophthora
Blendok Diplodia
. . .
Penyakit ke-n
DIAGNOSIS PENYAKIT
JERUK PENYAKIT
JERUK TENTANG
JERUK BANTUAN
FOOTER
Universitas Sumatera Utara
Gambar 3.8 Rancangan Halaman Penyakit Jeruk
4. Halaman Rancangan Menu Tentang Jeruk
Pada halaman ini user dapat melihat informasi mengenai jeruk untuk menambah pengetahuan user tentang jeruk. Adapun halaman tentang jeruk
dapat dilihat pada gambar dibawah ini:
HEADER
TENTANG JERUK 1.
Kandungan gizi jeruk: isi tentang kandungan jeruk
2. Jenis-jenis jeruk manis:
isi tentang jenis-jenis jeruk
1 2 NEXT
FOOTER DIAGNOSIS
PENYAKIT JERUK
BERANDA
PENYAKIT JERUK
BANTUAN TENTANG
JERUK
Gambar 3. 9 Rancangan Halaman Tentang Jeruk
5. Halaman Rancangan Menu Bantuan
Pada halaman ini user dapat mengetahui tentang programmer yang telah mebuat aplikasi sistem pakar ini. Dimana user dapat melihat foto, nama,
alamat, kampus dan e-mail dari programmer. Halaman ini dapat dilihat pada gambar dibawah ini:
HEADER
BERANDA
TENTANG SAYA NAMA: DWI ANDIKA SINULINGGA
NIM: 071401010 ALAMAT: jl.bakti gg.keluargs
Pancur batu
Universitas Sumatera Utara
DIAGNOSIS PENYAKIT
JERUK foto
PENYAKIT JERUK
TENTANG JERUK
BANTUAN FOOTER
Gambar 3. 5 Rancangan Halaman Tentang Saya
BAB 4
Universitas Sumatera Utara
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi