BAB III ANALISIS DAN PERANCANGAN 3.1 Tahapan Pembangunan Sistem Pakar Berbasis Web Pembangunan sistem pakar untuk memilih buku ilmu syar’i berbahasa Indonesia, mengikuti proses pengembangan sistem pakar berbasis web seperti pada gambar II-4, dengan tahapan-tahapan sebagai berikut : a. Lingkup dan Konseptualisasi Melakukan studi kelayakan terhadap domain, menentukan tim pengembang dan pakar, serta memilih kakas yang digunakan. b. Kebutuhan dan Spesifikasi Menganalisis kebutuhan fungsional dan non-fungsional, serta menetapkan spesifikasi sistem c. Subproyek pengembangan sistem pakar Pada tahapan ini, dilakukan akuisisi pengetahuan dan membangun prototipe pengembangan sistem pakar. d. Subproyek pengembangan aplikasi web Pada tahapan ini, dilakukan perancangan disain data, disain hypertext, dan disain arsitektur e. Implementasi Melakukan implementasi pada masing-masing subproyek. f. Pengujian Melakukan pengujian dari hasil implementasi pada masing-masing subproyek dan sistem pakar berbasis web keseluruhan. Tahapan pengembangan aplikasi lain tidak dilakukan karena tidak ada aplikasi lain dalam pelaksanaan tugas akhir ini. Sedangkan tahapan analisis resiko dan rilis versi dan evolusi tidak diperlukan dalam pelaksanaan tugas akhir ini. 1 III-2 3.2 Lingkup dan Konseptualisasi 3.2.1 Studi Kelayakan Memilih buku ilmu syar’i berbahasa Indonesia sesuai dengan tingkat kebutuhan dan tingkat pemahaman pembaca merupakan ill-structured problems, sehingga sistem pakar cocok menjadi solusi dari permasalahan. Hal ini ditinjau dari sebab-sebab sebagai berikut : a. Ruang solusi dari permasalahan memilih buku ilmu syar’i berbahasa Indonesia tidak terbatas, karena jumlah buku ilmu syar’i berbahasa Indonesia semakin hari semakin bertambah banyak b. Solusi dalam permasalahan ini tidak pasti, karena sebuah buku ilmu syar’i bisa dibaca oleh tingkat pemahaman yang berbeda, walaupun pembaca dengan salah satu tingkat pemahaman lebih cocok untuk membaca buku tersebut c. Keadaan masalah dari memilih buku ilmu syar’i berbahasa Indonesia sesuai dengan tingkat kebutuhan dan tingkat pemahaman pembaca tidak diskrit, karena sulit untuk menentukan tingkat pemahaman pembaca secara pasti dan jelas berdasarkan data yang diberikan oleh pembaca itu sendiri Kriteria-kriteria dari permasalahan memilih buku ilmu syar’i yang menjadikan sistem pakar layak menjadi solusinya adalah : a. Memilih buku ilmu syar’i merupakan permasalahan yang menggunakan human solving, karena dibutuhkan pengetahuan dan pengalaman ulama dalam menemukan solusi b. Perkembangan suatu bahasa dapat mempengaruhi pemahaman pembaca dan gaya bahasa yang digunakan oleh penulis. Oleh karena itu, pengetahuan untuk memilih buku ilmu syar’i juga turut berubah. c. Kepakaran untuk memilih buku ilmu syar’i ini berdasarkan pengetahuan yang ilmiah dan ditambah dengan pengalaman para pakar. Sehingga alur pemikiran pakar dalam menyelesaikan permasalahan memilih buku ilmu syar’i dapat dimengerti. d. Pembaca menyampaikan data berupa tingkat kebutuhan dan tingkat pemahamannya agar didapatkan buku ilmu syar’i yang sesuai, hanya berupa perkiraan pembaca itu sendiri III-3 Untuk mengukur kelayakan sistem pakar menjadi solusi dari suatu permasalahan, dilakukan metode evaluasi proyek sistem pakar yang terdiri dari 3 kelompok kriteria yaitu : [PUP93] a. Pengguna dan Manajemen (8 item) Pengguna akan mendapatkan keuntungan dari sistem pakar ini, yaitu pembaca akan menemukan buku ilmu syar’i yang sesuai dengan tingkat kebutuhan dan tingkat pemahamannya. Hal ini dapat diketahui dari pengakuan pembaca itu sendiri atau dengan melihat perbuatan pembaca setelah membaca buku ilmu syar’i yang disarankan sistem pakar. Selain itu, pembaca dapat berinteraksi dengan sistem pakar dan sistem pakar tidak akan terlalu banyak mengeluarkan pertanyaan, apalagi pertanyaan yang tidak penting. b. Task (17 item) Task dalam sistem pakar ini heuristic dan tidak memerlukan NLP (Natural Language Processing). Persoalan memilih buku ilmu syar’i tidak membutuhkan solusi yang optimum dan alasan pengambilan solusi dapat dijelaskan. Sistem pakar ini bisa digunakan di beberapa lokasi, karena berbasiskan web. c. Pakar (15 item) Pakar yang dibutuhkan dalam sistem pakar ini tersedia dan betul-betul pakar dalam permasalahan memilih buku ilmu syar’i ini. Pakar yang akan diakuisisi pengetahuannya adalah orang yang dapat mengeluarkan pikirannya, bersedia bekerja sama, dapat dipercaya, dan tidak merasa terancam dengan sistem pakar ini. Setiap item diberi nilai 0 hingga 10. Kemudian nilai setiap item dikalikan dengan bobot item tersebut. Lalu hasilnya dijumlahkan dan dibagi dengan jumlah dari semua bobot item. Nilai evaluasi berkisar antara 0 (sangat tidak layak) sampai 10 (layak sekali). Evaluasi kelayakan yang dilakukan dapat dilihat pada lampiran A. Berdasarkan penjelasan di atas, sistem pakar cocok menjadi solusi permasalahan memilih buku ilmu syar’i. Hal ini disebabkan sebagian besar kriteria terpenuhi dan sistem pakar juga layak menjadi solusi permasalahan memilih buku ilmu syar’i karena mempunyai nilai evaluasi 8,96. III-4 3.2.2 Tim Pengembang dan Pakar Dalam pembangunan sistem pakar berbasis web ini, tim pengembang hanya terdiri dari seorang perekayasa pengetahuan. Adapun pakar yang diakuisisi pengetahuannya adalah Al-Ustadz Abu Isa Abdullah bin Salam, pakar di bidang ilmu syar’i. Pertemuan antara perekayasa pengetahuan dengan pakar dapat dilakukan setiap 2 minggu sekali, selama 6 bulan. 3.2.3 Kakas Kakas yang digunakan dalam pembangunan sistem pakar berbasis web ini adalah WebCLIPS, dengan alasan : a. Merupakan implementasi dari CLIPS untuk sistem pakar berbasis web b. Merupakan kakas gratis c. Mudah digunakan bersama kakas XAMPP 3.3 Kebutuhan dan Spesifikasi 3.3.1 Kebutuhan Fungsional Kebutuhan fungsional dari sistem pakar berbasis web ini adalah : a. Pengguna memilih topik yang diinginkan b. Pengguna menjawab sejumlah pertanyaan dengan cara memilih pilihan jawaban yang telah disediakan c. Admin dapat menambah, mengedit, dan menghapus data buku ilmu syar’i d. Admin dapat mengelola fakta buku 3.3.2 Kebutuhan Non-Fungsional Kebutuhan non-fungsional dari sistem pakar berbasis web ini adalah : a. Proses dari pengguna mengirim data (dengan cara menjawab pertanyaan) sampai sistem mengeluarkan pertanyaan selanjutnya atau solusi tidak lebih dari 10 detik b. Sistem mudah digunakan c. Antarmuka sistem menarik 3.3.3 Spesifikasi Sistem Permasalahan yang ingin dipecahkan dalam sistem pakar berbasis web ini adalah bagaimana memilih buku ilmu syar’i berbahasa Indonesia sesuai dengan tingkat III-5 kebutuhan dan tingkat pemahaman pengguna secara efisien dan efektif. Pengguna sistem pakar ini adalah kaum Muslimin yang bisa berbahasa Indonesia. Tujuan dari proyek ini adalah untuk membangun sistem pakar yang dapat memberi saran berupa buku ilmu syar’i berbahasa Indonesia yang sesuai dengan tingkat kebutuhan dan tingkat pemahaman pengguna. Keluaran dari sistem pakar berupa sebuah buku ilmu syar’i berbahasa Indonesia dengang menampilkan judul, penulis, dan penerbit buku tersebut. Adapun masukan untuk sistem pakar adalah data yang menggambarkan tingkat kebutuhan dan tingkat pemahaman pengguna. 3.4 Subproyek Pengembangan Sistem Pakar 3.4.1 Akuisisi Pengetahuan Metode akuisisi pengetahuan yang dilakukan adalah Tasking Action Mapping. Metode ini dipilih karena : a. Representasi pengetahuan yang dipilih adalah PET b. Perekayasa pengetahuan mampu untuk membuat pemetaan aksi atau diagram aliran keputusan yang berbentuk PET c. Pakar hanya melakukan evaluasi terhadap data dan diagram aliran keputusan yang telah dibuat oleh perekayasa pengetahuan Sebelum melakukan proses akuisisi pengetahuan terhadap pakar, perekayasa pengetahuan melakukan hal-hal sebagai berikut : a. Menentukan topik Topik ditentukan berdasarkan topik-topik pada buku ilmu syar’i. b. Menyiapkan subtopik yang akan ditanyakan kepada pengguna untuk mengetahui tingkat pemahamannya tentang suatu topik c. Menentukan kelas tingkat kebutuhan Berdasarkan subbab 2.4.2 tingkat kebutuhan dibagi menjadi 2 kelas yaitu : 1. Umum : jika pembahasannya bersifat umum dan cakupannya luas 2. Khusus : jika pembahasannya bersifat khusus dan cakupannya sempit d. Menentukan kelas tingkat pemahaman III-6 Berdasarkan subbab 2.4.2 tingkat pemahaman pembaca terdiri dari 3 kelas, yaitu : 1. Awam : kelas pembaca yang baru ingin belajar ilmu syar’i 2. Penuntut ilmu pemula : kelas pembaca yang telah belajar ilmu syar’i, tetapi masih pemula 3. Penuntut ilmu lanjutan : kelas pembaca yang telah lama belajar ilmu syar’i Ulama tidak dimasukkan disebabkan seorang ulama wajib menguasai bahasa Arab, sehingga tidak memerlukan buku ilmu syar’i berbahasa Indonesia. e. Membuat PET PET dibuat untuk setiap topik dan proses pembuatan PET untuk setiap topik adalah sama. Proses-proses akuisisi pengetahuan yang dilakukan dapat dilihat pada tabel III-1. Tabel III-1 Proses-proses akuisisi pengetahuan Proses ke1 2 3 4 Kegiatan a. Perekayasa pengetahuan melakukan konfirmasi kepada pakar tentang subtopik yang akan ditanyakan kepada pengguna untuk mengetahui tingkat pemahamannya tentang suatu topik b. Pakar mengevaluasi subtopik tersebut, dengan cara menyetujui, menambah, atau menguranginya, serta menentukan urutan subtopik dari yang menggambarkan kelas awam hingga kelas penuntut ilmu lanjutan Melanjutkan kegiatan pada proses ke-1 Hasil Subtopik-subtopik pada topik Aqidah selesai dievaluasi Mengkonfirmasikan PET yang dibuat oleh perekayasa pengetahuan ke pakar untuk dievaluasi, sekaligus mengevaluasi bobot untuk setiap keputusan Mengkonfirmasikan tentang pertanyaan utama untuk setiap simpul yang bukan daun pada PET ke pakar PET selesai dievaluasi Subtopik-subtopik pada topik Shalat selesai dievaluasi Pertanyaan utama selesai dievaluasi 3.4.2 Prototipe Pengembangan Sistem Pakar 3.4.2.1 Representasi pengetahuan Pada gambar III-1 dan gambar III-2 diperlihatkan representasi pengetahuan dalam bentuk PET. III-7 Gambar III-1 PET Aqidah III-8 Gambar III-2 PET Shalat III-9 Simpul akar pada PET dimulai dari subtopik yang paling mendasar untuk setiap topik. Setiap percabangan dari simpul, akan menghasilkan simpul lainnya, baik simpul bukan daun maupun simpul daun. Simpul anak yang dihasilkan oleh simpul induk berupa simpul bukan daun, maka pertanyaan yang terdapat pada simpul anak menggambarkan subtopik yang lebih tinggi dari simpul induk. Sedangkan simpul anak yang berupa simpul daun, berisikan kelas tingkat pemahaman beserta nilai probabilitasnya. Setelah mendapatkan tingkat pemahaman pembaca beserta nilai probabilitasnya, maka akan didaftar sejumlah subtopik sesuai dengan simpul yang dilalui untuk mendapatkan tingkat kebutuhan. Daftar subtopik dapat dilihat pada lampiran B. Contoh kasus : Pertanyaan dari sistem beserta jawaban dari pengguna (berdasarkan PET Shalat). a. Simpul : Apakah anda tahu pengertian shalat ? Pertanyaan : Apa makna (pengertian) shalat ? Jawaban : Ucapan dan gerakan khusus yang dimulai takbir dan diakhiri salam Nilai : Ya, paham b. Simpul : Apakah anda tahu syarat sah, syarat wajib, pembatal, dan rukun shalat ? Pertanyaan : Apa yang kita baca ketika sujud ? Jawaban : Tidak membaca apa pun Nilai : Tidak Maka akan didapat tingkat pemahaman adalah awam dengan nilai probabilitasnya 70 %. Setelah itu didaftar sejumlah subtopik (lihat tabel 2 pada lampiran B) sebagai berikut : a. Praktek shalat (umum) b. Shalat jama’ah (khusus) c. Keutamaan shalat (umum) d. Kesalahan dalam shalat (khusus) Jika dipilih subtopik praktek shalat, maka akan didapat abstraksi data berupa tingkat pemahaman adalah awam dengan nilai probabilitasnya 70% dan tingkat kebutuhan III-10 adalah umum. Nilai probabilitas pada tingkat pemahaman hanya berguna untuk menentukan subtopik-subtopik yang diajukan ke pengguna. Berdasarkan tingkat kebutuhan dan tingkat pemahaman, maka diperoleh kelas buku yaitu kelas umum awam. Kemudian dilakukan pemilihan buku berdasarkan prioritas yaitu subtopik yang dipilih oleh pengguna. Jika terdapat buku yang memiliki kelas dan prioritas yang sama, maka buku yang berasal dari fakta baru akan mendapatkan prioritas (depth strategy). Oleh karena itu hasil dari proses ini secara berurutan adalah buku dengan kode 16, 8, dan 7 (lihat fakta buku pada buku.dat di lampiran C). 3.4.2.2 Mesin inferensi Metode pemecahan masalah pada sistem pakar ini menggunakan heuristic classification dengan alasan sebagai berikut : a. Dibutuhkannya abstraksi data dari data mentah yang diberikan pembaca menjadi tingkat kebutuhan dan tingkat pemahaman pembaca, sebelum melakukan pencocokan dengan abstraksi solusi yang ada b. Adanya nilai probabilitas pada data abstraksi yang dihasilkan, sehingga diperlukan pencocokan secara heuristic dengan abstraksi solusi Adapun struktur inferensi sistem pakar berdasarkan heuristic classification adalah seperti gambar III-3. Gambar III-3 Struktur inferensi pada heuristic classification Penjelasan struktur inferensi di atas sebagai berikut : a. Data pemahaman pembaca : data mentah dari pembaca, untuk mendapatkan tingkat pemahamannya b. Data kebutuhan pembaca : data mentah dari pembaca, untuk mendapatkan tingkat kebutuhannya III-11 c. Tingkat pemahaman pembaca : abstraksi data berupa tingkat pemahaman pembaca d. Tingkat kebutuhan pembaca : abstraksi data berupa tingkat kebutuhan pembaca e. Kelas buku : abstraksi solusi yang sesuai dengan abstraksi data secara heuristic f. Judul buku : solusi yang didapat setelah melakukan perbaikan (refinement) terhadap abstraksi solusi 3.5 Subproyek Pengembangan Aplikasi Web 3.5.1 Disain Data Gambar III-4 Disain basis data Penjelasan disain basis data dapat dilihat pada tabel III-2. Tabel III-2 Penjelasan disain basis data Nama Tabel t_buku t_topik t_pp t_simpul Nama Kolom id_buku judul penulis penerbit kelas prioritas id_topik topik username Tipe Data integer string string string integer integer integer string string password string id_simpul nama integer string Keterangan primary key tabel t_buku judul buku penulis buku penerbit buku foreign key dari tabel t_kelas foreign key dari tabel t_kebutuhan primary key tabel topik nama topik username admin / perekayasa pengetahuan (primary key) password admin / perekayasa pengetahuan primary key tabel t_simpul nama simpul III-12 pertanyaan t_jawaban id_jwb simpul teks_jwb nilai_jwb t_pemahaman id_pemahaman pemahaman t_subtopik id_subtopik nama kebutuhan nilai topik t_kelas id_kelas kelas r_daftar_kebutuhan pemahaman kebutuhan string integer integer string string integer string integer string string string integer integer string integer integer pertanyaan untuk sebuah simpul primary key tabel t_jawaban foreign key dari tabel t_simpul teks jawaban nilai jawaban primary key tabel t_pemahaman kelas tingkat pemahaman primary key tabel t_subtopik nama subtopik tingkat kebutuhan nilai subtopik topik dari subtopik primary key tabel t_kelas nama kelas buku foreign key dari tabel t_pemahaman foreign key dari tabel t_subtopik 3.5.2 Disain Hypertext 3.5.2.1 Antarmuka untuk Pengguna Gambar III-5 Antarmuka home III-13 Gambar III-6 Antarmuka pilih topik Gambar III-7 Antarmuka pertanyaan untuk tingkat pemahaman Gambar III-8 Antarmuka untuk memilih subtopik III-14 Gambar III-9 Antarmuka hasil sistem pakar Gambar III-10 Antarmuka login Gambar III-11 Antarmuka utama admin III-15 Gambar III-12 Antarmuka tambah/edit data buku Gambar III-13 Antarmuka cari III-16 3.5.3 Disain Arsitektur Gambar III-14 Arsitektur sistem pakar berbasis web Penjelasan arsitektur sistem pakar berbasis web dapat dilihat pada tabel III-3. Tabel III-3 Penjelasan arsitektur sistem No 1 2 3 4 5 6 7 8 9 10 11 12 13 Modul Pengguna/Pembaca Admin Aplikasi web Aplikasi web admin Basis data CLIPS Basis pengetahuan Fakta sementara/hasil Pengetahuan dasar pakar Fakta buku WebCLIPS Pengelolaan fakta buku Perekayasa pengetahuan 14 Pakar Keterangan Orang yang menggunakan sistem Orang yang mengelola data dan fakta buku Antarmuka bagi pengguna untuk mengakses sistem Antarmuka bagi pengguna untuk mengakses sistem Tempat penyimpanan data buku Mesin inferensi Tempat menyimpan pengetahuan Pengetahuan dari hasil inferensi Pengetahuan dasar dari pakar Pengetahuan berupa fakta buku Antarmuka aplikasi web dengan sistem pakar Modul untuk mengelola fakta buku Orang yang mengakuisisi pengetahuan dari pakar dan memasukkannya ke basis pengetahuan Sumber pengetahuan III-17 Hubungan antara arsitektur umum sistem pakar dengan arsitektur sistem pakar berbasis web adalah : 1. User Pengguna/Pembaca dan Admin 2. Expert Pakar 3. Interviewer component Aplikasi web dan Aplikasi web admin 4. Problem solving component CLIPS (mesin inferensi) 5. Case-specific knowledge Fakta buku 6. Intermediate result and problem solving Fakta sementara/hasil 7. Domain-specific knowledge Pengetahuan dasar pakar Sedangkan explanation component tidak ada karena sistem pakar tidak menampilkan penjelasan tentang solusi yang diberikan (lihat batasan masalah pengerjaan tugas akhir pada subbab 1.4) dan knowledge acquisition component tidak ada karena pengetahuan dari pakar dimasukkan oleh perekayasa pengetahuan.