Selasa, 30 Maret 2010

SISTEM PAKAR

SISTEM PAKAR


PENDAHULUAN

Pada saat ini penggunaan teknologi perangkat mobile telah berkembang pesat dan memasyarakat. Sebagian besar masyarakat menggunakannya tidak hanya untuk kepentingan berkomunikasi saja, tetapi juga untuk mendapatkan informasi secara cepat dan efisien dengan aplikasi berorientasi internet melalui teknologi WAP. Perkembangan teknologi Kecerdasan Buatan yang terjadi telah memungkinkan Sistem Pakar untuk diaplikasikan penggunaannya dalam perangkat mobile dengan WML dan PHP.

Salah satunya dalam pemberian informasi mengenai berbagai masalah kesehatan, terutama masalah kesehatan paru anak. Metode sistem pakar yang digunakan adalah forward dan backward chaining dengan pembuatan tree dari datadata penunjang. Dengan fasilitas yang diberikan untuk user dan administrator, memungkinkan baik user maupun administrator untuk menggunakan sistem ini sesuai kebutuhannya masing-masing. User diberi kemudahan dalam mengetahui informasi berbagai jenis penyakit paru anak dengan gejala-gejala klinisnya, informasi rumah sakit paru di beberapa daerah serta konsultasi layaknya dengan seorang dokter paru anak melalui beberapa pertanyaan yang harus dijawab user untuk mengetahui hasil diagnosanya.

Sedangkan administrator dimudahkan dalam memanajemen sistem, baik proses tambah, hapus maupun update data terbaru. Tugas akhir ini diharapkan mampu memberikan informasi segala hal yang berhubungan dengan masalah kesehatan paru anak secara cepat dan efisien secara timbal baik antara user dan sistem tetapi tetap optimal meski dalam small device.

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/ pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya.
Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.
Sistem pakar merupakan sebuah sistem berbasis komputer yang menggunakan pengetahuan, fakta dan teknik penalaran yang dimiliki manusia sebagai pakar yang tersimpan di dalam komputer, dan digunakan untuk menyelesaikan masalah yang lazimnya memerlukan pakar tertentu (Martin dan Oxman, 1998).
Sistem pakar yang baik dapat menyelesaikan masalah dengan
lebih sempurna, sebanding dengan seorang pakar yang mempunyai pengetahuan dalam
bidang tertentu.
Sistem pakar adalah program “artificial inteligence” (”kecerdasan buatan” atau AI) yang
menggabungkan basis pengetahuan dengan mesin inferensi. Ini merupakan bagian software spesialisasi tingkat tinggi atau bahasa pemrograman tingkat tinggi (High level Language), yang berusaha menduplikasi fungsi seorang pakar dalam satu bidang keahlian tertentu. Program ini bertindak sebagai konsultan yang cerdas atau penasihat dalam suatu lingkungan keahlian tertentu, sebagai hasil himpunan pengetahuan yang telah dikumpulkan dari beberapa orang pakar.
Sistem pakar dengan desain yang benar dan sejumlah komponen yang saling bekerja sama untuk membentuk suatu kesatuan integrasi, sistem pakar dapat dijadikan alat untuk menunjang aktivitasnya yaitu sebagai asisten
yang berpengalaman.

Beberapa definisi tentang sistem pakar :
• Menurut Durkin: Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.
• Menurut Ignizio: Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar.
• Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
• Sistem pakar yang pertama kali muncul adalah General purpose Problem Solver (GPS) dikembangkan oleh Newel Dan Simon.

Contoh – contoh sistem pakar:
• MYCIN Berguna untuk mendiagnosa penyakit
• DENDRAL Mengidentifikasi struktur molekular campuran yang tak dikenal
• XCON & XSEL Membantu konfigurasi sistem komputer besar.
• SOPHIE Analisis sirkit elektronik
• Prospektor Digunakan didalam geologi untuk membantu mencari dan menemukan deposit
• FOLIO Membantu memberikan keputusan bagi seorang manajer dalam hal stok broker dan investasi
• DELTA Pemeliharaan lokomotif listrik disel.


Kategori dan Area Permasalahan Sistem Pakar:
• Interprestasi, adalah membuat kesimpulan atau deskripsi dari
sekumpulan data mentah.
• Prediksi, adalah memproyeksikan akibat-akibat yang
dimungkinkan dari situasi-situasi tertentu.
• Diagnosis, adalah menentukan sebab malfungsi dalam situasi yang
didasarkan pada gejala-gejala yang teramati.
• Desain, adalah menentukan konfigurasi komponen-komponen
sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang
memenuhi kendala-kendala tertentu.
• Perencanaan, adalah merencanakan serangkaian tindakan yang
dapat mencapai sejumlah tujuan dengan kondisi awal tertentu.
• Debugging dan Repair, adalah menentukan dan
menginterpresentasikan cara-cara untuk mengatasi malfungsi.
• Instruksi, adalah mendeteksi dan mengoreksi defisiensi dalam
pemahaman domain subyek.
• Pengendalian, adalah mengatur tingkah laku suatu lingkungan yang
kompleks.
• Selection, adalah mengidentifikasi pilihan terbaik dari sekumpulan
kemungkinan.
• Simulation, adalah pemodelan interaksi antara komponen-
komponen sistem.
• Monitoring, adalah membandingkan hasil pengamatan dengan
kondisi yang diharapkan.

Tujuan sistem pakar adalah untuk mentransfer kepakaran yang
dimiliki seorang pakar kedalam komputer dan kemudian dapat digunakan oleh orang lain yang bukan pakar.


Kelebihan sistem pakar:
• Orang awam bisa menggunakannya
• Melestarikan keahlian seorang pakar
• Mampu beroperasi dalam lingkungan yang berbahaya
• Kemampuan dalam mengakses pengetahuan
• Bisa berkerja dalam informasi yang tidak lengkap
• Media pelengkap dalam penelitian
• Menghemat waktu dalam mengambil suatu ke putusan
• Proses secara otomatis
• Keahlian sama dengan seorang pakar
• Produktifitas

Kekurangan sistem pakar
• Biaya yang sangat mahal membuat dan memeliharanya
• Sulit di kembangkan karena keterbatasan keahlian dan ketersediaan pakar
• Sistem pakar tidak 100% bernilai benar


Jenis-Jenis Pengetahuan yang dimiliki Seorang Pakar:
• Teori-teori dari permasalahan
• Aturan dan prosedur yang mengacu pada area permasalahan
• Aturan yang harus dikerjakan pada situasi yang terjadi
• Strategi global untuk menyelesaikan berbagai jenis masalah
• Meta-knowledge
• Fakta-fakta

Karakteristik Sistem Pakar:

Memiliki kemampuan belajar atau memahami masalah dari pengalaman.

Memberikan tanggapan yang cepat dan memuaskan terhadap situasi baru.

• Mampu menangani masalah yang kompleks (semi terstruktur).

• Memecahkan masalah dengan penalaran.

• Menggunakan pengetahuan untuk menyelasaikan masalah.

Ciri-ciri Sistem Pakar:
• Memiliki informasi yang handal.
• Mudah dimodifikasi.
• Heuristik dalam menggunakan pengetahuan (yang sering kali tidak
sempurna) untuk mendapatkan penyelesaiannya.
• Dapat digunakan dalam berbagai jenis komputer.
• Memiliki kemampuan untuk beradaptasi.


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.
Pakar manusia memiliki sistem perbaikan-pengetahuan; yakni mereka dapat menganalisis pengetahuannya sendiri dan kegunaannya, belajar darinya, dan meningkatkannya untuk konsultasi mendatang. Serupa pula, evaluasi tersebut diperlukan dalam pembelakjaran komputer sehingga program dapat menganalisis alasan keberhasilan atau kegagalannya. Hal ini dapat mengarah kepada peningkatan sehingga menghasilkan basis pengetahuan yang lebih akurat dan pertimbangan yang lebih efektif.
Komponen tersebut tidak tersedia dalam sistem pakar komersial pada saat ini, tetapi sedang dikembangkan dalam ES eksperimental pada beberapa universitas dan lembaga riset. Sistem pakar (Expert System) adalah sebuah sistem informasi yang memiliki intelegensia buatan (Artificial Intelegent) yang menyerupai intelegensia manusia. Sistem pakar mirip dengan DSS yaitu bertujuan menyediakan dukungan pemecahan masalah tingkat tinggi untuk pemakai.
Perbedaan ES dan DSS adalah kemampuan ES untuk menjelaskan alur penalarannya dalam mencapai suatu pemecahan tertentu. Sangat sering terjadi penjelasan cara pemecahan masalah ternyata lebih berharga dari pemecahannya itu sendiri.
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.
Fasilitas penjelasan sistem merupakan komponen tambahan dari sistem pakar yang berfungsi untuk memberikan penjelasan kepada user mengapa suatu pertanyaan ditanyakan oleh sistem pakar, bagaimana kesimpulan dapat diperoleh, kenapa solusi tertentu ditolak, dan apa rencananya untuk mencapai solusi.
Inferensi merupakan suatu proses untuk menghasilkan informasi dari fakta yang diketahui. Inferensi adalah konklusi logis atau implikasi berdasarkan informasi yang tersedia. Dalam sistem pakar, proses inferensi dialakukan dalam suatu modul yang disebut inference engine. Ketika representasi pengetahaun pada bagian knowledge base telah lengkap, atau paling tidak telah berada pada level yang cukup akurat, maka representasi pengetahuan tersebut telah siap digunakan.
Inference engine merupakan modul yang berisi program tentang bagaimana mengendalikan proses reasoning. Ada dua metode inferensi yang penting dalam sistem pakar, yaitu runut maju (forward chaining) dan runut balik (backward chaining).

”Otak” ES adalah mesin inferensi, yang dikenal juga sebagai struktur kontrol atau penerjemah aturan (dalam ES berbasis-aturan). Komponen ini sebenarnya adalah program komputer yang menyediakan metodologi untuk mempertimbangkan informasi dalam pengetahuan dan workplace, dan merumuskan kesimpulan.
Mesin inferensi adalah keahlian yang dibutuhkan disimpan di dalam knowledge base (basis pengetahuan), komputer diprogram sehingga dapat menghasilkan solusi.
Terdapat dua cara (metode) mekanisme inferensi dalam sistem pakar berbasis aturan, yaitu:
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.
Runut maju (forward chaining) Runut maju adalah aturan-aturan diuji satu demi satu dalam urutan tertentu (data driven).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.
Runut mundur ( backward chaining) Runut mundur adalah penalaran dimulai dari kesimpulan dan akan dibuktikan kebenarannya(goal driven). 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.
Kedua cara di atas dipengaruhi oleh macam penelusuran yang terdiri dari 3 macam/ teknik penelusuran:
• Depth first search, teknik penelusuran dari node ke node bergerak menurun ke tingkat dalam yang berurutan.
• Breadth first search, teknik penelusuran pada semua node dalam satu level sebelum berpindah ke level di bawahnya.
• Best first search, kombinasi antara depth first search dan breadth first search.

Akuisisi Pengetahuan (Knowledge Acquisition)
Akuisisi pengetahuan adalah pengumpulan data-data dari seorang pakar ke dalam suatu sistem (program komputer). Bahan pengetahuan dapat diperoleh melalui buku, jurnal ilmiah, literatur, seorang pakar, browsing internet, laporan dan lain-lain. Sumber pengetahuan dari buku, jurnal ilmiah, literatur, seorang pakar, browsing internet, laporan dijadikan dokumentasi untuk dipelajari, diolah dan dikumpulkan dengan terstruktur menjadi basis pengetahuan (knowledge base).
Sumber-sumber pengetahuan yang diperoleh agar menghasilkan data-data yang baik maka perlu diolah dengan kemampuan yang baik pula sehingga dapat menghasilkan solusi yang efisien. Karena kemampuan yang menjadi hal yang pokok/ wajib dibutuhkan oleh seorang pengembang sistem. Mendapatkan pengetahuan dari pakar adalah tugas kompleks yang sering menmbulkan kemacetan dalam konstruksi ES. Dalam membangun sistem besar, seseorang memerlukan knowledge engineer atau pakar elisitasi pengetahuan untuk berinteraksi dengan satu atau lebih pakar manusia dalam membangun basis pengetahuan.
Biasanya knowledge engineer membantu pakar menyusun area persoalan dengan menginterpretasikan dan mengintegrasikan jawaban manusia, menyusun analogi, mengajukan contoh pembanding, dan menjelaskan kesulitan konseptual.

Struktur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) (Turban, 1995). 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.
Tiga komponen utama yang tampak secara virtual disetiap sistem pakar adalah basis pengetahuan, mesin inferensi, dan antarmuka pemakai.
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. Basis tersebut mencakup dua elemen dasar :
• fakta, misalnya situasi persoalan dan teori area persoalan, dan
• heuristik atau aturan khusus yang mengarahkan penggunaan pengetahuan untuk memecahkan persoalan khusus dalam domain tertentu.
Selain itu, mesin inferensi dapat menyertakan pemecahan persoalan untuk tujuan umum dan aturan pengambilan keputusan ). Heuristik menyatakan pengetahuan peniliaian informal dalam area aplikasi. Pengetahuan, tidak hanya fakta, adalah bahan mentah primer dalam sistem pakar.
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)
User Interface, adalah bagian yang memungkinkan manajer mamasukan instruksi dan informasi kedalam dan menerima informasi dari sistem pakar.
Fasilitas ini digunakan sebagai mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka pemakai (User Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi.
User interface, berfungsi untuk menginputkan pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh step by step sehingga user mengerti apa yang akan dilakukan terhadap suatu sistem. Yang terpenting dalam membangun user interface adalah kemudahan dalam memakai/ menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan dalam mengembangkan/ membangun suatu program jangan terlalu diperlihatkan.

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).

2 komentar: