Minggu, 10 Juni 2012

PENGANTAR SISTEM PAKAR

Beberapa definisi Sistem Pakar / Expert System :

- Durkin : Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.
- Ignizio : Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar.
- Giarranto dan Riley : Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.

Sistem pakar adalah program “artificial inteligence” (”kecerdasan buatan”) 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.

Cabang dari kecerdasan buatan antara lain:
- Robotika
- Bahasa Alami
- Vision
- Undens tanding
- Sistem pakar
- Sistem syaraf tiruan
- speech

Konsep Sistem Pakar
Yang terlihat dalam pembuatan sistem pakar antara lain: pertama user (pengguna),  kedua Programmer (pengalih bahasa pakar ke bahasa komputer sehingga informasi dari pakar bisa diterima oleh user) dan ketiga  adalah pakar (sumber pengetahuan dalam sistem pakar).

Kepakaran seorang pakar harus ditampung ke dalam sebuah database supaya dapat dimanfaatkan untuk sistem pakar. Konsep dasar fungsi sistem pakar adalah:

sistem pakar
  • User/pengguna memberikan inputan berupa fakta/masalah/keluahan yang dialami kedalam sistem pakar.
  • Dari inputan tersebut, sistem memberikan respon berupa keahlian/solusi dari sistem pakar
  • Bagaimana sistem pakar bisa memberikan solusi? Sistem pakar menyimpan sejumlah keahlian yang ada di dalam knowledge base (basis pengetahuan). Kemudian inputan diproses dan ditampilkan solusi yang diberikan.
  • Bagaimana user bisa berinteraksi dengan sistem pakar? Karena ada interface yaitu berupa program aplikasi yang dibuat oleh programer sedemikian rupa sehingga user mengerti dan bisa memamfaatkan sistem pakar tersebut.
Dengan kata lain, tugas dari sistem pakar adalah membahasakan keahlian seorang pakar ke dalam bahasa komputer sampai dapat digunakan oleh user. Atau jika digambarkan lebih komplek adalah:

sistem pakar-1

Dari penjelasan di atas, dapat kita simpulkan bawa ruang lingkup permasalahan yang ada, atau kemungkinan pertanyaan dari user harus mengandung basis pengetahuan atau kumpulan kesimpulan yang munkin terjadi.


Perbandingan Antara Pakar dan Sistem Pakar
Perbedaan antara pakar dan sistem pakar dapat digambarkan ke dalam tabel berikut :

Faktor
Pakar
Sistem pakar
Ketersediaan Waktu
Hari kerja
24 jam/setiap saat
Letak
Tertentu
Dimana saja
Keamanan
Tidak tergantikan
Tergantikan
Dapat habis
Ya
Tidak
Performa
Relatif
Konsisten
Kecepatan
Relatif
Konsisten
Biaya
Tinggi
Terjangkau

Tabel di atas menggambarkan perbedaan sistem pakar dan seorang pakar. Dalam hal ini, diasumsikan sistem pakar sudah tersedia, bukan sedang dalam proses pengembangan. Untuk lebih jelasnya, berikut uraian per point :
  • Sistem pakar dapat digunakan setiap hari menyerupai sebuah mesin. Sedangkan seorang pakar tidak mungkin dapat bekerja secara terus menerus.
  • Sistem pakar merupakan suatu software yang dapat diperbanyak dan kemudian dibagikan ke berbagai lokasi dan dapat dimanfaatkan secara bersamaan. Sedangkan pakar hanya bekerja pada satu waktu dan tempat saja.
  • Sistem pakar aman dari pengguna yang tidak diinginkan. Dengan diberikan pengaman seperti berupa password dan semacamnya. Sedangkan pakar bisa saja mendapat ancaman atau tekanan pada saat melaksanakan tugasnya.
  • Pengetahuan yang disimpan dalam basis pengetahuan tidak akan habis/lupa. Sedangkan seorang pakar bisa menginngal, tidak bisa melaksanakan tugas dan semacamnya.
  • Kemampuan memecahkan masalah dalam sistem pakar tidak dipengaruhi oleh keadaan di luar sistem. Sedangkan seorang pakar bisa saja mendapat pengaruh dalam mengambil keputusan.
  • Begitu juga kecepatan dalam menyelesaikan permasalahan. Sama seperti point sebelumnya.
  • Biaya menggaji seorang pakar lebih mahal bila dibandingkan dengan penggunaan program aplikasi

Ciri Sistem Pakar
> Memiliki fasilitas informasi yang handal,
> Mudah dimodifikasi,
> Dapat digunakan dalam berbagai jenis komputer,
> Mempunyai kemampuan untuk belajar beradaptasi


Keuntungan system pakar
a. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli,
b. Bisa melakukan proses secara berulang secara otomatis,
c. Menyimpan pengetahuan dan keahlian para pakar,
d. Meningkatkan output dan produktivitas,
e. Meningkatkan kualitas,
f.  Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka),
g. Mampu beroperasi dalam lingkungan yang berbahaya,
h. Memiliki kemampuan untuk mengakses pengetahuan,
i.  Memiliki reliabilitas,
j.  Meningkatkan kapabilitas sistem komputer,
k. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian,
l.  Sebagai media pelengkap dalam pelatihan,
m. Meningkatkan kapabilitas dalam penyelesaian masalah,
n.  Menghemat waktu dalam pengambilan keputusan.

Kelemahan Sistem pakar
a. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal,
b. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
c. Sistem pakar tidak 100% bernilai benar

Bentuk Sistem Pakar
a. Berdiri sendiri. Merupakan software yang berdiri sendiri tidak tergabung dengan software lain.
b. Tergabung. Merupakan bagian program yang terkandung dalam suatu algoritma (konvensional), atau merupakan program di mana di dalamnya memanggil algoritma subrutin lain (konvensional).
c. Menghubungkan ke software lain. Merupakan sistem pakar menghubungkan ke suatu paket program tertentu, misalnya DBMS.
d. Sistem mengabdi. Merupakan bagian dari komputer khusus yang dihubungkan dengan fungsi tertentu.


Struktur Sistem Pakar
sistem pakar-2

①. User interface : Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.

②. Basis Pengetahuan : 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.

Setelah proses akuisisi pengetahuan selesai dilakukan, maka pengetahuan tersebut harus direpresentasikan. Ada beberapa cara merepresentasikan pengetahuan menjadi basis pengetahuan, yaitu pengetahuan dalam bentuk kalkulus predikat, jaringan semantik, bingkai, kaidah produksi. Semua bentuk representasi itu bertujuan untuk menyederhanakan data sehingga mudah untuk dimengerti dan mengefektifkan proses pengembangan program. Basis pengetahuan mencakup dua elemen dasar, yaitu :
1. fakta, misalnya situasi persoalan dan teori area persoalan (apa yang diketahui tentang area domain).
2. rule atau aturan khusus yang mengarahkan penggunaan pengetahuan untuk memecahkan persoalan khusus dalam domain tertentu (referensi logika).

③ Akuisisi Pengetahuan
Fasilitas ini merupakan suatu proses untuk mengumpulkan data-data pengetahuan akan suatu masalah dari pakar. Bahan pengetahuan dapat ditempuh dari beberapa cara, misalnya mendapatkan pengetahuan dari buku, jurnal ilmiah, para pakar dibidangnya, laporan, literatur dan seterusnya. Sumber pengetahuan tersebut dijadikan dokumentasi untuk dipelajari, diolah, dan diorganisasikan secara terstruktur menjadi basis pengetahuan.
Menurut Firebaught proses akuisisi dibagi dalam enam tahap, yaitu:
1.  Identifikasi
Meliputi penentuan komponen kunci dalam system yang sedang dibangun. Antara lain: knowledge engineer, engineer, pakar, karakteristik masalah, sumber daya dan tujuan.
2.  Konsep
Konsep kunci dan hubungannya yang telah ditentukan pada tahap pertama dibuat lebih jelas pada tahap ini
3.  Formalisasi
Pemetaan konsep kunci, sub masalah dan aliran informasi yang telah ditentukan dalam tahap sebelumnya ke dalam representasi formal yang paling sesuai dengan masalah yang ada
4.  Implementasi
Pemeteaan pengetahuan dari yang telah diformalisasikan ke dalam skema representasi pengetahuan yang dipilih
5.  Pengujian
Seteleh prototipe sistem yang dibangun berhasil menangani dua atau tiga contoh, prototipe tersebut harus menjalani serangkaian pengujian dengan teliti menggunakan beragam sampel masalah
6.  Revisi prototipe
Merupakan kemampuan untuk kembali  ke tahap-tahap sebelumnya untuk memperbaiki sistem

④ Mesin Inferensi
Mesin inferensi merupakan otak dari sistem pakar, Mesin inferensi adalah bagian yang mengandung mekanisme berpikir dan pola-pola penalaran sistem yang akan menganalisis suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.
Hasil pemprosesan yang dilakukan oleh mesin inferensi dari sudut pandang pengguna non pakar berupa aksi/konklusi yang direkomendasikan oleh sistem pakar atau dapat juga berupa penjelasan jika memang dibutuhkan oleh pengguna. Dari sudut pandang pembangun sistem dalam lingkungan pengembangan, mesin inferensi terdiri dari 3 elemen penting, yaitu :
1.  Interpreter (interpreter kaidah terdapat pada sebagian besar sistem), elemen ini mengeksekusi item-item agenda yang terpilih dengan menggunakan kaidah basis pengetahuan yang bersesuaian.
2.  Scheduller, elemen ini mengelola pengontrolan terhadap agenda. Penjadwal memperkirakan pengaruh-pengaruh dari penggunaan kaidah inferensi pada prioritas-prioritas item  atau kriteria lain pada agenda.
3.  Consistency enforcer, elemen ini berusaha untuk mengelola penyajian solusi secara konsisten.

⑤ Workplace
Merupakan area kerja memori yang disimpan sebagai basis data untuk deskripsi persoalan terbaru yang ditetapkan oleh data input, digunakan juga untuk perekaman hipotesis dan keputusan sementara. Tiga tipe keputusan dapat direkam dalam blackboard, yaitu :
1. rencana (bagaimana mengatasi persoalan),
2. agenda (tindakan potensial sebelum eksekusi), dan
3. solusi (hipotesis kandidat dan arah tindakan alternatif yang telah dihasilkan sistem sampai dengan saat ini).

⑥ Fasilitas Penjelasan
Bagian yang harus siap memberikan penjelasan disaat pemakai perlu mengetahui apakah alasan diberikannya sebuah solusi. Bagian ini secara konkrit membedakan sebuah sistem pakar dengan sistem aplikasi yang biasa, karena pada pemrograman konvensional tidaklah biasa sebuah sistem menyediakan informasi tambahan mengapa atau dari mana sebuah solusi diperoleh. Bagian ini mempunyai kemampuan untuk menelusuri konklusi dan menerangkan tingkah laku sistem pakar dengan menjawab pertanyaan-pertanyaan sebagai berikut :
1. Mengapa pertanyaan tersebut ditanyakan oleh sistem pakar?
2. Bagaimana konklusi tersebut diperoleh?
3. Mengapa alternatif tersebut ditolak?
4. Apa rencana untuk memperoleh penyelesaian?

Pada sistem pakar berbasis rule, biasanya penjelasan ini dilakukan dengan cara memperlihatkan rule-rule yang digunakan. Fasilitas ini penting untuk menambah rasa percaya pengguna pada hasil output program sistem pakar yang digunakannya.

⑦ Perbaikan Pengetahuan
Merupakan bagian sistem pakar yang dapat menambah, mengubah, menghapus pengetahuan yang terdapat pada basis pengetahuan. Fasilitas ini dibangun agar sistem pakar dapat ditingkatkan pengetahuannya untuk menyelesaikan masalah  dengan tepat.

0 komentar:

Posting Komentar