Sistem Pakar
Sistem Pakar
424
425
3. Kemungkinan solusi sistem pakar terhadap suatu permasalahan adalah bervariasi dan mempunyai banyak pilihan jawaban yang dapat diterima, semua faktor yang ditelusuri mempunyai ruang masalah yang luas dan tidak pasti. Oleh karena itu diperlukan fleksibilitas sistem dalam menangani kemungkinan solusi dari berbagai permasalahan. 4. Perubahan atau pengembangan pengetahuan dalam sistem pakar dapat terjadi setiap saat bahkan sepanjang waktu sehingga diperlukan kemudahan dalam modifikasi sistem untuk menampung jumlah pengetahuan yang semakin besar dan semakin bervariasi. 5. Pandangan dan pendapat setiap pakar tidaklah selalu sama, yang oleh karena itu tidak ada jaminan bahwa solusi sistem pakar merupakan jawaban yang pasti benar. Setiap pakar akan memberikan pertimbangan-pertimbangan berdasarkan faktor subyektif. 6. Keputusan merupakan bagian terpenting dari sistem pakar. Sistem pakar harus memberikan solusi yang akurat berdasarkan masukan pengetahuan meskipun solusinya sulit sehingga fasilitas informasi sistem harus selalu diperlukan. Tabel 16.1. Menunjukkan perbandingan antara sistem pakar, sistem konvensional dan kepakaran manusia (Negnevitsky, 2002).
Tabel 16.1. Perbandingan antara sistem pakar, sistem konvensional dan kepakaran manusia Kepakaran Manusia
Menggunakan pengetahuan dalam bentuk rules atau secara heuristics untuk memecahkan permasalahan Pengetahuan terdapat
Sistem Pakar
Memproses pengetahuan yang terekspresikan dalam bentuk rules dan menggunakan penalaran simbolis untuk memecahkan permasalahan Terdapat pemisahan yang
Sistem Konvensional
Memproses data dan menggunakan algoritma untuk memecahkan permasalahan numeris
Tidak
memisahkan
426
Kepakaran Manusia
pada otak manusia
Sistem Pakar
jelas antara pengetahuan dan pemrosesan
Sistem Konvensional
pengetahuan dari struktur kontrol dalam memproses pengetahuan tersebut Tidak bagaimana dicapai menjelaskan konklusi
Menelusuri rules yang terpicu dalam proses tanya-jawab dan menjelaskan bagaimana konklusi dicapai Memungkinkan penalaran yang tidak pasti dari data yang tidak lengkap, tidak pasti dan kabur (fuzzy) Dapat membuat kesalahan jika informasi tidak lengkap atau kabur
Menggunakan penalaran dari informasi yang tidak pasti, tidak lengkap dan kabur (fuzzy) Dapat membuat kesalahan jika informasi tidak lengkap atau kabur
Tidak menghasilkan solusi apapun atau menghasilkan solusi yang salah jika data tidak lengkap atau kabur Memodifikasi code program untuk meningkatkan kemampuan pemecahan masalah
Kemampuan pemecahan masalah dapat ditingkatkan cukup dengan menambahkan kaidah-kaidah yang baru
Bidang Konfigurasi
427
sistem dengan cara yang benar Diagnosis Instruksi Interpretasi Monitor Perencanaan Penelusuran permasalahan bukti-bukti hasil observasi berdasarkan
Memberikan instruksi dan pengajaran tertentu terhadap suatu topik permasalahan Menjelaskan data hasil observasi Membandingkan data observasi dengan data yang diharapkan dan menganalisisnya Merencanakan suatu pekerjaan
428
Selain banyak manfaat yang diperoleh, ada juga kelemahan pengembangan sistem pakar, yaitu: 1. Daya kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan secara otomatis oleh sistem. 2. Pengembangan perangkat lunak sistem pakar lebih sulit dibandingkan dibandingkan dengan perangkat lunak konvensional.
429
Penjelasan gambar 16.2 sebagai berikut : Antar Muka Pemakai (User Interface) Antarmuka pemakai memberikan fasilitas komunikasi antara pemakai dan sistem, memberikan berbagai fasilitas informasi dan berbagai keterangan yang bertujuan untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan solusi. Basis Pengetahuan (Knowledge Base) Basis pengetahuan merupakan kumpulan pengetahuan bidang tertentu pada tingkatan pakar dalam format tertentu. Pengetahuan ini diperoleh dari akumulasi pengetahuan pakar dan sumber lain yang dapat berupa buku, majalah, jurnal ilmiah dan sebagainya. Mesin Inferensi (Inference Machine) Mesin inferensi adalah bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar aturan berdasarkan urutan dan pola tertentu. Selama proses konsultasi antar sistem dan pemakai, Mesin inferensi menguji aturan satu demi satu sampai kondisi aturan itu benar.
430
Secara umum ada dua teknik utama yang digunakan dalam mesin inferensi untuk pengujian aturan, yaitu penalaran maju (forward resoning) dan penalaran mundur (reverse reasoning). Dalam penalaran maju, aturan-aturan diuji satu demi satu dalam urutan tertentu. Urutan ini mungkin berupa urutan pemasukan aturan kedalam basis aturan atau juga urutan lain yang ditentukan oleh pemakai. Saat tiap aturan diuji , sistem pakar akan mengevaluasi apakah kondisinya benar atau salah. Jika kondisinya benar, maka aturan itu disimpan kemudian aturan berikutnya diuji. Sebaliknya kondisinya salah, aturan ini tidak disimpan dan aturan berikutnya diuji. Proses ini akan berulang (iterative) sampai seluruh basis aturan teruji dengan berbagai kondisi.
431
432
pengetahuan. Menggunakan fasilitas pelatihan, sistem pakar menerima fakta baru dan membandingkannya dengan fakta yang telah ada. Jika fakta baru yang ditemukan tersebut tidak terdapat dalam domain basis pengetahuan, maka fakta baru tersebut merupakan kandidat yang dapat dimasukkan dalam basis pengetahuan.
433
kaidah IF mungkin berisi lebih dari satu premis, dan masing-masing berisi clause. Setiap kaidah yang mempunyai lebih dari satu premis disebut compound clause dan dihubungkan oleh kata penghubung AND atau OR. CF atau certainty factor merupakan nilai yang menyatakan tingkat keyakinan dari premis atau kaidah tertentu. Nilai CF memiliki selang antara 0 dan 1. Untuk menghitung nilai CF dapat dijabarkan dalam rumus berikut (Ignizio, 1991): RIk (cf) = min{Pi (cf)} untuk semua Pi (cf) i cfk = RIk (cf) * [ Rk (cf) ] dimana: RIk (cf) : faktor keyakinan premis dari aturan ke-k Pi (cf) : faktor keyakinan dari premis ke-I : nilai ambang dari faktor keyakinan premis cfk : faktor keyakinan hasil dari suatu aturan Rk (cf) : faktor keyakinan dari aturan ke-k Dari contoh kaidah dapat dihitung CF premisnya sebagai berikut: RIk (cf) = min{ Pi (cf) } = min{ 0.8, 0.9 } = 0.8 i Selanjutnya untuk menentukan faktor kepercayaan output (faktor kepercayaan konklusi) dapat dihitung dengan: cfk = RIk (cf) * [ Rk (cf) ] = 0.9 * 0.8 = 0.72 Jenis pengetahuan yang bisa ditampilkan dengan kaidah-kaidah adalah sangat luas. Pengetahuan teori yang sudah ada dalam bukubuku biasanya bisa dialihkan kedalam format kaidah. Hampir di semua sistem yang dipakai dalam kehidupan sehari-hari,
434
membutuhkan pengetahuan yang sudah diakumulasi oleh seorang pakar selama bertahun-tahun. Hal ini disebut pengetahuan empiris, yaitu jenis pengalaman cut-and-error yang hanya didapatkan dari keterlibatan langsung dalam pemecahan masalah secara praktis. Pengetahuan ini disebut pengetahuan heuristik. Hal yang tidak boleh dilupakan dalam kaidah produksi adalah bahwa kaidah produksi menampilkan sekelumit pengetahuan individual. Hal ini biasanya dihubungkan dengan banyak kaidah. Kaidah tersebut dikaitkan secara bersama-sama untuk membentuk garis penalaran. Misalnya, kesimpulan dari satu kaidah mungkin bisa menjdi premis bagi yang lainnya. Ini adalah kumpulan atau jaringan kaidah yang membentuk pangkalan pengetahuan.
1. Fase Inisialisasi Kasus 2. Fase Analisis dan Desain Sistem 3. Fase Prototipe Dasar Kasus 4. Fase Pengembangan Sistem 5. Fase Implementasi Sistem
6. Fase Implementasi Tahap Lanjut
435
Penjelasan gambar 16.4 sebagai berikut : 1. Identifikasi Tahap ini merupakan tahap untuk mengkaji dan membatasi masalah yang akan diimplementasikan dalam sistem. Setiap masalah yang diidentifikasikan harus dicari solusi, fasilitas yang
436
akan dikembangkan, penentuan jenis bahasa pemrograman dan tujuan yang ingin dicapai dari proses pengembangan tersebut. 2. Konseptualisasi Hasil identifikasi masalah dikonseptualisasikan dalam bentuk relasi antar data, hubungan antar pengetahuan dan konsep-konsep penting dan ideal yang akan diterapkan dalam sistem. Koseptualisasi juga menganalisis data-data penting yang harus didalami bersama dengan pakar di bidang permasalahan tersebut. 3. Formalisasi Pada tahap formalisasi konsep-konsep tersebut diimplementasikan secara formal, misalnya memberikan kategori sistem yang akan dibangun, mempertimbangkan beberapa faktor pengambilan keputusan seperti keahlian manusia, kesulitan dan tingkat kesulitan yang mungkin terjadi, dokumentasi kerja, dan sebagainya. 4. Implementasi Tahap implementasi dimulai dengan membuat garis besar masalah kemudian memecahkan masalah ke dalam modul-modul. Untuk memudahkan maka harus diidentifikasi: Apa saja yang menjadi inputan; Bagaimana prosesnya digambarkan dalam bagan alur dan basis aturannya; Apa saja yang menjadi output atau hasil dan kesimpulannya. Sesudah itu semuanya diubah dalam bahasa yang mudah dimengerti oleh komputer dengan menggunakan tahapan fase seperti gambaran fase pengembangan sistem pakar. 5. Evaluasi Sistem pakar yang selesai dibangun, perlu untuk dievaluasi untuk menguji dan menemukan kesalahannya. Dalam evaluasi akan ditemukan bagian-bagian yang harus dikoreksi untuk menyamakan permasalahan dan tujuan akhir pembuatan sistem.
437
6. Pengembangan sistem Pengembangan sistem bertujuan agar sistem yang dibangun tidak menjadi usang dan investasi sistem tidak sia-sia. Hal pengembangan sistem yang paling berguna adalah proses dokumentasi sistem dimana di dalamnya tersimpan semua hal yang penting yang dapat menjadi tolak ukur pengembangan sistem dimasa mendatang termasuk didalamnya adalah kamus pengetahuan masalah yang diselesaikan.
438
Noise merupakan sesuatu item yang tidak mempunyai maksud (interest), noise merupakan data yang masih kabur / tidak jelas. Tingkat berikutnya adalah data yaitu item yang mempunyai makna potensial. Data diolah menjadi pengetahuan. Meta knowledge adalah pengetahuan tentang pengetahuan dan keahlian. Kita lihat contoh barisan bilangan berikut : 17688218738669534650235395514653. Tanpa penjelasan apapun bilangan-bilangan tersebut merupakan noise. Jika barisan bilangan tersebut mempunyai makna, maka barisan bilangan tersebut merupakan data. Data tersebut diolah dengan algoritma : Kelompokkan dua bilangan sehingga membentuk bilangan dua digit. Abaikan bilangan dua digit yang mempunyai nilai lebih kecil dari 32. Ubahlah dengan karakter ASCII untuk bilangan dua digit yang tersisa.
439
Dengan algoritma ini maka data tersebut menghasilkan informasi DRIVE 5.25-3.5 Setelah terdapat diaplikasikan. Sebagai pengetahuan: IF drive 5.25 inc informasi maka contoh kaidah pengetahuan dapat berikut merupakan
440
Hubungan antar obyek-obyek dinyatakan oleh penghubung yang diberi label untuk menyatakan hubungan yang direpresentasikan. Contoh jaringan semantik terlihat pada gambar 2.10 Bingkai (Frames) Bingkai berupa kumpulan slot-slot yang berisi atribut untuk mendeskripsikan pengetahuan. Pengetahuan yang termuat dalam slot dapat berupa kejadian, lokasi, situasi ataupun elemen-elemen lainnya. Bingkai digunakan untuk representasi pengetahuan deklaratif. Bingkai memuat deskripsi sebuah obyek dengan menggunakan tabulasi informasi yang berhubungan dengan obyek. Jadi bingkai mengelompokkan atribut sebuah obyek. Dengan demikian bingkai membantu menirukan cara seseorang mengorganisasikan informasi tentang sebuah obyek menjadi kumpulan data. Contoh bingkai terlihat pada tabel 16.3
Tabel 16.3 Contoh bingkai
Fillers Sepeda Motor Honda Astrea Jenis kendaraan beroda dua bermesin Honda 86 cc Bensin
441
struktur kaida if-then yang menghubungkan obyek atau atribut sebagai berikut (Adedeji, 1992) IF premis THEN konklusi IF masukan THEN keluaran IF kondisi THEN tindakan IF antesenden THEN konsekuen IF data THEN hasil IF tindakan THEN tujuan Premis mengacu pada fakta yang harus benar sebelum konklusi tertentu dapat diperoleh. Masukan mengacu pada data yang harus tersedia sebelum keluaran dapat diperoleh. Kondisi mengacu pada keadaan yang harus berlaku sebelum tindakan dapat diambil. Data mengacu pada informasi yang harus tersedia sehingga sebuah hasil dapat diperoleh. Tindakan mengacu pada kegiatan yang harus dilakukan sebelum hasil dapat diharapkan.
442
a. Pendekatan Bayes Didasarkan pada teori probabilitas/peluang. Peluang menunjukkan kemungkinan sesuatu akan terjadi atau tidak dengan rumus dasarnya : Jumlah kejadian berhasil P(X) = ---------------------------------Jumlah semua kejadian Misalnya dari 10 orang sarjana, 3 orang menguasai bahasa C sehingga peluang untuk memilih sarjana yang menguasai bahasa C adalah P(C) = 0,3 Kelemahan teori peluang ini adalah nilai peluang dapat dipercaya jika menggunakan data yang cukup besar. Kelemahan lainnya adalah teknik ini lebih condong pada persoalan-persoalan yang bersifat frekuentif, padahal dalam kenyataan banyak masalah yang bersifat kemungkinan. Dengan demikian penggunaan pendekatan Bayes ini sangat terbatas pada persoalan-persoalan tertentu saja. b. Faktor Kepastian (Certainty Factor) Certainty Factor semula dikembangkan pada MYCIN. Faktor kepastian adalah suatu cara penggabungan kepercayaan (belief) dan ketidakpercayaan (disbelief) menjadi suatu nilai. Pendekatan ini dapat dijabarkan dalam rumus berikut: RIk (cf) = min{Pi (cf)} untuk semua Pi (cf) i cfk = RIk (cf) * [ Rk (cf) ] dimana: RIk (cf) : faktor keyakinan premis dari aturan ke-k Pi (cf) : faktor keyakinan dari premis ke-I
443
: nilai ambang dari faktor keyakinan premis cfk : faktor keyakinan hasil dari suatu aturan Rk (cf) : faktor keyakinan dari aturan ke-k Pada gambar 16.6 diberikan ilustrasi penggunaannya. Dengan asumsi bahwa certainty factor dari kaidahnya adalah 0.8 maka faktor kepercayaan gabungan dari premis-premis yang ada adalah : RIk (cf) = min{ Pi (cf) } = min{ 0.9, 0.7, 0.5, 0.75 } = 0.5 i Selanjutnya untuk menentukan faktor kepercayaan output (faktor kepercayaan konklusi) dapat dihitung dengan: cfk = RIk (cf) * [ Rk (cf) ] = 0.5 * 0.8 = 0.4
444
IF CPU tidak mau menyala (cf = 0.8) AND kabel power rusak (cf = 0.9) THEN ganti kabel power Cf konklusi = 0.72 Kaidah 2 (cf = 0.7) : IF suara disk-drive sangat berisik (cf = 0.5) AND disk tidak dapat di format (cf = 0.9) THEN disk-drive rusak Cf konklusi = 0.35 c. Teori Dempster-Shafer Merupakan model ketidakpastian yang menggunakan rentang probabilitas. Eviden dibagi-bagi secara terpisah, kemudian dihitung nilai probabilitasnya. Hal ini mengakibatkan perhitungan bilangan yang agak rumit, dan dalam kasus permasalahan yang besar, perhitungan nilai ketidakpastiannya akan semakin komplek. Dilihat dari sistem rentang yang digunakan, maka metode faktor kepastian (CF) dapat dipandang sebagai kasus khusus dari teori Dempster-Shafer. d. Teori Himpunan Samar (fuzzy set theory) Merupakan metode terbaru yang paling canggih untuk menangani fakta dan informasi yang tidak lengkap dan tidak pasti. Adalah metode penalaran berdasarkan himpunan samar (fuzzy set). Seperti yang dikemukakan oleh ahli matematika dan komputer Lofti Zedah, metode ini dapat menangani dua bentuk penalaran yaitu penalaran berdasarkan akal sehat (common sense reasoning) dan konsep representasi dalam bentuk yang berkaitan dengan sifat-sifat alamiah. Contohnya adalah bagaimana menyatakan derajat tinggi badan, berapa tinggi badan seseorang sehingga dia dapat disebut tinggi, apakah 170 cm atau 190 cm. Caranya dengan menyatakan selang 170 190 cm sebagai selang orang tinggi. Bila seseorang (X) berada di luar selang X diberi nilai
445
0, bila ada di dalam selang diberi nilai 1. Jadi nilai 0 dan 1 menunjukkan peluang X berada di dalam selang yang dibuat.
16.12 Kesimpulan
Sistem Pendukung Keputusan adalah suatu pendekatan (atau metodologi) untuk mendukung pembuat keputusan. Teknologi kecerdasan buatan dipelajari dalam bidang-bidang seperti: Robotika (Robotics), Penglihatan Komputer (Computer Vision), Pengolahan Bahasa Alami (Natural Language Processing), Pengenalan Pola (Pattern Recognition), Sistem Syaraf Buatan (Artificial Neural System), Pengenalan Suara (Speech Recognition) dan Sistem Pakar (Expert System). Pemrosesan yang dilakukan dengan sistem pakar merupakan pemrosesan pengetahuan, bukan data seperti yang dikerjakan dengan pemrograman secara prosedural. Pengetahuan yang digunakan pada sistem pakar merupakan serangkaian informasi pada suatu domain tertentu. ***