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 tugas- tugas 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 Area Umum
Konfigurasi Merakit komponen sistem dengan cara yang benar
Diagnosa Menarik kesimpulan dari masalah yang didasarkan pada fakta-fakta yang di observasi
Instruksi Pengajaran yang cerdas sehingga siswa dapat bertanya mengapa, bagaimana dan what if, seperti pengajaran yang dilakukan manusia
Monitoring Membandingkan data yang diobservasi dengan data yang diharapkan untuk menilai performanya
Perencanaan Merencankan tindakan untuk mendapatkan hasil yang
Kelas Area Umum
Prognosis Memprediksi hasil dari situasi yang sudah ada Perbaikan Menentukan perlakuan untuk suatu masalah
Kontrol 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 keuntungan-
keuntungan 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
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.