Jumat, 18 November 2011

Sistem pakar 2


1.      SISTEM PAKAR
            Secara umum, sistem pakar (Expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.
            Sistem pakar pertama kali dikembangkan oleh komunitas Artificial Intellegence (AI) pada pertengahan tahun 1960. Sistem pakar yang muncul pertama kali adalah General-pupose Problem Solver (GPS) yang dikembangkan oleh Newel dan Simon. GPS (dan program-program yang serupa) ini mengalami kegagalan dikarenakan cakupannya terlalu luas sehingga terkadang justru meninggalkan pengetahuan-pengetahuan penting yang seharusnya disediakan.
Sampai saat ini sudah banyak sistem pakar yang dibuat, beberapa contoh diantaranya terlihat pada tabel berikut : (Kusumadewi, 2001)
Sistem pakar
Kegunaan
MYCIN
Diagnosis penyakit
DENDRAL
Mengidentifikasi struktur molekular campuran yang tak dikenal
XCON & XSEL
Membantu konfigurasi sistem komputer besar
SOPHIE
Analisis sirkit 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



2. KONSEP DASAR SISTEM PAKAR
Menurut Turban(1995) konsep dasar sistem pakar mengandung keahlian (expertise), pakar (expert), pengalihan keahlian (transfering expertise), inferensi (inferencing), aturan (rules) dan kemampuan menjelaskan (explanation capability).
Keahlian (expertise) adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Pengetahuan tersebut memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.
Pakar (Expert) 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 (transfering expertise) dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, hal inilah yang merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu :
1.      Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya)
2.      Representasi pengetahuan (ke komputer)
3.      Inferensi pengetahuan
4.      dan pengalihan pengetahuan ke user.
Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan. Ada dua 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 basisdata, 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 systems, yang mana pengetahuan disimpan dalam bentuk aturan-aturan. Aturan tersebut biasanya berbentuk IF-THEN.
Fitur lainnya dari sistem pakar adalah kemampuan untuk memberikan nasehat atau merekomendasi. Kemampuan inilah yang membedakan sistem pakar dengan sistem konvensional.

3. Struktur Sistem Pakar

Gambar 2.1. Arsitektur Sistem Pakar (Turban,1995).

Menurut Turban(1995), 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 pembangun komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seseorang yang bukan ahli untuk berkonsultasi.

Komponen-komponen yang ada pada sistem pakar seperti pada Gambar 2.1 sebagai berikut :


1.      Subsistem penambahan pengetahuan.
Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basisdata, penelitian, dan gambar.
2.      Basis pengetahuan.
Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah
3.      Motor Inferensi (inference engine).
Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada 3 elemen utama dalam motor inferensi, yaitu :
a.        Interpreter : mengeksekusi item-item agenda yang terpilih dengan menggunakan aturan-aturan dalam basis pengetahuan yang sesuai.
b.       Scheduler : akan mengontrol agenda
c.        Consistency enforcer : akan berusaha memelihara kekonsistenan dalam merepresentasikan solusi yang bersifat darurat
4.      Workspace
Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 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
5.      Antarmuka
Digunakan untuk media komunikasi antara user dan program
6.      Subsistem penjelasan
Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakukan sistem pakar secara interaktif melalui pertanyaan :
-          Mengapa suatu pertanyaan ditanyakan oleh sistem pakar?
-          Bagaimana konklusi dicapai?
-          Mengapa ada alternatif yang dibatalkan?
-          Rencana apa yang digunakan untuk mendapatkan solusi?
7.      Perbaikan.
Sistem ini digunakan untuk mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang ada masih cocok untuk digunakan di masa mendatang.

4. BASIS PENGETAHUAN (KNOWLEDGE BASE)
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 :
a.       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.
b.      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.

5.  MOTOR INFERENSI (INFERENCE ENGINE)
Mesin inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan terbaik.
Secara deduktif mesin inferensi memilih pengetahuan yang relevan dalam rangka mencapai kesimpulan. Dengan demikian sistem ini dapat menjawab pertanyaan pemakai meskipun jawaban tersebut tidak tersimpulkan secara eksplisit di dalam basis pengetahuan. Mesin inferensi memulai pelacakannya dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data.

Ada dua teknik  yang dapat dikerjakan dalam melakukan inferensi, yaitu :
1.      Forward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu). Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis. Gambar 2.2 menunjukkan diagram Forward chaining.
 

Gambar 2.2. Diagram Forward Chaining

1.      Backward Chaining
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan.(Gambar 2.3)


 
Gambar 2.3. Diagram Backward Chaining

 
Kedua metode inferensi tersebut dipengaruhi oleh tiga macam penelusuran, yaitu Depth-first search, Breadth-first search dan  Best-first search.                       
  1. Breadth-first search, Pencarian dimulai dari simpul akar terus ke level 1 dari kiri ke kanan dalam 1 level sebelum berpindah ke level berikutnya. Gambar 2.4 menunjukkan breadth first search pada suatu pohon 2 level.


Gambar 2.4. Pohon Breadth First Search

Keuntungan BFS:
    1. Breadth first search tidak akan menemui jalan buntu.
    2. Jika ada 1 solusi maka breadth first search akan menemukannya. Jika terdapat lebih dari 1 solusi, maka solusi minimum akan ditemukan.


Kelemahan BFS:
1.      Membutuhkan memori yang cukup besar, karena menyimpan semua simpul dalam suatu pohon.
2.      Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1).

  1. Depth-first search, Pencarian dimulai dari simpul akar ke level yang lebih tinggi. Proses ini dilakukan terus hingga solusinya ditemukan atau jika menemui jalan buntu. Gambar 2.5 menunjukkan suatu pohon depth first search.
 

Gambar 2.5. Pohon Depth First Search
Keuntungan DFS :
    1. Membutuhkan memori yang cukup kecil, karena hanya simpul-simpul pada lintasan yang aktif saja yang disimpan.
    2. Secara kebetulan, pencarian mendalam pertama mungkin dapat menemukan suatu solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.
Kelemahan DFS:
1.      Metode depth first search memungkinkan tidak ditemukannya tujuan yang diharapkan.
2.      Hanya akan mendapatkan 1 solusi pada setiap pencarian.
  1. Best-first search, bekerja berdasarkan kombinasi kedua metode sebelumnya.
            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 di antara 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.

 


Tidak ada komentar:

Posting Komentar