Sistem pakar menggunakan penalaran maju untuk mengambil kesimpulan berdasarkan aturan dan fakta awal. Fakta awal A dan E digunakan untuk menyimpulkan F dan G secara berurutan, namun hipotesis K belum terbukti.
2. Definisi Sistem Pakar (Expert System)
• Program komputer yang dirancang untuk
memodelkan kemampuan menyelesaikan
masalah seperti layaknya seorang pakar
(human expert).
3. APA ITU PAKAR/AHLI
(EXPERT) ?
Seorang pakar/ahli (human expert) adalah
seorang individu yang memiliki kemampuan
pemahaman yang superior terhadap suatu
masalah tertentu.
4. Beberapa Definisi tentang Sistem Pakar
• Menurut Durkin
Sistem pakar adalah suatu program komputer yang
dirancang untuk memodelkan kemampuan penyelesaian
masalah yang dilakukan oleh seorang pakar.
• Menurut ignizio
Sistem pakar adalah suatu model dan prosedur yang
berkaitan dalam suatu domain tertentu yang mana tingkat
keahliannya dapat dibandingkan dengan keahlian seorang
pakar.
• Menurut Giarratano dan Riley
Sistem pakar adalah suatu sistem komputer yang bisa
menyamai atau meniru kemampuan seorang pakar.
5. TUJUAN
Tools perangkat lunak yang dikembangkan
memberikan keleluasaan pada perekayasa
pengetahuan yang dibangun dari keseluruhan
komponen Sistem Pakar dengan tujuan agar tools
yang dibuat dapat digunakan untuk memecahkan
persoalan yang spesifik.
6. Sejarah Sistem Pakar
• Sistem pakar pertama kali dikembangkan oleh komunitas AI
pada pertengahan tahun 1960. Sistem pakar yang muncul
pertama kali adalah General-purpose Problem Solver (GPS)
yang dikembangkan oleh Newel and Simon. GPS (dan
program-program yang serupa) ini mengalami kegagalan
karena cakupannya terlalu luas sehingga terkadang justru
meninggalkan pengetahuan-pengetahuan penting yang
seharusnya disediakan.
7. Sistem Pakar yang terkenal
Sistem Pakar Kegunaan
Mycin Diagnosa penyakit
Dendral Mengidentifikasi struktur molekular campuran yang tak
dikenal
Xcon & Xsel Membantu konfigurasi sistem komputer besar
Sophie Analisis sirkit elektronik
Prospector Digunakan di dalam geologi untuk membantu, mencari
dan menemukan deposit
Folio Membantu memberikan keputusan bagi seorang manajer
dalam hal stok broker dan investasi
Delta Pemeliharaan lokomotif listrik disel.
8. MYCIN
• MYCIN was an early expert system developed over five or six years
in the early 1970s at Stanford University. It was written in Lisp as
the doctoral dissertation of Edward Shortliffe under the direction of
Bruce Buchanan, Stanley N. Cohen and others. It arose in the
laboratory that had created the earlier Dendral expert system, but
emphasized the use of judgmental rules that had elements of
uncertainty (known as certainty factors) associated with them. This
expert system was designed to identify bacteria causing severe
infections, such as bacteremia and meningitis, and to recommend
antibiotics, with the dosage adjusted for patient's body weight —
the name derived from the antibiotics themselves, as many
antibiotics have the suffix "-mycin". The Mycin system was also
used for the diagnosis of blood clotting diseases.
9. Human Expert VS Expert System
Faktor Human Expert Expert System
Time Availability Hari Kerja Setiap Saat
Geografis Lokal/Tertentu Dimana Saja
Keamanan Tidak Tergantikan Dapat Diganti
Dapat Habis Ya Tidak
Performa Variabel Konsisten
Kecepatan Variabel Konsisten & Cepat
Biaya Tinggi Terjangkau
10. Mengapa Sistem Pakar?
• Dapat menyediakan kepakaran setiap waktu dan
lokasi
• Mampu bekerja secara otomatis tugas-tugas rutin
yang tidak dapat dipenuhi setiap saat yang tidak
dapat dilakukan oleh seorang pakar
• Lebih cepat, murah, efisien, dan handal dalam
memecahkan masalah.
13. • KNOWLEDGE BASE
– Definisi : Bagian dari sistem pakar yang berisi domain
pengetahuan
– Berisi pengetahuan yang dibutuhkan untuk memahami,
merumuskan dan menyelesaikan masalah.
• WORKING MEMORY
– Definisi : bagian dari sistem pakar yang berisi fakta-fakta
masalah yang ditemukan dalam suatu sesi
– Berisi fakta-fakta tentang suatu masalah yang ditemukan
dalam proses konsultasi
14. • INFERENCE ENGINE
– Definisi : Processor pada sistem pakar yang
mencocokan fakta-fakta yang ada pada working
memori dengan domain pengetahuan yang
terdapat pada knowledge base, untuk menarik
kesimpulan dari masalah yang dihadapi.
– Proses berpikir pada manusia dimodelkan dalam
sistem pakar pada modul yang disebut Inference
Engine.
15. Sistem Pakar secara umum terdiri dari 3 bagian
utama yaitu:
• Knowledge Base = berisi informasi data,
aturan (rule), relasi antara data dan aturan
dalam pengambilan kesimpulan.
Inference Engine = berfungsi menganalisa
data yang ada dan menarik kesimpulan
berdasarkan aturan yang ada.
User Interface = berfungsi sebagai alat atau
media komunikasi antara pemakai (user)
dengan program.
Bagian-bagian Expert System
16. Knowledge Base
• Description of problem domain
• Rules: A knowledge representation
technique
– such as ‘IF:THEN’ logic
– networks of rules
• Lowest levels provide evidence
• Top levels produce 1 or more conclusions
• A conclusion is called a Goal variable.
18. Cheetah Tiger Giraffe Zebra Ostrich Penguin Albatross
AndAnd And And And And And And
Tawny
color
Dark
spots legs
Long Black
strips
Long
neck
Can’t
fly
Black&
White
Swims Flies
Well
Ungulate Bird
Mammal Carnivore
Or Or And AndFeathersAnd
Or Or
Hair milk
milk Hoofs Flies Lays
eggs
ChewsGives
And
teeth
Pointed Forward
Eyes
LEGEND:
Rules
Conditions
Action
(conclusions)
Claws
Eats milk cud
R1 R2 R5 R6
R9 R10 R11 R12 R14R13 R15
R7 R8 R3 R4
A Rule Set That
Can Produce More
Than One Final
Conclusion
19. A small ES for diagnosing automotive problems
If
the engine is getting gas, and
the engine will turn over,
then
the problem is spark plugs
If
the engine does not turn over, and
the lights do not come on
then
the problem is battery or cables
If
the engine does not turn over, and
the lights do come on,
then
the problem is the starter motor
If
there is gas in the fuel tank, and
there is gas in the carburetor
then
the engine is getting gas
1
2
3
4
23. The system after Rule 4 has fired. Note the
stack-based approach to goal reduction
24. Explanation: Answering “why” questions
• ES - Gas in fuel tank?
U- yes
ES- Gas in carburetor?
U- yes
ES- Engine will turn over?
U- why
• ES- It has been established that
1. The engine is getting gas,
therefore if
2. The engine will turn over,
then the problem is spark plugs.
• The user is asking
“why is this information important?”
25. Explanation: Answering “how” questions
• U- how the engine is getting gas
• ES- This follows from rule 4:
if
gas in fuel tank, and
there is gas in the carburetor
then
the engine is getting gas
gas in fuel tank was given by the user
gas in the carburetor was given by the user
• The user is asking
“How did the system come up with this conclusion?”
26. Forward chaining
• Forward chaining merupakan grup dari multipel inferensi
yang melakukan pencarian dari suatu masalah kepada
solusinya.
• Jika klausa premis sesuai dengan situasi (bernilai TRUE),
maka proses akan meng-assert konklusi·
• Forward Chaining adalah data driven karena inferensi
dimulai dengan informasi yg tersedia dan baru konklusi
diperoleh
27. • Pendekatan goal-driven, dimulai dari
ekspektasi apa yang diinginkan terjadi
(hipotesis), kemudian mengecek pada sebab-
sebab yang mendukung (ataupun
kontradiktif) dari ekspektasi tersebut.
• Jika suatu aplikasi menghasilkan tree yang
sempit dan cukup dalam, maka gunakan
backward chaining.
BACKWARD CHAINING
28. Forward chaining
Match Fire
Knowledge Base
Database
A B C D E
X
Match Fire
Knowledge Base
Database
A B C D E
LX
Match Fire
Knowledge Base
Database
A C D E
YL
B
X
Match Fire
Knowledge Base
Database
A C D E
ZY
B
LX
Cycle 1 Cycle 2 Cycle 3
X & B & E Y
ZY & D
LC
L & M
A X
N
X & B & E Y
ZY & D
LC
L & M
A X
N
X & B & E Y
ZY & D
LC
L & M
A X
N
X & B & E Y
ZY & D
LC
L & M
A X
N
29. Rule 1
Rule 3
Rule 2
Rule 4
Rule 5
Rule 6
Rule 7
Rule 8
Rule
9
Rule 10
Rule 11
Rule 12
IF A
THEN B
IF C
THEN D
IF M
THEN E
IF K
THEN F
IF G
THEN H
IF I
THEN J
IF B OR D
THEN K
IF E
THEN L
IF K AND
L THEN N
IF M
THEN O
IF N OR O
THEN P
F
IF (F AND H)
OR J
THEN M
The Forward
Reasoning
Process
T
TT
T
T
T
T
T
T
F
T
Legend:
First pass
Second pass
Third pass
30. Backward chaining
Match Fire
Knowledge Base
Database
A B C D E
X
Match Fire
Knowledge Base
Database
A C D E
YX
B
Sub-Goal: X Sub-Goal: Y
Knowledge Base
Database
A C D E
ZY
B
X
Match Fire
Goal: Z
Pass 2
Knowledge Base
Goal: Z
Knowledge Base
Sub-Goal: Y
Knowledge Base
Sub-Goal: X
Pass 1 Pass 3
Pass 5Pass 4 Pass 6
Database
A B C D E
Database
A B C D E
Database
B C D EA
YZ
?
X
?
X & B & E Y
LC
L & M
A X
N
ZY & D
X & B & E Y
ZY & D
LC
L & M
A X
N
LC
L & M N
X & B & E Y
ZY & D
A X
X & B & E Y
ZY & D
LC
L & M
A X
N
X & B & E Y
LC
L & M
A X
N
ZY & D
X & B & E Y
ZY & D
LC
L & M
A X
N
31. Conflict resolution
• Rule 1:
IF the ‘traffic light’ is green
THEN the action is go
• Rule 2:
IF the ‘traffic light’ is red
THEN the action is stop
• Rule 3:
IF the ‘traffic light’ is red
THEN the action is go
32. Rule 2 and Rule 3, with the same IF part. Thus both
of them can be set to fire when the condition part is
satisfied. These rules represent a conflict set. The
inference engine must determine which rule to fire
from such a set. A method for choosing a rule to fire
when more than one rule can be fired in a given
cycle is called conflict resolution.
• In forward chaining, BOTH rules would be fired. Rule
2 is fired first as the top most one, and as a result, its
THEN part is executed and linguistic object action
obtains value stop. However, Rule 3 is also fired
because the condition part of this rule matches the
fact ‘traffic light’ is red, which is still in the database.
As a consequence, object action takes new value go.
33. Conflict resolution strategies
• Use first rule whose condition is satisfied
– Ordering is important
• Assign priorities to rules & use one with
highest priority
– How to decide on priority
34. Pemain utama dalam suatu proyek
sistem pakar adalah:
• Domain Expert
• Knowledge engineer
• End-user
35. Domain expert
Definisi : orang yang memiliki ketrampilan
(skill) dan pengetahuan (knowledge) untuk
menyelesaikan masalah khusus dengan
cara-cara yang superior dibanding orang
kebanyakan.
37. End-User
• Dapat membantu mendefinisikan
spesifikasi interface
• Dapat membantu proses akuisisi
pengetahuan
• Dapat membantu proses pengembangan
sistem
39. Inference Engine (Forward Chaining)
• Forward Chaining : Pencocokan fakta atau pernyataan dimulai dari bagian
sebelah kiri (IF dulu). Dengan kata lain penalaran dimulai dari fakta
terlebih dahulu untuk menguji kebenaran hipotesis.
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
40. Inference Engine (Forward Chaining)
• Terdapat 10 aturan yang tersimpan dalam basis
pengetahuan.
• Fakta awal yang diberikan hanya A dan E (artinya A
dan E bernilai benar). Ingin dibuktikan apakah K
bernilai benar (hipotesis : K) ?
41. Inference Engine (Forward Chaining)
• Langkah-langkah inferensi sbb :
– 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.
– 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-1 ini. Sehingga kita menuju ke R-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 (=K), maka penelusuran kita lanjutkan ke R-4.
– Pada R-4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai
konsekuen juga benar. Sehingga sekarang kita mempunyai fakta baru yaitu G.
Karena G bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran
kita lanjutkan ke R-5.
42. Inference Engine (Forward Chaining)
• Langkah-langkah inferensi sbb :
– Pada R-5, baik F maupun G bernilai benar berdasarkan aturan R-3 dan
R-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 (=K), maka penelusuran kita lanjutkan ke R-
6.
– Pada R-6, baik A maupun G adalah benar berdasarkan fakta dan 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 (=K), maka penelusuran kita
lanjutkan ke R-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.
– 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.
43. Inference Engine (Forward Chaining)
• Langkah-langkah inferensi sbb :
– Pada R-9 bernilai benar karena G benar berdasarkan R-4. Karena J bukan
hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke
R-10.
– Pada R-10, K bernilai benar karena J benar berdasarkan R-9. Karena H
merupakan hipotesis yang hendak kita buktikan (=K) maka terbukti bahwa K
adalah benar.
• Fakta baru Aturan Fakta Baru
R-3 F
R-4 G
R-5 D
R-6 H
R-9 J
R-10 K
45. Inference Engine (Backward Chaining)
• Backward Chaining
Pencocokan fakta atau pernyataan di mulai dari bagian
sebelah kanan (Then dulu). Dengan kata lain, penalaran
dimulai dari hipotesis dahulu dan untuk menguji kebenaran
hipotesis tersebut harus dicari fakta-fakta yang ada dalam
basis pengetahuan.
• Contoh :
Fakta awal yang diberikan hanya A dan E (artinya A dan E
bernilai benar). Ingin dibuktikan apakah K bernilai benar
(hipotesis : K) ?
46. Inference Engine (Backward Chaining)
• Langkah-langkah inferensi :
– Pertama-tama kita cari terlebih dahulu mulai dari R-1 aturan mana
yang memiliki konsekuen K. Ternyata setelah ditelurusi, aturan dengan
konsekuen K baru ditemukan pada R-10. Untuk membuktikan K benar,
maka perlu dibuktikan bahwa J benar.
– Kita cari aturan yang memiliki konsekuen J. Kita mulai dari R-1 dan
ternyata R-8 memiliki konsekuen J. Untuk membuktikan bahwa J
benar, maka perlu dibuktikan bahwa I dan A benar. Untuk
membuktikan kebenaran I, kita perlu cari aturan dengan konsekuen I
ternyata ada di R-7.
– Untuk membuktikan I benar di R-7, kita perlu buktikan bahwa C dan H
benar. Untuk itu kitapun perlu mencari aturan dengan konsekuen C
dan ada di R-1.
47. Inference Engine (Backward Chaining)
• Langkah-langkah inferensi :
– Untuk membuktikan C benar di R-1, kita perlu buktikan bahwa A dan B
benar. A jelas benar karena A merupakan fakta. Sedangkan B tidak bisa
dibuktikan kebenarannya karena selain bukan fakta, didalam basis
pengetahuan juga tidak ada aturan dengan konsekuen B. Dengan
demikian maka dari penalaran ini kita tidak bisa buktikan kebenaran
dari hipotesis K. Namun demikian kita masih punya alternatif lain
untuk melakukan penalaran.
– Kita lakukan backtracking lagi dengan mencari aturan dengan
konsekuen I, ternyata juga tidak ada.
– Kita lakukan backtracking lagi dengan mencari aturan dengan
konsekuen J, ternyata kita temukan pada R-9. Sehingga kita perlu
buktikan kebenaran G.
48. Inference Engine (Backward Chaining)
• Kita mendapatkan R-4 dengan konsekuen G. Kita perlu
buktikan kebenaran A. Karena A adalah fakta, maka terbukti
bahwa G benar. Dengan demikian berdasarkan penalaran ini
bisa dibuktikan bahwa K bernilai benar.
49. Inference Engine (Backward Chaining)
K
B
A
A
H
J I
R-10
R-1R-7
Fakta
C
R-8
Tidak diketahui
K J G
R-10
R-4
Fakta
A
R-9
50. Contoh
• Diketahui sistem pakar dengan aturan-aturan sbb :
– R1 : IF suku bunga turun THEN harga obligasi naik
– R2 : IF suku bunga naik THEN harga obligasi turun
– R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah
– R4 : IF dolar naik THEN suku bunga turun
– R5 : IF dolar turun THEN suku bunga naik
– R6 : IF harga obligasi turun THEN beli obligasi
• Apabila diketahui bahwa dolar turun, maka untuk
memutuskan apakah akan membeli obligasi atau tidak dapat
ditunjukkan sbb:
51. Forward Chaining
• Dari fakta dolar turun, berdasarkan aturan 5 diperoleh konklusi suku
bunga naik. Dari aturan 2, suku bunga naik menyebabkan harga obligasi
turun. Dengan aturan 6, jika harga obligasi turun maka kesimpulan yang
diambil adalah membeli obligasi.
Dollar turun
Suku bunga naik
Harga obligasi turun
Beli obligasi
52. Backward Chaining
• Berangkat dari solusi yaitu membeli obligasi dengan menggunakan aturan
6 diperoleh anteseden harga obligasi turun. Dari aturan 2 akan dibuktikan
harga obligas turun bernilai benar jika suku bunga naik bernilai benar. Dari
aturan 5 suku bunga naik memang bernilai benar karena diketahui fakta
dollar turun.
Dollar turun
Suku bunga naik
Harga obligasi turun
Beli obligasi