Anda di halaman 1dari 47

Sistem Pakar

Supardianto, M. Kom
SISTEM PAKAR (Expert System)
 Sistem Pakar merupakan kumpulan pengetahuan (basis
pengetahuan) dari beberapa pakan yang digunakan untuk
memecahkan suatu masalah
 Pada sistem pakar digunakan representasi pengetahuan berupa
RULE (IF.. THEN), sehingga suatu sistem pakar merupakan
kumpulan dari beberapa RULE
Beberapa aplikasi sistem pakar :
 Interpreting and identifying
 Instructing and training
 Predicting
 Controlling
 Diagnosing
 Monitoring
 Designing
 Planning
 Debugging and testing
Keuntungan Sistem Pakar
 Memungkinkan orang awam mengerjakan pekerjaan
para ahli
 Bisa melakukan proses secara berulang secara otomatis
 Menyimpan pengetahuan dan keahlian para pakar
(khususnya untuk pengetahuan yg langka)
 Mampu mengambil dan melestarikan keahlian pakar
 Memasukkan faktor ketidakpastian
 Menghemat waktu dalam mengambil keputusan
Kelemahan sistem pakar
 Sistem pakar biasanya dipakai hanya pada bidang
tertentu sesuai dengan kepakaran
 Penambahan pengetahuan baru bisa mengubah program
secara keseluruhan
 Kepastian dalam sistem pakar hanya berupa pendekatan
saja.
Sistem Pakar dapat diorganisasikan menjadi

• Knowlegde base : berisi rule/kaidah pemecahan


masalah, prosedur dan data intrinsik yang
berhubungan dengan problem domain
• Working memory : Tempat menyimpan data dari
masalah yang akan dikerjakan
• Inference engine : Mekanisme yang mencari
kesimpulan dengan cara mencocokkan
pengetahuan di knowlegde base dan terhadap
masalah yang muncul
Knowledge Engineers

Inference
Engine

Users Expert

Working Knowledge
Memory Base
A. Pemodelan Basis Pengetahuan
(Knowledge Base)
 Jaringan Semantik
 Frame
 Script
 Rule If-then
 Logika Predikat
Jaringan Semantik
 Merupakan gambaran pengetahuan yang dimodelkan
secara grafis yang menunjukkan hubungan antar obyek
 Obyek digambarkan dengan lingkaran, obyek bisa
berupa peristiwa ataupun fakta. Hubungan antar obyek
dinyatakan dengan garis:
Contoh relasi obyek:
Mesin dibuat di toko, mesin menghasilkan gear

dibuat
Mesin Toko

me
ngh
a si l
kan Gear
Semantic Network

Operator Scrap
Error
Caused by

20
number is Needs
Part Quality
is a Inspection

has Condition is
Teeth Gear

Generated by
Good
Requires

Cutting Rotor is a Customer Destination is


Assembly Order

Shipping
Pohon Keputusan
 Merupakan jaringan semantik khusus yang penalarannya
dimulai dari atas puncak

A: Apakah anda sakit


B: Apakah sakitnya di tulang A
C: Jika sehat apakah sering cek
kesehatan B C
D: Jika di gigi berarti berlubang
E: Jika di kulit atau bagian lain E F
hubungi dokter D

F: Hati-hati penyakit dalam


Frames
 Berupa tabel dengan tiap slot bisa berisi fakta, obyek,
kelas dari obyek, situasi dan kejadian
 Urutan proses teratur berdasarkan kolom

Contoh :
- Tabel pencocokan/Keputusan
- Tabel kesamaan
- Tabel perbedaan
Contoh Frame
Gear
Teet Number 20
Assembly Rotor
Production Method Cutting
Delivery Date 9/2/03
Script
 Representasi pengetahuan yang berupa skenario atau
urutan kejadian
 Komponen script:
- Kondisi masukan
- Hasil yang diinginkan
- Aturan
- Urutan peristiwa
 Contoh Script:
- Prosedur mematikan Proyektor Komputer
- Skenario film
Rule
 Rule (Kaidah) dinyatakan dalam bentuk perintah If-
Then:

If premis Then Kesimpulan


If input Then Output
If kondisi Then aksi
If antecedent Then konsekuensi
If data Then Hasil
 Beberapa premis atau antecendent dapat dihubungkan
dengan logika AND atau OR
Latihan
 Cobalah buat Rule dari semantik berikut:

A
y t
B C t
y t
y y H
D E
y t y
t
F t G I t
y y t y t
K L M N
LOGIKA PREDIKAT

Logika predikat memberikan bagian fungsi dan fakta dalam


bentuk
Predikat(fakta, data)
Contoh :
Produksi(meja, kursi, 30, sofa)

OAV triplet

Object Attribute Value


Gear Number of Teeth 20
Penggabungan Frame dengan Rule
ROOT FRAME SUBFRAME
Frame Name : ASSET Frame Name : Finance
PARMS : PARMS :
LESSEE-CASH FINANCE- INTEREST
PRESERVES-CASH FINANCE-PERIOD
CANNOT-BORROW DOWN-PAYMENT
ACQUIRE-BY ASSET-COST

RULE : RULE :
1 IF LESSE-CREDIT = POOR 1 IF ACQUIRE-BY=PURCHASE
THEN CANNOT-BORROW THEN FINANCE-IT (calculation)
AND ACQUIRE=LEASE 2 IF ACQUIRE-BY=LEASE
2 IF CANNOT-BORROW OR PRESERVES-CASH THEN FINANCE-IT (calculation)
THEN HOW-T0-ACQUIRE BY = LEASE 3 IF FINANCE-IT IS KNOWN
3 IF LESSE-CREDIT=FAIR THEN PAYMENT = (external calculation)
AND LESSEE-CASH = FAIR
AND CASH-RESERVE-NEEDED
THEN PRESERVE-CASH
4 IF HOW-TO-ACQUIRE IS NOTKNOWN
THEN HOW-TO-AQUIRE=BUY
BUY-THE-ASSET
GOAL GOAL :
HOW-TO-ACQUIRE, PAYMENT FINANCE-IT
Logika Predikat
 Logika predikat dikembangkan dari propositional logic

Logika propositional
 Suatu kalimat logika ini terdiri dari beberapa atomic
proposition yang dihubungkan menggunakan logical
connectivity   
 Misal Proposition P: Alison suka wafel
Propositin Q: Alison makan wafel maka:

PQ : Alison suka wafel atau Alison makan wafel


: Alison suka wafel dan Alison makan wafel
PQ : Alison tidak makan wafel
Q : If Alison suka wafel maka Alison makan wafel
PQ
Logika Predikat
Dalam kalimat logika predikat beberapa fakta dan variabel dihubungkan
menggunakan fungsi berupa predikatnya :
 teman(alison, richard)
 teman(ayah(fred),ayah(joe))
 Suka(X,richard)
Beberapa kalimat logika predikat dapat juga dihubungkan menggunakan
penghubung logika
 teman(alison,richard) suka(alison,richard)
 suka(alison,richard) suka(alison,wafel)
 ((suka(alison,richard)

suka(alison,wafel)
suka(alison,wafel)) 
suka(alison,richard)


 
Suatu kalimat logika predikat dapat juga dinyatakan menggunakan quantifier
( dan )
 
 X burung(X)   yang tidak bisa terbang
terbang(X)
Terdapat beberapa burung
 X(orang(X) Y cinta(X,Y))
 
Setiap orang memiliki sesuatu yang dicintai
Latihan :
 X meja(X) jumlah_kakinya(X,4)
Terdapat beberapa meja yang jumlah kakinya tidak 4

X (macintosh(X)  betul-betul_komputer(X))
Jika sesuatu benda adalah macintosh maka benda itu bukan betul-betul

komputer 
 X kue_creepes(X) (rasa(X,manis) rasa(X,pedas))
Semua kue creepes rasanya bisa manis atau pedas

  
Logika predikat dan frame

Dapat saja logika predikat menyatakan bentuk frame misalnya jika


terdapat obyek gajah memilik slot warna dengan value abu-abu maka
 X gajah(X) warna(X,Y) abu-abu(Y)

  
B. Inferensi Engine dengan Model Penalaran
Penalaran merupakan proses lanjut dari representasi pengetahuan untuk
menyelesaikan masalah

1. Sistem berbasiskan Rule


 Forward chaining system|
Fakta membuat suatu kesimpulan
 Backward chaining system
Kesimpulan telah ada kemudian mencari faktanya
2. Deduktif dan induktif
Deduktif : dari informasi umum menjadi informasi khusus
Induktif : dari informasi khusus menjadi informasi umum
Contoh Forward Chaining System
Terdapat beberapa Rule Misal di memory ada
IF (kuliah X)
1.
AND (ikut praktikum X) (bulan februari)
THEN ADD (kerja lembur X) (gembira alison)
2. IF (bulan februari)
THEN ADD (kuliah alison) (mencari alison)
3. IF (bulan februari)
THEN ADD (ikut praktikum X)
4. IF (kerja lembur X) Dari RULE 2 dan 3
OR (kurang tidur X)
THEN ADD (bad-mood X) (kuliah alison)
5. IF (bad-mood X) (bulan februari)
THEN DELETE (gembira X)
6. IF (kuliah X)
(gembira alison)
THEN DELETE (mencari X) (mencari alison)
Dari rule 3 dan 1 Dari rule 4 dan 6
(kerja lembur alison) kemudian 5
(ikut praktikum alison)
(bad mood alison)
(kuliah alison)
(bulan februari) (kerja lembur alison)
(gembira alison) (ikut praktikum alison)
(mencari alison)
(kuliah alison)
(bulan februari)
Contoh Forward Chaining
 Diketahui aturan sistem Pakar:
R1 : IF suku bunga turun THEN harga obligasi naik
R2 : IF suku bunga naik THEN harga obligasi turun
R3 : IF suku tidak berubah THEN harga obligasi tidak
berubah
R4 : IF dolar naik THEN suku bunga naik
R5 : IF dolar turun THEN suku bunga naik
R6 : IF harga obligasi turun THEN beli obligasi

 Jika dolar turun apakah obligasi akan dibeli?


3. Monotonik dan nonmonotonik
 Monotonik : penalaran dari parameter yang tidak akan pernah
berubah
once a thief, always a thief
 Non monotonik : penalaran dengan parameter yang bisa berubah
sekarang presiden dulu anak petani
4. Penalaran berdasarkan pelacakan diagram semantik :
 Depth-First Search : pelacakan ke simpul premis terdalam tanpa
melacak premis di dekatnya yang tidak diperlukan
 Breadth-First Search : semua premis pada cabang dilacak baru pindah
ke simpul terdalam
Goal State

Depth-first search Breadth-first search


Pemrograman sistem pakar

 Sekuensial
Pemrograman yang berurutan
 Rekursif
Pemrograman dengan memanggil berulang terhadap
dirinya untuk menentukan kesimpulan sementara.
Kesimpulan sementara diperoleh setelah kesimpulan
terakhir didapat
 Contoh : Pemrograman Sekuensial
Ada 2 buah teko masing-masing berkapasitas 4 galon (teko A) dan 3
galon (teko B). Tidak ada tanda yang menunjukkan batas ukuran pada
kedua teko tersebut. Ada sebuah pompa air yang akan digunakan
untuk mengisi air pada kedua teko tersebut.

Permasalahannya bagaimana dapat mengisikan tepat 2 galon air ke


dalam teko yang berkapasitas 4 galon

Air tak terbatas


Teko A Teko B

X Y
Aturan
1: Jika x < 4 maka isi teko A (4,y)
2: Jika y < 3 maka isi teko B (x,3)
3: Jika x > 0 maka tuangkan sebagian air keluar dari teko A (x-d,y)
4: Jika y>0 maka tuangkan sebagian air keluar dari teko B (x,y-d)
5: Jika x > 0 maka kosongkan teko A dengan membuangnya ke tanah
(0,y)
6: Jika y > 0 maka kosongkan teko B dengan membuang airnya ke tanah
7. JIka x+y≥4 dan y >0 maka tuangkan air dari teko B ke teko A sampai
teko A penuh
8. Jika x+y ≥3 dan x>0 tuangkan air dari teko A ke teko B sampai teko B
penuh
9. Jika x+y≥4 dan y >0 tuangkan seluruh air dari teko B ke teko A
10. JIka x+y ≥3 dan x>0 tuangkan seluruh air dari teko A ke teko B
11. Jika (0,2) tuangkan 2 galon air dari teko B ke Teko A
12. JIka (2,y) kosongkan 2 galon air di teko A dengan membuangnya ke
tanah
Solusi

 Isi Teko A Isi Teko B Aturan pakai


0 0 2
0 3 9
3 0 2
3 3 7
4 2 5
0 2 9
2 0 solusi
Contoh Rekursif

 Pindahkan 3 keping satu per satu dari A ke B dengan


aturan yang kecil tidak boleh dibawah yang besar

A B C
 pindahkan satu keping dari a ke c
 pindahkan satu keping dari a ke b
 pindahkan satu keping dari c ke b
 pindahkan satu keping dari a ke c
 pindahkan satu keping dari b ke a
 pindahkan satu keping dari b ke c
 pindahkan satu keping dari a ke c
Deskripsi AI
IV. Pengaruh Ketidakpastian pada Penalaran

 Di dalam pengambilan keputusan penalaran yang merupakan kunci utama


sering dipengaruhi oleh fakta yang tidak pasti misalnya :
Saat orang yang sembuh ditanya apakah sudah masih sakit atau tidak.
Jawabnya adalah sudah mendingan
 Ketidakpastian ini muncul dari pamahaman intuitif (intuitive insight) yang
merupakan realita dari manusia
 Ketidakpastian ini terkadang sulit untuk diterapkan pada sistem berbasis
komputer
 Karena ketidakpastian ini merupakan realita manusia maka sistem
kecerdasan buatan juga harus bisa mengakomodasikannya.
IV.1. Pendekatan Bayesian

 Menggunakan teori probabilitas dengan menganggap suatu


ketidakpastian adalah suatu kejadian (event) yang saling
berpengaruh.
 Misal [B1, B2,.., Bn] adalah kejadian pada ruang sampel S dengan P(Bi)
0 untuk i = 1,2, ..n. Misal A adalah suatu kejadian sembarang pada S
maka 
PBk  A PBk PA | Bk 
P( Bk | A)  n
 n

 PB
i 1
i  A  PB PA | B 
i 1
i i
B3 B4
B1 B2

A
Bn
B5 Bk

 Contoh : 2% dari populasi terkena TBC


Diberikan fakta : P(T)=0,02
Tentukan variabel : P(X|T), P(X|Not-T), P(T|X)
P(X|T) : Probabilitas bahwa foto sinar X dari orang TBC adalah positif
P(X|Not-T) : Probabilitas bahwa foto sinar X dari orang sehat adalah positif
P(T|X) : Probabilitas bahwa seorang dengan foto sinar X positif terkena
TBC
 Diberikan data : P(X|T) = 0,9;
P(X|Not-T)=0,01
Carilah P(T|X)
Jawab :

P (T ) P( X | T )
PT | X  
P(T ) P ( X | T )  P ( Not  T ) P ( X | Not  T )
(0,02)(0,90)
  0,648
(0,02)(0,9)  (0,98)(0,01)
IV. 2. Tabel Keputusan
(Decision table) dan Pohon Keputusan (Decision Tree)

Tabel Keputusan untuk seleksi tugas


Aksi
Tugas I Tugas 2 Tugas 3
Kejadian Long Medium Short Long Medium Short Long Medium Short
Hujan I I U I U D I I U
Tidak Hujan I D D U D D U U U

I = Increased duration, D = Decreased duration, U = Unchanged duration


AKSI OUTCOME KEJADIAN KONSEKUENSI

hujan Increased duration (0,2275)


0,35
0,65
Tidak hujan Increased duration (0,4225)
long
0,65
medium hujan
0,30 0,35 Increased duration (0,1050)
1,0
0,65
Tidak hujan decreased duration (0,1950)

short
0,05 hujan
0,35 unchanged duration (0,0175)
0,65
Tidak hujan decreased duration (0,0325)

Tugas 1
hujan Increased duration (0,1120)
0,35
0,65 unchanged duration (0,2080)
long Tidak hujan
0,32
medium hujan
Tugas 2
0,41 0,35 unchanged duration (0,1435) 1,0
0,65
Tidak hujan decreased duration (0,2665)

short
0,27 hujan decreased duration (0,0945)
0,35
0,65
Tidak hujan decreased duration (0,1755)

hujan Increased duration (0,0350)


Tugas 3
unchanged duration (0,0650)
Tidak hujan
long
hujan
medium Increased duration (0,2100)
1,0
unchanged duration (0,3900)
Tidak hujan
short
hujan
unchanged duration (0,1050)

unchanged duration (0,1950)


Tidak hujan
IV.3. Certainty Factor
 Certainty Factor (CF) atau Confident Factor digunakan untuk
menentukan ketidakpastian pada metoda heuristik dengan
menetapkan nilai secara heuristik antara –1 sampai 1.
 Digunakan pada RULE dengan aturan :
- CF dari conjunction (AND) dari beberapa fakta diambil
CF yang minimum
- CF dari disjunction (OR) dari beberapa fakta diambil
CF maksimum
- CF dari kesimpulan yang diperoleh dari hasil kali CF
masing-masing premisenya
Contoh :
Rule 1 : IF A and B and C, THEN simpulkan D (CF=0.8)
Rule 2 : IF H and I and J, THEN simpulkan D (CF=0,7)
 Jika CF dari A, B, C, H, I, J adalah 0,7; 0,3; 0,5; 0,8; 0,7; 0,9 maka CF dari
komputasi untuk D adalah 0,49
 Dari Rule 1 :
Min[CF(A), CF(B), CF(C)] = Min[0,7;0,3;0,5]=0,3
CF(D) pada Rule 1 = Min[CF(A), CF(B), CF(C)] (Rule 1
CF)
= (0,3)(0,8) = 0,24
 Dari Rule 2 :
Min[CF(H), CF(I), CF(J)] = Min[0,8;0,7;0,9]=0,7
CF(D) pada Rule 2 = Min[CF(H), CF(I), CF(J)] (Rule 2
CF)
= (0,7)(0,7) = 0,49
 Kombinasi Rule
CF(D) = Max [CF(D)1; CF(D)2] = 0,49
IV. 4. Logika Fuzzy (1965, Zadeh)
 Logika Fuzzy memberikan nilai Contoh Fuzzy untuk
antara 0 dan 1, nilai ini disebut
Fungsi Keanggotaan Fuzzy (Fuzzy prestasi akademik
Membership Function) atau Derajat
1.0
Keanggotaan Fuzzy 0.99

 Setiap jenis pengelompokkan (kelas) 0.9

Derajat Keanggotaan Fuzzy


memiliki nilai keanggotaan yang Agak
Tinggi
kontinu. Masing-masing kelas
perbedaannya juga tidak jelas
(Fuzzy) misal kelas barang yang baik
dan sangat baik. Tinggi

0.7 Sangat
Tinggi

0
2.0 3,6 4.0

IPK
Matematika Fuzzy
 Misalkan A adalah himpunan obyek pada ruang sampel X.
Didefinisikan X = x1, x2, …, xn
 Himpunan A sebagai himpunan Fuzzy dapat dinyatakan dengan kombinasi
linier
A = u1(x1), u2(x2), … , un(xn)
ui adalah derajat keanggotaan xi di dalam A
atau dapat juga dituliskan himpunan A di dalam X
adalah A = {x, ua(x)} , x X


Contoh himpuan Fuzzy untuk A={BAIK}

Derajat
Kekasaran keanggotaan di
Permukaan dalam
(x) himpunan BAIK
ua(x))
1,00 0,95
5,20 0,88
10,50 0,70
… …
35,00 0,10
45,00 0,05
50,00 0,00
Operasi pada himpunan Fuzzy

 Misal terdapat himpunan Fuzzy : A, B, C, dan D yang berada pada


himpunan semesta X. Maka operasi yang ada :
 Equality (Kesamaan):
A=B jika dan hanya jika
 Containment (Himpunan bagian) :
jika dan hanya jika u A ( x)  u B ( x), x  X
 Intersection (irisan) :
 A B
Union (penggabungan): u A ( x)  u B ( x), x  X
 Complement : u A  B ( x)  min x (u A ( x), u B ( x))
u A B ( x)  min x u A ( x), u B ( x)
u A ( x)  1  u B ( x)

Anda mungkin juga menyukai