BAB 2
LANDASAN TEORI
2.1 Definisi Sistem Pakar
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 kesimpulan.
Tabel 2.1 Tabel Sistem Pakar
Sistem Pakar Kegunaan
MYCIND Diagnosa Penyakit
DENDRAL Mengidentifikasi struktur mo-lecular campuran yang tidak dikenal XCON & XSEL Membantu konfigurasi system computer besar
SOPHIE Analisis sirkuit elektronik
PROSPECTOR Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit
FOLIO Membantu memberikan keputusan bagi seorang manajer dalam hal stok broker dan investasi
DELTA Pemeliharaan lokomotif listrik diesel
Menurut Efraim Turban, konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan di bidang tertentu yang diperoleh dari pelatihan membaca dan pengalaman.
Contoh bentuk pengetahuan yang merupakan pengalaman :
1. Fakta-fakta pada lingkup permasalahan tertentu.
2. Teori-teori pada lingkup permasalahan tertentu.
3. Prosedur-prosedur dan aturan yang berkenaan dengan lingkup permasalahan tertentu.
4. Strategi-strategi global untuk menyelesaikan masalah.
5. Meta-Knowledge (pengetahuan tentang pengetahuan)
Bentuk-bentuk ini memungkinkan para ahli mengambil keputusan yang lebih cepat dan lebih baik daripada seorang yang bukan ahli. Seorang ahli adalah seorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal seputar topik permasalahan, menyusun kembali pengetahuan, memecah aturan-aturan, dan menentukan relevan tidaknya keahlian mereka.
Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi
ke orang yang bukan ahli merupakan tujuan utama dari sistem pakar. Proses ini
membutuhkan beberapa aktivitas seperti tambahan pengetahuan (dari para ahli atau
sumber lainnya), representasi pengetahuan (ke komputer), inferensi pengetahuan, dan
pengalihan pengetahuan ke user. Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan (knowledge base).
2.1.2 Sifat Umum Sistem Pakar
Sistem pakar mempunyai beberapa sifat utama yang menjadi karakteristik yang sangat kuat yang menunjukkan identitas sebuah sistem dan kepakarannya. Artinya seseorang bisa dengan sangat mudah berinteraksi dengan sistem ini sekaligus menjadi pakar dalam waktu yang singkat.
2.1.3 Struktur Dasar Sistem Pakar
Gambar 2.1. Human Expert Problem Sistem
Gambar 2.1 Struktur Sistem Pakar
Gambar di atas menjelaskan sistem penyelesaian masalah yang dilakukan oleh manusia dimana fakta dan kasus yang ditangkap pada saat konsultasi akan di simpan pada short-term memory. Kemudian manusia akan berpikir (reasoning) untuk menyesuaikan dengan pengetahuan yang dimilki dan merupakan domain knowledge- nya hingga akhirnya sang ahli memberikan suatu kesimpulan, saran, dan solusi.
Long-term memory Domain Knowlegde
Short-term memory Case/inferred Facts Conclusions
Reasoning
Advisee Case Facts conclusions
Expert System
Gambar 2.2. Sistem Penanganan Masalah
Working memory merupakan bagian dari sistem pakar yang berisi fakta-fakta masalah yang ditemukan dalam suatu sesi. Berisi fakta-fakta tentang suatu masalah yang ditemukan dalam proses konsultasi. Sedangkan interfence engine merupakan prosesor pada sistem pakar yang menyesuaikan fakta-fakta yang ada pada working memory dengana domain pengetahuan yang terdapat pada knowledge base untuk menarik kesimpulan dari masalah yang dihadapi.
2.1.4 Bentuk Sistem Pakar
Ada empat bentuk sistem pakar, yaitu :
1. Berdiri sendiri. Sistem pakar merupakan software yang berdiri sendiri, tidak tergabung dengan software yang lainnya.
2. Tergabung. Sistem pakar jenis ini merupakan bagian program yang terkandung di dalam suatu algoritma, atau program dimana fungsinya memanggil algoritma subrutin lain.
Knowledge base
Working memory Case/inferred fact
Interference
eqineUser Case fact
3. Menghubungkan ke software lain. Bentuk ini biasanya merupakan sistem pakar yang menghubungkan ke suatu paket program tertentu, misalnya DBMS (Database Management System)
4. Sistem mengabdi. Sistem pakar merupakan bagian dari komputer khusus yang dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang digunakan untuk membantu menganalisa data radar.
2.1.5. Struktur Sistem Pakar
Sistem pakar terdiri dari dua bagian pokok, yaitu lingkungan pengembangan
(development environment). Lingkungan pengembangan digunakan sebagai
pembangun sistem pakar baik dari segi pembangun komponen meupun basis
pengetahuan. Lingkungan konsultasi digunakan oleh seorang yang bukan ahli untuk
konsultasi.
Penambahan Pengetahuan
Gambar 2.3 Struktur Sistem Pakar
Komponen-komponen yang ada pada sistem pakar :
1. Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksikan atau memperluas pengetahuan dalam basis pengetahuan.
2. Basis pengetahuan. Pada bagian ini berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah.
3. Akusisi Pengetahuan
Akusisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program
USERINTERFACE
Aksi yang
direkomendasikan
Mesin inferensi Fasilitas penjelasan
. Intepreter .Scheduler . Const.Enf
Basis Pengetahuan . Fakta-fakta . Aturan-aturan
BLACKBOARD Solusi
rencana
Agenda Deskripsi
Penyaring pengetahuan
Rekayasa pengetahuan
Pengetahuan pakar
computer. Pada tahap ini, akusisi pengetahuan berusaha menyerap pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan.
4. Mesin inferensi (inference engine), merupakan program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi- informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi.
1) Forward Chaining
a. Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
b. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.
c. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
d. Jika suatu aplikasi mengahasilkan tree yang lebar dan tidak dalam, maka digunakan forward chaining.
2) Backward Chaining
a. Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab- sebabyang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
b. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam,
maka gunakan backward chaining.
5. Workspace
Workspace merupakan area dari sekumpulan memori kerja. Workspace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai.
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 akan dibangkitkan.
6. Fasilitas Penjelasan
Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaransistem kepada pemakai.
7. Perbaikan Pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya.
2.1.6 Pembangunan Sistem Pakar
Proses pembangunan suatu sistem pakar yang dikenal juga sebagai rekayasa pengetahuan. Pembangunan sistem pakar melibatkan pembinaan pangkalan pengetahuan dengan melibatkan pakar atau sumber yang didokumentasikan.
Pengetahuan dalam sistem pembangunan, biasanya dibagi atas deklaratif (fakta) dan
prosedural. Untuk pembangunan sistem pakar, langkah-langkah yang perlu dilakukan
secara garis besarnya seperti Gambar 2.2. Pada Gambar 2.2 menjelaskan bahwa
sebelum membangun suatu sistem pakar maka sistem analisis mengkaji terlebih dahulu domain permasalahan yang akan dibuat sistem pakarnya.
Langkah selanjutnya melakukan pendefinisian masalah dan menjelaskan kaidah-kaidahnya atau rule-rule yang akan dibuat bersama-sama dengan pakar.
Setelah kaidah disusun dalam suatu kumpulan maka prototype sistemnya diuji, jika prototipnya tidak layak maka kembali ke langkah 2 hingga prototypenya dapat digunakan. Berikutnya, membangun suatu antarmuka dan kemudian dilanjutkan ke tahap uji coba oleh pengguna. Jika kurang memadai maka sistem analisis dan pakar kmbali mengulangi langkah 2 sampai 6 hingga memperolah suatu sistem yang baik.
Selanjutnya, untuk kesempurnaan sistem yang dibangun maka sistem analis dan pakar secara berkelanjutan melakukan pengujian-pengujian terhadap sistem yang dibuat.
2.1.7 Mengembangkan Sistem Pakar
Pada pengembangan sistem pakar diperlukan beberapa tahapan agar dapat menghasilkan suatun sistem yang berhubungan dengan tahapan hingga suatu sistem terwujud. Tahapan-tahapan tersebut dapat dilihat pada gambar berikut ini. Secara garis besar pengembangan sistem pakar pada gambar dibawah ini adalah sebagai berikut :
1. Mengidentifikasi masalah dan kebutuhan. Mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan dikomputerisasi dan apakah dengan sistem pakar bisa lebih membantu atau tidak.
2. Menentukan masalah yang sesuai.
3. Mempertimbangkan alternatif, misalkan menggunakan sistem pakar atau komputer tradisional.
4. Menghitung pengembalian investasi, termasuk diantaranya : biaya pembuatan sistem pakar, biaya pemeliharaan dan biaya training.
5. Memilih alat pengembangan. Bisa digunakan software pembuat sistem pakar (seperti SHELL) atau dirancang dengan bahasa pemrograman sendiri.
6. Rekayasa pengetahuan, perlu dilakukan penyempurnaan terhadap aturan- aturan yang sesuai.
7. Merancang sistem, termasuk pembuatan prototype, serta menterjemahkan pengetahuan menjadi aturan-aturan.
8. Melengkapi pengembangan, termasuk pengembangan protptype apabila sistem yang telah ada sudah sesuai dengan keinginan.
9. Menguji dan mencari kesalahan.
10. Memelihara sistem, hal yang harus dilakukan yaitu : memperbaharui pengetahuan. Mengganti pengetahuan yang sudah ketinggalan dan meluweskan sistem agar bisa lebih baik lagi dalam menyelesaikan masalah.
2.1.8 Bahasa Pemrograman Visual Basic
Visual Basic merupakan salah satu bahasa pemrograman yang bekerja pada
Ms.windos yang dimiliki beberapa keunggulan diantaranya kemudahan mendesain
form secara Visual, menghasilkan data yang sangat akurat, secara visual basic juga
memiliki kemampuan yang sangat baik dalam mengelaola database. Karena Visual
Basic merupakan bahasa pemrograman maka didalamnya berisi perintah-perintah atau
intruksi yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Tugas- tugas tersebut dapat dijalankan apabila ada respon dari pemakai. Respon tersebut berupa kejadian tertentu misalnya memilih tombol, memilih menu dan sebagainya.
Visual basic banyak dipakai oleh programmer dan pengembang aplikasi, karena kemudahan yang sangat ditawarkan. Dalam pengembangan aplikasi para progremmer tidak terlalu dipusingkan dengan tampilan dari program, karena visual basic menyediakan banyak komponen kontrol untuk desain tampilan dari program.
Dengan visual basic dapat dikembangkan berbagai jenis aplikasi seperti
aplikasi database, jaringan, internet, multimedia, grafik dan lain-lain. Tampilan grafis
yang menarik dan interaktif, sangat mudah dan sangat mudah untuk membuat suatu
tombol perintah, toolbar, kotak dialog dan aneka objek lainnya.
Gambar 2.4 Tampilan Awal Visual Basic 1 Menu Bar
Menampilkan daftar menu yang berisi daftar perintah-perintah yang dapat digunakan saat bekerja pada Visual Basic. Terdiri dari menu File, Edit, View, Project, Format, Debug, Run, Query, Diagram, Tools, Add-Ins, Window dan Help.
Gambar 2.5 Menu Bar
2 Toolbar
Digunakan untuk mengakses perintah-perintah dalam menu yang sering dipakai secara
cepat.
Gambar 2.6 Toolbar
3 Toolbox
Merupakan daftar komponen-komponen yang dapat digunakan untuk mendesain tampilan program aplikasi yang akan dibuat.
Gambar 2.7 Tollbox
4 Project Explorer
Menampilkan daftar form dan module yang ada dalam project yang sedang aktif.
Gambar 2.8 Project Explorer
5 Property Window
Digunakan untuk mengatur properti dari komponen-komponen yang sedang