A. Pendahuluan
Ketika hendak membuat suatu keputusan yang komplek atau memecahkan
masalah, seringkali kita meminta nasehat atau berkonsultasi dengan
seorang pakar atau ahli. Seorang pakar adalah 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 yunior.
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.
B. Manfaat dan Keterbatasan Sistem Pakar
1. 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:
Diktat Mata Kuliah Kecerdasan Buatan Ir. Balza Achmad, M.Sc.E. 8
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.
2. 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.
C. Komponen Sistem Pakar
Secara umum, Sistem Pakar biasanya terdiri atas beberapa komponen yang
masing-masing berhubungan seperti terlihat pada Gambar II-1.
Basis Pengetahuan, berisi pengetahuan yang dibutuhkan untuk memahami,
memformulasi, dan memecahkan masalah. Basis pengetahuan tersusun atas 2
elemen dasar:
1. Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan yang ada, serta teori dalam bidang itu
2. Aturan, yang mengarahkan penggunaan pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus
Mesin Inferensi (Inference Engine), merupakan otak dari Sistem Pakar.
Juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini
berupa program komputer yang menyediakan suatu metodologi untuk
memikirkan (reasoning) dan memformulasi kesimpulan. Kerja mesin
inferensi meliputi:
1. Menentukan aturan mana akan dipakai
2. Menyajikan pertanyaan kepada pemakai, ketika diperlukan.
3. Menambahkan jawaban ke dalam memori Sistem Pakar.
4. Menyimpulkan fakta baru dari sebuah aturan
5. Menambahkan fakta tadi ke dalam memori.
Gambar II-1. Struktur skematis sebuah Sistem Pakar
Papan Tulis (Blackboard/Workplace), adalah memori/lokasi untuk bekerja
dan menyimpan hasil sementara. Biasanya berupa sebuah basis data.
Antarmuka Pemakai (User Interface). Sistem Pakar mengatur komunikasi
antara pengguna dan komputer. Komunikasi ini paling baik berupa bahasa
alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang
ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih
dilengkapi dengan percakapan (voice communication).
Subsistem Penjelasan (Explanation Facility). Kemampuan untuk menjejak
(tracing) bagaimana suatu kesimpulan dapat diambil merupakan hal yang
sangat penting untuk transfer pengetahuan dan pemecahan masalah.
Komponen subsistem penjelasan harus dapat menyediakannya yang secara
interaktif menjawab pertanyaan pengguna, misalnya:
1. “Mengapa pertanyaan tersebut anda tanyakan?”
2. “Seberapa yakin kesimpulan tersebut diambil?”
3. “Mengapa alternatif tersebut ditolak?”
4. “Apa yang akan dilakukan untuk mengambil suatu kesimpulan?”
5. “Fakta apalagi yang diperlukan untuk mengambil kesimpulan akhir?”
Sistem Penghalusan Pengetahuan (Knowledge Refining System). Seorang
pakar mempunyai sistem penghalusan pengetahuan, artinya, mereka bisa
menganalisa sendiri performa mereka, belajar dari pengalaman, serta
meningkatkan pengetahuannya untuk konsultasi berikutnya. Pada Sistem
Pakar, swa-evaluasi ini penting sehingga dapat menganalisa alasan
keberhasilan atau kegagalan pengambilan kesimpulan, serta memperbaiki
basis pengetahuannya.
D. Pembangunan Sebuah Sistem Pakar
Mengembangkan Sistem Pakar dapat dilakukan dengan 2 cara:
1. Membangun sendiri semua komponen di atas, atau
2. Memakai semua komponen yang sudah ada kecuali isi basis pengetahuan.
Yang kedua disebut sebagai membangun Sistem Pakar dengan shell, yakni
semua komponen Sistem Pakar, kecuali basis pengetahuan, bersifat
generik; sehingga dapat dipakai untuk bidang yang berlainan. Membangun
Sistem Pakar dengan shell dapat dilakukan dengan lebih cepat dan lebih
sedikit keterampilan memprogram, namun berkurang fleksibilitasnya karena
harus mengikuti kemampuan dari shell tersebut. Salah satu shell Sistem
Pakar yang populer dipakai adalah CLIPS (C Language Integrated
Production System) yang dapat didownload dari internet.
1. Pemilihan Masalah
Pembuatan Sistem Pakar membutuhkan waktu dan biaya yang banyak. Untuk
menghindari kegagalan yang memalukan dan kerugian yang besar, maka
dibuat beberapa pedoman untuk menentukan apakah Sistem Pakar cocok untuk
memecahkan suatu problem:
a. Biaya yang diperlukan untuk pembangunan Sistem Pakar ditentukan oleh
kebutuhan untuk memperoleh solusi. Sehingga harus ada perhitungan yang
realistis untuk cost and benefit.
b. Pakar manusia tidak mudah ditemui untuk semua situasi di mana dia
dibutuhkan. Jika pakar pengetahuan tersebut terdapat di mana saja dan
kapan saja, maka pembangunan Sistem Pakar menjadi kurang berharga.
c. Problem yang ada dapat diselesaikan dengan teknik penalaran simbolik, dan tidak membutuhkan kemampuan fisik.
d. Problem tersebut harus terstruktur dengan baik dan tidak membutuhkan
terlalu banyak pengetahuan awam (common sense), yang terkenal sulit
untuk diakuisisi dan dideskripsikan, dan lebih banyak berhubungan dengan
bidang yang teknis.
e. Problem tersebut tidak mudah diselesaikan dengan metode komputasi
yang lebih tradisionil. Jika ada penyelesaian algoritmis yang bagus
untuk problem tersebut, maka kita tidak perlu memakai Sistem Pakar.
f. Ada pakar yang mampu memberikan penjelasan tentang kepakarannya serta
mau bekerjasama. Adalah sangat penting bahwa pakar yang dihubungi
benar-benar mempunyai kemauan kuat untuk ikut berpartisipasi serta tidak
merasa pekerjaannya akan menjadi terancam.
g. Problem tersebut mempunyai sekup yang tepat. Biasanya merupakan
problem yang membutuhkan kepakaran yang sangat khusus namun hanya
membutuhkan seorang pakar untuk dapat menyelesaikannya dalam waktu yang
relatif singkat (misalnya paling lama 1 jam).
2. Rekayasa Pengetahuan (Knowledge Engineering)
Proses dalam rekayasa pengetahuan meliputi (Gambar II-2):
a. Akuisisi pengetahuan, yaitu bagaimana memperoleh pengetahuan dari
pakar atau sumber lain (sumber terdokumentasi, buku, sensor, file
komputer, dll.).
b. Validasi pengetahuan, untuk menjaga kualitasnya misalnya dengan uji kasus.
c. Representasi pengetahuan, yaitu bagaimana mengorganisasi pengetahuan
yang diperoleh, mengkodekan dan menyimpannya dalam suatu basis
pengetahuan.
d. Penyimpulan pengetahuan, menggunakan mesin inferensi yang mengakses basis pengetahuan dan kemudian melakukan penyimpulan.
e. Transfer pengetahuan (penjelasan). Hasil inferensi berupa nasehat,
rekomendasi, atau jawaban, kemudian dijelaskan ke pengguna oleh
subsistem penjelas.
Gambar II-2. Proses dalam rekayasa pengetahuan
3. Partisipan Dalam Proses Pengembangan
Pakar, yaitu seseorang yang mempunyai pengetahuan, pengalaman, dan
metode khusus, serta mampu menerapkannya untuk memecahkan masalah atau
memberi nasehat. Pakar menyediakan pengetahuan tentang bagaimana
nantinya Sistem Pakar bekerja.
Perekayasa pengetahuan (knowledge engineer), yang membantu pakar untuk
menyusun area permasalahan dengan menerjemahkan dan mengintegrasikan
jawaban pakar terhadap pertanyaan-pertanyaan dari klien, menarik
analogi, serta memberikan contoh-contoh yang berlawanan, kemudian
menyusun basis pengetahuan.
Pengguna, yang mungkin meliputi: seorang klien non-pakar yang sedang
membutuhkan nasehat (Sistem Pakar sebagai konsultan atau advisor),
seorang siswa yang sedang belajar (Sistem Pakar sebagai instruktur),
seorang pembuat Sistem Pakar yang hendak meningkatkan basis pengetahuan
(Sistem Pakar sebagai partner), seorang pakar (Sistem Pakar sebagai
kolega atau asisten, yang dapat memberikan opini kedua).
Partisipan lain, dapat meliputi: pembangun sistem (system builder), tool builder, staf administrasi dsb.
4. Akuisisi Pengetahuan
Dalam proses akuisisi pengetahuan, seorang perekayasa pengetahuan
menjembatani antara pakar dengan basis pengetahuan. Perekayasa
pengetahuan mendapatkan pengetahuan dari pakar, mengolahnya bersama
pakar tersebut, dan menaruhnya dalam basis pengetahuan, dengan format
tertentu. Pengambilan pengetahuan dari pakar dapat dilakukan secara
(Gambar II-3):
Manual, di mana perekayasa pengetahuan mendapatkan pengetahuan dari
pakar (melalui wawancara) dan/atau sumber lain, kemudian mengkodekannya
dalam basis pengetahuan. Proses ini biasanya berlangsung lambat, mahal,
serta kadangkala tidak akurat.
Semi-otomatik, di mana terdapat peran komputer untuk: (1) mendukung
pakar dengan mengijinkannya membangun basis pengetahuan tanpa (atau
dengan sedikit) bantuan dari perekayasa pengetahuan, atau (2) membantu
perekayasa pengetahuan sehingga kerjanya menjadi lebih efisien dan
efektif.
Otomatik, di mana peran pakar, perekayasa pengetahuan, dan pembangun
basis pengetahuan (system builder) digabung. Misalnya dapat dilakukan
oleh seorang system analyst seperti pada metode induksi.
Gambar II-3. Metode akuisisi pengetahuan (a) manual (b) akuisisi terkendali-pakar (c) induksi
E. Representasi Pengetahuan
Setelah pengetahuan berhasil diakuisisi, mereka harus diorganisasi dan
diatur dalam suatu konfigurasi dengan suatu format/representasi
tertentu. Metode representasi pengetahuan yang populer adalah aturan
produk dan bingkai.
1. Aturan Produk (Production Rules)
Di sini pengetahuan disajikan dalam aturan-aturan yang berbentuk
pasangan keadaan-aksi (condition-action): “JIKA keadaan terpenuhi atau
terjadi MAKA suatu aksi akan terjadi”. Sistem Pakar yang basis
pengetahuannya melulu disajikan dalam bentuk aturan produk disebut
sistem berbasis-aturan (rule-based system). Kondisi dapat terdiri atas
banyak bagian, demikian pula dengan aksi. Urutan keduanya juga dapat
dipertukarkan letaknya. Contohnya:
a. JIKA suhu berada di bawah 20ºC MAKA udara terasa dingin.
b. Udara terasa dingin JIKA suhu berada di bawah 20ºC.
c. JIKA suhu berada di bawah 20ºC ATAU suhu berada di antara 20-25ºC DAN angin bertiup cukup kencang MAKA udara terasa dingin.
d. Contoh dari MYCIN, Sistem Pakar untuk mendiagnosis dan merekomendasikan perlakuan yang tepat untuk infeksi darah tertentu:
IF the infection is pimary-bacteremia
AND the site of the culture is one of the sterile sites
AND the suspected portal of entry is the gastrointestinal tract
THEN there is suggestive evidence (0.7) that infection is bacteroid.
2. Bingkai (frame)
Bingkai adalah struktur data yang mengandung semua informasi/pengetahuan
yang relevan dari suatu obyek. Pengetahuan ini diorganisasi dalam
struktur hirarkis khusus yang memungkinkan pemrosesan pengetahuan.
Bingkai merupakan aplikasi dari pemrograman berorientasi obyek dalam AI
dan Sistem Pakar. Pengetahuan dalam bingkai dibagi-bagi ke dalam slot
atau atribut yang dapat mendeskripsikan pengetahuan secara deklaratif
ataupun prosedural. Contoh frame untuk menggambarkan sebuah mobil
diberikan dalam Gambar II-4 berikut ini.
Gambar II-4. Bingkai pengetahuan untuk sebuah mobil
F. Bagaimana Sistem Pakar Melakukan Inferensi?
1. Sistem Perantaian Maju (Forward Chaining Systems)
Pada sistem perantaian maju, fakta-fakta dalam dalam sistem disimpan
dalam memori kerja dan secara kontinyu diperbarui. Aturan dalam sistem
merepresentasikan aksi-aksi yang harus diambil apabila terdapat suatu
kondisi khusus pada item-item dalam memori kerja, sering disebut aturan
kondisi-aksi. Kondisi biasanya berupa pola yang cocok dengan item yang
ada di dalam memori kerja, sementara aksi biasanya berupa penambahan
atau penghapusan item dalam memori kerja.
Aktivitas sistem dilakukan berdasarkan siklus mengenal-beraksi
(recognise-act). Mula-mula, sistem mencari semua aturan yang kondisinya
terdapat di memori kerja, kemudian memilih salah satunya dan menjalankan
aksi yang bersesuaian dengan aturan tersebut. Pemilihan aturan yang
akan dijalankan (fire) berdasarkan strategi tetap yang disebut strategi
penyelesain konflik. Aksi tersebut menghasilkan memori kerja baru, dan
siklus diulangi lagi sampai tidak ada aturan yang dapat dipicu (fire),
atau goal (tujuan) yang dikehendaki sudah terpenuhi.
Sebagai contoh, lihat pada sekumpulan aturan sederhana berikut (Di sini
kita memakai kata yang diawali huruf kapital untuk menyatakan suatu
variabel. Pada sistem lain, mungkin dipakai cara lain, misalnya
menggunakan awalan ? atau ^):
1. JIKA (mengajar X) DAN (mengoreksi_tugas X) MAKA TAMBAH (terlalu_banyak_bekerja X)
2. JIKA (bulan maret) MAKA TAMBAH (mengajar balza)
3. JIKA (bulan maret) MAKA TAMBAH (mengoreksi_tugas balza)
4. JIKA (terlalu_banyak_bekerja X) ATAU (kurang_tidur X) MAKA TAMBAH (mood_kurang_baik X)
5. JIKA (mood_kurang_baik X) MAKA HAPUS (bahagia X)
6. JIKA (mengajar X) MAKA HAPUS (meneliti X)
Kita asumsikan, pada awalnya kita mempunyai memori kerja yang berisi fakta berikut:
(bulan maret)
(bahagia balza)
(meneliti balza)
Sistem Pakar mula-mula akan memeriksa semua aturan yang ada untuk
mengenali aturan manakah yang dapat memicu aksi, dalam hal ini aturan 2
dan 3. Sistem kemudian memilih
salah satu di antara kedua aturan tersebut dengan strategi penyelesaian
konflik. Katakanlah aturan 2 yang terpilih, maka fakta (mengajar balza)
akan ditambahkan ke dalam memori kerja. Keadaan memori kerja sekarang
menjadi:
(mengajar balza)
(bulan maret)
(bahagia balza)
(meneliti balza)
Sekarang siklus dimulai lagi, dan kali ini aturan 3 dan 6 yang
kondisinya terpenuhi. Katakanlah aturan 3 yang terpilih dan terpicu,
maka fakta (mengoreksi_tugas balza) akan ditambahkan ke dalam memori
kerja. Lantas pada siklus ketiga, aturan 1 terpicu, sehingga variabel X
akan berisi (bound to) balza, dan fakta (terlalu_banyak_bekerja balza)
ditambahkan, sehingga isi memori kerja menjadi:
(terlalu_banyak_bekerja balza)
(mengoreksi_tugas balza)
(mengajar balza)
(bulan maret)
(bahagia balza)
(meneliti balza)
Kesimpulan
Exspert System atau sistem pakar merupakan sistem yang yang membantu untuk memecahkan masalah atau mengdiagnosa suatu masalah berdasarkan penilaian dari ahli yang dibuat menjadi sebuah aplikasi atau website, sehingga pengguna atau user bisa tau apa permasalahan yang dialami secara peraktis
Sumber
https://birtandp.wordpress.com/tag/apa-itu-expert-system/
Tidak ada komentar:
Posting Komentar