Tinjauan Tentang Sistem Pakar
2.2.3 Pemakai Sistem Pakar
Sistem pakar dapat digunakan oleh:
1. Orang awam yang bukan pakar untuk menigkatkan kemampuan mereka dalam memecahkan masalah.
2. Pakar sebagai asisten yang berpengetahuan.
3. Memperbanyak atau menyebarkan sumber pengetahuan yang semakin langka.
Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alasan mendasar mengapa ES dikembangkan untuk menggantikan seorang pakar:
1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
3. Seorang pakar akan pensiun atau pergi.
4. Menghadirkanmenggunakan jasa seorang pakar memerlukan biaya yang mahal.
5. kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat. (Kusrini, 2006 :14)
2.2.4 Konsep Dasar Sistem Pakar
Menurut Efraim Turban 1995 (Arhami, 2005: 11), konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan.
Keahlian adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian adalah:
1. Fakta-fakta pada lingkup permasalahan tertentu.
2. Teori-teori pada lingkup permasalahan tertentu.
3. Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu.
4. Strategi-strategi global untuk menyelesaikan masalah.
5. Meta- knowledge (pengetahuan tentang pengetahuan).
Bentuk ini memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.
Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka.
Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu: tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang disimpan di komputer disebut dengan nam basis pengetahuan. Ada 2 tipe pengetahuan, yaitu: fakta dan prosedur (biasanya berupa aturan).
Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka komputer harus dapat diprogram untuk membuat inferensi. Proses inferensi ini dikemas dalam bentuk motor inferensi (inference engine).
Sebagian besar sistem pakar komersial dibuat dalam bentuk rule-based system, yang mana pengetahuan disimpan dalam bentuk aturan-aturan. Aturan tersebut biasanya berbentuk IF-THEN.
Fitur lainnya dari sistem pakar adalah kemampuan untuk merekomendasi. Kemampuan inilah yang membedakan sistem pakar dengan sistem konvensional.
Tabel 2.4 Sistem Konvensional vs Sistem Pakar (Sumber : Sri Kusumadewi. 2003:112)
Sistem Konvensional
Sistem Pakar
Informasi dan pemrosesannya biasanya Basis pengetahuan merupakan bagian jadi satu dengan program.
terpisah dari mekanisme inferensi.
Biasanya tidak menjelaskan mengapa
Penjelasan adalah bagian terpenting
suatu input data itu dibutuhkan, atau
dari sistem pakar.
bagaimana output itu diperoleh. Pengubahan program cukup sulit
Pengubahan aturan dapat dilakukan
membosankan
dengan mudah.
Sistem hanya akan beroperasi jika
Sistem dapat beroperasi hanya dengan
sistem tersebut sudah lengkap.
beberapa aturan.
Eksekusi dilakukan lengkah demi
Eksekusi dilakukan pada keseluruhan
langkah
basis pengetahuan
Menggunakan data
Menggunakan pengetahuan
Tujuan utamanya adalah efisiensi.
Tujuan utamanya adalah efektivitas.
Menurut Turban (1995), terdapat tiga orang yang terlibat dalam lingkungan sistem pakar, yaitu:
1. Pakar Pakar adalah orang yang memiliki pengetahuan khusus, pendapat, pengalaman dan metode, serta kemampuan untuk mengaplikasikan keahliannya tersebut guna menyelesaikan masalah.
2. Knowledge engineer (Perekayasa Sistem) Knowledge engineer adalah orang yang membantu pakar dalam menyusun area permasalan dengan menginterpretasikan dan mengintegrasikan jawaban- jawaban pakar atas pertanyaan yag diajukan, menggambarkan analogi, mengajukan counter example dan menerangkan kesulitan-kesulitan konseptual.
3. Pemakai Sistem pakar memiliki beberapa pemakai, yaitu: pemakai bukan pakar, pelajar, pembangun sistem pakar yang ingin meningkatkan dan menambah basis pengetahuan, dan pakar. (Arhami, 2005 : 12)
2.2.5 Bentuk Sistem Pakar
Ada empat bentuk sistem pakar, yaitu:
1. Berdiri sendiri. Sistem pakar jenis ini 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 (konvensional), atau merupakan program dimana di dalamnya memanggil algoritma subrutin lain (konvensional).
3. Menghubugkan ke software lain. Bentuk ini biasanya merupakan sistem pakar yang menghubungkan ke suatu paket program tertentu, misalnya dengan DBMS.
4. Sistem mengabdi. Sistem pakar merupakan bagian dari komputer khusus yang dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang digunakan untuk membantu menganalisis data radar.
2.2.6 Struktur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar berikut:
Lingkungan Konsultasi
Lingkungan Pengembang
Pengguna
Fakta Spesifik
Basis Pengetahuan fakta aturan
Knowledge engineer
penjelasan
Pengetahuan Pakar
Mesin Inferensi
Aksi yang direkomendasi
Papan tulis (workplace)
Fasilitas Penjelas
Gambar 2.3 Struktur Sistem Pakar (Sumber : Muhammad Arhami :2005)
Komponen-komponen yang terdapat dalam sistem pakar adalah seperti yang terdapat pada gambar diatas, yaitu user interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin inferensi, workplace, fasilitas penjelasan, perbaikan pengetahuan.
2.2.7 Ciri-ciri Sistem Pakar
1. Terbatas pada bidang yang spesifik.
2. Dapat memberikan penalaran unutk data-data yang tidak lengkap atau tidak pasti.
3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara yang dapat dipahami.
4. Berdasarkan pada rule atau kaidah tertentu.
5. Dirancang untuk dapat dikembangkan secara bertahap.
6. Outputnya bersifat nasehat atau anjuran.
7. Output tergantung dari dialog dengan user.
8. Knowledge base dan inference engine terpisah.(Kusrini, 2006 :14)
9. Memiliki fasilitas informasi yang handal.
10. Mudah dimodifkasi.
11. Dapat digunakan dalam berbagai jenis computer.
12. Memiliki kemampuan untuk belajar beradaptasi.(Kusumadewi, 2003 :122)
2.2.8 Keuntungan Pemakaian Sistem Pakar
1. Membuat seorang yang awam dapat bekerja seperti layaknya seorang pakar.
2. Dapat bekerja dengan informasi yang tidak lengkap atau tidak pasti.
3. Meningkatkan Output dan produktivitas. Sistem pakar dapat bekerja lebih cepat dari manusia. Keuntungan ini berarti mengurangi jumlah pekerja yang dibutuhkan, dan akhirnya akan mereduksi biaya.
4. Meningkatkan kualitas.
5. Sistem pakar menyediakan nasehat yang konsisten dan dapat mengurangi tingkat kesalahan.
6. Membuat peralatan yang kompleks lebih mudah dioperasikan karena sistem pakar dapat melatih pekerja yang tidak berpengalaman.
7. Handal.
8. Sistem pakar tidak dapat lelah atau bosan. Juga konsisten dalam memberi jawaban dan selalu memberikan perhatian penuh.
9. Memiliki kemampuan untuk memecahkan masalah yang kompleks.
10. Memungkinkan pemindahan pengetahuan ke lokasi yang jauh serta memperluas jangkauan seorang pakar, dapat diperoleh dan dipakai dimana saja. Merupakan arsip yang terpercaya dari sebah keahlian sehingga user seolah-olah berkonsultasi langsung dengan sang pakar meskipun mungkin sang pakar sudah pensiun.(Kusrini, 2006:15)
11. Bisa melakukan proses secara berulang secara otomatis.
12. Menyimpan paegetahuan dan keahlian para pakar.
13. Meningkatkan output dan produktivitas.
14. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
15. Mampu beroperasi dalam lingkungan yang berbahaya.
16. Memiliki kemampuan untuk mengakses pengetahuan.
17. Meningkatkan kapabilitassistem komputer.
18. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
19. Sebagai media pelengkap dalam pelatihan.
20. Meningkatkan kapabilitas dalam penyelesaian masalah.
21. Menghemat waktu dalam pengambilan keputusan.(Kusumadewi, 2003 : 110)
2.2.9 Kelemahan Sistem Pakar
Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain:
1. Biaya yang diperlukan untuk mebuat dan memeliharanya sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
3. Sistem pakar tidak 100 bernilai benar. (Kusumadewi, 2003 : 111)
2.2.10 Arsitektur Sistem Pakar
Sistem pakar memiliki beberapa komponen utama, yaitu antarmuka pengguna (user interface), basisdata sistem pakar (expert sistem batabase), fasilitas akuisisi pengetahuan (knowledge acquisition facility), dan mekanisme inferensi (inference mechanism). Selain itu ada satu komponen yang hanya ada pada beberapa sistem pakar, yaitu fasilitas penjelasan.
Antamuka pengguna adalah perngkat lunak yang menyediakan media komunikasi antara pengguna dengan sistem.
Basis data sistem pakar berisi pengetahuan setingkat pakar pada subyek tertentu. Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan, dan menyelesaikan masalah. Basis data ini terdiri dari 2 elemen dasar:
1. Fakta, situasi masalah dan teori yang terkait.
2. Heuristik khusus atau rules, yang langsung menggunakan pengetahuan untuk menyelesaikan masalah khusus.
Pengetahuan ini dapat berasal dari pakar, jurnal, majalah, dan sumber pengetahuan lain.
Fasilitas akuisisi pengetahuan merupakan perangkat lunak yang menyediakan fasilitas dialog antara pakar dengan sistem. Fasilitas akuisisi ini digunakan untuk memasukkan fakta-fakta dan kaidah-kaidah sesuai dengan perkembangan ilmu. Meliputi proses pengumpulan, pemindahan, dan perubahan dari kemampuan pemecahan masalah seorang pakar atau sumber pengetahuan terdokumentasi (buku, dll) ke program komputer, yang bertujuan untuk memperbaiki dan atau mengembangkan basis pengetahuan (knowedge base).
Mekanisme inferensi merupakan perangkat lunak yang meakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan pemodelan proses berpikir manusia.
Fasilitas penjelasan berguna untuk memberikan penjelasan kepada pengguna mengapa komputer meminta suatu informasi tertentu dari pengguna dan dasar apa yang digunakan komputer sehingga dapat menyimpulkan suatu kondisi.
Ada 4 tipe penjelasan yang digunakan dalam sistem pakar, yaitu
1. penjelasan mengenai jejak aturan yang menunjukkan status konsultasi.
2. Penjelasan mengenai bagaimana sebuah keputusan diperoleh.
3. Penjelasan mengapa sistem menanyakan suatu pertanyaan.
4. Penjelasan mengapa sistem tidak memberikan keputusan seperti yang dikehendaki pengguna.
Arsitektur dasar dari sistem pakar dapat dilihat pada gambar dibawah ini.
Gambar 2.4 Arsitektur Sistem Pakar
(Sumber : Kusrini. 2006: 19)
Memori kerja dalam arsitektur sistem pakar 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.(Kusrini, 2006 : 17)
2.2.11 Basis Pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui.
Dalam studi kasus pada sistem berbasis pengetahuan terdapat beberapa karakteristik yang dibangun untuk membantu kita di dalam membentuk serangkaian prinsip-prinsip arsitekturnya. Prinsip tersebut meliputi:
1. Pengetahuan merupakan kunci kekuatan sistem pakar.
2. Pengetahuan sering tidak pasti dan tidak lengkap.
3. Pengetahuan sering miskin spesifikasi.
4. Amatir menjadi ahli secara bertahap.
5. Sistem pakar harus fleksibel.
6. Sistem pakar harus transparan. Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu:
1. Penalaran berbasis aturan (Rule-Based Reasoning)
Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah- langkah) pencapaian solusi.
2. Penalaran berbasis kasus (Case-Based Reasoning)
Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu, bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan. (Kusumadewi:115)
External Database
External Program
Expert System
Know ledge Base
Database
Rule : IF-THEN
FA CT
Inf erence Engine
Explanation Facilities
User Interfac e
Developer interf ace
User
Know ledge Engineer
Expert
Gambar 2.5 complete structure of a rule base
Sumber:artificial intelligence. Michael Negnevitsky
2.2.12 Motor inferensi
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.(Turban, 1995).
Kebanyakan sistem pakar berbasis aturan menggunakan strategi inferensi yang dinamakan modus ponen. Berdasarkan strategi ini, jika terdapat aturan “IF A THEN B”, dan jika diketahui bahwa A benar, maka dapat disimpulkan bahwa B juga benar. Strategi inferensi modus ponen dinyatakan dalam bentuk:
[A AND (A B)] B
dengan A dan A B adalah proposisi-proposisi dalam basis pengetahuan.
Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan, yaitu pelacakan ke belakang (backward chaining) dan pelacakan ke depan (forward chaining).
Backward chaining is the goal-driven reasoning. In backward chainning, in expert system has the goal (a hypothetical solution) and the inference engine attempts to find the evidence to prove it. (Negnevitsky:38)
Pelacakan kebelakang adalah pendekatan yang dimotori tujuan (goal- driven). Dalam pendekatan ini pelacakan dimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuan tersebut untuk kesimpulannya. Selanjutnya proses pelacakan menggunakan premis untuk aturan tersebut sebagai tujuan baru dan mencari aturan lain dengan tujuan baru sebagai kesimpulannya. Proses berlanjut sampai semua kemungkinan ditemukan. Gambar 2.4 menunjukkan proses bacward chaining.
Gambar 2.6 Proses Backward Chaining
Forward chaining is the data driven reasoning. The reason starts from the known data and proceeds forward with that data. Each time only the topmost rule is executed. (Negnevitsky:38)
Pelacakan ke depan adalah pendekatan yang dimotori data (data-driven). Dalam pendekatan ini pelacakan dimulai dari informasi masukan, dan selanjutnya mencoba menggambarkan kesimpulan. Pelacakan ke depan mencari fakta yang sesuai dengan bagian IF dari aturan IF-THEN. Gambar 2.5 menunjukkan proses forward chaining.
Gambar 2.7 Proses Forward Chaining
Kedua metode inferensi tersebut dipengaruhi oleh tiga acam penelusuran, yaitu Depth-first search, Breadth-first search dan Best-first saearch.
a. Depth-first search, melakukan penelusuran kaidah secara mendalam dari simpul akar bergerak menurun ke tingkat dalam yang berurutan.
Gambar 2.8 Diagram Alir Teknik Penulusuran Depth-First Search
b. Breadth-first search, bergerak dari simpul akar, simpul yang ada pada setiap tingkat diuji sebelum pindah ke tingkat selanjutnya. (Gmbar 1.8).
Gambar 2.9 Diagram alirir Teknik Penulusuran Breadth-First Search Gambar 2.9 Diagram alirir Teknik Penulusuran Breadth-First Search
Gambar 2.10 Diagram Alir Teknik Penulusuran Best-first search
Dalam memilih apakah akan menggunakan pelacakan ke depan atau pelacakan ke belakang, semuanya bergantung masalah yang akan dibuat sistem pakarnya, dan belum dapat dibuktikan mana yang lebih baik diantara kedua metode inferensi ini.
Untuk sebuah sistem pakar yang besar, dengan jumlah rule yang relatif banyak, metode pelacakan ke depan akan dirasakan sangat lamban dalam pengambilan kesimpulan, sehingga untuk sistem-sistem yang besar digunakan metode pelacakan ke belakang.
2.2.13 Kategori Masalah Sistem Pakar
Masalah-masalah yang dapat diselesaikan dengan sistem pakar, diantaranya :
1. Interpretasi – membuat kesimpulan atau deskripsi dari sekumpulan data mentah.
2. Prediksi – memproyeksikan akibat-akibat yang dimungkinkan dari situasi- situasi tertentu.
3. Diagnosis – menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati.
4. Desain – menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu.
5. Perencanaan – merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu.
6. Debugging dan repair – menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi.
7. Intruksi – mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subyek.
8. Pengendalian – mengatur tingkah laku suatu environment yang kompleks.
9. Selection – megidentifkasi pilihan terbaik dari sekumpulan (list) kemugkinan.
10. Simulation – pemodelan interaksi antara komponen-komponen sistem.
11. Monitoring – membandingkan hasil pengamatan dengan kondisi yang diharapkan.