Bab 16 Sistem Pakar 16.1 Pengertian Dan Tujuan Kecerdasan buatan adalah salah satu bidang ilmu komputer yang mendayagunakan komputer sehingga dapat berperilaku cerdas seperti manusia. Ilmu komputer tersebut mengembangkan perangkat lunak dan perangkat keras untuk menirukan tindakan manusia. Aktifitas manusia yang ditirukan seperti penalaran, penglihatan, pembelajaran, pemecahan masalah, pemahaman bahasa alami dan sebagainya. Sesuai dengan defenisi tersebut, maka 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). Gambar 16.1 memperlihatkan bidang-bidang yang termasuk dalam kecerdasan buatan (Giarratano, 1993). Salah satu bagian dari kecerdasan buatan yang akhir-akhir ini mengalami perkembangan adalah Sistem Pakar (Expert System). Yakni suatu sistem yang dirancang untuk dapat menirukan keahlian seorang pakar dalam menjawab pertanyaan dan memecahkan suatu masalah. Sistem pakar akan memberikan pemecahan suatu masalah yang didapat dari dialog dengan pemakai. Dengan bantuan sistem pakar seseorang yang bukan pakar/ahli dapat menjawab pertanyaan, menyelesaikan masalah serta mengambil keputusan yang biasanya dilakukan oleh seorang pakar (Jackson, 1990).
424
Pengenalan Teknologi Komputer dan Informasi
Gambar 16.1 Beberapa cakupan area disiplin ilmu kecerdasan buatan
16.2 Ciri Dan Karakteristik Ada berbagai ciri dan karakteristik yang membedakan sistem pakar dengan sistem lain. Ciri dan karakterisitik yang dimaksud adalah (Rolsten, 1998) : 1. Pengetahuan sistem pakar merupakan suatu konsep, bukan berbentuk numeris. Hal ini dikarenakan komputer melakukan proses pengolahan data secara numerik sedangkan keahlian dari seorang pakar adalah fakta dan aturan-aturan, bukan numerik. 2. Informasi dalam sistem pakar tidak selalu lengkap, subyektif, tidak konsisten, subyek terus berubah dan tergantung pada kondisi lingkungan sehingga keputusan yang diambil bersifat tidak pasti dan tidak mutlak “ya” dan “tidak” akan tetapi menurut ukuran kebenaran tertentu. Oleh karena itu dibutuhkan kemampuan sistem untuk belajar secara mandiri dalam menyelesaikan masalah-masalah dengan pertimbangan-pertimbangan khusus.
Bab 16 Sistem Pakar
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
Sistem Pakar
Sistem Konvensional
Menggunakan pengetahuan dalam bentuk rules atau secara heuristics untuk memecahkan permasalahan
Memproses pengetahuan yang terekspresikan dalam bentuk rules dan menggunakan penalaran simbolis untuk memecahkan permasalahan
Memproses data dan menggunakan algoritma untuk memecahkan permasalahan numeris
Pengetahuan
Terdapat pemisahan yang
Tidak
terdapat
memisahkan
426
Pengenalan Teknologi Komputer dan Informasi
Kepakaran Manusia
Sistem Pakar
Sistem Konvensional
pada otak manusia
jelas antara pengetahuan dan pemrosesan
pengetahuan dari struktur kontrol dalam memproses pengetahuan tersebut
Mampu menjelaskan garis besar dan detil penalaran
Menelusuri rules yang terpicu dalam proses tanya-jawab dan menjelaskan bagaimana konklusi dicapai
Tidak bagaimana dicapai
Menggunakan penalaran dari informasi yang tidak pasti, tidak lengkap dan kabur (fuzzy)
Memungkinkan penalaran yang tidak pasti dari data yang tidak lengkap, tidak pasti dan kabur (fuzzy)
Menggunakan data yang lengkap dan pasti
Dapat membuat kesalahan jika informasi tidak lengkap atau kabur
Dapat membuat kesalahan jika informasi tidak lengkap atau kabur
Tidak menghasilkan solusi apapun atau menghasilkan solusi yang salah jika data tidak lengkap atau kabur
Melalui proses pembelajaran bertahuntahun untuk meningkatkan kemampuan pemecahan masalah
Kemampuan pemecahan masalah dapat ditingkatkan cukup dengan menambahkan kaidah-kaidah yang baru
Memodifikasi code program untuk meningkatkan kemampuan pemecahan masalah
menjelaskan konklusi
16.3 Bidang-Bidang Pengembangan Sistem Pakar Ada beberapa bidang pengembangan sistem pakar yang ditunjukkan pada tabel 16.2 (Giarratano, 1993). Tabel 16.2 Beberapa bidang-bidang pengembangan sistem pakar
Bidang
Penjelasan
Konfigurasi
Merakit komponen yang benar pada sebuah
Bab 16 Sistem Pakar
427
sistem dengan cara yang benar Diagnosis
Penelusuran permasalahan bukti-bukti hasil observasi
Instruksi
Memberikan instruksi dan pengajaran tertentu terhadap suatu topik permasalahan
Interpretasi
Menjelaskan data hasil observasi
Monitor
Membandingkan data observasi dengan data yang diharapkan dan menganalisisnya
Perencanaan
Merencanakan suatu pekerjaan
berdasarkan
16.4 Keuntungan Dan Kelemahan Sistem Pakar Ada banyak manfaat yang dapat diperoleh dengan mengembangkan sistem pakar (Andi Offset, 2003), antara lain : 1. Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa kehadiran langsung seorang pakar. 2. Meningkatkan produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil solusi kerja. 3. Penghematan waktu dalam menyelesaikan masalah yang kompleks. 4. Memberikan penyederhanaan solusi untuk kasus-kasus yang kompleks dan berulang-ulang. 5. Pengetahuan dari seorang pakar dapat didokumentasikan tanpa ada batas waktu.
6. Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk dikombinasikan.
428
Pengenalan Teknologi Komputer dan Informasi
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.
16.5 Komponen Sistem Pakar Sebuah program yang difungsikan untuk menirukan seorang pakar manusia harus bisa melakukan hal-hal yang dapat dikerjakan seorang pakar. Terdapat komponen minimal dan komponen ideal sebuah sistem pakar (Martin, 1998). Komponen minimal sebuah sistem pakar adalah sebagai berikut : 1. Antar Muka Pemakai (User Interface) 2. Basis Pengetahuan (Knowledge Base) 3. Mesin Inferensi (Inference Machine) Sedangkan untuk menjadikan sistem pakar menjadi lebih ideal yaitu lebih menyerupai seorang pakar, maka dapat dilengkapi dengan komponen-komponen sebagai berikut : 1. Fasilitas Penjelasan (Explanation Facility) 2. Fasilitas Akuisisi Pengetahuan (Knowledge Acquisition Facility) 3. Fasilitas Pelatihan Sendiri (Self-training Facility) Gambar 16.2 dan 16.3 menunjukkan komponen minimal dan komponen ideal sebuah sistem pakar.
Bab 16 Sistem Pakar
429
Gambar 16.2 Komponen minimal sebuah sistem pakar
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
Pengenalan Teknologi Komputer dan Informasi
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.
Gambar 16.3 Komponen ideal sebuah sistem pakar
Bab 16 Sistem Pakar
431
Penjelasan gambar 16.3 sebagai berikut : Fasilitas Penjelasan (Explanation Facility) Fasilitas penjelasan sistem merupakan bagian dari sistem pakar yang memberikan penjelasan tentang bagaimana program dijalankan, apa yang harus dijelaskan kepada pemakai tentang suatu masalah, memberikan rekomendasi kepada pemakai, mengakomodasi kesalahan pemakai dan menjelaskan bagaimana suatu masalah terjadi. Fasilitas penjelasan sistem harus mampu menjelaskan bagaimana harus memeriksa sekering yang putus atau bagaimana memeriksa aki motor, sehingga pemakai dapat mengerti dengan jelas apa yang harus dilakukannya. Dalam sistem pakar, fasilitas penjelasan sistem sebaiknya diintegrasikan ke dalam tabel basis pengetahuan dan basis aturan karena hal ini lebih memudahkan perancangan sistem. Fasilitas Akuisisi Pengetahuan (Knowledge Acquisition Facility) Fasilitas ini merupakan suatu proses untuk mengumpulkan data-data pengetahuan akan suatu masalah dari pakar. Bahan pengetahuan dapat ditempuh dengan 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 tersetruktur menjadi basis pengetahuan. Sumber pengetahuan tesebut harus dapat diperoleh dengan kemampuan untuk mengolah data-data tersebut menjadi solusi yang efisien., komunikasi yang baik dan kerja sama tim yang solid. Karena itu semua kemampuan menjadi hal yang mutlak diperlukan oleh seorang pengembang sistem. Fasilitas Belajar Sendiri (Self-training Facility) Pakar manusia selalu berusaha untuk memutakhirkan pengetahuannya. Ketika sistem pakar menemukan data baru selama proses inferensi, informasi ini dapat ditambahkan dalam basis
432
Pengenalan Teknologi Komputer dan Informasi
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.
16.6 Kaidah Produksi Kaidah produksi sangat populer karena formatya sangat fleksibel. Hampir semua macam pengetahuan dapat ditulis dalam bentuk yang sesuai dengan format kaidah IF-THEN. Kaidah semacam ini umumnya sangat mudah ditulis, dan secara relatif mudah membentuk pangkalan pengetahuan yang impresif dengan cepat. Kaidah produksi di format kedalam dua bagian. Pertama bagian IF yang menyatakan premis, kondisi atau antecedent. Biasanya disebut kaidah sebelah kiri. Kedua, bagian kaidah produksi THEN yang menyatakan konklusi, seksi atau konsekuensi yang akan menggantikan kondisi sebelah kiri, bila ternyata sudah sesuai. Jika premis benar atau kondisinya cocok, maka bagian sebelah kanan juga benar. Kaidah ini disebut picu. Jika kaidah sebelah kanan bisa diimplementasikan, maka kaidah tersebut sudah dipicu. Beberapa kaidah yang diberikan dalam contoh dibawah ini menunjukkan beberapa bentuk pengetahuan yang diekspresikan kedalam bentuk format kaidah produksi : Kaidah 1 (cf kaidah = 0.9) : Ganti Kabel Power IF CPU tidak mau menyala (cf = 0.8) AND kabel power rusak (cf = 0.9) Cf konklusi = 0.72 Dari contoh tersebut diatas, setiap kaidah tersusun dari apa yang disebut clause. Clause adalah semacam kalimat yang terdiri dari subyek, kata kerja dan objek yang menyatakan beberapa fakta. Pada setiap clause terdapat satu clause IF dan satu clause THEN. Bagian
Bab 16 Sistem Pakar
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
Pengenalan Teknologi Komputer dan Informasi
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.
16.7 Tahapan Pengembangan Sistem Pakar Terdapat 6 fase pengembangan sistem pakar seperti diperlihatkan pada gambar 16.4. Fase-fase tersebut adalah (Tim Penulis Andi Offset, 2003):
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
Bab 16 Sistem Pakar
435
Gambar 16.4 Tahapan pengembangan sistem pakar
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
Pengenalan Teknologi Komputer dan Informasi
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.
Bab 16 Sistem Pakar
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.
16.8 Akuisisi Pengetahuan Akuisisi pengetahuan adalah proses pengumpulan data-data pengetahuan tentang suatu masalah kepakaran kedalam sebuah program (Buchanan et al., 1983). Proses akuisisi pengetahuan ditempuh dengan melakukan pengumpulan bahan-bahan kepakaran yang bisa didapatkan melalui buku-buku, jurnal ilmiah, literatur atau wawancara langsung dengan pakar.
16.9 Representasi Pengetahuan Pengetahuan yang didapatkan pada proses akuisisi pengetahuan tidak bisa diaplikasikan begitu saja dalam sistem pakar. Pengetahuan harus direpresentasikan dalam format tertentu dan akan dihimpun dalam suatu basis pengetahuan. 16.9.1 Pengertian Pengetahuan 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. Kedua hal tersebut menurut ekspresi klasik oleh Wirth (Giarratano, 1993) dituliskan sebagai berikut: Algoritma + Struktur Data = Program Pengetahuan + Inferensi = Sistem Pakar
438
Pengenalan Teknologi Komputer dan Informasi
Pengetahuan merupakan bagian dari hirarki terlihat pada gambar 16.5:
Gambar 16.5 Hirarki pengetahuan
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.
Bab 16 Sistem Pakar
439
Dengan algoritma ini maka data tersebut menghasilkan informasi DRIVE 5.25-3.5 Setelah terdapat diaplikasikan. Sebagai pengetahuan:
informasi maka contoh kaidah
pengetahuan dapat berikut merupakan
IF drive 5.25 inc
AND drive rusak THEN gantilah dengan drive 3.5 inc 16.9.2 Model Representasi Pengetahuan Representasi pengetahuan dimaksudkan untuk mengorganisasikan pengetahuan dalam bentuk tertentu. Untuk membuat sistem pakar yang efektif harus dipilih representasi pengetahuan yang tepat. Beberapa model representasi pengetahuan yang penting : 1. Jaringan Semantik (Semantic Nets). 2. Bingkai (Frames). 3. Kaidah Produksi (Production Rule).
16.10 Jaringan Semantik (Semantic Nets) Jaringan semantik adalah teknik representasi pengetahuan yang digunakan untuk informasi proporsional. Yang dimaksud dengan informasi proporsional adalah pernyataan yang mempunyai nilai benar atau salah. Sebagai contoh: sebuah bujur sangkar mempunyai empat sisi. Informasi proporsional merupakan bahasa deklaratif karena menyatakan fakta. Representasi jaringan semantik merupakan penggambaran grafis dari pengetahuan yang memperlihatkan hubungan hirarkis dari obyek-obyek. Komponen dasar untuk merepresentasikan pengetahuan dalam bentuk jaringan semantik adalah simpul (node) dan penghubung (link). Obyek direpresentasikan oleh simpul.
440
Pengenalan Teknologi Komputer dan Informasi
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
Slots
Fillers
Nama
Sepeda Motor Honda Astrea
Spesialisasi
Jenis kendaraan beroda dua bermesin
Pembuat
Honda
Isi Silinder
86 cc
Bahan Bakar
Bensin
Kaidah Produksi (Production Rule) Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan atau strategi. Kaidah produksi dituliskan dalam bentuk jika-maka (if-then). Kaidah if-then menghubungkan antesenden (antecedent) dengan konsekuensi yang diakibatkannya. Berbagai
Bab 16 Sistem Pakar
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.
16.11 Faktor Ketidakpastian Dalam kenyataan sehari-hari para pakar seringkali berurusan dengan fakta-fakta yang tidak menentu dan tidak pasti, karena pernyataan kondisi maupun aksi ternyata tidak selalu memberikan derajat kepastian yang penuh, akan tetapi kadang-kadang tergantung pada suatu faktor tertentu. Dengan demikian sistem pakar juga harus dapat menangani masalah kekurangpastian dan ketidakpastian ini. Teknik-teknik yang sudah digunakan untuk menangani hal tersebut diantaranya adalah nilai pendekatan Bayes (Bayesian Approach), faktor kepastian (Certainty Factor), teori Dempstre-Shafer dan teori himpunan samar (fuzzy set theory).
442
Pengenalan Teknologi Komputer dan Informasi
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
Bab 16 Sistem Pakar
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
Gambar 16.6 Faktor kepercayaan dengan beberapa premis gabungan
Contoh: Kaidah 1 (cf = 0.9) :
444
Pengenalan Teknologi Komputer dan Informasi
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
Bab 16 Sistem Pakar
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. ***