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
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
Rule :
R1
:
IF
Y
AND
D
THEN
Z
R2
:
IF
X
AND
B
AND
E
THEN
Y
R3
:
IF
A
THEN
X
R4
:
IF
C
THEN
L
Forward Chaining
Konsultasi User dengan Sistem Pakar untuk
mendapatkan Fakta:
SP : Apakah anda merasakan gejala A ?
User : Ya
SP : Apakah anda merasakan gejala B ?
User : Ya
SP : Apakah anda merasakan gejala C ?
User : Ya
SP : Apakah anda merasakan gejala D ?
User : Ya
SP : Apakah anda merasakan gejala E ?
User : Ya
SP : Apakah 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
Database A B C D E Database A B C D E Fakta Baru : X Knowledge Base R1 : IF ( Y AND D ) THEN ZR2 : IF ( X AND B AND E ) THEN Y R3 : IF ( A ) THEN X R4 : IF ( C ) THEN L R5 : IF ( L AND M ) THEN N
Iterasi Ke - 1
Knowledge Base R1 : IF ( Y AND D ) THEN ZR2 : IF ( X AND B AND E ) THEN Y
R3 : IF ( A ) THEN X
R4 : IF ( C ) THEN L
Forward Chaining
Database A B C D E Fakta Baru : X Knowledge Base R1 : IF ( Y AND D ) THEN ZR2 : IF ( X AND B AND E ) THEN Y
R3 : IF ( A ) THEN X R4 : IF ( C ) THEN L R5 : IF ( L AND M ) THEN N Database A B C D E Fakta Baru : X L Knowledge Base R1 : IF ( Y AND D ) THEN Z
R2 : IF ( X AND B AND E ) THEN Y
R3 : IF ( A ) THEN X R4 : IF ( C ) THEN L
Forward Chaining
Database A B C D E Fakta Baru : X LIterasi Ke - 2
Knowledge Base R1 : IF ( Y AND D ) THEN ZR2 : IF ( X AND B AND E ) THEN Y
R3 : IF ( A ) THEN X R4 : IF ( C ) THEN L R5 : IF ( L AND M ) THEN N Database A B C D E Fakta Baru : X L Y Knowledge Base R1 : IF ( Y AND D ) THEN Z
R2 : IF ( X AND B AND E ) THEN Y R3 : IF ( A ) THEN X
R4 : IF ( C ) THEN L
Forward Chaining
Database A B C D E Fakta Baru : X L YIterasi Ke - 3
Knowledge Base R1 : IF ( Y AND D ) THEN ZR2 : IF ( X AND B AND E ) THEN Y R3 : IF ( A ) THEN X R4 : IF ( C ) THEN L R5 : IF ( L AND M ) THEN N Database A B C D E Fakta Baru : X L Y Z Knowledge Base R1 : IF ( Y AND D ) THEN Z
R2 : IF ( X AND B AND E ) THEN Y R3 : IF ( A ) THEN X
R4 : IF ( C ) THEN L
R5 : IF ( L AND M ) THEN N
Proses dihentikan karena tidak ada lagi rule yang akan dieksekusi dan Z bernilai Benar
Match Fire Knowledge Base Database A B C D E X Match Fire Knowledge Base Database A B C D E L X Match Fire Knowledge Base Database A C D E Y L B X Match Fire Knowledge Base Database A C D E Z Y B L X
Cycle 1 Cycle 2 Cycle 3
X & B & E Y Z Y & D L C L & M A X N X & B & E Y Z Y & D L C L & M A X N X & B & E Y Z Y & D L C L & M A X N X & B & E Y Z Y & D L C L & M A X N
Forward Chaining
CONTOH :
Pada tabel di bawah ini ada 10 aturan yang tersimpan.
Fakta awal
yang diberikan
A & E
(artinya
A dan E
bernilai benar
).
Ingin dibuktikan
apakah K bernilai benar
(hipotesis : K)
?
EXPERT SYSTEM (Sistem Pakar)
No Aturan R-1 IF A & B THEN C R-2 IF C THEN D R-3 IF A & E THEN F R-4 IF A THEN G R-5 IF F & G THEN D R-6 IF G & E THEN H R-7 IF C & H THEN I R-8 IF I & A THEN J R-9 IF G THEN J R-10 IF J THEN K
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
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
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
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
Fakta Baru pada saat Inferensi
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
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
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
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)
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.