Rabu, 07 Desember 2011

Sistem Pakar

Sistem pakar (Expert System / ES) adalah sistem yang digunakan untuk menggantikan peranan seorang pakar dalam memberi konsultasi kepada pimpinan dalam organisasi. Pimpinan organisasi biasa mempekerjakan staff ahli yang memiliki ke-pakar-an dalam bidang tertentu, misalnya dalam bidang keuangan, bidang pemasaran, bidang kesehatan, bidang mesin produksi, dan sebagainya. Ketika pakar sulit diperoleh karena jumlahnya sedikit atau terlalu sibuk dengan pekerjaan lain, maka diperlukan suatu sistem pakar untuk menggantikan peranan-nya dalam organisasi.
Ketika suatu sistem pakar akan dibangun, maka seorang pengembang software (software developer) bekerja bersama dengan seorang pakar, pengembang ini akan melakukan serangkaian tanya-jawab (knowledge acquisition) untuk mengumpulkan dasar-dasar pengetahuan (knowledge base) sang pakar. Dasar-dasar pengetahuan ini kemudian dialihkan menjadi basis-pengetahuan sistem pakar dalam bentuk fakta dan aturan. Kemudian pengembang membangun suatumesin inferensi (inference engine) yang merupakan pembuat keputusan dalam sistem pakar, mengumpulkan informasi dari user melalui tanya jawab, dan membandingkan informasi ini dengan basis-pengetahuan, kemudian memutuskan apa yang harus di-informasikan ke pengguna berdasarkan data/informasi yang diberikannya.
Ketika seorang pengguna memerlukan informasi dari sistem pakar, maka mesin inferensi akan mengajukan serangkaian pertanyaan yang harus dijawab oleh pengguna melalui suatu user-interface (antarmuka pengguna). Jawaban yang dikumpulkan oleh mesin inferensi kemudian dipakai untuk menemukan informasi dari basis-pengetahuan, informasi ini kemudian diteruskan ke pengguna. Apabila pengguna ingin mengetahui lebih rinci tentang informasi yang diperolehnya maka dapat melakukan klarifikasi melalui fasilitas penjelas (explanation facility).
Contoh dialog sistem pakar dengan penggunanya adalah sebagai berikut:
Sistem : Halo, saya pakar buah, silahkan jawab pertanyaan saya, ya atau tidak.
Sistem : Apakah warnanya hijau?
User : Tidak
Sistem : Apakah warnanya ungu kemerahan?
User : Ya
Sistem : Apakah batangnya merambat?
User : Ya
Sistem : Apakah bentuknya bulat kecil?
User : Ya
Sistem : Buah yang anda maksud adalah ANGGUR
Agar tanya jawab ini bisa berlangsung dengan baik maka sistem pakar ini harus memiliki basis-pengetahuan sebagai berikut:
Apel : – warna kuning atau merah
- batangnya adalah pohon
- bentuknya bulat sedang
Anggur : – warna ungu kemerahan
- batangnya merambat
- bentuknya bulat kecil
Jeruk : – warna oranye
- batangnya adalah pohon
- bentuknya bulat sedang
Ketika Sistem melakukan tanya jawab dengan User maka jawaban Ya akan dijadikan basis untuk memeriksa knowledge-base, misalnya pada contoh diatas data masukan adalah (ungu kemerahan, merambat, bulat kecil) dan data ini cocok dengan karakteristik dari Anggur, maka jawaban dari sistem adalah: ANGGUR.

Kamis, 20 Oktober 2011

Ciri-Ciri Sistem Pakar


Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :
• Memiliki informasi yang handal.
• Mudah dimodifikasi.
• Dapat digunakan dalam berbagai jenis komputer.
• Memiliki kemampuan untuk belajar beradaptasi.

Keuntungan 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 reabilitas.
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 sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
3. Sistem Pakar tidak 100% bernilai benar.

Alasan Pengembangan Sistem Pakar
Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :
• Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
• Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
• Seorang pakar akan pensiun atau pergi.
• Seorang pakar adalah mahal.
• Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.

Modul Penyusun Sistem Pakar
Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama 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 system (bagaimana suatu keputusan dapat diperoleh).

Struktur Sistem Pakar


Komponen utama pada struktur sistem pakar menurut 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.

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 teknik pengendalian tersebut.

3. Basis Data (Data Base)
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 komputer.

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

a. Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.

b. Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.

c. Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).

d. Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
Inferencing dengan Rule : Forward dan Backward Chaining
Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.

a. Backward chaining
• Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
• Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.

b. Forward chaining
• Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
• Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.
• Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
• Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Permasalahan Yang Disentuh Oleh Sistem Pakar
Ada beberapa masalah yang menjadi area luas aplikasi sistem pakar, antara lain :
1. Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk diantaranya :pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis kecerdasan.
2. Prediksi. Termasuk diantaranya : peramalan, prediksi demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan.
3. Diagnosis. Termasuk diantaranya : medis, elektronis, mekanis, dan diagnosis perangkat lunak.
4. Perancangan. Termasuk diantaranya : layout sirkuit dan perancangan bangunan.
5. Perencanaan. Termasuk diantaranya : perencanaan keuangan, komunikasi, militer, pengembangan produk, routing, dan manajemen proyek.
6. Monitoring. Misalnya : Computer-Aided Monitoring Systems.
7. Debugging, memberikan resep obat terhadap suatu kegagalan.
8. Perbaikan.
9. Instruksi. Melakukan instruksi untuk diagnosis, debungging, dan perbaikan kerja.
10. Kontrol. Melakukan kontrol terhadap interpretasi interpretasi, prediksi, perbaikan, dan monitoring kelakukan sistem.

Contoh penerapan dari Sistem Pakar
Dibawah ini merupakan beberapa contoh penerapan dengan adanya sistem pakar:
MYCIN : Diagnosa penyakit
DENDRAL : Mengidentifikasi struktur molekular campuran yang tak dikenal
XCON & XSEL : Membantu konigurasi sistem komputer besar
SOPHIE : Analisis sirkit elektronik
Prospector : Digunakan di dalam geologi untuk membantu mencari dan menemukan deposit
FOLIO : Menbantu memberikan keputusan bagi seorang manajer dalam hal stok broker dan investasi
DELTA : Pemeliharaan lokomotif listrik disel

Konsep Dasar Sistem Pakar


 mencakup beberapa persoalan mendasar, antara lain siapa yang disebut pakar, apa yang dimaksud dengan keahlian, bagaimana keahlian dapat ditransfer, dan bagaimana sistem bekerja.

Pakar adalah orang yang memiliki pengetahuan, penilaian, pengalaman, metode khusus, serta kemampuan untuk menerapkan bakat ini dalam memberi nasihat dan memecahkan masalah. Pakar biasa memiliki beberapa konsep umum. Pertama, harus mampu memecahkan persoalan dan mencapai tingkat performa yang secara signifikan ebih baik dari orang kebanyakan. Kedua, pakar adalah relatif. Pakar pada satu waktu atau satu wilayah mungkin tidak menjadi pakar di waktu atau wilayah lain. Misalnya, mahasiswa kedokteran mungkin disebut pakar dalam penyakit dibanding petugas administrasi, tetapi bukan pakar di rumah sakit terkemuka.

Biasanya pakar manusia mampu melakukan hal berikut :   Mengenali dan merumuskan persoalan, Memecahkan persoalan dengan cepat dan tepat, Menjelaskan solusi tersebut, Belajar dari pengalaman, Menyusun ulang pengetahuan, Membagi-bagi aturan jika diperlukan, Menetapkan relevansi Keahlian adalah pengetahuan ekstensif yang spesifik terhadap tugas yang dimiliki pakar.

Keahlian sering dicapai dari pelatihan, membaca, dan mempraktikkan. Keahlian mencakup pengetahuan eksplisit, misalnya teori yang dipelajari dari buku teks atau kelas, dan pengetahuan implisit yang diperoleh dari pengalaman. Pengembangan sistem pakar dibagi menjadi dua generasi. Kebanyakan sistem pakar generasi pertama menggunakan aturan jika-maka untuk merepresentasikan dan menyimpan pengetahuannya. Sistem pakar generasi kedua jauh lebih fleksibel dalam mengadopsi banyak representasi pengetahuan dan metode pertimbangan.

Pengalihan keahlian dari para ahli ke media elektronik seperti komputer untuk kemudian dialihkan lagi pada orang 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 sebagai basis 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 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). Dan setiap sub sistem mempunyai sifat dari sistem untuk menjalankan suatu fungsi sistem tertentu dan mempengaruhi proses sistem secara keseluruhan.

Terdapat beberapa alasan bagi suatu perusahaan untuk mengadopsi sistem pakar. Pertama, pakar di suatu perusahaan/instansi bisa pensiun, keluar, atau telah meninggal. Kedua, pengetahuan perlu didokumentasikan atau dianalisis. Ketiga, pendidikan dan pelatihan adalah hal penting tetapi merupakan tugas yang sulit. Sistem pakar memungkinkan pengetahuan ditransfer lebih mudah dengan biaya lebih rendah.