Sistem Berbasis Pengetahuan
Program Studi Sistem Komputer Fakultas Ilmu Komputer Universitas Putra Indonesia YPTK Padang
Rule sebagai Teknik Representasi Pengetahuan Syntax Rule : IF E THEN H E : Evidence (fakta yang ada) (premise) H : Hipotesa atau kesimpulan yang dihasilkan (konklusi)
Teknik Inferensi Mesin inferensi membandingkan rule dalam knowledge base dengan fakta dalam database
Teknik Inferensi : 1. Forward Chaining 2. Backward Chaining
Forward Chaining adalah teknik pencarian yang dimulai dengan fakta yang diketahui, kemudian mencocokkan fakta-fakta tersebut dengan bagian IF dari rules IF-THEN
Forward Chaining
Diketahui sebuah Sistem Pakar untuk Mendiagnosa Penyakit Z Menggunakan Metode Forward Chaining. Penyakit Z disebabkan oleh beberapa gejala yaitu : Gejala A, B, C, D, E, L, M, N, X, Y Diketahui R1 : IF R2 : IF R3 : IF R4 : IF R5 : IF
Rule : Y AND D THEN Z X AND B AND E THEN Y A THEN X C THEN L L AND M THEN N
Forward Chaining Konsultasi User dengan Sistem Pakar untuk mendapatkan Fakta: SP User SP User SP User SP User SP User SP User
: : : : : : : : : : : :
Apakah Ya Apakah Ya Apakah Ya Apakah Ya Apakah Ya Apakah Tidak
anda merasakan gejala A ? anda merasakan gejala B ? anda merasakan gejala C ? anda merasakan gejala D ? anda merasakan gejala E ?
anda merasakan gejala M ?
Forward Chaining Jadi Fakta yang diperoleh dari user adalah : A, B, C, D, E Dari Fakta yang diperoleh dari User diatas, apakah User akan terdiagnosa menderita penyakit Z atau tidak?
Forward Chaining Iterasi Ke - 1 Database
Database A
B
C
D
A
E
B
C
D
E
Fakta Baru : X Knowledge Base R1 : IF ( Y AND D )
Knowledge Base THEN
R2 : IF ( X AND B
AND E )
R3 : IF ( A )
THEN
R4 : IF ( C )
THEN
R5 : IF ( L AND M )
Z
R1 : IF ( Y AND D ) R2 : IF ( X AND B
AND E )
X
R3 : IF ( A )
THEN
X
L
R4 : IF ( C )
THEN
L
THEN
THEN
N
Y
THEN
R5 : IF ( L AND M )
THEN
Z THEN
N
Y
Forward Chaining
Database A
B
C
Database
D
E
A
B
C
D
E
Fakta Baru :
Fakta Baru :
X
X
Knowledge Base
Knowledge Base
R1 : IF ( Y AND D )
THEN
R2 : IF ( X AND B
AND E )
R3 : IF ( A )
THEN
R4 : IF ( C )
THEN
R5 : IF ( L AND M )
Z
L
R1 : IF ( Y AND D ) R2 : IF ( X AND B
AND E )
X
R3 : IF ( A )
THEN
X
L
R4 : IF ( C )
THEN
L
THEN
THEN
N
Y
THEN
R5 : IF ( L AND M )
THEN
Z THEN
N
Y
Forward Chaining Iterasi Ke - 2 Database A
B
C
Database
D
E
A
B
C
Fakta Baru :
Fakta Baru :
X
X
L
Knowledge Base R1 : IF ( Y AND D )
E
Y
Knowledge Base THEN
R2 : IF ( X AND B
AND E )
R3 : IF ( A )
THEN
R4 : IF ( C )
THEN
R5 : IF ( L AND M )
L
D
Z
R1 : IF ( Y AND D ) R2 : IF ( X AND B
AND E )
X
R3 : IF ( A )
THEN
X
L
R4 : IF ( C )
THEN
L
THEN
THEN
N
Y
THEN
R5 : IF ( L AND M )
THEN
Z THEN
N
Y
Forward Chaining Iterasi Ke - 3 Database A
B
C
Database
D
E
A
B
C
Fakta Baru :
Fakta Baru :
X
X
L Y
Knowledge Base R1 : IF ( Y AND D )
Y
E
Z
Knowledge Base THEN
R2 : IF ( X AND B
AND E )
R3 : IF ( A )
THEN
R4 : IF ( C )
THEN
R5 : IF ( L AND M )
L
D
Z
R1 : IF ( Y AND D ) R2 : IF ( X AND B
AND E )
X
R3 : IF ( A )
THEN
X
L
R4 : IF ( C )
THEN
L
THEN
THEN
N
Y
THEN
R5 : IF ( L AND M )
THEN
Z THEN
Y
N
Proses dihentikan karena tidak ada lagi rule yang akan dieksekus dan Z bernilai Benar
Forward Chaining
Database A
B
C
D
Database E
A
X
Match
Fire
Match
Knowledge Base Y&D Z X&B&E Y A X C L L&M N
B
C
Database
D
E
X
L
Fire
Knowledge Base Y&D Z X&B&E Y A X C L L&M N
Cycle 1
A
B
Database
C
D
E
X
L
Y
Match
Fire
A
B
C
D
E
X
L
Y
Z
Match
Fire
Knowledge Base Y&D Z X&B&E Y A X C L L&M N
Knowledge Base Y&D Z X&B&E Y A X C L L&M N
Cycle 2
Cycle 3
EXPERT SYSTEM (Sistem Pakar)
CONTOH : Pada tabel di bawah ini ada 10 aturan yang tersimpan Fakta awal yang diberikan A & E (artinya A dan E bernilai benar). No Aturan Ingin dibuktikan R-1 IF A & B THEN C R-2 IF C THEN D apakah K bernilai benar R-3 IF A & E THEN F (hipotesis : K) ? R-4 R-5 R-6 R-7 R-8 R-9 R-10
IF IF IF IF IF IF IF
A THEN G F & G THEN D G & E THEN H C & H THEN I I & A THEN J G THEN J J THEN K
EXPERT SYSTEM (Sistem Pakar) SOLUSI : Forward Chaining Langkah-langkah inferensi adalah sebagai berikut : 1.Dimulai dari R-1, A merupakan fakta sehingga bernilai benar, sedangkan B belum bisa diketahui kebenarannya, sehingga C pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-1 ini. Sehingga kita menuju ke R-2. 2.Pada R-2 kita tidak mengetahui informasi apapun tentang C, sehingga kita juga tidak bisa memastikan kebenaran D. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-2 ini. Sehingga kita menuju ke R-3
EXPERT SYSTEM (Sistem Pakar) 3.Pada R-3, baik A maupun E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu F. Karena F bukan hipotesis yang hendak kita buktikan maka penelusuran kita lanjutkan ke R-4. 4. Pada R-4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu G. Karena G bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R-5 5.Pada R-5, baik F maupun G bernilai benar berdasarkan aturan R-3 danR-4. Dengan demikian D sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu D. Karena D bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R-6
EXPERT SYSTEM (Sistem Pakar) 6.Pada R-6, baik A maupun G adalah benar berdasarkan fakta dari R-4. Dengan demikian H sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu H. Karena H bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R-7.
7.Pada R-7, meskipun H benar berdasarkan R-6, namun kita tidak tahu kebenaran C sehingga, I pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga kita menuju ke R-8 8.Pada R-8, meskipun A benar karena fakta, namun kita tidak tahu kebenaran I, sehingga J pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-8 ini. Sehingga kita menuju ke R-9
EXPERT SYSTEM (Sistem Pakar) 9.Pada R-9, J bernilai benar karena G benar berdasarkan R-4. Karena J bukan hipotesis yang hendak kita buktikan, maka penelusuran kita lanjutkan ke R-10. 10. Pada R-10, K bernilai benar karena J benar berdasarkan R-9. Karena K sudah merupakan hipotesis yang hendak kita buktikan, maka terbukti bahwa K adalah benar
EXPERT SYSTEM (Sistem Pakar) Fakta Baru pada saat Inferensi
EXPERT SYSTEM (Sistem Pakar) Alur Inferensi Forward Chaining
CONTOH 1 Diketahui sistem pakar dengan rule-rule sebagai berikut : R1 : IF A AND B THEN G R2 : IF C AND E THEN B R3 : IF C THEN D R4 : IF A AND D THEN E R5 : IF D AND E THEN F Seseorang hendak berkonsultasi dengan sistem pakar tersebut untuk menentukan apakah G bernilai benar atau tidak. Apabila diketahui fakta A dan C benar, jelaskan proses inferensi Sistem Pakar tersebut menggunakan : FORWARD CHAINING
RULE R1
if 20 and 21 and 22 and 23 and 28 then 33
R2
if 14 and 15 then 29
R3
if 20 and 21 and 22 and 24 and 25 then 34
R4
if 4 and 8 and 9 then 23
R5
if 20 and 21 and 22 and 25 and 26 and 29 then 35
R6
if 8 and 10 then 24
R7
if 14 and 16 then 30
R8
if 21 and 27 and 28 then 36
R9
if 4 and 13 then 27
R10
if 14 and 17 then 31
R11
if 1 and 2 and 3 and 4 and 5 then 28
R12
if 18 and 19 then 32
R13
if 1 and 2 and 4 and 5 then 20
R14
if 4 and 7 then 22
R15
if 4 and 5 and 6 then 21
R16
if 4 and 5 and 9 and 11 then 25
R17
if 28 and 22 and 25 and 27 then 37
R18
if 4 and 8 and 11 and 12 then 26
Expert system Jika diketahui Fakta : 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15 Jika Goal yang dituju : ??? Selesaikan dengan Forward Chaining !
SOAL 2 (Lanjutan) Diketahui : Fakta : Diameter = 3 inch Bentuk = Bulat Jumlah Biji > 1 Warna = Kuning Permukaan = Lembut Tentukan Dengan Forward Chaining : Buah Apa ???
SOAL 2 Diketahui sistem pakar menentukan BUAH dengan rule-rule sebagai berikut : R1 : IF (Bentuk = Panjang) AND (Warna = Hijau OR Warna = kuning) THEN Buah = Pisang R2 : IF (Bentuk = Bulat OR Bentuk = Membujur) AND (Diameter > 4 inch) THEN Class Buah = Merambat R3: IF (Bentuk = Bulat OR Bentuk = Membujur) AND (Diameter < 4 inch) THEN Class Buah = Pohon R4: IF (Jumlah biji = 1) THEN Class Biji = Buah Berbiji R5: IF (Jumlah biji > 1) THEN Class Biji = Berbiji Banyak R6: IF (Class Buah = Merambat) AND (Warna = Hijau) THEN Buah = Semangka R7: IF (Class Buah = Merambat) AND (Permukaan = Kasar) AND (Warna = coklat) THEN Buah = Melon R8: IF (Class Buah = Merambat) AND (Permukaan = Lembut) AND (Warna = kuning) THEN Buah = Belewah R9: IF (Class Buah = Pohon) AND (Warna = Oranye) AND (Class Biji = Buah Berbiji) THEN Buah = Aprikot R10: IF (Class Buah = Pohon) AND (Warna = Oranye) AND (Class Biji = Berbiji Banyak) THEN Buah = Jeruk R11: IF (Class Buah = Pohon) AND (Warna = Merah OR Warna = Kuning OR Warna = Hijau) AND (Class Biji = Berbiji Banyak) THEN Buah = Apel
SOAL 3 “Sistem Pakar Mendeteksi Kerusakan Komputer”
R1 : IF Komputer mau hidup AND Tidak bereaksi AND Kipas power supply tidak berputar THEN Kerusakan pada Power Supply R2 : IF Komputer mau hidup AND Muncul pesan tekan F1 di monitor THEN Tidak masuk ke sistem operasi R3 : IF Komputer mau hidup AND Harddisk error AND Tidak mau booting THEN Kerusakan pada Harddisk R4 : IF Komputer mau hidup AND Tidak mau booting AND Bunyi beep 1 kali panjang THEN Kerusakan pada memori R5 : IF Harddisk error THEN Tidak mau booting R6 : IF Muncul pesan tekan F1 di monitor AND Tidak masuk ke sistem operasi THEN Harddisk error R7 : IF Lampu indikator berkedip AND kipas power supply berputar AND Tidak ada bunyi beep THEN Kerusakan pada motherboard Jika diketahui fakta : Komputer mau hidup, Muncul pesan tekan F1 di monitor, Bunyi beep 1 kali panjang. Tentukan Jenis Kerusakan Komputernya (Forward Chaining)