1/5/2012
1/5/2012
Siapakah pakar/ahli n Seorang pakar atau ahli adalah: seorang
Expert System
individu yang memiliki kemampuan pemahaman superior dari suatu masalah
By: Uro Abdulrohim, S.Kom, MT
Definisi
Pakar VS Sistem Pakar
n Program komputer yang dirancang untuk
Faktor
memodelkan kemampuan penyelesaian masalah seperti layaknya seorang pakar (human expert)
Pakar
Sistem Pakar
Hari kerja
Setiap hari
Geografis
Lokal/tertentu
Dimana saja
Keamanan
Tidak tergantikan
Dapat digantikan
Dapat habis
Ya
Tidak
Performance
Variable
Konsisten
Kecepatan
Variable
Konsisten & Cepat
Tinggi
Terjangkau
Time Availability
Biaya
1
2
1/5/2012
Mengapa perlu sistem pakar
1/5/2012
Expert System Problem Solving
n Dapat menyediakan kepakaran terhadap hal
tertentu disetiap waktu dan lokasi n Mampu bekerja secara otomatis tugas-tugas rutin yang tidak dapat dipenuhi setiap saat yang tidak dapat dilakukan oleh seorang pakar n Lebih cepat, murah, efisien dan handal dalam memecahkan masalah n Dapat mengabungkan pengetahuan pakarpakar dalam sebuah sistem
Human Expert Problem Solving
Komponen Sistem pakar n Knowledge Based, berisi data,
rules, relasi antara data dan rules dalam pengambilan keputusan n Interface Engine, berfungsi untuk menganalisa data dan menarik kesimpulan berdasarkan aturan yang ada n User Interface, berfungsi sebagai alat atau media komunikasi antara pemakai dengan program
3
4
1/5/2012
1/5/2012
Basis Pengetahuan (Knowledge Base) n Definisi reasoning: proses bekerja dengan
n Basis pengetahuan tersusun atas fakta yang berupa
pengetahuan, fakta dan strategi pemecahan masalah untuk mengambil suatu keputusan (berfikir dan mengambil keputusan)
informasi tentang objek, dan kaidah kaidah yang merupakan informasi tentang cara dan bagaimana membangkitkan fakta baru dari fakta-fakta yang sudah diketahui. Basis pengetahuan merupakan prepresentasi pengetahuan seorang pakar.
n Mesin inferensi pada dasarnya memilih
pengetahuan yang relevan dalam rangka mengambil suatu kesimpulan. Mesin inferensi memulai pelacakan dengan mencocokan aturan-aturan dalam basis pengetahuan dengan fakta-fakta yang ada.
n Pengetahuan yang disimpan dalam basis
pengetahuan dibentuk dalam suatu struktur data yang khusus yang disesuaikan dengan metode inferensi yang akan dipakai
Mesin Inferensi (Inference Engine)
Inference dengan Rules
n Definisi Inferensi: proses yang digunakan sistem pakar untuk
n Inference dengan rule merupakan
menghasilkan informasi baru dari informasi yang telah diketahuinya.
implementasi dari modul komponen yang direfleksikan dalam mekanisme pencarian (Search)
n Dalam sistem pakar, proses inferensi dilakukan dalam suatu
modul yang disebut dengan inference engine n Dibuat ketika representasi pengetahuan pada knowledge base
n Ada dua metode inference dengan rule
telah lengkap atau paling tidak berda pada level yang cukup akurat. Maka representasi pengetahuan ini siap digunakan n Inference engine merupakan modul yang berisi program tentang
n
Forward Chaining à Data Driven
n
Backward chaining à Goal Driven
bagaimana mengendalikan proses reasoning
5
6
1/5/2012
1/5/2012
Backward Chaining n Firing a rule, bilamana semua hipotesis pada
n Menggunakan pendekatan goal driven,
rule (Bagian “IF”) memberikan pernyataan Benar.
dimulai dengan ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (kontradiktif) dari ekspetasi tersebut
n Dapat mengecek semua rule pada kowledge
base dalam arah forward maupun backward
n Jika suatu aplikasi menghasilkan tree yang
n Proses pencarian berlanjut sampai tidak ada
sempit dan cukup dalam maka gunakan backward chaining
rule yng dapat digunakan (fire) atau sampai sebuah tujuan (goal) tercapai
Forward Chaining
Contoh Kasus:
n Merupakan group dari multiple inferensi yang
n R1 : IF suku bunga turun THEN harga obligasi naik
melakukan pencarian dari suatu masalah kepada solusinya
n R2 : IF suku bunga naik THEN harga obligasi turun n R3 : IF suku bunga tidak berubah THEN harga
obligasi tidak berubah n Jika klausa suatu premis sesuai dengan situasi
n R4 : IF dolar naik THEN suku bunga turun
(bernilai TRUE) maka proses akan mengassert konklusi
n R5 : IF dolar turun THEN suku bunga naik n R6 : IF harga obligasi turun THEN beli obligasi
n Forward chaining adalah data driven karena
inference dimulai dengan informasi yang tersedia dan baru konklusi dipecahkan
7
8
1/5/2012
1/5/2012
Forward Chaining
Antar Muka Pemakai (User Interface)
n Dari fakta dolar turun, berdasarkan Rule 5,
n
Fungsi dari inference engine
1. 2. 3. 4. 5. 6. 7. 8.
Fire the rule Memberikan pertanyaan pada user Menambahkan jawaban pada working memori Mengambil fakta baru dari suatu rule Menambahkan fakta baru tersebut pada working memori Mencocokan fakta pada working memori dengan rule Jika ada yang cocok maka fire rule tersebut Jika ada dua rule yang cocok cek dan pilih rule mana yang menghasilkan goal yang diinginkan
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
Backward Chaining
Komponen Antarmuka Pemakai
n Dari solusi yaitu membeli obligasi, dengan
n Antarmuka pengisian tabel variabel
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
n Antarmuka pengisian tabel konklusi n Antarmuka pengisian tabel rule n Antarmuka tanya jawab
9
10
1/5/2012
1/5/2012
Entitas sistem pakar
Knowledge Engineer
n Domain Expert
n Orang yang melakukan proses design,
mengembangkan dan menguji suatu sistem pakar
n Knowledge engineer n End-user
Domain Expert
End-User
n Orang yang memiliki kemampuan dan
n Dapat membandu mendefinisikan spesifikasi
pengetahuan untuk menyelesaikan masalah khusus dengan cara-cara yang superior dibandingkan dengan orang kebanyakan
interface n Dapat membantu proses akuisisi
pengetahuan n Dapat membantu proses pengembangan sistem
11
12
1/5/2012
Perbedaan Pemrogram sistem konvensional dengan sistem pakar Pemrograman Konvensional
Pengembangan Sistem Pakar
Fokus pada solusi
Fokus pada masalah
Programmer bekerja sendirian
Hasil kerja team
sequential
Iterative
13