1
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.
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
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.
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
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
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 ke- Kegiatan Hasil
1 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
Subtopik-subtopik pada topik Aqidah selesai dievaluasi
2 Melanjutkan kegiatan pada proses ke-1 Subtopik-subtopik pada topik Shalat selesai dievaluasi 3 Mengkonfirmasikan PET yang dibuat oleh
perekayasa pengetahuan ke pakar untuk dievaluasi, sekaligus mengevaluasi bobot untuk setiap keputusan
PET selesai dievaluasi
4 Mengkonfirmasikan tentang pertanyaan utama untuk setiap simpul yang bukan daun pada PET ke pakar
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.
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
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
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 Nama Kolom Tipe Data Keterangan
t_buku id_buku integer primary key tabel t_buku
judul string judul buku
penulis string penulis buku penerbit string penerbit buku
kelas integer foreign key dari tabel t_kelas prioritas integer foreign key dari tabel t_kebutuhan t_topik id_topik integer primary key tabel topik
topik string nama topik
t_pp username string username admin / perekayasa pengetahuan (primary key) password string password admin / perekayasa
pengetahuan
t_simpul id_simpul integer primary key tabel t_simpul
pertanyaan string pertanyaan untuk sebuah simpul t_jawaban id_jwb integer primary key tabel t_jawaban
simpul integer foreign key dari tabel t_simpul teks_jwb string teks jawaban
nilai_jwb string nilai jawaban
t_pemahaman id_pemahaman integer primary key tabel t_pemahaman pemahaman string kelas tingkat pemahaman t_subtopik id_subtopik integer primary key tabel t_subtopik
nama string nama subtopik
kebutuhan string tingkat kebutuhan nilai string nilai subtopik topik integer topik dari subtopik t_kelas id_kelas integer primary key tabel t_kelas
kelas string nama kelas buku
r_daftar_kebutuhan pemahaman integer foreign key dari tabel t_pemahaman kebutuhan integer foreign key dari tabel t_subtopik
3.5.2 Disain Hypertext
3.5.2.1 Antarmuka untuk Pengguna
Gambar III-6 Antarmuka pilih topik
Gambar III-7 Antarmuka pertanyaan untuk tingkat pemahaman
Gambar III-9 Antarmuka hasil sistem pakar
Gambar III-10 Antarmuka login
Gambar III-12 Antarmuka tambah/edit data buku
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 Modul Keterangan
1 Pengguna/Pembaca Orang yang menggunakan sistem
2 Admin Orang yang mengelola data dan fakta buku
3 Aplikasi web Antarmuka bagi pengguna untuk mengakses sistem 4 Aplikasi web admin Antarmuka bagi pengguna untuk mengakses sistem 5 Basis data Tempat penyimpanan data buku
6 CLIPS Mesin inferensi
7 Basis pengetahuan Tempat menyimpan pengetahuan 8 Fakta sementara/hasil Pengetahuan dari hasil inferensi 9 Pengetahuan dasar pakar Pengetahuan dasar dari pakar 10 Fakta buku Pengetahuan berupa fakta buku
11 WebCLIPS Antarmuka aplikasi web dengan sistem pakar 12 Pengelolaan fakta buku Modul untuk mengelola fakta buku
13 Perekayasa pengetahuan Orang yang mengakuisisi pengetahuan dari pakar dan memasukkannya ke basis pengetahuan
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.