Kecerdasan Buatan Lecture 6 Expert System Ir. Gunawan, M. Kom. Disesuaikan oleh Erick Pranata © Sekolah Tinggi Teknik Surabaya
Istilah Expert System (ES) Knowledge Based System (KBS) Knowledge Base Knowledge Acquisition Inference Engine © Sekolah Tinggi Teknik Surabaya
Langkah-langkah Perancangan Secara prinsip tidak berbeda dengan sejumlah tindakan dalam membangun sebuah application system untuk sistem informasi berbasis komputer (CBIS). Selain software yang diperlukan pada tahap implementasi, diperlukan pula sejumlah design tools - seperti flowchart - yang berbentuk diagram ataupun sejumlah tabel sebagai sarana dokumentasi yang baik untuk pemeliharaan dan perancangan lebih lanjut. © Sekolah Tinggi Teknik Surabaya
Langkah-langkah Perancangan Yang lebih banyak menyita waktu: menyarikan pengetahuan dari pakar oleh seorang knowledge engineer (Knowledge Acquisition). Langkah 1-4 berupa desain yang tidak tergantung software ES-Shell yang dipakai, sedang langkah 5-8 adalah implementasi yang sangat tergantung software, dalam pengembangan ini yang dipakai adalah VP-Expert. © Sekolah Tinggi Teknik Surabaya
Contoh Perancangan Health Maintenance Organization (HMO) adalah lembaga pemeliharaan kesehatan (klinik medis) yang bersifat komersil. HMO memberlakukan sistem keanggotaan, dimana seseorang yang ingin menjadi anggotanya harus mendaftarkan diri terlebih dahulu dan membayar iuran secara rutin dalam periode waktu tertentu, supaya status keanggotaannya tetap sah. Karena keterbatasan sumber daya HMO, layanan yang diberikan kepada anggotanya didahulukan untuk prioritas yang tinggi, sehingga sejumlah kriteria lain juga perlu diperhatikan pada screening awal untuk menentukan level pelayanan yang diberikan, serius tidaknya penyakit klien, jenis kasusnya baru atau lanjutan. Layanan yang diberikan tentu saja juga perlu memperhatikan keperluan seorang klien yang datang ke HMO, berobat atau hanya untuk mendapatkan informasi. Meskipun demikian, HMO tetap memberikan layanan kepada bukan anggota HMO. © Sekolah Tinggi Teknik Surabaya
8 Langkah Pengembangan 8 langkah yang harus dilakukan untuk mengembangkan Rule-based ES dengan ES-Shell/VP-Expert 4 (empat) langkah pertama dapat dipandang sebagai Fase Desain. 4 (empat) langkah berikutnya dapat dipandang sebagai Fase Implementasi. © Sekolah Tinggi Teknik Surabaya
1: Batasi Area Perancangan Tunjukkan sebuah subarea - dari keseluruhan area (HMO) - yang dipilih sebagai sebagai titik awal perancangan prototype ES dengan menggambar sebuah blok diagram. Subarea yang dipilih adalah dukungan pengambilan keputusan sederhana pada fungsi-fungsi pelayanan sebagai bagian dari pengelolaan fasilitas di dalamnya (lihat gambar 1) Alasan pemilihan front-office: bagian ini merupakan bagian yang sangat strategis dan vital dari HMO. Telah diketahui bahwa usaha jasa selalu memusatkan perhatiannya pada aspek-aspek Total Customer Service. © Sekolah Tinggi Teknik Surabaya
1: Batasi Area Perancangan Fokuskan permasalahan pada subarea ini dengan menggambar beberapa layer di dalamnya secara lebih rinci (lihat gambar 2) © Sekolah Tinggi Teknik Surabaya
Gambar 1 © Sekolah Tinggi Teknik Surabaya
Gambar 2 © Sekolah Tinggi Teknik Surabaya
2: Sasarkan Pengambilan Keputusan yang Diprotoypekan Sistem yang dirancang akan mendukung pengambilan keputusan petugas jaga front office dengan memberi rekomendasi tentang level pelayanan apa yang akan diberikan kepada seorang klien. Tunjukkan faktor-faktor kritis yang diperlukan untuk menghasilkan sebuah rekomendasi (lihat gambar 3) . Pada contoh ini terdapat 3 faktor kritis yang digunakan untuk screening awal klien: Status keanggotaan HMO: Bukan anggota atau anggota? Masalah: Sejauh mana kondisi klien saat itu? Layanan: Layanan apa yang akhirnya akan diberikan kepada klien? © Sekolah Tinggi Teknik Surabaya
2: Sasarkan Pengambilan Keputusan yang Diprotoypekan Tergantung dari jawaban yang diberikan, disarankan untuk memberikan salah satu pelayanan berikut kepada klien: Level 1: Untuk anggota dengan kasus yang serius. Level 2: Untuk anggota dengan kasus baru yang tidak serius. Level 3: Untuk anggota dengan kasus lanjutan yang tidak serius. Informasi atau layanan lain untuk anggota. Layanan Non-anggota. © Sekolah Tinggi Teknik Surabaya
Gambar 3 © Sekolah Tinggi Teknik Surabaya
3: Membentuk Diagram Ketergantungan (Dependency Diagram) Sasaran pengambilan keputusan yang akan dibuat prototypenya (gambar 3) ditransformasikan ke dalam sebuah diagram ketergantungan (dependency diagram), yang adalah higest-level diagram dalam pengembangan ini. (gambar 4). Diagram Ketergantungan untuk menunjukkan semua pertanyaan input yang diperlukan, jumlah rule dan rule set yang harus dibuat, kemudian semua alternatif jawaban yang disediakan (values). Termasuk ke dalam values adalah jenis rekomendasi yang disarankan sebagai output prototype ini. © Sekolah Tinggi Teknik Surabaya
3: Membentuk Diagram Ketergantungan (Dependency Diagram) Diagram ketergantungan dibuat melalui urutan tindakan berikut ini: menjungkirkan secara horizontal blok diagram yang dihasilkan pada langkah 2 (gambar 3). menggambar segitiga yang dihubungkan dengan persegi panjang pada semua faktor kritis dari blok diagram yang dijungkirkan. Pada contoh ini faktor kritisnya adalah status keanggotaan; masalah; dan rekomendasi level pelayanan. Faktor keperluan tidak dianggap sebagai faktor kritis, karena tidak membutuhkan pengambilan keputusan lebih lanjut. Akibatnya faktor ini dapat diarahkan langsung ke rekomendasi akhir. Menulis semua variable dan value pada setiap garis yang masuk ke dalam segitiga. Biasanya variable di atas garis dan value di bawah garis (gambar 4). Memberi keterangan pada setiap segitiga mulai dari kanan ke kiri. Biasanya nomor rule (pada contoh adalah 1-5, 6-8 dan 9-11) baru ditulis saat semua rule yang diperlukan telah diperoleh secara lengkap. © Sekolah Tinggi Teknik Surabaya
Gambar 4 © Sekolah Tinggi Teknik Surabaya
4: Membentuk Tabel-tabel Pengambilan Keputusan (Decision Tables) Tabel-tabel pengambilan keputusan (decision tables) diperlukan untuk menunjukkan hubungan antara nilai-nilai yang keluar dan masuk dari/ke fase-fase bagian tengah atau rekomendasi akhir ES. Sebuah segitiga yang dihasilkan pada langkah sebelumnya harus ditransformasikan menjadi sebuah tabel, sehingga prototype ES untuk HMO ini diperlukan 3 (tiga) tabel . Seperti dapat dilihat pada semua tabel, penyusunan setiap tabel pada langkah ini memerlukan 3 (tiga) tindakan yang juga harus dilakukan secara berurutan: Perencanaan Menyusun tabel pengambilan keputusan yang lengkap Mereduksi tabel pengambilan keputusan © Sekolah Tinggi Teknik Surabaya
4: Membentuk Tabel-tabel Pengambilan Keputusan (Decision Tables) Perencanaan Jumlah baris rule diperoleh dengan memperhatikan jumlah garis yang masuk ke dalam sebuah segitiga, kemudian mengalikan masing-masing jumlah value yang terdapat pada setiap garis input. Sebagai contoh pada segitiga rekomendasi akhir gambar 4 terdapat 3 buah garis masuk, yang jumlah value inputnya masing-masing adalah 2 (anggota, bukan_anggota), 3 (kasus_baru, kasus_lanjutan, informasi) dan 2 (serius, non_serius). Jadi jumlah baris adalah 2 x 3 x 2 atau 12. Menyusun tabel pengambilan keputusan yang lengkap Tabel ini diperoleh dengan mendaftar semua kombinasi input yang mungkin dan menuliskan semua value output yang sesuai dengan setiap barisnya. © Sekolah Tinggi Teknik Surabaya
4: Membentuk Tabel-tabel Pengambilan Keputusan (Decision Tables) Mereduksi tabel pengambilan keputusan Tindakan reduksi pada dasarnya serupa dengan penyederhanaan gate pada disain rangkaian logika. Misalnya dapat dilihat pada rule A7 sampai A12. Status keanggotaan yang bukan_anggota selalu menghasilkan layanan_bukan_ anggota, sehingga keenam rule ini dapat direduksi menjadi rule B6 saja. Setelah reduksi selesai dilakukan, barulah setiap kelompok nomor rule (pada contoh adalah 1-5, 6-8 dan 9-11) ditulis ke dalam setiap segitiga pada diagram ketergantungan yang dibuat sebelumnya untuk keperluan dokumentasi yang baik. Sampai disini Knowledge Engineer sesungguhnya telah siap dengan hasil disainnya. Yang dilakukan kemudian adalah memilih ES-Shell yang tepat untuk keperluan implementasinya. © Sekolah Tinggi Teknik Surabaya
Tabel 1 © Sekolah Tinggi Teknik Surabaya
Tabel 2 © Sekolah Tinggi Teknik Surabaya
Tabel 3 © Sekolah Tinggi Teknik Surabaya
5: Menulis Rule-rule IF-THEN VP-Expert (Under PC/MS-DOS) dikembangkan oleh Brian Sawyer dan dipasarkan oleh WordTech menggunakan IBM PC, XT, AT, PS/2 dan kompatibelnya dengan memori minimal 512 KByte. Pada versi versi 3.0 sudah mendukung pembuatan user interface yang berbasis grafik (GUI), termasuk penambahan fasilitas mouse. Beberapa keterbatasan Educational Version dari VPExpert versi 2.1: akses pada DBF file maksimal 150 record ukuran rule basenya yang maksimal sebesar 16 KByte. © Sekolah Tinggi Teknik Surabaya
5: Menulis Rule-rule IF-THEN Yang dilakukan adalah mengkonversikan tabel pengambilan keputusan hasil reduksi menjadi sejumlah rule IF-THEN. Satu baris tabel akan dikonversikan menjadi sebuah rule. Dengan demikian, yang harus diketahui terlebih dahulu adalah syntax IF-THEN pada VP-Expert yang syntax-nya hampir tidak berbeda dengan IF-THEN pada programming language manapun. Kecuali pada klausa BECAUSE yang diperlukan pada explanation subsystem . © Sekolah Tinggi Teknik Surabaya
5: Menulis Rule-rule IF-THEN © Sekolah Tinggi Teknik Surabaya
5: Menulis Rule-rule IF-THEN Sebuah rule harus diakhiri dengan semicolon (;). Kondisi dapat dilengkapi dengan operator logika AND dan OR, yang masing-masing dapat menghubungkan sampai 20 dan 10 kondisi yang berbeda. Penulisan semua value dan variable dalam rule: diawali dengan huruf panjangnya sampai 40 karakter tidak boleh menggunakan keyword VP-Expert tidak menggunakan spasi. Untuk menggantikan spasi biasanya digunakan '_' (underscore) beberapa karakter khusus juga boleh digunakan ($^|%). "Kebijaksanaan" khusus VP-Expert: tidak menampilkan underscore yang dipakai suatu variabel atau value saat ditampilkan di layar! © Sekolah Tinggi Teknik Surabaya
5: Menulis Rule-rule IF-THEN Klausa ELSE memungkinkan beberapa rule digabung menjadi satu, misalnya rule 6 dan 7 pada HMO1.KBS dapat digabung menjadi: RULE gabungan IF member = yes AND valid_id = yes THEN member_status = ok ELSE member_status = not_ok; © Sekolah Tinggi Teknik Surabaya
6: Menulis Blok Action Bagian yang menentukan conclusion manakah yang ditanyakan ACTIONS DISPLAY "Welcome to the HMO Service Screening Assistant" FIND support DISPLAY "Recommended support: {support}." ; © Sekolah Tinggi Teknik Surabaya
7: Menulis Blok Interface Bagian yang menyajikan tampilan pertanyaan ASK member: "Is the person an HMO member?"; CHOICES member: yes, no; ASK valid_id: "Does the person have a valid HMO `id' number?"; CHOICES valid_id: yes, no; © Sekolah Tinggi Teknik Surabaya
8: Finalisasi Membentuk file .KBS File ini dapat dibaca dan diproses oleh VP Expert dengan algoritma Backward Chaining © Sekolah Tinggi Teknik Surabaya