Artificial Intelligence
1
Pendahuluan Definisi Sistem Pakar • Sistem Pakar merupakan aplikasi dari Artificial Intelligence pada satu bidang tertentu. (Giarrataro, 1994) . • Turban (1992), E.T. Keravnov.L. J, (1986) dan F.H. Roth et at (1983) menyebut sebagai program komputer yang dirancang untuk menyelesaikan suatu masalah yang memiliki kemampuan mirip seorang pakar (human expert) 2
1
Definisi Sistem Pakar (Lanjutan) • Sistem Pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seoarang pakar. [Giarratano & Riley] • Sistem Pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. [Ignizio] • Sistem Pakar adalah suatu program komputer yangdirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. [Durkin] 3
Contoh Sistem Pakar • MYCIN – Sistem Pakar untuk diagnosa infeksi darah – Dapat memberikan anjuran sembuh – Memiliki 500 aturan heuristik • DENDRAL (Identifikasi struktur molekular campuran yang tidak dikenal) • PROSPECTOR (Analisis data berhubungan geologi untuk mineral) • FOLIO (Membantu memberikan keputusan bagi seorang manager dalam hal stock broker dan investasi) 4
2
Contoh Sistem Pakar (lanjutan) • Aplikasi Sistem Pakar: Infeksi Sistem Gastro-usus (Miswan Surip, 2000) • Aplikasi Sistem Pakar: Sistem Pakar Pasca Pembedahan (POEMS) • Sistem Pakar untukm diagnosa penyakit THT. [Sri Kusumadewi, 2003] • Sistem Pakar Konselor Perkawinan. [David Carlson, 1999] • dll. 5
Prinsip Dasar Pengembangan Sistem Pakar
Expertise Knowledge Base Facts / Information Inference Engine Expertise 6
3
APAKAH KNOWLEDGE BASE ITU ? • KNOWLEDGE BASE adalah bagian dari sistem pakar yang berisi domain pengetahuan • Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan dan menyelesaikan masalah. • Terdiri dari 2 elemen dasar: – Fakta, situasi masalah dan teori yang terkait – Heuristik khusus atau rules, yang langsung menggunakan pengetahuan untuk penyelesaikan masalah khusus • Data + processing = information • Information + processing (pengalaman, training, dll) = knowledge 7
INFERENCE ENGINE
• Inference Engine merupakan mesin penyimpul, yang didasarkan atas fakta-fakta yang diberikan oleh user, dan dihubungkan dengan "knowledge base" yang ada • Proses berpikir pada manusia dimodelkan dalam sistem pakar pada modul yang disebut Inference Engine.
8
4
APAKAH PAKAR (EXPERT) ITU ? • Seorang pakar (expert) adalah seorang individu yang memiliki kemampuan pemahaman yang superior dari suatu masalah. Misalnya: seorang dokter, penasehat keuangan, pakar mesin mobil, dll. • Kemampuan kepakaran: – Dapat mengenali (recognizing) dan merumuskan masalah – Menyelesaikan masalah dengan cepat dan tepat – Menjelaskan solusi – Belajar dari pengalaman – Restrukturisasi pengetahuan – Menentukan relevansi/hubungan – Memahami batas kemampuan
9
APAKAH KEPAKARAN (EXPERTISE) ITU?
• Pemahaman yang luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan, membaca dan pengalaman. • Jenis-jenis pengetahuan yang dimiliki dalam kepakaran: – Teori-teori dari permasalahan – Aturan dan prosedur yang mengacu pada area permasalahan – Aturan (heuristik) yang harus dikerj akan pada situasi yang terjadi – Strategi global untuk menyelesaikan berbagai jenis masalah – Fakta-fakta 10
5
Problem Solving: Human Expert Vs Expert System
11
Ahli (Human Expert) Vs Sistem Pakar (ES) Faktor Time Availability Geografis Keamanan Perishable/ Dapat habis Performansi Kecepatan Biaya
Human Expert Hari Kerja Lokal/tertentu Tidak tergantikan Ya Variabel variabel Tinggi
Expert System Setiap saat Dimana saja Dapat diganti Tidak Konsisten Konsisten & lebih cepat terjangkau
12
6
Sistem Konvensional Vs Sistem Pakar
13
Keuntungan Sistem Pakar • • •
• •
Increased Availability. Sistem pakar merupakan produksi expertise massa. Reduced danger Expert sistem dapat digunakan dalam lingkungan yang berbahaya bagi manusia. Permanence. Expertise adalah permanen. Tidak seperti manusia ahli yang mungkin memperhatikan, diam atau mati, pengetahuan sistem pakar akan berakhir secara tidak tentu. Multiple expertise Pengetahuan multiple expert dapat dibuat secara simultan dan kontinue pada suatu masalah di waktu siang hari atau malam hari. Increased reliability Expert sistem meningkatkan kepercayaan dimana keputusan yang benar dibuat dengan penyediaan pendapat kedua manusia ahli atau dalam hal ketidaksetujuan oleh manusia ahli multiple. Expert sistem harus selalu setuju dengan expert, kecuali jika kesalahan dibuat oleh expert. 14
7
Keuntungan Sistem Pakar (lanjutan) •
•
•
•
Explanation Expert sistem dapat secara eksplisit menjelaskan secara detail pemberian alasan yang menuntun ke kesimpulan. Fast response Respon yang cepat atau waktu riil mungkin diperlukan untuk beberapa aplikasi. Tergantung pada software dan hardware yang digunakan, sistem pakar mungkin merespon lebih cepat dan lebih tersedia dibandingkan dengan manusia ahli. Steady, unemotional, and complete response at all time Ini mungkin sangat penting dalam waktu riil dan situasi mendesak jika manusia ahli tidak beroperasi secara efisien karena stress atau kelelahan. Intelligent tutor Expert sistem beraksi seperti tutor intelligent dengan seseorang yang menjalankan contoh program dan menjelaskan pemberian alasan 15 sistem.
Kelemahan Sistem Pakar • Tidak ada jaminan bahwa sistem pakar memuat 100 % kepakaran yang diperlukan • Pengembangan Sistem pakar tergantung ada tidaknya pakar dibidangnya sehingga pengembangannya dapat terkendala • Biaya untuk mendesain, mengimplementasikan dan memeliharanya dapat sangat mahal tergantung seberapa lengkap dan kemampuannya. 16
8
Komponen Sistem Pakar Knowledge Base
Domain Knowledge
User
Inference Engine
Case Facts Conclusion
Database Case / Inferred Facts Conclusion
Komponen Sistem Pakar ( Turban, 1992 ) 17
Basis Pengetahuan • Basis pengetahuan ini merupakan representasi pengetahuan (Knowledge Representation) dari seorang pakar • Contoh sebuah sistem pakar yang berfungsi untuk mengidentifikasikan salah satu dari silsilah anggota sebuah keluarga mempunyai basis pengetahuan: Achmad bercirikan: Anak dari Sugeng Saudara Kandung dari Anang Ayah dari Dada dan Ineke Anang bercirikan: Anak dari Sugeng Saudara kandung dari Achmad Ayah dari Suplo dan Cuplis.
18
9
Basis Data (Database) • Basis data adalah bagian yang mengandung semua fakta-fakta, baik fakta awal pada saat sistem mulai beroperasi maupun fakta-fakta pada saat pengambilan kesimpulan sedang dilaksanakan. • Dalam prakteknya, basis data berada dalam memory kerja (working memory) • Sistem pakar mengandung basis data untuk menyimpan data hasil observasi dan data lainnya yang dibutuhkan selama pengolahan
19
Mesin Inferensi (Inference Engine) • Mesin Inference adalah bagian yang menyediakan mekanisme fungsi berfikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. • Mesin Inferensi akan dimulai pelacaknya dengan mencocokkan kaidah-kaidah dalam basis pengetahuan (Knowledge Base) dengan faktafakta dalam basis data
• Contoh teknik inferensi – Pelacakan ke belakang (Backward Chaining) – pelacakan ke depan (Forward Chaining) 20
10
Methods of Reasoning : with Rules Backward Chaining Penalaran Menggunakan Aturan (Rules) - Backward Chaining Disebut juga pendekatan goal-driven. Inferensi diawali dari tujuan atau hipotesis (bagian THEN), kemudian dicocokkan dengan fakta-fakta yang ada (keadaan yang diketahui). Contoh : Keputusan Berinvestasi. Variabel-variabel : A = $10,000 D = Pendapatan minimal $40,000 B = Umur kurang dari 30 tahun E = Investasi di sekuritas C = Pendidikan Sarjana F = Investasi di bursa saham G = Investasi di saham IBM Setiap variabel bernilai True (Yes) atau False (No) Fakta : Diasumsikan, seorang investor memiliki dana $10,000 (A True) dan dia berumur 25 tahun (B true). Dia membutuhkan petunjuk apakah dia akan menginvestasikan dananya di saham IBM ? (Yes atau No sebagai tujuan)
Methods of Reasoning : with Rules Backward Chaining Rules : Diasumsikan, kita mempunyai knowledge base yang berisi 5 rule : R1 : Jika seseorang mempunyai dana $10,000 dan dia sarjana maka orang tersebut akan berinvestasi di sekuritas R2 : Jika seseorang mempunyai pendapatan minimal $40,000 dan dia sarjana maka orang tersebut akan berinvestasi di bursa saham R3 : Jika seseorang berumur kurang dari 30 tahun dan jika dia berinvestasi di sekuritas maka orang tersebut akan berinvestasi di bursa saham R4 : Jika seseorang berumur kurang dari 30 tahun maka dia berpendidikan sarjana R5 : Jika seseorang ingin berinvestasi di bursa saham maka saham tersebut adalah saham IBM Dapat ditulis sebagai : Fakta : A True Rules : R1 : IF A and C THEN E B True R2 : IF D and C THEN F R3 : IF B and E THEN F R4 : IF B THEN C R5 : IF F THEN G
Goal : Accept or Reject G
11
Methods of Reasoning : with Rules Backward Chaining • Starting point : Backward chaining dimulai dari mengecek rule yang memuat goal (G) pada konklusinya. Karena hanya rule R5 yang memuat konklusi G maka inferensi dimulai dari R5. • Step 1 : Accept or reject G ? No conclusion, we have A true and B true. • Step 2 : R5 : IF F THEN G Tidak diketahui apakah F True atau False. F adalah premis dari R5, tetapi F konklusi dari R2 dan R3. Maka test nilai F dilakukan pada R2 atau R3. • Step 3 : R2 : IF D and C THEN F Jika D dan C keduanya True maka F bernilai True. Masalahnya, D bukan fakta dan juga bukan konklusi. Proses buntu, beralih ke R3 (backtracking) • Step 4 : R3 : IF B and E THEN F B True (fakta). Untuk test E, menuju ke R1 dimana E sebagai konklusi. • Step 5 : R1 : IF A and C THEN E A True (fakta). Untuk test C, menuju ke R4 dimana C sebagai konklusi. • Step 6 : R4 : IF B THEN C Karena B True (fakta) maka C bernilai True. Ambil C sebagai fakta baru. • Step 7 : Jika C True maka E True (R1), sehingga dari R3 maka F True dan akhirnya G True
Jadi orang tersebut dapat menginvestasikan modalnya di saham IBM
Methods of Reasoning : with Rules Backward Chaining
12
• Backward Chaining (Contoh Sederhana) 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 Fakta : dolar turun Tujuan : Beli obligasi atau tidak ? beli obligasi
harga obligasi turun
R6
R2
suku bunga naik
R5
dolar turun
Karena sesuai dengan fakta, maka keputusannya adalah membeli obligasi.
Methods of Reasoning : with Rules Forward Chaining - Forward Chaining (Penalaran Maju) Pendekatan data-driven. Inferensi diawali dari fakta-fakta yang ada/keadaan awal (bagian IF), kemudian mencoba melakukan konklusi menggunakan aturan. Komputer menganalisis masalah dengan melihat fakta-fakta yang cocok dengan aturan (rules). Contoh : Keputusan Berinvestasi. Persoalan, fakta dan tujuan sama dengan sebelumnya.
Fakta : A True B True
Rules : R1 : IF A and C THEN E R2 : IF D and C THEN F R3 : IF B and E THEN F R4 : IF B THEN C R5 : IF F THEN G
Goal : Accept or Reject G
13
Methods of Reasoning : with Rules Forward Chaining • Starting point : Diketahui A dan B True. Inferensi dapat dimulai dari salah satu fakta, misal A. Cari rule yang mengandung A pada anteseden (premis). Hanya R1 yang dijumpai. • Step 1 : R1 : IF A and C THEN E Sistem melakukan verifikasi E, tetapi diperlukan informasi nilai C. Sistem akan mencari rule yang mengandung konklusi C, yaitu R4. • Step 2 : R4 : IF B THEN C Karena B True (fakta) maka C bernilai True. • Step 3 : R1 : IF A and C THEN E Karena A dan C True maka E True. Proses menuju R3 dimana E sebagai premis. • Step 4 : R3 : IF B and E THEN F B True (fakta) dan E True maka F True. Proses menuju ke R5 dimana F sebagai premis. • Step 5 : R5 : IF F THEN G Karena F True maka G True.
Sistem AI merekomendasikan orang tersebut untuk menginvestasikan modalnya di saham IBM
• Forward Chaining (Contoh Sederhana) 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 Fakta : dolar turun Tujuan : Beli obligasi atau tidak ?
dolar turun
suku bunga naik
R5
R2
harga obligasi turun
R6
beli obligasi
Karena fakta yang ada membawa ke tercapainya tujuan, maka keputusannya adalah membeli obligasi.
14
Methods of Reasoning : with Rules Forward Chaining • Faktor-faktor yang mempengaruhi pemilihan backward/forward chaining • Banyaknya keadaan awal dan tujuan. Jika jumlah keadaan awal lebih kecil dari tujuan lebih baik gunakan forward. Sebailknya, jika jumlah keadaan awal lebih besar dari tujuan maka lebih baik gunakan backward. • Bentuk kejadian yang memicu penyelesaian masalah. Jika kejadian berupa fakta baru, lebih baik digunakan forward. Sebaliknya, jika kejadian berupa query, lebih baik digunakan backward.
Antar Muka Pemakai (User Interface) • Antar muka pemakai (User Interface) adalah bagian penghubung antara program sistem pakar dengan pemakai. • Pada bagian ini, akan terjadi dialog antara program dan pemakai. • Program akan mengajukan pertanyaan-pertanyaan berbentuk "ya atau tidak” atau berbentuk menu pilihan.
30
15
Permasalahan yang Disentuh oleh Sistem Pakar 1. Interpretasi Membuat kesimpulan atau deskripsi dari sekumpulan data mentah 2. Prediksi Memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi tertentu 3. Diagnosis Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati 4. Desain Menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu 5. Perencanaan Merencanakan serangkaian tindakan yang akan dapat 31 mencapai sejumlah tujuan dengan kondisi awal tertentu
Permasalahan yang Disentuh oleh Sistem Pakar
7. Debugging dan Repair Menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi. 8. Instruksi Mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subyek 9. Selection Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan 10. Monitoring Membandingkan hasil pengamatan dengan kondisi yang diharapkan 32
16
Tiga Pemain Utama dalam Suatu Proyek Sistem Pakar 1. Domain Expert o Orang yang memiliki ketrampilan ( skill) dan pengetahuan (knowledge) untuk menyelesaikan masalah khusus dengan cara-cara yang superior dibanding orang kebanyakan. o Memiliki pengetahuan kepakaran o Memiliki ketrampilan problem-solving yang efisien o Dapat mengkomunikasikan pengetahuan o Dapat menyediakan waktu o Dapat bekerja sama
33
Tiga Pemain Utama dalam Suatu Proyek Sistem Pakar (lanjutan)
2. Knowledge Engineer o Orang yang melakukan proses disain, mengembangkan dan menguji suatu sistem pakar o Memiliki ketrampilan rekayasa pengetahuan (knowledge engineering) o Memiliki ketrampilan komunikasi yang baik o Dapat menyesuaikan masalah kepada software o Memiliki ketrampilan pemrograman sistem pakar
34
17
Tiga Pemain Utama dalam Suatu Proyek Sistem Pakar (lanjutan) 3. End-User o Dapat membantu mendefinisikan spesifikasi interface o Dapat membantu proses akuisisi pengetahuan o Dapat membantu proses pengembangan sistem o Tipe pemakai: • Pemakai awam, mencari saran. Dalam hal ini sistem pakar bertindak sebagai konsultan • Pelajar yang ingin belajar. Dalam hal ini sistem pakar bertindak sebagai instruktur. • Pembuat sistem pakar yang terlibat atau ingin mengembangkan basis pengetahuan. Dalam hal ini sistem pakar bertindak sebagi partner. • Pakar. Dalam hal ini sistem pakar bertindak sebagai kolega. 35
18