Sistem Pakar Perancangan Sistem Pakar Kelas A & B Jonh Fredrik Ulysses jonh.fredrik.u@gmail.com
Pendahuluan Pada materi-materi sebelumnya telah dibahas tentang konsep umum dan teori dari sistem pakar. Pada bagian ini akan membahas tentang penuntun atau pedoman umum untuk membangun suatu sistem pakar yang dirancang untuk aplikasi di dunia nyata, bukan prototipe penelitian. Metodologi rekayasa perangkat lunak (software engineering) digambarkan sedemikian hingga suatu sistem pakar dapat menghasilkan suatu pengembangan produk yang berkualitas dengan biaya murah dan dengan waktu yang baik.
Dalam hal ini kualitas memberi arti bahwa produk harus memenuhi karakter-karakter sebagai berikut: Ketepatan, yaitu program harus memenuhi spesifikasinya sehingga dapat sungguh-sungguh melaksanakan tugastugas yang wajar. Ketegaran, yaitu tidak harus terlalu sensitif terhadap error dan kesalahan dalam tugas-tugas Readibiltas, yaitu kode program harus ditulis sedemikian sehingga ia mampu di mengerti oleh pemrogram lain Maintainabilitas, yaitu sistem harus dirancang dan diimplementasikan sedemikian rupa sehingga dengan melakukan relatif sedikit perubahan telah dapat memberi efek tanpa harus menulis ulang secara lengkap.
Pemilihan masalah yang tepat Sebelum anda membangun sistem pakar, anda harus memilih suatu masalah yang tepat. Ada beberapa jenis masalah yang dianggap cocok untuk sistem pakar, yaitu: Kelas Konfigurasi Diagnosa Instruksi Monitoring Perencanaan Area Umum Merakit komponen sistem dengan cara yang benar Menarik kesimpulan dari masalah yang didasarkan pada fakta-fakta yang di observasi Pengajaran yang cerdas sehingga siswa dapat bertanya mengapa, bagaimana dan what if, seperti pengajaran yang dilakukan manusia Membandingkan data yang diobservasi dengan data yang diharapkan untuk menilai performanya Merencankan tindakan untuk mendapatkan hasil yang diinginkan
Kelas Prognosis Perbaikan Kontrol Area Umum Memprediksi hasil dari situasi yang sudah ada Menentukan perlakuan untuk suatu masalah Mengatur proses yang mungkin membutuhkan interpretasi, diagnosis, monitoring, perencanaan, prognosis dan perbaikan
Seperti umumnya proyek perangkat lunak, ada sejumlah pertimbangan yang akan dibuat sebelum membuat suatu komitmen atau kesepakatan besar dengan manusia, sumber dan waktu untuk mengajukan sistem pakar. Pertimbangan umum tersebut adalah mengenai manajemen proyek dalam program konvensional, tetapi harus dibiasakan untuk kebutuhan khusus dari sistem pakar.
Pemilihan Paradigma (Model Pola) yang tepat Pertanyaan yang timbul dari pemilihan pola ini adalah mengapa kita membangun suatu sistem pakar? Secara khusus dapat dikatakan bahwa jawaban pertanyaan ini pada akhirnya harus diberikan kepada pemilik atau pemegang saham yang membiayai pengembangan sistem. Sebelum memulai pembangunan sistem ini sebaiknya ditentukan dulu dengan jelas identifikasi masalanya, pakarnya, dan penggunanya.
Keuntungan yang diperoleh dari sistem pakar Pertanyaan yang kemudian muncul apa keuntungannya? Walaupun pertanyaan ini lebih pragmatis karena lebih tertuju kepada investasi dari orangnya, sumber, waktu, uang serta peningkatan efisiensi atau keuntungankeuntungan sistem pakar yang telah dibahas pada bab sebelumnya.
Tools Pertanyaan dari bagian ini adalah tool-tool apa saja yang tersedia untuk membangun sistem pakar? Banyak tool sistem pakar yang ada saat ini dengan keuntungan dan kelebihannya. Secara umum anda dapat menghitung suatu substansi dari perbaikan setiap tahunnya bagi tiap tool dan revisi utama dalam jangka dua sampai tiga tahun. Perbaikan-perbaikan ini tidak terbatas untuk tool perangkat lunak. Panduan terbaik adalah melakukan pemeriksaan literatur terkini dan membicarakannya kepada orang yang telah membangun sistem pakar.
Biaya Pertanyaan adalah berapa biaya yang akan dihabiskan? Biaya untuk pembangunan suatu sistem pakar tergantung pada manusia, sumber daya, dan waktu yang tersedia untuk mengkonstruksinya. Di samping itu perangkat keras dan lunak juga dibutuhkan untuk menjalankan tool sistem pakar. Perlunya juga pertimbangan biaya untuk pelatihan.
Tahapan Pengembangan Sistem Pakar Manajemen proyek dalam pembangunan sistem pakar diharapkan dapat menyediakan hal-hal berikut, yaitu: 1. Manajemen aktivitas yang terdiri dari: a. Perencanaan Mendefinisikan aktivitas Menspesifikasi prioritas aktivitas Keperluan sumber daya Kejadian yang penting Durasi Pertanggungjawaban
b. Penjadwalan Penugasan waktu mulai dan selesai Menyelesaikan konflik dalam penjadwalan task dengan prioritas yang sama c. Mengawasi unjuk kerja proyek d. Analisis Menganalisi perencanaan, penjadwalan dan aktifitas 2. Manajemen konfigurasi produk a. Manajemen produk Mengatur perbedaan versi dari produk b. Manajemen perubahan mengatur perubahan proposal dan pengaruh evaluasi Menugaskan personil untuk melakukan perubahan Menginstall produk versi terbaru
3. Manajemen sumber daya a. Peramalan kebutuhan untuk sumber daya b. Memperoleh sumber daya c. Menentukan tanggungjawab untuk optimumnya penggunaan sumber daya d. Menyediakan sumber daya yang kritis untuk meminimalisasi bottlenecks (kondisi terbatas nya sumber daya)
Aktivitas untuk membangun sebuah sistem Studi kelayakan Prototipe Memperhalus sistem (uji alpha) Uji Beta Sistem kualitas komersil Dokumen atau perbandingan studi untuk menunjukkan kelayakan proyek SP mendemokan ide, membangun antusiasme dan mempengaruhi manajemen level bawah Verifikasi SP pada masalah yang nyata oleh knowledge engineers dan pakar Sistem di uji dengan memilih penggunanya bukan knowledge engineers atau pakar Validasi dan uji dokumentasi pengguna pelatihan dukungan pengguna melalui telepon atau email Perbaikan dan evolusi Fix bugs (memperbaiki bug) Mempertinggi kapabilitas (kemampuan)
Jenis Alat Pengembangan Ada dua jenis alat untuk mengembangkan sistem pakar. Dasar yang bisa digunakan untuk dipertimbangkan penggunaannya adalah: Bahasa Pemrograman Sistem pakar dewasa ini telah dibuat atau diciptakan dengan berbagai jenis bahasa pemrograman dan bahkan hampir semua bahasa pemrograman telah digunakan untuk pembuatan sistem pakar Misalnya : Basic, Delphi, Pascal, Fox Pro, C, Java, PHP, C#,.NET, etc Selain itu ada juga bahasa yang memang khusus dirancang untuk aplikasi AI yaitu : CLIPS, LISP, dan prolog
Shell Shell sistem pakar atau disebut juga generator merupakan paket perangkat lunak yang khusus dibuat untuk membantu pembuatan sistem pakar. Dalam beberapa hal sama dengan DBMS atau spreedsheet, shell menyediakan kerangka kerja dasar di dalam mana data atau pengetahuan dapat dimasukkan atau di manipulasi dengan cara yang sudah ditentukan terlebih dahulu
Shell sistem pakar tidak mengandung pangkalan pengetahuan. Perbedaan antara sistem pakar dan lainnya terletak pada isi pangkalan pengetahuannya. Motor inferensi pangkalan data, dan user interface akan bisa bekerja dengan semua pangkalan pengetahuan.
Generator sistem pakar adalah sama dengna shell, bahkan ia bisa menyediakan lingkungan pengembangan yang lebih canggih. Dalam hal ini ada dua macam generator sistem pakar dasar yaitu: Yang pertama bersifat langsung dimana generator memungkinkan anda untuk memasukkan kaidah secara pasti ketika anda sedang menuliskannya dengan menggunakan beberapa jenis editor atau pengolah kata.
Kedua, yaitu generator sistem pakar yang tidak perlu menggunakan kaidah. Sebaliknya, pengetahuan langsung dimasukkan ke dalam program dalam bentuk contoh yang sudah diset dalam bentuk matriks, sama dengan spreedsheet.
Kesalahan dalam tahapan pengembangan sistem pakar Kesalahan pengetahuan pakar (expert knowledge errors) Pakar merupakan sumber pengetahuan dari sistem pakar. Jika pengetahuan pakar adalah salah atau keliru, maka hasil boleh jadi menyebar melalui keseluruhan proses pengembangan. Kesalahan semantik (semantic error) Kesalahan semantik terjadi bila arti dari pengetahuan tidak berkomunikasi dengan baik. Kesalahan semantik terjadi jika knowledge engineer keliru menginterpretasikan jawaban dari pakar, atau pakar keliru menginterpretasikan pertanyaan dari knowledge engineer, atau kedua-duanya
Sintaks error (syntax error) Ini merupakan kesalahan sederhana yang terjadi bila form salah dari kaidah atau fakta yang dimasukkan. Tool sistem pakar akan menunjukkan pesan ini dan memberikan pesan kesalahan dengan semestinya. Kesalahan lainnya yang terjadi dalam fase pembangunan dasar pengetahuan adalah kesalahan source pengetahuan yang tidak terdeteksi pada tahap sebelumnya.
Kesalahan mesin inferensi (inference engine errors) Mesin inferensi boleh jadi memiliki bug. Pada saat itu suatu tool sistem pakar dikeluarkan untuk penggunaan umum. Semua bug umum harus diperbaiki. Secara umum bug pada mesin inferensi boleh jadi muncul pada matching pola, resolusi konflik dan eksekusi aksi. Bug-bug ini terkadang terlalu sulit untuk di deteksi karena ketidakkonsistenannya. Metode sederhana untuk mengecek kesalahan tool adalah metode pertanyaan klasik kepada pengguna lain dan vendor tool.
Kesalahan rangkaian inferensi (inference chain errors) Kesalahan ini boleh jadi disebabkan oleh kesalahan pengetahuan, kesalahan semantik, bug mesin inferensi, kesalahan spesifikasi prioritas kaidah, dan tidak adanya perencanaan interaksi antarkaidah.
Kesalahan batas ketidaktahuan (limits of ignorance errors) Masalahan umum yang sering muncul untuk semua tahapan pengembangan adalah menspesifikasikan sistem batas ketidaktahuaan.