(expert system)
SISTEM PAKAR
Kepakaran (Expertise)
Kepakaran merupakan suatu pengetahuan yang diperoleh
dari pelatihan, membaca dan pengalaman.
Sistem pakar :
• simulasi pakar : pengetahuan dan penalaran merupakan sistem
komputer yang meniru kemampuan
• pengambilan keputusan pakar pada domain tertentu
Expert
•Memiliki pengetahuan atau cara menyelesaikan masalah
Knowledge Engineer
•Mendapatkan pengetahuan dari pakar
•Memindahkan pengetahuan ke komputer
User
•Pemakai bukan pakar
•Orang awam
•Knowledge engineer
•Pakar
STRUKTUR SISTEM PAKAR
KOMPONEN SISTEM PAKAR
8. Pengguna (User)
Pada umumnya pengguna sistem pakar bukanlah seorang pakar yang
membutuhkan solusi, saran atau pelatihan dari berbagai permasalahan.
RULE SEBAGAI TEKNIK REPRESENTASI PENGETAHUAN
• Penalaran berbasis aturan (rule-based reasoning)
– Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan
menggunakan aturan berbentuk IF disebut Evidence (Fakta) dan THEN disebut
Hipotesa (Kesimpulan)
Ini berarti kedua fakta itu tersimpan di dalam memori kerja. Ingin dibuktikan apakah
fakta “Toyes belajar di kampus POLINES” dan “Sylvi tidak kuliah” bernilai benar.
Iterasi ke-1
Fakta “Toyes Kuliah”, memicu rule ke-2
IF (Toyes kuliah) THEN (Sylvi kuliah)
Fakta:
Hari senin (bukan hari minggu)
Toyes Kuliah
Fakta Baru:
Sylvi kuliah
Fakta “Hari senin” memicu rule ke-4
IF (Bukan hari minggu) THEN (Mahasiswa POLINES kuliah)
Fakta:
Hari senin (bukan hari minggu)
Toyes Kuliah)
Fakta Baru:
Sylvi kuliah
Mahasiswa POLINES kuliah
Rule ke-
1. IF (Bukan hari minggu) AND (Toyes sehat) THEN (Toyes kuliah)
2. IF (Toyes kuliah) THEN (Sylvi kuliah)
3. IF (Bukan hari minggu) AND (Toyes sakit) THEN (Toyes di rumah sakit)
4. IF (Bukan hari minggu) THEN (Mahasiswa POLINES kuliah)
5. IF (Toyes di rumah sakit) AND (Mahasiswa POLINES kuliah) THEN (Sylvi kuliah)
6. IF (Mahasiswa POLINES kuliah) AND (Toyes sakit) THEN (Sylvi tidak kuliah)
7. IF (Toyes kuliah) AND (Sylvi tidak kuliah) THEN (Sylvi sakit)
8. IF (Bukan hari Minggu) AND (Sylvi sakit) THEN (Kuliah tidak libur)
9. IF (Mahasiswa POLINES kuliah) THEN (Kuliah tidak libur)
10. IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Iterasi ke-2
Fakta baru “Mahasiswa POLINES kuliah”, memicu rule ke-9
IF (Mahasiswa POLINES kuliah) THEN (Kuliah tidak libur)
Fakta:
Hari senin (bukan hari minggu)
Toyes Kuliah
Fakta Baru:
Sylvi kuliah
Mahasiswa POLINES kuliah
kuliah tidak libur
Rule ke-
1. IF (Bukan hari minggu) AND (Toyes sehat) THEN (Toyes kuliah)
2. IF (Toyes kuliah) THEN (Sylvi kuliah)
3. IF (Bukan hari minggu) AND (Toyes sakit) THEN (Toyes di rumah sakit)
4. IF (Bukan hari minggu) THEN (Mahasiswa POLINES kuliah)
5. IF (Toyes di rumah sakit) AND (Mahasiswa POLINES kuliah) THEN (Sylvi kuliah)
6. IF (Mahasiswa POLINES kuliah) AND (Toyes sakit) THEN (Sylvi tidak kuliah)
7. IF (Toyes kuliah) AND (Sylvi tidak kuliah) THEN (Sylvi sakit)
8. IF (Bukan hari Minggu) AND (Sylvi sakit) THEN (Kuliah tidak libur)
9. IF (Mahasiswa POLINES kuliah) THEN (Kuliah tidak libur)
10. IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Iterasi ke-3
Fakta baru “Kuliah tidak libur”, memicu rule ke-10
IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Fakta:
Hari senin (bukan hari minggu)
Toyes Kuliah
Fakta Baru:
Sylvi kuliah
Mahasiswa POLINES kuliah
Kuliah tidak libur
Toyes belajar di kampus POLINES
Rule ke-
1. IF (Bukan hari minggu) AND (Toyes sehat) THEN (Toyes kuliah)
2. IF (Toyes kuliah) THEN (Sylvi kuliah)
3. IF (Bukan hari minggu) AND (Toyes sakit) THEN (Toyes di rumah sakit)
4. IF (Bukan hari minggu) THEN (Mahasiswa POLINES kuliah)
5. IF (Toyes di rumah sakit) AND (Mahasiswa POLINES kuliah) THEN (Sylvi kuliah)
6. IF (Mahasiswa POLINES kuliah) AND (Toyes sakit) THEN (Sylvi tidak kuliah)
7. IF (Toyes kuliah) AND (Sylvi tidak kuliah) THEN (Sylvi sakit)
8. IF (Bukan hari Minggu) AND (Sylvi sakit) THEN (Kuliah tidak libur)
9. IF (Mahasiswa POLINES kuliah) THEN (Kuliah tidak libur)
10. IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Sampai di sini, fakta-fakta yang ada pada memori kerja sudah tidak bisa digunakan
untuk memicu rule-rule lagi sehingga proses dihentikan dan diperoleh kesimpulan-
kesimpulan berupa fakta-fakta yang bernilai benar yang terdapat dalam memori kerja.
Oleh karena fakta “Toyes belajar di kampus POLINES” terdapat dalam memori kerja,
maka terbukti bahwa fakta tersebut bernilai benar. Sedangkan fakta “Sylvi tidak
kuliah” bernilai salah.
Contoh Suku Bunga
• Contoh :
• 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 sebagai berikut :
Contoh Suku Bunga
Forward Chaining
• Dari fakta dolar turun, berdasarkan Rule 5, diperoleh konklusi suku
bunga naik.
• Dari Rule 2 suku bunga naik menyebabkan harga obligasi turun.
• Dengan Rule 6, jika harga obligasi turun, maka kesimpulan yang
diambil adalah membeli obligasi.
dolar turun
R5
R2
R6
beli obligasi
Contoh Suku Bunga
Backward Chaining
• Dari solusi yaitu membeli obligasi, dengan menggunakan Rule 6
diperoleh anteseden harga obligasi turun.
• Dari Rule 2 dibuktikan harga obligasi turun bernilai benar jika suku
bunga naik bernilai benar .
• Dari Rule 5 suku bunga naik bernilai memang bernilai benar karena
diketahui fakta dolar turun.
dolar turun
R5
R2
R6
beli obligasi
Contoh Gejala Sakit (Forward)
Misalkan diketahui sistem pakar menggunakan 5 buah Rule
berikut :
Fakta-fakta Gejala :
Muntah, Panas, Keringat Dingin, Pilek, dan Pusing
Goal : sakit apa ini ?
Contoh Gejala Sakit (Forward)
Iterasi 1
• R1 belum dpt dipakai krn tdk ada fakta batuk
• R2 belum dpt dipakai krn tdk ada fakta mual
• R3 didapat fakta baru : mual
• R4 didapat fakta baru : demam
• R5 belum dpt dipakai krn tdk ada fakta batuk
Contoh Gejala Sakit (Forward)
Iterasi 2
• R1 belum dpt dipakai krn tdk ada fakta batuk
• R2 didapat fakta baru : Masuk Angin
• R3 didapat fakta baru : mual
• R4 didapat fakta baru : demam
• R5 belum dpt dipakai krn tdk ada fakta batuk
Contoh Gejala Sakit (Forward)
Kesimpulan :
Pasien mengalami penyakit Mual, Demam dan
Masuk Angin.
Saran :
Segera ke Poliklinik Polines.
TEKNIK INFERENSI BACKWARD CHAINING
• Backward Chaining: metode inferensi yang bekerja mundur ke arah kondisi awal.
Proses diawali dari Goal (yang berada di bagian THEN dari rule IF-THEN), kemudian
pencarian mulai dijalankan untuk mencocokkan apakah fakta-fakta yang ada cocok
dengan premis-premis di bagian IF. Jika cocok, rule dieksekusi, kemudian hipotesis
di bagian THEN ditempatkan di basis data sebagai fakta baru. Jika tidak cocok,
simpan premis di bagian IF ke dalam stack sebagai subGoal. Proses berakhir jika
Goal ditemukan atau tidak ada rule yang bisa membuktikan kebenaran dari
subGoal atau Goal
Ini berarti kedua fakta itu tersimpan di dalam memori kerja. Ingin dibuktikan apakah
fakta “Toyes belajar di kampus POLINES” bernilai benar.
Iterasi ke-1
Goal:
“Toyes belajar di kampus POLINES”
Basis data:
Hari senin (bukan hari minggu)
Toyes Kuliah
Stack:
“Toyes belajar di kampus POLINES”
Sistem pakar berusaha menelusuri rule-rule dari bagian THEN, yang dimulai dari rule
ke-1 sampai dengan rule ke-10 untuk menemukan fakta baru “Hari senin” atau “Toyes
Kuliah”
Dari rule-rule tersebut, bagian THEN yang sama dengan hipotesis “Toyes belajar di
kampus POLINES” adalah rule ke-10, yaitu:
IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Fakta ini tidak ada di dalam basis data, simpan ke dalam stack sebagai subGoal.
Iterasi ke-2
SubGoal:
“Kuliah tidak libur”
Basis data:
Hari senin (bukan hari minggu)
Toyes Kuliah
Stack:
“Kuliah tidak libur”
“Toyes belajar di kampus POLINES”
Dari rule-rule tersebut, bagian THEN yang sama dengan hipotesis “Kuliah tidak libur”
adalah rule ke-9, yaitu:
IF (Mahasiswa POLINES kuliah) THEN (Kuliah tidak libur)
Fakta ini tidak ada di dalam basis data, simpan ke dalam stack sebagai subGoal.
Iterasi ke-3
SubGoal:
“Mahasiswa POLINES kuliah”
Basis data:
Hari senin (bukan hari minggu)
Toyes Kuliah
Stack:
“Mahasiswa POLINES kuliah”
“Kuliah tidak libur”
“Toyes belajar di kampus POLINES”
Dari rule-rule tersebut, bagian THEN yang sama dengan hipotesis “Kuliah tidak libur”
adalah rule ke-4, yaitu:
IF (Bukan hari minggu) THEN (Mahasiswa POLINES kuliah)
Fakta ini ada di dalam basis data, sehingga fakta “Mahasiswa POLINES kuliah” dihapus
dari stack dan dimasukkan ke dalam basis data sebagai fakta baru.
Iterasi ke-4
Basis data:
Hari senin (bukan hari minggu)
Toyes Kuliah
Fakta baru:
“Kuliah tidak libur”
“Mahasiswa POLINES kuliah”
Stack:
“Toyes belajar di kampus POLINES”
Dari rule-rule tersebut, bagian THEN yang sama dengan hipotesis “Toyes belajar di
kampus POLINES” adalah rule ke-10, yaitu:
IF (Kuliah tidak libur) THEN (Toyes belajar di kampus POLINES)
Fakta ini ada di dalam basis data, sehingga fakta “Toyes belajar di kampus POLINES”
dihapus dari stack dan dimasukkan ke dalam basis data sebagai fakta baru.
Iterasi ke-5
Basis data:
Hari senin (bukan hari minggu)
Toyes Kuliah
Fakta baru:
“Toyes belajar di kampus POLINES”
“Kuliah tidak libur”
“Mahasiswa POLINES kuliah”
Stack: kosong
Karena isi stack kosong, maka proses pencarian dihentikan. Tampak bahwa fakta
“Toyes belajar di kampus POLINES” ada di dalam basis data sebagai fakta baru.