KLASIFIKASI TEKS SURAT KABAR DENGAN MENGGUNAKAN ALGORITMA N-GRAM STEMMERS TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Oleh: KHOZINATUL ASRUL NIM. 09560387 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2012/2013
LEMBAR PERSETUJUAN KLASIFIKASI TEKS SURAT KABAR DENGAN MENGGUNAKAN ALGORITMA N-GRAM STEMMERS TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata1 Teknik Informatika Universitas Muhammadiyah Malang Menyetujui, Pembimbing I Pembimbing II EKO BUDI CAHYONO S.Kom, M.T. NIP. 10895040330 AGUS EKO MINARNO, S.Kom NIDN. 0729048801
LEMBAR PENGESAHAN KLASIFIKASI TEKS SURAT KABAR DENGAN MENGGUNAKAN ALGORITMA N-GRAM STEMMERS TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh: KHOZINATUL ASRUL NIM. 09560397 Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal Oktober 2013 Penguji I Menyetujui, Penguji II ZAMAH SARI, S.T., M.T. NIDN. 0708087701 DHEBYS SURYANI, S.Kom., M.T. NIDN. 0706118303 Mengetahui, Ketua Jurusan Teknik Informatika EKO BUDI CAHYONO, S.Kom., M.T. NIP. 10895040330
LEMBAR PERNYATAAN KEASLIAN Yang bertanda tangan dibawah ini: NAMA : KHOZINATUL ASRUL NIM : 09560387 FAK. / JUR. : TEKNIK / INFORMATIKA Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul KLASIFIKASI TEKS SURAT KABAR DENGAN MENGGUNAKAN ALGORITMA N- GRAM STEMMERS beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya. Demikian surat pernyataan ini saya buat dengan 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 yang berlaku. Malang, 10 Oktober 2013 Yang Membuat Pernyataan KHOZINATUL ASRUL Mengetahui, Pembimbing I Pembimbing II EKO BUDI CAHYONO S.Kom, M.T. NIP. 10895040330 AGUS EKO MINARNO, S.Kom NIDN. 0729048801
KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah SWT. Atas limpahan rahmat dan hidayah-nya sehingga peneliti dapat mneyelesaikan tugas akhir yang berjudul : KLASIFIKASI TEKS SURAT KABAR DENGAN MENGGUNAKAN ALGORITMA N-GRAM STEMMERS Di dalam tulisan ini disajikan pokok pokok bahasan yang meliputi latar belakang penelitian, landasan teori penelitian, analisa dan perancangan aplikasi, implementasi dan pengujian aplikasi, kesimpulan dan saran serta daftar pustaka. Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan kedepan. Malang, 10 Oktober 2013 Khozinatul Asrul
DAFTAR ISI LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERNYATAAN ABSTRAK... i ABSTRACT... ii LEMBAR PERSEMBAHAN... iii KATA PENGANTAR... iv DAFTAR ISI... v DAFTAR GAMBAR... ix DAFTAR TABEL... xii BAB I PENDAHULUAN... 1 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 2 1.3. Tujuan... 2 1.4. Batasan Masalah... 2 1.5. Metodologi... 3 1.5.1. Pengumpulan Data... 3 1.5.2. Analisa Data... 3 1.5.3. Implementasi... 3 1.5.4. Uji Coba dan Evaluasi... 4 1.5.5. Penyusunan Laporan Tugas Akhir... 4 1.6. Sistematika Penulisan... 4 BAB II LANDASAN TEORI... 6 2.1. Deteksi Bahasa untuk Dokumen Berbahasa Indonesia... 6
2.2. Kategorisasi Teks Menggunakan N-gram untuk Dokumen Berbahasa Indonesia... 7 2.3. Klusterisasi Dokumen Berita Berbahasa Indonesia Menggunakan Document Index Graph.... 7 2.4. Klusterisasi untuk Peningkatan Efektivitas Penyajian Informasi dari Mesin Pencari Text.... 8 2.5. Pemanfaatan Analisis Kluster pada Sistem Temu Kembali Informasi Berbasis Internet.... 9 2.7. Klasifikasi Teks.... 10 2.8. Text Mining.... 12 2.9. Analisis Struktur Dokumen.... 12 2.10. Klasifikasi Dokumen.... 13 2.11. N-gram.... 13 2.12. Tokenisasi.... 14 2.13. Stemming.... 14 2.14. Stop Word.... 15 2.15. Dice Similarity.... 15 2.16. Recall, Precision dan F-measure... 15 BAB III ANALISA DAN PERANCANGAN SISTEM... 18 3.1. Analisis... 18 3.1.1. Analisa Kebutuhan... 18 3.1.1.1. Preprocessing... 18 3.1.1.2. Processing... 21 3.1.1.3. Klasifikasi... 23 3.2. Perancangan... 23 3.2.1. Perancangan Database... 23 3.2.1.1. Tabel Dokumen... 2 4 3.2.1.2. Tabel Klasifikasi... 24 3.2.1.3. Tabel Abaikan Char... 24 3.2.1.4. Tabel Kata Dasar... 25
3.2.1.5. Tabel Stop Word... 25 3.2.2. Use case... 25 3.2.3. Sequence Diagram... 26 3.2.3.1. Sequence Diagram Konversi... 27 3.2.3.2. Sequence Diagram Input data... 27 3.2.3.3. Sequence Diagram Pengklasifikasian... 28 3.2.5. Activity Diagram... 28 3.2.5.1. Activity Diagram Konversi... 29 3.2.5.2. Activity Diagram Input Data... 29 3.2.5.3. Activity Diagram Klasifikasi... 30 3.2.5. Class Diagram... 31 3.2.6. Perancangan User Interface... 32 3.2.6.1. User Interface Konversi... 32 3.2.6.2. User Interface Input Data... 32 3.2.6.3. User Interface Klasifikasi... 33 BAB IV IMPLEMENTASI DAN PENGUJIAN... 34 4.1 Kebutuhan Perangkat Keras... 34 4.2 Kebutuhan Perangkat Lunak... 34 4.3 Implementasi Sistem... 34 4.3.1 Pembuatan Data Base... 35 4.3.2 Pembuatan Fungsi Koneksi ke Database... 38 4.4. Pembuatan Antarmuka... 39 4.4.1 Desain Antarmuka Konversi... 39 4.4.2 Desain Antarmuka Input Data... 42 4.4.3 Desain Antarmuka Klasifikasi... 42 4.5. Pengujian Fungsionalitas... 46 4.5.1 Pengujian memasukkan file.html... 47 4.5.2 Pengujian memasukkan file.news... 47 4.5.3 Pengujian konversi.html menjadi.news... 48 BAB V KESIMPULAN DAN SARAN... 59 5.1 Kesimpulan... 59
5.2 Saran... 59 DAFTAR PUSTAKA... 61 LAMPIRAN... 62 BIOGRAFI PENULIS... 63
DAFTAR GAMBAR Gambar 3.1. Tokenizing / Parsing... 19 Gambar 3.2. Flowchart Tokenizing... 19 Gambar 3.3. Stoplist/stopword... 20 Gambar 3.4. Flowchart Stoplist/stopword... 20 Gambar 3.5. Proses Stemming... 21 Gambar 3.6 Proses N-gram Stemming... 22 Gambar 3.7. Flowchart N-gram Stemming... 22 Gambar 3.8. Struktur Tabel dan Relasi Antar Tabel... 23 Gambar 3.9. Use Case Diagram... 26 Gambar 3.10. Sequence Diagram Konversi... 27 Gambar 3.11. Sequence Diagram Input Data... 28 Gambar 3.12. Sequence Diagram Pengklasifikasian... 28 Gambar 3.13. Activity Diagram Konversi... 29 Gambar 3.14. Activity Diagram Input Data... 30 Gambar 3.15. Activity Diagram Klasifikasi... 30 Gambar 3.16. Class Diagram... 31 Gambar 3.17. Desain Antarmuka Konversi... 32 Gambar 3.18. Desain User Interface Input Data... 32 Gambar 3.19. Desain User Interface Klasifikasi... 33 Gambar 4.1 Tabel MySQL... 35 Gambar 4.2. Query pembentukan tabel abaikan_char... 35 Gambar 4.3. Tabel abaikan_char... 36 Gambar 4.4. Query pembentukan tabel dokumen... 36
Gambar 4.5. Tabel dokumen... 36 Gambar 4.6. Query pembentukan tabel kategori... 37 Gambar 4.7. Tabel kategori... 37 Gambar 4.8. Query pembentukan tabel stopword... 37 Gambar 4.9. Tabel stopword... 37 Gambar 4.10. Query pembentukan tabel tb_katadasar... 38 Gambar 4.11. Tabel tb_katadasar... 38 Gambar 4.12. Kode Program Koneksi ke Database... 39 Gambar 4.13. Tampilan menu Konversi... 39 Gambar 4.14 Script tombol browse file.html... 40 Gambar 4.15 Script konversi.html menjadi.news... 41 Gambar 4.16 Tampilan Antarmuka Input Data... 42 Gambar 4.16 Tampilan Antarmuka Klasifikasi... 43 Gambar 4.17 Potongan Script tokenizing... 43 Gambar 4.18 Potongan Script Stoplist/Stopword... 44 Gambar 4.19 Potongan Script Stemming... 45 Gambar 4.20 Potongan Script Dice similarity... 45 Gambar 4.21 Potongan Script Proses N-gram... 46 Gambar 4.22 Pengujian menu cari file.html... 47 Gambar 4.23 Pengujian menu cari file.news... 47 Gambar 4.24 Pengujian konversi.html ke.news... 48 Gambar 4.25 Precision, Recall, F measure Bigram... 56 Gambar 4.26 Precision, Recall, F measure Trigram... 57 Gambar 4.27 Precision, Recall, F measure Quadgram... 57
Gambar 4.28 Grafik perbandingan f-measure... 58
DAFTAR TABEL Tabel 2.1 Tabel Perbandingan... 9 Tabel 3.2. Struktur Tabel Dokumen... 24 Tabel 3.3. Struktur Tabel Klasifikasi... 24 Tabel 3.4. Struktur Tabel Abaikan Char... 24 Tabel 3.5. Struktur Tabel Kata Dasar... 25 Tabel 3.6. Struktur Tabel Stop Word... 25 Tabel 3.7. Deskripsi Use Case... 26 Tabel 3.8. Deskripsi Class Diagram... 31 Tabel 4.1 Klasifikasi dokumen Bigram, Trigram dan Quadgram... 49 Tabel 4.2 Jumlah dokumen tiap kategori berdasarkan bigram... 52 Tabel 4.3 Jumlah dokumen tiap kategori berdasarkan trigram... 53 Tabel 4.3 Jumlah dokumen tiap kategori berdasarkan quadgram... 54
DAFTAR PUSTAKA Hamzah, A. (2010). Deteksi Bahasa untuk Dokumen Berbahasa Indonesia. Seminar Nasional Informatika 2010 (semnasif 2010), (pp. A5-A13). Khreisat, L. (2006). Arabic Text Classification Using N-Gram Frequency Statistics A Comparative Study. Conference on Data Mining - DMIN'06, (pp. 78-82). Manning, C. D., Raghavan, P., & Schutze, H. (2008).Introduction to Information Retrieval.Cambridge University Press, Cambridge, UK. Tala, F. Z. (2003). A study of Stemming Effects on Information Retrieval in Bahasa Indonesia. University of Amsterdam. Amsterdam: Thesis. Wibisono, Y. 2005. Klasifikasi Berita Berbahasa Indonesia menggunakan Naïve Bayes Classifier. (Online di: http:// fpmipa.upi.edu/staff/yudi/yudi_0805.pdf; diakses 29 September 2012) Yunita, V., & Herdiyeni, Y. (2010). Klasifikasi Citra Menggunakan Metode Minor Component Analysis pada Sistem Temu Kembali Citra. Jurnal Ilmiah Ilmu Komputer, 77-80.