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
Beberapa aplikasi sistem pakar :
• Interpreting and identifying • Instructing and training
• Predicting • Controlling • Diagnosing • Monitoring • Designing • Planning
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
Kelemahan sistem pakar
• Sistem pakar biasanya dipakai hanya pada bidang tertentu sesuai dengan kepakaran • Penambahan pengetahuan baru bisa
mengubah program secara keseluruhan
• 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
Inference Engine
Working Memory
Knowledge Base Knowledge Engineers
A. Pemodelan Basis Pengetahuan
(Knowledge Base)
• Jaringan Semantik • Frame
• Script
• Rule If-then
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
Mesin dibuat Toko
Pohon Keputusan
• Merupakan jaringan semantik khusus yang penalarannya dimulai dari atas puncak
A
B C
D E
F
A: Apakah anda sakit
B: Apakah sakitnya di tulang C: Jika sehat apakah sering cek kesehatan
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
Contoh Frame
Gear
Script
• Representasi pengetahuan yang berupa skenario atau urutan kejadian
• Komponen script: - Kondisi masukan
- Hasil yang diinginkan - Aturan
- Urutan peristiwa • Contoh Script:
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
Latihan
• Cobalah buat Rule dari semantik berikut:
A
B C
H E
D
F G I
K L M N
y
y
y
y
y y
y y
y t
t
t
t t t
t t
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
Penggabungan Frame dengan Rule
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
PARMS : PARMS :
SUBFRAME ROOT FRAME
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:
: Alison suka wafel atau Alison makan wafel : Alison suka wafel dan Alison makan wafel : Alison tidak makan wafel
: If Alison suka wafel maka Alison makan
Q
P
Q
P
Q
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) terbang(X)
Terdapat beberapa burung yang tidak bisa terbang • 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)
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
Contoh Forward Chaining
System
Terdapat beberapa Rule 1. IF (kuliah X)
AND (ikut praktikum X)
THEN ADD (kerja lembur X) 2. IF (bulan februari)
THEN ADD (kuliah alison) 3. IF (bulan februari)
THEN ADD (ikut praktikum X) 4. IF (kerja lembur X)
OR (kurang tidur X)
THEN ADD (bad-mood X) 5. IF (bad-mood X)
THEN DELETE (gembira X) 6. IF (kuliah X)
THEN DELETE (mencari X)
Misal di memory ada
(bulan februari)
(gembira alison)
(mencari alison)
Dari RULE 2 dan 3
(kuliah alison)
Dari rule 3 dan 1
(kerja lembur alison) (ikut praktikum alison) (kuliah alison)
(bulan februari) (gembira alison) (mencari alison)
Dari rule 4 dan 6
kemudian 5
(bad mood alison)
(kerja lembur alison)
(ikut praktikum alison)
(kuliah alison)
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
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
Goal State
Pemrograman sistem pakar
• Sekuensial
Pemrograman yang berurutan • Rekursif
Pemrograman dengan memanggil berulang terhadap dirinya untuk menentukan
• 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
Teko A Teko B Air tak terbatas
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
• 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
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
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.
• 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
B 1 B
2
B 3 B 4
B 5 B k B n
IV. 2. Tabel Keputusan
(Decision table) dan Pohon Keputusan (Decision Tree)
Tabel Keputusan untuk seleksi tugas
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 Kejadian
Tugas I Tugas 2 Tugas 3
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
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
IV. 4. Logika Fuzzy (1965, Zadeh)
• Logika Fuzzy memberikan nilai antara 0 dan 1, nilai ini disebut Fungsi Keanggotaan Fuzzy
(Fuzzy Membership Function) atau Derajat Keanggotaan Fuzzy • Setiap jenis pengelompokkan
(kelas) memiliki nilai
keanggotaan yang kontinu. Masing-masing kelas
perbedaannya juga tidak jelas (Fuzzy) misal kelas barang yang baik dan sangat baik.
Agak Tinggi Tinggi Sangat Tinggi De raja t Ke ang got aan Fu zzy 1.0 0 2.0 4.0 IPK 3,6 0.99 0.9 0.7
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
Kekasaran Permukaan
(x)
Derajat keanggotaan di
dalam
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
• Intersection (irisan) : • Union (penggabungan): • Complement :
X
x
x
u
x
u
A(
)
B(
),
B
A
u
A(
x
)
u
B(
x
),
x
X
))
(
),
(
(
min
)
(
x
u
x
u
x
u
A B
x A B
(
),
(
)
min
)
(
x
u
x
u
x
u
A B
x A B)
(
1
)