EXPERT SYSTEM
Sistem pakar adalah suatu program
komputer yang
mengandung pengetahuan dari satu atau lebih pakar manusia mengenai
suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh
periset kecerdasan buatan pada
dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an.
Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set
aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu
sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari
masalah tersebut. Tergantung dari desainnya, sistem pakar juga mampu
merekomendasikan suatu rangkaian tindakan pengguna untuk dapat menerapkan
koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu
simpulan. (Yuliana, 2011)
Menurut
Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang
menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk
menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh
tenaga ahli dalam bidang yang bersangkutan. Dalam penyusunannya, sistem pakar
mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan
basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam
bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer,
yang selanjutnya digunakan dalam proses pengambilan keputusan untuk
penyelesaian masalah tertentu. Modul Penyusun Sistem Pakar Suatu sistem pakar
disusun oleh tiga modul utama (Staugaard, 1987), yaitu :
1. Modul Penerimaan
Pengetahuan Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat
ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan
yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan
knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara
suatu sistem pakar dengan pakarnya.
2. Modul Konsultasi(Consultation
Mode) Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan
yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul
ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang
diajukan oleh sistem.
3.
Modul Penjelasan(Explanation Mode) Modul ini menjelaskan proses pengambilan
keputusan oleh sistem (bagaimana suatu keputusan dapat diperoleh).
Struktur Sistem Pakar
Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi:
1. 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. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan
merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan
kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau
LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL, dsb.)
2.
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 arah dalam melakukan prose
penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu
forward chaining, backward chaining, dan gabungan dari kedua tehnik
pengendalian tersebut.
3.
Basis Data (Database) Basis data terdiri atas semua fakta yang diperlukan,
dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah
dalam sistem. Basis data menyimpan semua fakta, 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.
4. Antarmuka Pemakai (User Interface) Fasilitas ini digunakan
sebagai perantara komunikasi antara pemakai dengan sistem. Hubungan antar
komponen penyusun struktur sistem pakar dapat dilihat pada Gambar di bawah ini
: Teknik Representasi Pengetahuan Representasi pengetahuan adalah suatu teknik
untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu
skema/diagram tertentu sehingga dapat diketahui relasi/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 :
1. Rule-Based Knowledge
2. Pengetahuan
direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk
representasi ini terdiri atas premise dan kesimpulan
3. Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame
4. Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah
elemen data yang terdiri dari data dan metoda (proses)
5. Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases) Sistem
pakar adalah sistem yang mempekerjakan pengetahuan manusia yang ditangkap dalam
komputer untuk memecahkan masalah yang biasanya membutuhkan keahlian manusia.
Adapun
komponen-kompenen yang mungkin ada dalam sebuah sistem pakar adalah:
1. Subsistem akuisisi
pengetahuan
2. Basis pengetahuan Basis pengetahuan berisi
pengetahuan penting untuk pengertian, formulasi dan pemecahan masalah.
Basis pengetahuan memasukkan dua elemen (1) fakta (facts) seperti situasi
masalah dan teori dari area masalah dan (2) heuristic khusus atau rule-rule
yang menghubungkan penggunaan pengetahuan untuk pemecahan masalah spesifik
dalam sebuah domain khusus. Informasi dalam basis pengetahuan tergabung dalam
basis pengetahuan tergabung dalam sebuah program komputer oleh proses yang
disebut dengan representasi pengetahuan.
3. Mesin inferensi
4. Blackboard (Wilayah kerja)
5. User interface
Sistem pakar berisi bahasa prosesor untuk komunikasi yang bersahabat,
berorientasi pada masalah antara pengguna dan komputer. Komunikasi ini
dapat secara baik dibawa oleh natural language, dan dalam beberapa kasus user
interface ditambahkan dengan menu-menu dan grafik.
6. Subsistem penjelasan
7. Sistem penyaringan pengetahuan Sedangkan
konsep dasar dalam sistem pakar menurut Turban, 1993 adalah:
1. Keahlian (Expertise)
2. Pakar (Expert)
3. Transfer keahlian
4. Inferensi
5. Rule
6. Kemampuan memberikan penjelasan Akuisisi
Pengetahuan Akuisisi pengetahuan adalah akumulasi, transfer dan
transformasi dari keahlian pemecahan masalah dari beberapa sumber pengetahuan
ke program komputer untuk konstruksi atau perluasan basis pengetahuan.
Sumber-sumber pengetahuan potensial termasuk pakar manusia, textbook, database,
laporan penelitian khusus, dan gambar-gambar. Pengakuisisian pengetahuan dari
pakar adalah tugas kompleks yang sering membuat kemacetan dalam konstruksi
sistem pakar sehingga dibutuhkan seorang knowledge engineer untuk berinteraksi
dengan satu atau lebih pakar dalam membangun basis pengetahuan.
Struktur Sistem Pakar
Sistem pakar terdiri dari dua bagian pokok,
yaitu: lingkungan pengembangan (development environment)
dan lingkungan konsultasi (consultation environment).
Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi
pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan
oleh seseorang yang bukan ahli untuk berkonsultasi (Kusumadewi, 2003:113-115).
Komponen-komponen yang terdapat dalam arsitektur/struktur
sistem pakar pada gambar di atas dijelaskan sebagai berikut:
a. Antarmuka Pengguna (User Interface)
Antarmuka merupakan
mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi.
Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang
dapat diterima oleh sistem. Selain itu antarmuka menerima dari sistem dan
menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai.
b. Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman,
formulasi, dan penyelesaian masalah.
c. Akuisisi Pengetahuan (Knowledge Acquisition)
Akuisisi pengetahuan adalah akumulasi, transfer, dan
transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke
dalam program komputer. Dalam tahap ini knowledge engineer berusaha
menyerap pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan.
Pengetahuan diperoleh dari pakar, dilengkapi dengan buku, basis data, laporan
penelitian, dan pengalaman pemakai.
d. Mesin/Motor Inferensi
(Inference Engine)
Komponen ini mengandung mekanisme pola pikir dan penalaran
yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi
adalah program komputer yang memberikan metodologi untuk penalaran tentang
informasi yang ada dalam basis pengetahuan dan dalam workplace, dan untuk
memformulasikan kesimpulan.
e. Workplace/Blackboard
Workplace merupakan area dari sekumpulan memori kerja (working memory), digunakan untuk merekam kejadian yang
sedang berlangsung termasuk keputusan sementara.
f. Fasilitas Penjelasan
Fasilitas penjelasan adalah komponen tambahan yang akan
meningkatkan kemampuan sistem pakar, digunakan untuk melacak respon dan
memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui
pertanyaan.
g. Perbaikan Pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan
kinerjanya serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut
adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu
menganalisis penyebab kesuksesan dan kegagalan yang dialaminya dan juga
mengevaluasi apakah pengetahuan-pengetahuan yang ada masih cocok untuk
digunakan di masa mendatang.
Tujuan Sistem Pakar
Sistem pakar (expert system)
sendiri merupakan paket perangkat lunak atau paket program komputer yang
ditujukan sebagai penyedia nasihat dan sarana bantu dalam memecahkan masalah di
bidang-bidang spesialisasi tertentu seperti sains, perekayasaan, matematika,
kedokteran, pendidikan dan sebagainya. Sistem pakar merupakan merupakan subset
dari Artificial Intelegence (Arhami, 2005).
Pada dasarnya sistem pakar diterapkan untuk
mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan masalah
yang dimaksud seperti (Lestari, 2012):
1.
Interpretasi.
Membuat kesimpulan atau deskripsi dari sekumpulan data mentah. Pengambilan
keputusan dari hasil observasi, termasuk pengenalan ucapan, analisis citra,
interpretasi sinyal, dll.
2.
Prediksi.
Memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi tertentu.
Contoh: prediksi demografi, prediksi ekonomi, dll.
3.
Diagnosis.
Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada
gejala-gejala yang teramati diagnosis medis, elektronis, mekanis, dll.
4.
Perancangan (desain).
Menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan
kinerja tertentu yang memenuhi kendala-kendala tertentu. Contoh: perancangan
layout sirkuit, bangunan.
5.
Perencanaan.
Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan
dengan kondisi awal tertentu. Contoh: perencanaan keuangan, militer, dll.
6.
Monitoring.
Membandingkan hasil pengamatan dengan kondisi yang diharapkan. Contoh: computer aided monitoring system.
7.
Debugging.
Menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi. Contoh:
memberikan resep obat terhadap kegagalan.
8.
Instruksi.
Mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek. Contoh:
melakukan instruksi untuk diagnosis dan debugging.
9.
Kontrol.
Mengatur tingkah laku suatu environment yang kompleks. Contoh: melakukan
kontrol terhadap interpretasi, prediksi, perbaikan dan monitoring kelakukan
sistem.
Kelebihan
Sistem Pakar
Secara garis besar, banyak
manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :
1.
Memungkinkan orang awam bisa mengerjakan pekerjaan
para ahli.
2.
Bisa melakukan proses secara berulang secara otomatis.
3.
Menyimpan pengetahuan dan keahlian para pakar.
4.
Meningkatkan output dan produktivitas.
5.
Meningkatkan kualitas.
6.
Mampu mengambil dan melestarikan keahlian para pakar
(terutama yang termasuk keahlian langka).
7.
Mampu beroperasi dalam lingkungan yang berbahaya.
8.
Memiliki kemampuan untuk mengakses pengetahuan.
9.
Memiliki reliabilitas.
10. Meningkatkan kapabilitas
sistem komputer.
11. Memiliki kemampuan untuk
bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
12. Sebagai media pelengkap
dalam pelatihan.
13. Meningkatkan kapabilitas
dalam penyelesaian masalah.
14. Menghemat waktu dalam
pengambilan keputusan
Kelemahan Sistem Pakar
Di samping memiliki beberapa keuntungan, sistem pakar
juga memiliki beberapa kelemahan, antara lain :
1.
Biaya yang diperlukan untuk membuat dan memeliharanya
relatif mahal karena diperlukan banyak data.
2.
Perlu admin khusus yang selalu update informasi dalam
bidang yang sesuai dengan sistem pakar.
3.
Pengembangan perangkat lunak sistem pakar lebih sulit
dibandingkan perangkat lunak konvensional.
4.
Susah dikembangkan.
5.
Membutuhkan waktu yang lama.
Contoh Sistem
Pakar
1.
MYCIN : diagnosa penyakit
2.
Dendral : mengidintifikasikan struktur molekul
campuran kimia yang tidak dikenal
3.
XCON & XSEL : konfigurasi sistem komputer
besar,
4.
Prospector : bidang biologi