Sistem pakar menggunakan pengetahuan manusia yang dimasukkan ke dalam komputer untuk memecahkan masalah yang biasanya membutuhkan keahlian manusia. Terdiri dari basis pengetahuan dan mesin inferensi untuk mengambil kesimpulan berdasarkan aturan-aturan dalam basis pengetahuan."
1. Chapter - 5
Kecerdasan Buatan
Artificial Intelligence
Sistem Pakar - 1
Tb. Ai Munandar, M.T.,
Universitas Serang Raya - 2012
2. Outline
• Definisi
• Manfaat, kekurangan, ciri sistem pakar
• Area permasalahan sistem pakar
• Konsep dasar
• Struktur sistem pakar
• Tim pengembang sistem pakar
• Representasi Pengetahuan
• Teknik inferensi
3. Definisi
• Sistem pakar merupakan cabang Artificial
Intelligence dan mulai dikembangkan
pertengahan 1960.
• Pertama kali muncul SP GPS (general-purposes
problem solver) oleh Newel dan Simon, MYCIN
untuk diagnosa penyakit, DENDRAL untuk
mengidentifikasi struktur molekul campuran tak
dikenal, dll
4. Definisi
• Sistem Pakar : “sebuah sistem yang menggunakan
pengetahuan manusia dimana pengetahuan tersebut
dimasukan ke dalam sebuah komputer dan kemudian
digunakan untuk masalah-masalah yang biasanya
membutuhkan kepakaran atau keahlian manusia”
(Turban, 2001)
• Sistem Pakar : “Program komputer yang
merepresentasikan dan melakukan penalaran dengan
pengetahuan beberapa pakar untuk memecahkan
masalah atau memberikan saran” (jackson, 1999)
• Sistem Pakar : “program yang berbasiskan
pengetahuan yang menyediakan solusi ‘kualitas
pakar’ kepada masalah-masalah dalam bidang yang
spesifik” (Luger dan Stubblefield, 1993)
5. Manfaat
• Meningkatkan produktivitas dapat bekerja lebih cepat daripada manusia
• Membuat seorang awam bekerja selayaknya pakar
• Meningkatkan kualitaas mampu memberi nasehat yang konsisten dan
mengurangi kesalahan.
• Mampu menangkap pengetahuan dan kepakaran seseorang
• Dapat beroperasi dilingkungan berbahaya
• Memudahkan akses pengetahuan seorang pakar
• andal tidak pernah menjadi bosan (SP-nya), tidak pernah kelelahan atau
sakit
• Meningkatkan kapabilitas sistem komputer jika diintegrasikan dengan sistem
yang lain
• Mampu bekerja dengan informasi yang tidak lengkap dan tidak pasti.
Pengguna dapat merespons dengan : “tidak tahu” atau “tidak yakin” pada
satu atau lebih konsultasi.
• Bisa digunakan sebagai media pelengkap dalam pelatihan.
• Meningkatkan kemampuan untuk menyelesaikan masalah karena mengambil
sumber pengetahuan dari banyak pakar.
6. Kekurangan SP
• Biaya yang sangat mahal untuk membuat dan
memeliharanya
• Sulit dikembangkan karena keterbatasan keahlian
dan ketersediaan pakar
• Sistem pakar tidak 100% bernilai benar
7. Ciri-ciri SP
• Terbatas pada domani keahlian tertentu
• Dapat memberikan penalaran untuk data-data yang
tidak lengkap atau tidak pasti.
• Dapat menjelaskan alasan-alasan dengan cara yang
dapat dipahami
• Bekerja berdasarkan kaidah/rule tertentu
• Mudah dimodifikasi
• Basis pengetahuan dan mekanisme inferensi terpisah
• Keluarannya bersifat anjuran
• Sistem dapat mengaktifkan kaidah secara searah yang
sesuai, dituntun oleh dialog dengan pengguna.
8. Area Permasalahan SP
1. Interpretasi: menghasilkan deskripsi situasi berdasarkan data-data
masukan
2. Prediksi: memperkirakan akibat yang mungkin terjadi dari situasi
yang ada
3. Diagnosis : menyimpulkan suatu keadaan berdasarkan gejala-gejala
yang diberikan (symptoms)
4. Desain:melakukan perancangan berdasarkan kendala yang diberika
5. Planning : merencanakan tindakan yang akan dilakukan
6. Monitoring: membandingkan hasil pengamatan dengan proses
perencanaan
7. Debugging:menentukan penyelesaian dari suatu kesalahan sistem
8. Reparasi:melaksanakan rencana perbaikan
9. Instructio: melakukan instruksi untuk diagnosis, debugging dan
perbaikan kinerja
10. Kontrol: melakukan kontrol terhadap hasil interpretasi, diagnosis,
debungging, monitoring dan perbaikan tingkah laku sistem
9. Konsep Dasar SP
Ada 6 konsep dasar yang harus dipenuhi untuk
mengembangkan sistem pakar :
1. Kepakaran (Expertise)
2. Pakar (Expert)
3. Pemindahan Kepakaran
4. Inferensi
5. Aturan-aturan (Rule)
6. Kemampuan menjelaskan (explanantion
capability)
10. Konsep Dasar SP
1. Kepakaran (Expertise)
Kepakaran merupakan pengetahuan yang diperoleh dari
pelatihan, membaca dan pengalaman. Meliputi
pengetahuan tentang :
a. Fakta-fakta tentang bidang permasalahan tertentu
b. Teori-teori tentang bidang permasalahan tertentu
c. Aturan-aturan dan prosedur2 menurut bidang
permasalahn tertentu
d. Aturan heuristic yang harus dikerjakan dala suatu
situasi tertentu
e. Strategi global untuk memecahkan permasalahan
f. Pengetahuan tentang pengetahuan dibidang
permasalahan tertentu./
11. Konsep Dasar SP
2. Pakar (Expert)
Pakar adalah seseorang yang mempunyai pengetahuan,
pengalaman dan metode khusus, serta mampu
menerapkannya untuk memecahkan masalah atau memberi
nasehat. Seorang pakar harus mampu melakukan hal2 sbb :
a. Mengenali dan memformulasikan permasalahan
b. Memecahkan permasalahan secara tepat dan cepat
c. Menerangkan pemecahannnya
d. Belajar dari pengalaman
e. Merestrukturisasi pengetahuan
f. Memecahkan aturan-aturan
g. Menentukan relevansi
12. Konsep Dasar SP
3. Pemindahan Kepakaran (Transfering Expertise)
Kegiatan ini merupakan proses pemindahan
kepakaran seseorang ke dalam komputer, kemudian
ditransfer kepada orang lain yang bukan pakar.
Melibatkan 4 kegiatan, yaitu :
a. Akuisisi (memperoleh) pengetahuan (dari
pakar/sumber lain)
b. Representasi pengetahuan (pada komputer)
c. Inferensi pengetahuan
d. Pemindahan pengetahuan ke pengguna.
13. Konsep Dasar SP
4. Inferensi (inferencing)
Inferensi adalah sebuah prosedur (program) yang
mempunyai kemampuan dalam melakukan
penalaran.
Inferensi mencakup prosedur mengenai pemecahan
masalah.
Tugas utama : mengambil kesimpulan berdasarkan
basis pengetahuan yang dimilikinya.
14. Konsep Dasar SP
5. Aturan-aturan (Rule)
Pengetahuan berupa aturan (rule) yang digunakan
sebagai prosedur-prosedur pemecahan masalah.
6. Kemampuan Menjelaskan
Bagian ini memungkinkan sistem untuk memeriksa
penalaran yang dibuatnya sendiri dan menjelaskan
operasi-operasinya. Penjelasan berisi saran atau
rekomendasi kepada pengguna sistem pakar.
15. Struktur Sistem Pakar
Sistem Pakar memiliki dua bagian penting, yaitu :
1. Lingkungan pengembangan (development
environment) digunakan oleh pembuat sistem
pakar untuk membangun komponen-komponen dan
memperkenalkan pengetahuan ke dalam knowledge
base (basis pengetahuan)
2. Lingkungan konsultasi (consultation environment)
digunakan oleh pengguna untuk berkonsultasi
sehingga pengguna mendapatkan pengetahuan dan
nasehat dari sistem pakar seolah-olah sedang
berkonsultasi dengan pakar.
17. Struktur Sistem Pakar
1. Akuisisi Pengetahuan : digunakan untuk memasukan
pengetahuan seorang pakar dengan cara merekayasa
pengetahuan agar bisa diproses oleh komputer dan
menaruhna ke dalam basis pengetahuan dengan format
tertentu. Sumber pengetahuan : pakar, buku, dokumen
multimedia, basis data, laporan riset khusus dan
informasi yang terdapat di Web
2. Basis Pengetahuan : mengandung pengetahuan yang
diperlukan untuk memahami, memformulasikan dan
menyelesaikan masalah. Terdiri atas dua elemen dasar :
1. Fakta, misalnya situasi, kondisi atau permasalahan yang ada
2. Rule (aturan), untuk mengarahkan penggunaan pengetahuan
dalam memecahkan masalah.
18. Struktur Sistem Pakar
3. Mesin Inferensi, sebuah program yang berfungsi
untuk memandu proses penalaran terhadap
suatu kondisi berdasarkan pada basis
pengetahuan yang ada, memanipulasi dan
mengarahkan kaidah, model, dan fakta yang
disimpan dalam basis pengetahuan untuk
mencapai solusi atau kesimpulan. (Forward,
backward dan gabungan keduanya)
4. Daerah Kerja (Blackboard), untuk merekam hasil
sementara yang akan dijadikan sebagai
keputusan dan untuk menjelaskan sebuah
masalah yang sedang terjadi (berupa basis data)
19. Struktur Sistem Pakar
5. Antarmuka Pengguna (UI), media komunikasi antara
pengguna dan sistem pakar. (dalam bahasa alami,
dilengkapi grafik, menu dan formulir elektronik)
6. Subsistem Penjelasan, untuk memberikan
penjelasan kepada pengguna bagaimana suatu
kesimpulan diambil.
7. Sistem perbaikan pengetahuan, untuk menganalisis
pengetahuan, belajar dari kesalahan masa lalu,
kemudian memperbaiki pengetahuannya sehingga
dapat dipakai pada masa mendatang.
8. Pengguna (User), bukan pakar, membutuhkan solusi,
saran atau pelatihan (training) dari berbagai
permasalahan yang ada.
20. Tim Pengembang Sistem Pakar
Terdiri atas :
1. Domain Expert, pengetahuan dan kemampuan seorang pakar
untuk menyelesaikan masalah terbatas pada keahliannya saja.
Misal : pakar penyakit jantung, hanya mampu menangani
masalah-masalah yang berkaitan dengan penyakit jantung
saja.
2. Knowledge Engineer (rekayasa pengetahuan), orang yang
mampu mendesain, membangun dan menguji sebuah sistem
pakar
3. Programmer, orang yang membuat program sistem pakar,
mengkode domain pengetahuan agar dapat dimengerti oleh
komputer
4. Project Manager, pemimpin dalam tim pengembangan sistem
pakar
5. End-User, orang yang menggunakan sistem.
22. Teknik Representasi Pengetahuan
Representasi Pengetahuan pada sistem pakar secara
umum menggunakan IF THEN RULE.
Setiap rule terdiri dari dua bagian, yaitu bagian IF
disebut evidence (fakta-fakta) dan bagian THEN,
disebut hipotesis atau kesimpulan.
Syntax Rule :
If E then H
E : Evidence (fakta) yang ada
H : Hipotesis/kesimpulan yang dihasilkan
23. Teknik Representasi Pengetahuan
Jika suatu rule memiliki evidence lebih dari satu yang dihubungkan
dengan kata penghubung AND atau OR, atau kombinasi keduanya,
maka penggunaan syntax rule nya sebagai berikut :
IF (E1 AND E2 AND E3 ….. AND En) THEN H
IF (E1 OR E2 OR E3 …. OR En) THEN H
Hindari penggunaan AND dan OR secara sekaligus (gabungan) di
dalam suatu rule.
Satu evidence juga bisa mempunyai hipotesis lebih dari satu :
IF E THEN (H1 AND H2 AND H3 …. AND Hn)
24. Teknik Inferensi
• Pada sistem pakar berbasis rule, domain
pengetahuan direpresentasikan dalam sebuah
kumpulan rule berbentuk IF-THEN, sedangkan
data direpresentasikan dalam sebuah kumpulan
fakta-fakta tentang kejadian saat ini.
• Mesin inferensi membandingkan masing-masing rule
yang tersimpan dalam basis pengetahuan dengan fakta-
fakta yang terdapat dalam database.
• Jika bagian IF (kondisi) dari rule cocok dengan fakta, maka
rule di eksekusi dan bagian THEN (aksi) diletakan dalam
database sebagai fakta baru yang ditambahkan.
25. Teknik Inferensi
1. Forward Chaining
Adalah teknik pencarian yang dimulai dengan fakta yang
diketahui, kemudian mencocokan fakta-fakta tersebut
dengan bagian IF dari rules IF-THEN. Bila ada yang cocok,
maka akan dieksekusi. Metode pencarian yang digunakan
adalah Depth-First Search (DFS), Breadth First Search( BFS)
atau Best First Search (BFS)
26. Teknik Inferensi
1. Forward Chaining
Contoh :
Diketahui sistem pakar menggunakan 5 buah rule sbb :
R1 : IF (Y AND D) THEN Z
R2 : IF (X AND B AND E) THEN Y
R3 : IF A THEN X
R4 : IF C THEN L
R5 : IF (L AND M) THEN N
Fakta-fakta : A, B, C, D dan E bernilai benar
Goal : Tentukan apakah Z bernilai benar?
27. Teknik Inferensi
Penyelesaian :
Fakta : A, B, C, D dan E
-------------------------------------------
Iterasi 1 :
Fakta A memicu Rule ke 3 (R3) :
IF A Then X
Sehingga Fakta awal ditambah fakta Baru
Fakta : A, B, C, D, E
Fakta baru : X
28. Teknik Inferensi
Fakta C memicu Rule 4 (R4) :
IF C Then L
Sehingga fakta awal ditambah fakta baru menjadi :
Fakta : A, B, C, D, E
Fakta Baru : X, L
Iterasi 2:
Fakta B, E dan X memicu rule 2 (R2) :
IF (X AND B AND E) Then Y
Sehingga fakta awal ditambah fakta baru menjadi :
Fakta : A, B, C, D, E
Fakta Baru : X, L, Y
29. Teknik Inferensi
Iterasi 3 :
Fakta Y dan D memicu rule 1 (R1) :
IF (Y AND D) Then Z
Sehingga fakta awal ditambah fakta baru menjadi :
Fakta : A, B, C, D, E
Fakta Baru : X, L, Y, Z
Sampai disini proses dihentikan karena sudah tidak ada
lagi rule yang bisa dieksekusi. Hasil pencarian adalah Z
bernilai benar
30. Forward-chaining Example (A,B,C,D,
and E are given)
• If Y and D then Z
• If X and B and E then Y
• If A then X
• If C then L
• If L and M then N
A X
B Y
Z
L
C
D
E
Example from Negnevitsky
31. Teknik Inferensi
2. Backward Chaining
Adalah metode inferensi yang bekerja mundur ke arah
kondisi awal.
Proses dimulai dari Goal (Hipotesis) kemudian pencarian
mulai dijalankan untuk mencocokan apakah fakta-fakta yang
ada cocok dengan premis-premis di bagian IF atau tidak.
32. Backward Chaining Example
• If Y and D then Z
• If X and B and E then Y
• If A then X
• If C then L
• If L and M then N
A X
B Y Z
B
C
E
D D
E
33. Forward or Backward Chaining?
• Are we trying to prove a particular
hypothesis?
– Backward chaining
• Are we trying to find all possible
conclusions?
– Forward chaining
34. STUDI KASUS
• Sebuah sistem pakar memiliki 10 rule sebagai berikut :
1. IF (bukan hari minggu) AND (Ruminah Sehat( THEN (Ruminah Kuliah)
2. IF (Ruminah Kuliah) THEN (Sarmedi Kuliah)
3. IF (bukan hari minggu) AND (Ruminah Sakit) THEN (Ruminah Dirumah Sakit)
4. IF (bukan hari minggu) THEN (Mahasiswa UNSERA kuliah)
5. IF (Ruminah dirumah sakit) AND (Mahasiswa UNSERA Kuliah) THEN (Sarmedi
Kuliah)
6. IF (Mahasiswa UNSERA kuliah) AND (Ruminah Sakit) THEN (Sarmedi Tidak
Kuliah)
7. IF (Ruminah kuliah) AND (Sarmedi tidak kuliah) THEN (Kuliah Tidak Libur)
8. IF (bukan hari minggu) AND (Sarmedi sakit) THEN (kuliah tidak libur)
9. IF (Mahasiswa UNSERA kuliah) then (Kuliah Tidak Libur)
10. IF (kuliah tidak libur) THEN (Ruminah belajar di kampus UNSERA).
• Diberikan dua buah Fakta sebagai berikut :
– Hari senin (bukan hari minggu)
– Ruminah Kuliah
• Goal : Buktikan bahwa Ruminah Kuliah di Kampus UNSERA
• Gunakan Teknik Forward Cahining