Sistem Pakar

  1. Sistem pakar disebut juga sebagai knowledge based system karena system pakar merupakan sistem yang berusaha mengapdosi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli.
  2. Komponen utama dalam sistem pakar:
          • User Interface (Antarmuka Pemakai): Antarmuka pemakai, memungkinkan pemakai untuk berinteraksi dengan expert system. User interface digunakan manajer untuk meng-enter instruksi dan informasi ke dalam sistem pakar dan menerima informasi dari sistem pakar.
          • Knowledge Base (basis pengetahuan): Knowledge Base berisi pengetahuan-pengetahuan (pengetahuan gabungan) dalam memahami, merumuskan, dan penyelesaian masalah. Knowledge Base adalah bagian dari sistem pakar yang berisi domain pengetahuan.
Knowledge base terdiri dari fakta yang menggambarkan area problem atau problem domain dan juga teknik penyajian yang menggunakan fakta sesuai logika. Domain pengetahuan seorang pakar pada dasarnya adalah spesifik terhadap domain masalah.
          • Inference Engine (mesin inferensi): Inference engine bertugas untuk menganalisis pengetahuan, memberikan kemampuan penalaran dan menarik kesimpulan berdasarkan knowledge base.
          • Development Engine: Komponen yang digunakan untuk mengolah sistem pakar, terdiri dari bahasa pemrograman
  1. Elemen-elemen dalam sistem pakar
  • User interface (antarmuka): Mekanisme komunikasi antara user dan Expert System.
  • Explanation facility (subsistem Penjelasan): Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif.
  • Working memory: Database global dari fakta yang digunakan dalam prosedur.
  • Agenda: Daftar prioritas prosedur yang dibuat oleh motor inferensi dan direkam dalam working memori.
  • Inference engine (motor inferensi): Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi dalam basis pengetahuan untuk memformulasikan konklusi (keismpulan).
  • Knowledge acquisiton facility: Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah
  1. Kesalahan dalam sistem pakar diantaranya adalah :
  • Kesalahan Sintaks : A:=X+(B*(C+D) {jumlah kurungnya kurang}
  • Kesalahan Semantik :
              • Tipe data yang salah.
Contoh : Var Siswa : Integer
Siswa := 'Yanuar' {tipe string}
              • Variabel belum didefinisikan:
Contoh :B := B + 1 {B belum didefinisikan}
  1. Aplikasi Sederhana: Sistem Pakar Bengkel Mobil
Ini adalah contoh Sistem Pakar sederhana, yang bertujuan untuk mencari apa yang salah sehingga mesin mobil pelanggan yang tidak mau hidup, dengan memberikan gejala-gejala yang teramati. Anggap Sistem Pakar kita memiliki aturan-aturan berikut:
          • JIKA mesin_mendapatkan_bensin DAN starter_dapat_dihidupkan MAKA ada_masalah_dengan_pengapian
          • JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala MAKA ada_masalah_dengan_aki
          • JIKA TIDAK BENAR starter_dapat_dihidupkan DAN lampu_menyala MAKA ada_masalah_dengan_starter
          • JIKA ada_bensin_dalam_tangki_bahan_bakar MAKA mesin_mendapatkan_bensin
Terdapat 3 masalah yang mungkin, yaitu: ada_ masalah_ dengan _pengapian, ada_ masalah_ dengan_ aki dan ada_ masalah_ dengan_ starter. Dengan sistem terarah-tujuan (goal-driven), kita hendak membuktikan keberadaan setiap masalah tadi.
Pertama, Sistem Pakar berusaha untuk membuktikan kebenaran ada_masalah_dengan_pengapian. Di sini, aturan 1 dapat digunakan, sehingga Sistem Pakar akan menset goal baru untuk membuktikan apakah mesin_mendapatkan_bensin serta starter_dapat_dihidupkan. Untuk membuktikannya, aturan 4 dapat digunakan, dengan goal baru untuk membuktikan mesin_mendapatkan_bensin. Karena tidak ada aturan lain yang dapat digunakan menyimpulkannya, sedangkan sistem belum memperoleh solusinya, maka Sistem Pakar kemudian bertanya kepada pelanggan: “Apakah ada bensin dalam tangki bahan bakar?”. Sekarang, katakanlah jawaban klien adalah “Ya”, jawaban ini kemudian dicatat, sehingga klien tidak akan ditanyai lagi dengan pertanyaan yang sama.
Nah, karena sistem sekarang sudah dapat membuktikan bahwa mesin mendapatkan bensin, maka sistem sekarang berusaha mengetahui apakah starter_dapat_dihidupkan. Karena sistem belum tahu mengenai hal ini, sementara tidak ada aturan lagi yang dapat menyimpulkannya, maka Sistem Pakar bertanya lagi ke klien: “Apakah starter dapat dihidupkan?”. Misalkan jawabannya adalah “Tidak”, maka tidak ada lagi aturan yang dapat membuktikan ada_masalah_dengan pengapian, sehingga Sistem Pakar berkesimpulan bahwa hal ini bukanlah solusi dari problem yang ada, dan kemudian melihat hipotesis berikutnya: ada_masalah_dengan_aki. Sudah diketahui (dibuktikan) bahwa mesin tidak dapat distarter, sehingga yang harus dibuktikan adalah bahwa lampu tidak menyala. Sistem Pakar kemudian bertanya: “Apakah lampu menyala?”. Misalkan jawabannya adalah “Tidak”, maka sudah terbukti bahwa ada masalah dengan aki.
Sistem ini mungkin berhenti sampai di sini, tetapi biasanya ada kemungkinan terdapat lebih dari satu solusi (misalnya terdapat lebih dari satu kerusakan), atau ada kemungkinan terdapat solusi lain yng lebih tepat, sehingga biasanya semua hipotesis diperiksa kebenarannya. Sistem Pakar ini kemudian mencoba membuktikan bahwa ada_masalah_dengan_starter, namun dari fakta yang sudah diperoleh, yaitu lampu tidak menyala, maka pembuktiannya menjadi gagal. Dengan demikian solusi yang diberikan oleh Sistem Pakar adalah ada masalah dengan aki.
Secara lengkap, interaksi antara Sistem Pakar dengan klien mungkin seperti ini:
System Pakar: Apakah ada bensin dalam tangki bahan bakar?
Klien: Ya
System Pakar: Apakah starter dapat dihidupkan?
Klien: Tidak
System Pakar: Apakah lampu menyala?
Klien: Tidak
System Pakar: Saya berkesimpulan bahwa ada masalah dengan aki
Fasilitas Penjelasan
Kebanyakan Sistem Pakar mempunyai fasilitas penjelasan yang mengijinkan klien untuk bertanya mengapa dia diberi suatu pertanyaan atau bagaimana dapat mencapai suatu kesimpulan. Pertanyaan dari klien tersebut dijawab dengan mengacu pada goal, aturan yang dipakai, dan data-data yang ada. Contoh pemakaian fasilitas penjelas dalam Sistem Pakar di atas dapat dilihat pada percakapan berikut:
System Pakar: Apakah ada bensin dalam tangki bahan bakar?
Klien: Ya
System Pakar: Apakah starter dapat dihidupkan?
Klien: Tidak
System Pakar: Apakah lampu menyala?
Klien: Mengapa?
System Pakar: Saya mencoba membuktikan bahwa ada masalah dengan aki. Sudah ditunjukkan adalah tidak benar starter dapat dihidupkan. Sehingga jika tidak benar bahwa lampu menyala, maka ada masalah dengan aki. Apakah lampu menyala?
Klien: Tidak
System Pakar: Saya berkesimpulan bahwa ada masalah dengan aki
Klien: Bagaimana bisa?
System Pakar: Hal ini sesuai dengan aturan no 2: JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala MAKA ada_masalah_dengan_aki bahwa tidak benar starter_dapat_dihidupkan sudah dijawab, bahwa tidak benar lampu_menyala sudah dijawab, sehingga dapat disimpulkan bahwa ada_masalah_dengan_aki.


Fasilitas penjelasan berhubungan dengan pencatatan aturan apa saja yang digunakan untuk mengambil kesimpulan, dan menggunakan catatan tersebut untuk menyusun penjelasan. Pembangkitan penjelasan sederhana seperti contoh di atas bukanlah persoalan yang sulit, namun pemahaman klien terhadap penjelasan tersebut tidaklah sama, sehingga seringkali klien tetap tidak mengerti maksudnya. Hal ini karena biasanya penjelasan hanya meliputi pengetahuan yang dangkal atau hanya permukaan saja sebagaimana tercantum dalam autran yang dipunyai, bukannya pengetahuan yang mendalam yang mendasari aturan tersebut. Dalam contoh di atas, Sistem Pakar hanya mengatakan bahwa hal ini sesuai dengan aturan no 2, tetapi tidak menjelaskan secara lebih detil mengenai aturan 2 tersebut. Mungkin klien perlu diberi pengertian bahwa lampu dan starter dua-duanya menggunakan aki untuk menyalakannya. Hal penting lain adalah ketika klien gagal mengerti atau menerima penjelasan yang diberikan, biasanya Sistem Pakar tidak dapat memberi penjelasan dengan cara lain (tidak begitu halnya dengan seorang pakar yang mampu menggunakan kalimat yang lain untuk mencoba menjelaskannya).



1 comment: