Minggu, 02 Oktober 2016

Expert System



Ketika hendak membuat suatu keputusan yang komplek atau memecahkan masalah, seringkali kita meminta nasehat atau berkonsultasi dengan seorang pakar atau ahli. Seorang pakaradalah seseorang yang mempunyai pengetahuan dan pengalaman spesifik dalam suatu bidang; misalnya pakar komputer, pakar uji tak merusak, pakar politik dan lain-lain. Semakin tidak terstruktur situasinya, semakin mengkhusus (dan mahal) konsultasi yang dibutuhkan.

Sistem Pakar (Expert System) adalah usaha untuk menirukan seorang pakar. Biasanya Sistem Pakar berupa perangkat lunak pengambil keputusan yang mampu mencapai tingkat performa yang sebanding seorang pakar dalam bidang problem yang khusus dan sempit. Ide dasarnya adalah: kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar malahan terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia!

Kepakaran (expertise) adalah pengetahuan yang ekstensif (meluas) dan spesifik yang diperoleh melalui rangkaian pelatihan, membaca, dan pengalaman. Pengetahuan membuat pakar dapat mengambil keputusan secara lebih baik dan lebih cepat daripada non-pakar dalam memecahkan problem yang kompleks. Kepakaran mempunyai sifat berjenjang, pakar top memiliki pengetahuan lebih banyak daripada pakar junior.
Tujuan Sistem Pakar adalah untuk mentransfer kepakaran dari seorang pakar ke komputer, kemudian ke orang lain (yang bukan pakar). Proses ini tercakup dalam rekayasa pengetahuan (knowledge engineering) yang akan dibahas kemudian.

Manfaat dan Keterbatasan Sistem Pakar

Manfaat Sistem Pakar

Mengapa Sistem Pakar menjadi sangat populer? Hal ini disebabkan oleh sangat banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar, di antaranya:

a.  Meningkatkan output dan produktivitas, karena Sistem Pakar dapat bekerja lebih cepat dari manusia.
b.  Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan.
c.  Mampu menangkap kepakaran yang sangat terbatas.
d.  Dapat beroperasi di lingkungan yang berbahaya. 
e.  Memudahkan akses ke pengetahuan. 
f. Handal. Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak akan melewatkan informasi yang relevan dan solusi yang potensial.
g. Meningkatkan kapabilitas sistem terkomputerisasi yang lain. Integrasi Sistem Pakar dengan sistem komputer lain membuat lebih efektif, dan mencakup lebih banyak aplikasi .
h.  Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat bekerja dengan inofrmasi yang tidak lengkap. Pengguna dapat merespon dengan: “tidak tahu” atau “tidak yakin” pada satu atau lebih pertanyaan selama konsultasi, dan Sistem Pakar tetap akan memberikan jawabannya.
i.  Mampu menyediakan pelatihan. Pengguna pemula yang bekerja dengan Sistem Pakar akan menjadi lebih berpengalaman. Fasilitas penjelas dapat berfungsi sebagai guru.
j.   Meningkatkan kemampuan problem solving, karena mengambil sumber pengetahuan dari banyak pakar.
k.  Meniadakan kebutuhan perangkat yang mahal.
l.    Fleksibel.

Keterbatasan Sistem Pakar

Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan efektif. Berikut adalah keterbatasan yang menghambat perkembangan Sistem Pakar:

a.     Pengetahuan yang hendak diambil tidak selalu tersedia.

b.     Kepakaran sangat sulit diekstrak dari manusia.

c.    Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama-sama benar
d.   Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau menjelaskan langkah mereka dalam menangani masalah
e.   Pengguna Sistem Pakar mempunyai batas kognitif alami, sehingga mungkin tidak bisa memanfaatkan sistem secara maksimal.
f.     Sistem Pakar bekerja baik untuk suatu bidang yang sempit.

g.   Banyak pakar yang tidak mempunyai jalan untuk mencek apakah kesimpulan mereka benar dan masuk akal.
h.   Istilah dan jargon yang dipakai oleh pakar dalam mengekspresikan fakta seringkali terbatas dan tidak mudah dimengerti oleh orang lain.
i.    Pengembangan Sistem Pakar seringkali membutuhkan perekayasa pengetahuan (knowledge engineer) yang langka dan mahal.

j.      Kurangnya rasa percaya pengguna menghalangi pemakaian Sistem Pakar.

k.     Transfer pengetahuan dapat bersifat subyektif dan bias.

Contoh Aplikasi Sistem Pakar

Aplikasi Sederhana: Sistem Pakar Bengkel Mobil

Ini adalah contoh Sistem Pakar sederhana, yang bertujuan untuk mencari apa yang salah sehingga mesin mobil pelanggan yang tidak mau hidup, dengan memberikan gejala-gejala yang teramati. Anggap Sistem Pakar kita memiliki aturan-aturan berikut:

1.  JIKA mesin_mendapatkan_bensin DAN starter_dapat_dihidupkan
MAKA ada_masalah_dengan_pengapian

2.  JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala

MAKA ada_masalah_dengan_aki

3.  JIKA TIDAK BENAR starter_dapat_dihidupkan DAN lampu_menyala
MAKA ada_masalah_dengan_starter

4.  JIKA ada_bensin_dalam_tangki_bahan_bakar MAKA mesin_mendapatkan_bensin

Terdapat 3 masalah yang mungkin, yaitu:

ada_masalah_dengan_aki dan ada_masalah_dengan_starter. Dengan sistem terarah-tujuan (goal-driven), kita hendak membuktikan keberadaan setiap masalah tadi.

Pertama, Sistem Pakar berusaha untuk membuktikan kebenaran ada_masalah_dengan_pengapian. Di sini, aturan 1 dapat digunakan, sehingga Sistem Pakar akan menset goal baru untuk membuktikan apakah sertastarter_dapat_dihidupkan. Untuk membuktikannya, aturan 4 dapat digunakan, dengan goal baru untuk membuktikan mesin_mendapatkan_bensin. Karena tidak ada aturan lain yang dapat digunakan menyimpulkannya, sedangkan sistem belum memperoleh solusinya, maka Sistem Pakar kemudian bertanya kepada pelanggan: “Apakah ada bensin dalam tangki bahan bakar?”. Sekarang, katakanlah jawaban klien adalah “Ya”, jawaban ini kemudian dicatat, sehingga klien tidak akan ditanyai lagi dengan pertanyaan yang sama.

Nah, karena sistem sekarang sudah dapat membuktikan bahwa mesin mendapatkan bensin, maka sistem sekarang berusaha mengetahui apakah starter_dapat_dihidupkan. Karena sistem belum tahu mengenai hal ini, sementara tidak ada aturan lagi yang dapat menyimpulkannya, maka Sistem Pakar bertanya lagi ke klien: “Apakah starter dapat dihidupkan?”. Misalkan jawabannya adalah “Tidak”, maka tidak ada lagi aturan yang dapat membuktikanada_masalah_dengan_pengapian, sehingga Sistem Pakar berkesimpulan bahwa hal ini bukanlah solusi dari problem yang ada, dan kemudian melihat hipotesis berikutnya:ada_masalah_dengan_aki. Sudah diketahui (dibuktikan) bahwa mesin tidak dapat distarter, sehingga yang harus dibuktikan adalah bahwa lampu tidak menyala. Sistem Pakar kemudian bertanya: “Apakah lampu menyala?”. Misalkan jawabannya adalah “Tidak”, maka sudah terbukti bahwa ada masalah dengan aki.
Sistem ini mungkin berhenti sampai di sini, tetapi biasanya ada kemungkinan terdapat lebih dari satu solusi (misalnya terdapat lebih dari satu kerusakan), atau ada kemungkinan terdapat solusi lain yng lebih tepat, sehingga biasanya semua hipotesis diperiksa kebenarannya. Sistem Pakar ini kemudian mencoba membuktikan bahwa ada_masalah_dengan_starter, namun dari fakta yang sudah diperoleh, yaitu lampu tidak menyala, maka pembuktiannya menjadi gagal. Dengan demikian solusi yang diberikan oleh Sistem Pakar adalah ada masalah dengan aki.

Secara lengkap, interaksi antara Sistem Pakar dengan klien mungkin seperti ini:

System Pakar:  Apakah ada bensin dalam tangki bahan bakar?
Klien:                 Ya
System Pakar:  Apakah starter dapat dihidupkan?
Klien:                 Tidak
System Pakar:  Apakah lampu menyala?
Klien:                 Tidak
System Pakar:  Saya berkesimpulan bahwa ada masalah dengan aki

Fasilitas Penjelasan

Kebanyakan Sistem Pakar mempunyai fasilitas penjelasan yang mengijinkan klien untuk bertanya mengapa dia diberi suatu pertanyaan atau bagaimana dapat mencapai suatu kesimpulan. Pertanyaan dari klien tersebut dijawab dengan mengacu pada goal, aturan yang dipakai, dan data-data yang ada. Contoh pemakaian fasilitas penjelas dalam Sistem Pakar di atas dapat dilihat pada percakapan berikut:

System Pakar:  Apakah ada bensin dalam tangki bahan bakar?
Klien:                   Ya
System Pakar:  Apakah starter dapat dihidupkan?
Klien:                   Tidak
System Pakar:  Apakah lampu menyala?
Klien:                   Mengapa?
System Pakar:  Saya mencoba membuktikan bahwa ada masalah dengan aki.
                        Sudah ditunjukkan, tidak benar starter dapat dihidupkan.
                        Sehingga jika tidak benar bahwa lampu menyala, maka ada
                        masalah dengan aki.
                       Apakah lampu menyala? 
Klien:                   Tidak
System Pakar:  Saya berkesimpulan bahwa ada masalah dengan aki
Klien:                   Bagaimana bisa?
System Pakar:  Hal ini sesuai dengan aturan no 2:
JIKA TIDAK BENAR starter_dapat_dihidupkan DAN TIDAK BENAR lampu_menyala MAKA ada_masalah_dengan_aki bahwa tidak benar starter_dapat_dihidupkan sudah dijawab, bahwa tidak benar lampu_menyala sudah dijawab, sehingga dapat disimpulkan bahwa ada_masalah_dengan_aki.

Fasilitas penjelasan berhubungan dengan pencatatan aturan apa saja yang digunakan untuk mengambil kesimpulan, dan menggunakan catatan tersebut untuk menyusun penjelasan. Pembangkitan penjelasan sederhana seperti contoh di atas bukanlah persoalan yang sulit, namun pemahaman klien terhadap penjelasan tersebut tidaklah sama, sehingga seringkali klien tetap tidak mengerti maksudnya. Hal ini karena biasanya penjelasan hanya meliputi pengetahuan yang dangkal atau hanya permukaan saja sebagaimana tercantum dalam autran yang dipunyai, bukannya pengetahuan yang mendalam yang mendasari aturan tersebut. Dalam contoh di atas, Sistem Pakar hanya mengatakan bahwa hal ini sesuai dengan aturan no 2, tetapi tidak menjelaskan secara lebih detil mengenai aturan 2 tersebut. Mungkin klien perlu diberi pengertian bahwa lampu dan starter dua-duanya menggunakan aki untuk menyalakannya. Hal penting lain adalah ketika klien gagal mengerti atau menerima penjelasan yang diberikan, biasanya Sistem Pakar tidak dapat memberi penjelasan dengan cara lain (tidak begitu halnya dengan seorang pakar yang mampu menggunakan kalimat yang lain untuk mencoba menjelaskannya).

Eliza

Eliza adalah salah satu Sistem Pakar yang paling awal dikembangkan. Ini adalah program komputer terapis yang dibuat oleh Joseph Weizenbaum di MIT. Pengguna berkomunikasi dengannya sebagaimana sedang berkonsultasi dengan seorang terapis. Berikut ini adalah contoh percakapan antara Eliza dengan seorang klien:

Eliza:     Hello. I am ELIZA. How can I help you?

Klien:     My name is Balza.
Eliza:     I have told you before, I do not care about names.
Klien:     I don’t have any money. That’s my problem.
Eliza:     Why do you say your problem?
Klien:     Because you asked me.
Eliza:     Do any other reasons not come to mind?
Klien:     No.
Eliza:     You are being a bit negative.
Klien:     Why?
Eliza:     Please go on.
Klien:     OK. I am bankrupt.

Eliza:     How long have you been bankrupt?
Klien:     A year.
Eliza:     Please go on.
Klien:     So, what should I do?
Eliza:     Does that question interest you?
Klien:     Yes, how can I make big money?
Eliza:     You are sure?
Klien:     Of course I’m sure.
...

Parry

Parry adalah Sistem Pakar yang juga paling awal dikembangkan di Stanford University oleh seorang psikiater, Kenneth Colby, yang mensimulasikan seorang paranoid. Berikut ini contoh respon Parry terhadap pertanyaan seorang psikiater yang menginterviunya.

Psikiater:     Why are you in the hospital?

Parry:          I shouldn't be here.
Psikiater:     Who brought you here?
Parry:          The police.
Psikiater:     What trouble did you have with the police?
Parry:          Cops don't do their job.
Psikiater:     What do they do instead?
Parry:          Cops arrest the wrong people.
Psikiater:     They arrest the right ones sometimes

Parry:          The law should get those Italian crooks.
Psikiater:     Are you Italian?
Parry:          My background is British but I was born in this country.
Psikiater:     Do you know any Italian crooks?
Parry:          I try to avoid the underworld.

...

Sumber yang saya dapatkan berupa e-book yang telah saya rangkum sedemikian rupa, jika ingin mengetahui sumber tersebut, Anda dapat klik link yang saya berikan dibawah ini:  

0 komentar:

Posting Komentar