BAB 2
TINJAUAN PUSTAKA
2.1. Sistem Pakar
2.1.1. Sejarah sistem pakar Perkembangan Artificial Intelligence AI merupaka terobosan baru dalam dunia komputer. AI
berkembang setelah perusahaan General Electric menggunakan komputer pertama kali di bidang bisnis. Pada tahun 1956, istilah AI mulai dipopuler-kan oleh John McCarthy sebagai suatu tema
ilmiah di bidang komputer yang diadakan di Dartmouth College. Pada tahun yang sama komputer berbasis AI pertama kali dikembangkan dengan nama
Logic Theorist yang melakukan penalaran terbatas untuk teorema kalkulus. Perkembangan ini mendorong para peneliti untuk mengembangkan program lain yang disebut sebagai General
Problem Solver GPS. Program ini bertujuan untuk memecahkan berbagai jenis masalah dan ternyata menjadi tugas yang sangat besar dan sangat berat untuk dikembangkan.
Setelah GPS, ternyata AI banyak dikembangkan dalam bidang permainan atau game. Banyak juga ahli mengimplementasikan AI dalam bidang bisnis dan matematika.
Pada tahun 1972, Newell dan Simon memperkenalkan Teori Logika secara konseptual yang kemudian berkembang pesat dan menjadi acuan pengembangan sistem berbasis kecerdasan
buatan lainnya. Buchanan dan Feigenbaum juga mengembangkan bahasa pemrograman DENDRAL pada
tahun 1978. Bahasa pemrograman ini dibuat untuk badan antariksa Amerika Serikat, yaitu NASA, dan digunakan untuk penelitian kimia di planet Mars.
Universitas Sumatera Utara
Pada tahun 1976, yaitu 2 tahun sebelum DENDRAL, sebenarnya program sistem pakar sudah dikembangkan secara modern, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasa
pemrograman LISP. Program MYCIN menyimpan ± 500 basis pengetahuan dan basis aturan untuk mendiagnosis penyakit manusia. Program ini juga mengimplementasikan metode
penelusuran dan pemecahan masalah, serta mengembangkan berbagai teori penting dalam kecerdasan buatan seperti metode certainty factor, teori probabilitas dan teorema fuzzy.
Dewasa ini program MYCIN menjadi acuan penting untuk pengembangan sistem pakar secara modern karena didalamnya telah terintegrasi semua komponen standar yang dibutuhkan
oleh sistem pakar itu sendiri.
2.1.2. Pengertian sistem pakar Sistem pakar atau Expert system merupakan salah satu bidang yang dipelajari dalam teknologi
kecerdasan buatan. Selain sistem pakar, bidang lain yang dipelajari adalah Robotika Robotics, Penglihatan Komputer Computer Vision, Pengolahan Bahasa Alami Natural Language
Processing, Pengenalan Pola Pattern Recognition, Sistem Syaraf Buatan Artificial Neural System, dan juga Pengenalan Suara Speech Recoggnition.
Sistem pakar dibuat hanya pada domain pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia di salah satu bidang saja. Sistem pakar mencoba
mencari penyelesaian yang memuaskan, yaitu sebuah penyelesaian yang cukup bagus agar pekerjaan dapat berjalan walaupun itu bukan penyelesaian yang optimal. Pada dasarnya sistem
pakar diterapkan untuk mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan yang dimaksud, antara lain : pembuatan keputusan decision making, pemaduan pengetahuan
knowledge fusing, pembuatan desain designing, perencanaan planning, prakiraan forecasting, pengaturan regulating, pengendalian controlling, diagnosis diagnosing,
perumusan prescribing, penjelasan explaining, pemberian nasihat advising, dan pelatihan tutoring.
Sistem pakar juga dapat berfungsi sebagai asisten yang pandai dari seorang pakar. Martin dan Oxman, 1988. Definisi sistem pakar menurut beberapa sumber dapat dilihat pada
Tabel 2.1.
Universitas Sumatera Utara
Tabel 2.1. Definisi Sistem Pakar Sumber
Definisi
Giarratano dan Rilley 2005 Salah satu cabang kecerdasan buatan yang
menggunakan pengetahuna-pengetahuan khusus yang
dimiliki oleh
seorang ahli
untuk menyelesaikan suatu masalah tertentu.
Martin dan Oxman 1988 Sistem berbasis komputer yang menggunakan
pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah, yang biasanya hanya dapat
diselesaikan oleh seorang pakar dalam bidang tertentu.
Ignizio 1991 Sistem pakar merupakan bidang yang dicirikan
oleh sistem berbasis pengetahuan Knowledge Base System, memungkinkan komputer dapat
berfikir dan
mengambil kesimpulan
dari sekumpulan kaidah.
Turban dan Aronson 2001 Sistem yang menggunakan pengetahuan manusia
yang dimasukkan ke dalam komputer untuk memecahkan masalah-masalah yang biasanya
diselesaikan oleh pakar.
2.1.3. Manfaat sistem pakar Menurut buku Pengembangan Sistem Pakar menggunakan Visual Basic, selain memiliki banyak
manfaat, pengembangkan sistem pakar juga memiliki kelemahan. Berikut adalah manfaat dari sistem pakar:
1. Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa
kehadiran langsung seorang pakar. 2.
Meningkatkan produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil solusi kerja.
Universitas Sumatera Utara
3. Penghematan waktu dalam menyelesaikan masalah yang kompleks.
4. Memberikan penyederhanaan solusi untuk kasus-kasus yang kompleks dan berulang-ulang.
5. Pengetahuan dari seorang pakar dapat didokumentasikan tanpa ada batas waktu.
6. Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk
dikombinasikan.
2.1.4. Ciri-ciri dan karakteristik sistem pakar Ada berbagai ciri dan karakteristik yang membedakan sistem pakar dengan sistem yang lain. Ciri
dan karakteristik ini menjadi pedoman utama dalam pengembangan sistem pakar. Ciri dan karakteristik yang dimaksud adalah sebagai berikut :
1. Pengetahuan sistem pakar merupakan suatu konsep, bukan berbentuk numeris. Hal ini
dikarenakan komputer melakukan proses pengolahan data secara numerik sedangkan keahlian dari seorang pakar adalah fakta dan aturan-aturan, bukan numerik.
2. Informasi dalam sistem pakar tidak selalu lengkap, subyektif, tidak konsisten, subyek
terus berubah dan tergantung pada kondisi lingkungan sehingga keputusan yang diambil bersifat tidak pasti dan tidak mutlak “ya” atau “tidak” akan tetapi menurut ukuran
kebenaran tertentu. Oleh karena itu dibutuhkan kemampuan sistem untuk belajar secara mandiri dalam menyelesaikan masalah-masalah dengan pertimbangan-pertimbangan
khusus. 3.
Kemungkinan solusi sistem pakar terhadap suatu permasalahan adalah bervariasi dan mempunyai banyak pilihan jawaban yang dapat diterima, semua faktor yang ditelusuri
memiliki ruang masalah yang luas dan tidak pasti. Oleh karena itu diperlukan fleksibilitas sistem dalam menangani kemungkinan solusi dari berbagai permasalahan.
4. Perubahan atau pengembangan pengetahuan dalam sistem pakar dapat terjadi setiap saat
bahkan sepanjang waktu sehingga diperlukan kemudahan dalam modifikasi sistem untuk menampung jumlah pengetahuan yang semakin besar dan semakin bervariasi.
5. Pandangan dan pendapat setiap pakar tidaklah selalu sama, yang oleh karena itu tidak ada
jaminan bahwa solusi sistem pakar merupakan jawaban yang pasti benar. Setiap pakar akan memberikan pertimbangan-pertimbangan berdasarkan faktor subyektif.
Universitas Sumatera Utara
6. Keputusan merupakan bagian terpenting dari sistem pakar. Sistem pakar harus
memberikan solusi yang akurat berdasarkan masukan pengetahuan meskipun solusinya sulit sehingga fasilitas informasi sistem harus selalu diperlukan.
2.1.5. Struktur sistem pakar Sistem pakar dibangun oleh dua lingkungan yaitu lingkungan pengembangan development
environment dan lingkungan konsultasi consultation environment. Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam sistem pakar,
sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.
Menurut Turban 2005, sistem pakar disusun oleh 4 komponen utama, yaitu : 1.
Penambahan Pengetahuan Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas
pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa didapat dari ahli, buku, basis data penelitian dan gambar.
2. 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.
3. 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 data pengetahuan dalam rangka mencari
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 kesimpulan tersedia, sedangkan
inexact reasoning dilakukan pada keadaan sebaliknya. Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan proses penalaran. Terdapat tiga teknik pengendalian
Universitas Sumatera Utara
yang sering digunakan, yaitu forward chaining, backward chaining, dan penggabungan kedua teknik tersebut.
4. Antarmuka Pemakai User Interface
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Selain empat komponen utama diatas, ada beberapa komponen lain yang ikut
membangun struktur sistem pakar, yaitu : 1.
Blackboard Blackboard merupakan area dalam memori yang digunakan untuk merekam kejadian yang
sedang berlangsung termasuk keputusan sementara. Ada tiga tipe keputusan yang dapat direkam, yaitu :
a. Rencana, bagaimana menghadapi masalah
b. Agenda, aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.
c. Solusi, calon aksi yang dibangkitkan.
2. Fasilitas Penjelasan.
Fasilitas penjelasan sistem merupakan bagian dari sistem pakar yang memberikan penjelasan atas kesimpulan yang dicapai tentang suatu masalah, serta memberikan rekomendasi kepada
pemakai. 3.
Penyaringan Pengetahuan. Kemampuan pakar dalam menganalisis dan meningkatkan kinerja pembelajaran dapat
diterapkan dalam program sistem pakar sehingga sistem pakar tersebut dapat menganalisis penyebab dari kesuksesan dan kegagalan yang dialami.
4. Basis Data Database
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersbut 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. Hubungan antar komponen penyusun struktur sistem pakar dapat dilihat pada Gambar
2.1:
Universitas Sumatera Utara
Gambar 2.1. Struktur Sistem Pakar
Turban, 2005
2.1.6. Forward chaining Forward chaining merupakan salah satu teknik yang digunakan dalam mekanisme inferensi
untuk pengujian aturan. Dalam forward chaining, aturan-aturan diuji satu demi satu dalam urutan tertentu. Urutan itu mungkin berupa urutan pemasukan aturan ke dalam basis aturan atau juga
urutan lain yang ditentukan oleh pemakai. Setiap aturan diuji, sistem pakar akan mengevaluasi apakah kondisinya benar atau salah. Jika kondisinya benar, maka aturan itu disimpan kemudian
aturan berikutnya diuji. Sebaliknya, jika kondisinya salah maka aturan itu tidak disimpan dan aturan berikutnya diuji. Proses ini akan berulang iterative sampai seluruh basis aturan teruji
dengan berbagai kondisi yang dapat dilihat pada Gambar 2.2. Kelebihan dari metode forward chaining adalah data baru dapat dimasukkan ke dalam tabel database inferensi dan kemungkinan
untuk melakukan perubahan inference rules.
Universitas Sumatera Utara
Gambar 2.2 Proses forward chaining
2.2. Logika Fuzzy