BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Pada bagian implementasi ini akan diuraikan tentang lingkungan implementasi, hasil implementasi basis pengetahuan, dan hasil implementasi aplikasi web. 4.1.1 Lingkungan Implementasi Sistem pakar ini dibangun pada lingkungan Notebook (Laptop) dengan spesifikasi : a. Prosessor : Intel Pentium M 1.7GHz b. Memori : 1 GB DDR2 c. Harddisk : 80 GB Lingkungan pengembangan tersebut memiliki spesifikasi perangkat lunak sebagai berikut : a. Sistem operasi : Windows XP SP2 b. XAMPP 1.6 c. MySQL 5.0.33 d. WebCLIPS e. Notepad++ f. Mozilla Firefox 4.1.2 Hasil Implementasi Basis Pengetahuan Berdasarkan subbab 2.3, basis pengetahuan diimplementasikan ke dalam file book.clp. Simpul pada PET didefinisikan sebagai sebuah template yaitu : (deftemplate simpul (slot nama) ;nama simpul (slot tipe) ; tipe simpul (slot paham-simpul) ; simpul jika jawabannya paham (slot belum-paham-simpul) ; simpul jika jawabannya belum paham (slot tidak-simpul) ; simpul jika jawabannya tidak (multislot jawaban) ; jawaban berupa tingkat pemahaman ) 1
IV-2 Contoh fakta simpul : Gambar IV-1 Bagian dari PET shalat (simpul (nama shalat) (tipe keputusan) (paham-simpul s01) (belum-paham-simpul s02) (tidak-simpul s03)) (simpul (nama s01) (tipe keputusan) (paham-simpul s04) (belum-paham-simpul s06) (tidak-simpul s05)) (simpul (nama s02) (tipe keputusan) (paham-simpul s06) (tidak-simpul s07)) (simpul (nama s03) (tipe daun) (jawaban awam 99% pemula 1% lanjutan 0%)) Terdapat 2 template tambahan yaitu : a. Buku b. Kelas (deftemplate buku (slot kode) ; kode buku (slot prioritas) ; subtopik prioritas (multislot kelas) ; kelas buku ) (deftemplate kelas (multislot nama) ; nama kelas buku (slot prioritas) ; prioritas untuk pengurutan hasil buku ) Selain itu terdapat sejumlah definisi rule yang merupakan implementasi dari PET dan yang menghasilkan buku yang akan disarankan ke pengguna. Conflict resolution yang digunakan adalah depth strategy, yang merupakan conflict resolution default CLIPS. Secara umum, definisi rule sebagai berikut : a. Inisialisasi Definisi rule ini berguna ketika pertama kali menjalankan file book.clp dengan melakukan aksi-aksi sebagai berikut :
IV-3 1. Meload file buku.dat yang berisikan fakta-fakta buku (lihat lampiran C) 2. Menghapus fakta topik yang dipilih pengguna 3. Menghasilkan fakta simpul-kini berupa akar dari PET 4. Mencetak kode akar dari PET b. Proses jawaban Definisi rule ini terdiri dari 3 jenis yaitu : 1. Proses-jawaban-paham : memproses jawaban paham dari pengguna 2. Proses-jawaban-belum-paham : memproses jawaban belum paham dari pengguna 3. Proses-jawaban-tidak : memproses jawaban tidak dari pengguna Dalam definisi rule ini akan dilakukan aksi-aksi sebagai berikut : 1. Menghapus fakta jawaban dari pengguna dan fakta simpul sebelumnya 2. Menghasilkan fakta simpul-kini berupa simpul selanjutnya dari PET yang sesuai dengan jawaban pengguna 3. Mencetak kode simpul-kini c. Tingkat pemahaman Pada definisi rule ini digunakan untuk menghasilkan tingkat pemahaman pengguna ketika proses jawaban pengguna telah mencapai simpul daun. Aksi-aksi pada definisi rule ini yaitu : 1. Menghapus fakta simpul daun 2. Menghasilkan fakta tingkat pemahaman 3. Mencetak tingkat pemahaman d. Kelas buku Definisi rule ini berguna ketika telah terdapat fakta tingkat pemahaman, fakta tingkat kebutuhan, dan fakta prioritas. Aksi-aksi yang dilakukan adalah : 1. Menghapus fakta tingkat pemahaman, fakta tingkat kebutuhan, dan fakta prioritas 2. Menghasilkan fakta kelas buku beserta prioritas subtopik buku yang akan disarankan kepada pengguna e. Pilih buku Definisi rule ini terdiri dari 2 jenis yaitu : 1. Pilih-buku-prioritas : untuk menghasilkan buku yang diprioritaskan
IV-4 2. Pilih-buku : untuk menghasilkan buku selain prioritas dan merupakan anggota dari kelas buku yang dihasilkan Aksi-aksi yang dilakukan adalah : 1. Menghapus fakta buku yang disarankan 2. Mencetak kode buku yang disarankan Untuk implementasi definisi rule dalam CLIPS dapat dilihat pada lampiran C. 4.1.3 Hasil Implementasi Aplikasi Web Aplikasi web dibangun dengan menggunakan bahasa PHP. Hasil implementasi tersebut dapat dilihat pada tabel IV-1. Tabel IV-1 Hasil implementasi aplikasi web No Nama file Keterangan Folder :../udrux 1 index.php Halaman utama aplikasi web 2 functions.php Kumpulan fungsi untuk halaman utama 3 login.php Pemrosesan login 4 logout.php Pemrosesan logout 5 blank.htm Halaman inisialisasi screen WebCLIPS Folder :../udrux/admin 6 index.php Halaman utama admin 7 admfunctions.php Kumpulan fungsi untuk halaman utama admin Folder :../udrux/configuration 8 config.php Konfigurasi basis data Folder :../udrux/engines 9 dbconnector.php Koneksi dan akses ke basis data Folder :../udrux/javascripts 10 jsudrux.js Kumpulan fungsi javascript Folder :../udrux/style 11 style.css Kumpulan fungsi CSS Folder :../udrux/admin/configuration 12 config.php Konfigurasi basis data untuk admin Folder :../udrux/admin/engines 13 dbconnector.php Koneksi dan akses ke basis data untuk admin
IV-5 Skema navigasi pada aplikasi web sebagai berikut : a. Home login pilih topik b. Pilih topik home pertanyaan tingkat pemahaman c. Pertanyaan tingkat pemahaman pilihan subtopik d. Pilihan subtopik solusi buku prioritas e. Solusi buku prioritas pilih topik solusi buku alternatif f. Login home daftar buku g. Daftar buku logout cari tambah buku edit buku hapus buku h. Cari logout daftar buku edit buku hapus buku i. Tambah buku konfirmasi berhasil daftar buku j. Edit buku konfirmasi berhasil
IV-6 daftar buku / cari k. Konfirmasi berhasil daftar buku / cari Proses pengiriman fakta dari halaman web ke WebCLIPS (CLIPS) menggunakan teknologi AJAX (Asynchronous JavaScript and XML). Fakta berupa jawaban pengguna dikirim ke webclips.exe, kemudian AJAX menangkap teks yang dicetak oleh CLIPS. Teks tersebut akan diproses oleh halaman PHP untuk menampilkan pertanyaan selanjutnya atau solusi (buku yang disarankan). Proses memasukkan fakta buku dilakukan dengan cara membangkitkan kode buku secara automatis, kelas buku dan prioritas dimasukkan oleh admin. Kemudian, sistem akan memasukkan fakta buku ke dalam file fakta buku (buku.dat). Fakta-fakta buku dapat dilihat pada lampiran C. Hasil implementasi antarmuka dapat dilihat pada lampiran D. Gambar IV-1 dan gambar IV-2 memperlihatkan halaman utama untuk pengguna dan admin yang dibuka pada web browser Mozilla Firefox. Gambar IV-2 Hasil implementasi antarmuka home
IV-7 Gambar IV-3 Hasil implementasi antarmuka admin 4.2 Pengujian 4.2.1 Tujuan dan Skenario Pengujian Tujuan pengujian adalah untuk mengetahui sejauh mana sistem pakar berbasis web telah benar dan lengkap dengan membandingkannya pada kebutuhan dan spesifikasi. Terdapat 2 jenis skenario pengujian yang secara umum sebagai berikut : a. Pengguna Langkah-langkah yang dilakukan dalam skenario pengujian ini adalah : 1. Sistem menampilkan pilihan topik 2. Pengguna memilih topik yang diinginkan 3. Sistem menampilkan sejumlah pertanyaan 4. Pengguna menjawab pertanyaan yang disediakan 5. Sistem menampilkan data buku yang disarankan 6. Pengguna dapat memilih buku alternatif lain b. Admin Langkah-langkah yang dilakukan dalam skenario pengujian ini adalah : 1. Sistem menampilkan pilihan topik untuk menampilkan data buku untuk topik yang dipilih 2. Admin memilih topik yang diinginkan datanya untuk ditampilkan 3. Sistem menampilkan data buku dari topik yang diinginkan
IV-8 4. Admin dapat memilih untuk melakukan tambah, edit, hapus, dan cari data buku tertentu Selain itu, dilakukan juga pengujian terhadap skema navigasi aplikasi web. Untuk mengategorikan hasil pengujian, digunakan definisi hasil pengujian sebagai berikut : Tabel IV-2 Kategori hasil pengujian Hasil Pengujian Keterangan 0 Sukses dengan sempurna 1 Sukses tapi masih perlu perbaikan 2 Gagal 3 Belum dibuat/belum diuji 4 Baru sukses sebagian Pada pengerjaan tugas akhir ini hanya dilakukan pengujian terhadap topik Shalat. Langkah-langkah detil skenario pengujian dapat dilihat pada lampiran E. 4.2.2 Hasil Pengujian Berdasarkan hasil pengujian pada lampiran E, dapat diringkas sebagai berikut : a. Semua skenario yang didefinisikan telah dilaksanakan dengan baik b. Proses penentuan tingkat pemahaman sesuai dengan PET yang didefinisikan c. Buku yang disarankan berhasil diurutkan sesuai dengan pilihan prioritas d. Semua fitur pada admin berhasil diuji e. Sebagian besar skema navigasi berjalan dengan baik