AGEN PEMANDU TANYA JAWAB BERBAHASA INDONESIA BERBASIS WIKIPEDIA MENGGUNAKAN TEMU KEMBALI INFORMASI TUGAS AKHIR Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : IMAM FAUZI NIM : 08560302 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013 i
LEMBAR PERSETUJUAN AGEN PEMANDU TANYA JAWAB BERBAHASA INDONESIA BERBASIS WIKIPEDIA MENGGUNAKAN TEMU KEMBALI INFORMASI TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Mengetahui/ menyetujui, Pembimbing I Pembimbing II Ir. Lailis Syafa at, MT NIP. 10890090189 Nur Hayatin, S. ST NIP. 10809070476 ii
LEMBAR PENGESAHAN AGEN PEMANDU TANYA JAWAB BERBAHASA INDONESIA BERBASIS WIKIPEDIA MENGGUNAKAN TEMU KEMBALI INFORMASI TUGAS AKHIR Tugas Akhir ini telah diuji dan dinyatakan lulus oleh tim penguji pada tanggal 30 Januari 2012 Mengetahui/ menyetujui, Penguji I Penguji II Gita Indah Marthasari, ST Evi Dwi W, S.Kom Mengetahui Kepala Jurusan Teknik Informatika (Eko Budi Cahyono, S.Kom, MT) iii
LEMBAR PERNYATAAN KEASLIAN Yang bertanda tangan di bawah ini: Nama : Imam Fauzi Tempat/Tgl Lahir : Lumajang/ 26 Juni 1989 Nim : 08560302 Fak/Jurusan : teknik/ Teknik Informatika Dengan ini saya menyatakan bahwa Tugas Akhir degan judul AGEN PEMANDU TANYA JAWAB BERBAHASA INDONESIA BERBASIS WIKIPEDIA MENGGUNAKAN TEMU KEMBALI INFORMASI beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun keseluruhan, kecuali dalam betuk kutipan yang telah disebutkan sumbernya Demikian surat pernyataan ini saya buat sebenar- benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yan berlaku. Malang, Januari 2013 Yang membuat pernyataan Imam Fauzi Mengetahui/ menyetujui, Dosen Pembimbing I Dosen Pembimbing II Ir. Lailis Syafa at, MT Nur Hayatin, S. ST iv
KATA PENGANTAR Dengan mengucap puji syukur kehadirat Allah SWT atas segala rahmat serta hidayahnya sehingga laporan tugas akhir dengan judul : Agen Pemandu Tanya Jawab Berbahasa Indonesia Berbasis Wikipedi Menggunakan Temu Kembali Informasi dapat penulis selesaikan. Dengan sadar saya menyatakan bahwa tugas akhir ini tidak dapat terselesaikan dengan baik tanpa adanya bantuan dan bimbingan dari para dosen pembimbing, motivasi, dukungan dan doa dari orang tua dan teman- teman. Oleh karena itu, pada kesempatan ini saya selaku penulis ingin mengucapkan rasa terima kasih kepada : 1. Ayah dan Ibu tercinta beserta seluruh keluarga yang tidak pernah bosan memberikan semangat, dukungan dan doa yang tidak ternilai harganya. 2. Ibu Ir. Lailis Syafa at, MT. Selaku Dosen Pembimbing I, Ibu Nur Haytin, S. ST selaku Dosen Pembimbing II, yang telah meluangkan waktu dalam memberikan bimbingan maupun pengarahan dalam pencapaian hasil yang maksimal pada penelitian tugas akhir ini. 3. Seluruh Dosen Jurusan Teknik Informatika. 4. Maghfirotun Nisa yang selalu memberikan semangat, senyum dan doa dalam penyelesaian tugas akhir ini. 5. Tim Futsal Pepak Java: inod, alan, mul, gimbul, torik, mirza, juli dkk. 6. Akh Mirza Alif Syahrial yang telah banyak membantu dalam penyelesaian tugas akhir ini. 7. Staff BAA dan teman-teman parttime yang selalu memberikan dukungan : Arsy Rahma Yuanita, Imam Suyuti, Siti Zulaikha, bu Heni, bu rahma, bu Laily, pak Ir, pak Ari, pak Ghofur, mas Iwan, mas Kusno, pak Imam, pak Wahid dkk yang selalu memberikan dukungan penuh. 8. Teman-teman kost wisma 259 yang selalu menemani begadang. 9. Teman-teman angkatan 2008 yang tidak dapat penulis sebutkan satu persatu. v
Saya juga menyadari dengan karya sederhana ini tentu masih jauh dari kesempurnaan. Oleh karena itu, saran dan kritik yang membangun dari berbagai pihak tentu diperlukan agar skripsi ini menjadi lebih baik. Akhir kata semoga skripsi ini bisa bermanfaat bagi yang membaca. Malang, Januari 2013 Penulis vi
DAFTAR ISI HALAMAN JUDUL... LEMBAR PERSETUJUAN... LEMBAR PENGESAHAN... LEMBAR PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... i ii iii iv v vi vii ix xii xiv BAB I BAB II PENDAHULUAN 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan Penelitian... 2 1.5 Metodologi... 2 1.6 Sistematika Penulisan... 4 LANDASAN TEORI 2.1 Aplikasi Berbasis Agen... 5 2.1.1 Sejarah da Latar Belakang Aplikasi Agen... 5 2.1.2 Definisi Aplikasi Agen... 5 2.1.3 Karakteristik dan Atribut Apliaksi Agen... 6 2.2 Pengertian Sistem Temu Kembali Informasi... 7 2.2.1 Efektifitas Temu Kembali Informasi... 7 2.2.2 Komponen Sistem Temu Balik Informasi... 8 2.2.3 Teks Bebas... 10 2.2.4 Parsing dan Stemming... 11 2.2.4.1 Confix Stripping Stemmer... 12 2.2.4.2 Enhanced Confix Stripping Stemmer... 12 vii
2.3 Pengertian Web Crawler... 12 2.3.1 Dasar Web Crawler... 12 2.3.2 Implemntasi Crawling... 14 2.4 Pengenalan DBMS dan MySQL... 15 2.4.1 Pengertian DBMS... 15 2.4.2 Pengertian MySQL... 16 2.4.3 Pengenalan Structured Query Language... 17 BAB III ANALISA DAN PERANCANGAN 3.1 Perancangan Alur Sistem... 19 3.1.1 Parsing dan Stemming... 20 3.1.1.1 Parsing... 20 3.1.1.2 Stop List... 20 3.1.1.3 Stemming... 20 3.1.2 Database relasional... 25 3.2 Perancangan Kebutuhan Sistem... 27 3.2.1 Entity Relationship Diagram (ERD)... 27 3.2.2 Use Case... 28 3.3 Perancangan Tahap Analisa... 28 3.3.1 Activity Diagram... 28 3.3.2 Sequence Diagram... 29 3.4 Perancangan Tahap Desain... 30 3.4.1 Class Diagram... 30 3.5 Desain Interface... 31 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem... 33 4.1.1 Implementasi proses Parsing dan Stemming... 33 4.1.1.1 Implementasi Penghilangan Karakter Tanda Baca... 33 4.1.1.2 Implementasi Penghilangan Stopword... 34 4.1.1.3 Stemming Enhanced Confix Stripping... 35 ` 4.1.2 Implementasi Crawling... 38 4.1.3 Implementasi Pembuatan Basis Pengetahuan... 39 4.1.4 Implementasi Mencari Jawaban... 40 viii
4.1.5 Database Relasional (RDB)... 42 4.2 Pengujian sistem dan analisa... 44 4.2.1 Pengujian Fungsionalitas... 44 4.2.1.1 Halaman Menu Admin... 44 4.2.1.2 Halaman Pengguna... 45 4.2.2 Pengujian sistem... 46 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan... 53 5.2 Saran... 54 DAFTAR PUSTAKA LAMPIRAN ix
DAFTAR GAMBAR Gambar 2.1 Diagram pembangkitan basis pengetahuan dari teks bebas... 10 Gambar 2.2 Implementasi Crawling... 14 Gambar 3.1 Flowchart Pembuatan Basis Pengetahuan... 19 Gambar 3.2 Entity Relationship Diagram... 27 Gambar 3.3 Use ase Pengguna... 28 Gambar 3.4 Activity Diagram Pengguna... 29 Gambar 3.5 Sequence Diagram Lihat Jawaban... 30 Gambar 3.6 Class Diagram... 31 Gambar 3.7 Desain Interface Pengguna... 31 Gambar 3.8 Form Login Admin... 32 Gambar 3.9 Form Admin... 32 Gambar 4.1 Proses Penghilangan Karakter Tanda Baca... 33 Gambar 4.2 Teks Yang Mengandung Tanda Baca... 33 Gambar 4.3 Hasil Stemming Penghilangan Karakter Tanda Baca... 33 Gambar 4.4 Proses Penghilangan Stopword... 34 Gambar 4.5 Kalimat yang mengandung kata stoplist... 34 Gambar 4.6 Hasil Semming Penghilangan Kata Stoplist... 34 Gambar 4.7 Proses stemming... 35 Gambar 4.8 Proses Cek Kata Dasar... 35 Gambar 4.9 Proses Del_Inflection_Suffixe... 36 Gambar 4.10 Kata berimbuhan -nya... 36 Gambar 4.11 Hasil Stemming Penghapusan Imbuhan nya... 36 Gambar 4.12 Proses Del_Derivation_Suffixes... 36 Gambar 4.13 Kata Berimbuhan i... 37 Gambar 4.14 Hasil Stemming Penghapusan Imbuhan i... 37 Gambar 4.15 Proses Del_Derivation_Prefixes... 37 Gambar 4.16 Kata Berawalan di... 37 Gambar 4.17 Hasil Stemming Penghapusan Awalan di... 37 Gambar 4.18 Proses Crawling... 38 x
Gambar 4.19 GetContent... 38 Gambar 4.20 Content Wikipedia... 39 Gambar 4.21 Method Penyimpanan Pengetahuan... 39 Gambar 4.22 Mencari Relasi Kata... 40 Gambar 4.23 Insert Pengetahuan... 40 Gambar 4.24 Basis Data Pengetahuan... 40 Gambar 4.25 Pencarian Relasi Kata Tanya... 41 Gambar 4.26 Pencarian Sinonim Kata Tanya... 41 Gambar 4.27 Relasi Dari Kata Tanya... 41 Gambar 4.28 Diagram Relasi... 41 Gambar 4.29 Mencari Jawaban... 42 Gambar 4.30 Menu Admin... 44 Gambar 4.31 halaman Tambah Pengetahuan... 45 Gambar 4.32 Form Pengguna... 46 Gambar 4.33 Alert... 46 Gambar 4.34 Form Jawaban... 46 xi
DAFTAR TABEL Tabel 2.1 Tipe Data Pada MySQL... 16 Tabel 3.1 Kombinasi Imbuhan Terlarang... 22 Tabel 3.2 Aturan Pemenggalan Awalan... 23 Tabel 3.3 Revisi Tabel... 24 Tabel 3.4 Tabel Admin... 25 Tabel 3.5 Tabel Stoplist... 25 Tabel 3.6 Tabel Kata Dasar... 25 Tabel 3.7 Tabel Pengetahuan... 26 Tabel 3.8 Tabel Sinonim... 26 Tabel 3.9 Tabel Kata Tanya... 27 Tabel 4.1 Tabel Pengetahuan... 42 Tabel 4.2 Tabel Sinonim... 43 Tabel 4.3 Tabel Relasi... 43 Tabel 4.4 Tabel Kata tanya... 43 Tabel 4.5 Tabel Stoplist... 44 Tabel 4.6 Tabel Pengujian Menu... 44 Tabel 4.7 Tabel Pengetahuan... 45 Tabel 4.8 Tabel Pengujian Sistem... 47 xii