Sistem pakar pada umumnya didefinisikan sebagai sebuah sistem yang dirancang untuk dapat memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar (human expert). Menurut Staugaard (1987) sebuah sistem pakar disusun oleh tiga modul utama yaitu.
Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode)
Modul yang digunakan untuk mengumpulkan pengetahuan yang akan digunakan sistem untuk mengambil kesimpulan dari sebuah masalah. Modul ini diperuntukkan bagi para pakar untuk menginputkan pengetahuannya kedalam sistem.
Modul Konsultasi (Consultation Mode)
Modul yang berfungsi untuk mengumpulkan informasi mengenai gejala-gejala dari masalah yang sedang dihadapi oleh user untuk kemudian diproses oleh sistem. Modul ini diperuntukkan bagi para user untuk menginputkan permasalahan yang dihadapinya kedalam sistem.
Modul Penjelasan (Explanation Mode)
Modul ini berfungsi untuk menjelaskan keputusan yang diambil oleh sistem.
Representasi Pengetahuan
Representasi pengetahuan adalah suatu cara untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema tertentu sehingga dapat diketahui relasi atau keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu:
- Case-based reasoning (CBR) yang merupakan representasi pengetahuan berdasarkan pengalaman termasuk kasus dan solusinya.
- Rule-base reasoning (RBR) mengandalkan serangkaian aturan-aturan yang merupakan representasi dari pengetahuan dan pengalaman karyawan (manusia) dalam memecahkan kasus yang rumit.
- Model-based reasoning (MBR) melalui representasi pengetahuan dalam bentuk atribut, perilaku antar hubungan maupun simulasi proses terbentuknya pengetahuan.
- Constraint-Satisfaction Reasoning yang merupakan perpaduan antara rule-based reasoning dan model-based reasoning.
Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.
Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti Exact Reasoning dan strategi penalaran tak pasti Inexact Reasoning. Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.Strategi pengendalian berfungsi sebagai panduan dalam melakukan proses penalaran. Terdapat tiga teknik pengendalian yang sering digunakan, yaitu sebagai berikut.
- Forward Chaining, teknik ini memulai penalaran dari fakta terlebih dahulu untuk menguji kebenaran hypothesis.
- Backward Chaining, pada teknik ini penalaran dimulai dari hypothesis terlebih dahulu dan untuk menguji kebenaran hypothesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan.
- Gabungan antara forward dan backward chaining.
Basis Data (Database)
Basis data dibutuhkan untuk menyimpan fakta-fakta yang diperlukan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
Antarmuka Pemakai (User Interface)
Fasilitas yang digunakan sebagai perantara komunikasi antara pemakai dengan komputer. Dalam kenyataan sehari-hari banyak masalah didunia ini tidak dapat dimodelkan secara lengkap dan konsisten. Suatu penalaran dengan adanya penambahan fakta baru mengakibatkan ketidak konsistenan, dengan ciri-ciri penalaran sebagai berikut.
- Adanya ketidakpastian
- Adanya perubahan pada pengetahuan
- Adanya penambahan fakta baru dapat mengubah kesimpulan yang sudah terbentuk