IMPLEMENTASI ALGORITMA SYMSPELL DAN BAYESIAN NETWORK DALAM PENGEMBANGAN SISTEM SPELL
CHECKER BAHASA INDONESIA
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)
Alvin Valenciano 00000019893
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG 2021
ii
LEMBAR PENGESAHAN
IMPLEMENTASI ALGORITMA SYMSPELL DAN BAYESIAN NETWORK DALAM PENGEMBANGAN SISTEM SPELL CHECKER
BAHASA INDONESIA
Oleh
Nama : Alvin Valenciano
NIM : 00000019893
Program Studi : Informatika
Fakultas : Teknik dan Informatika
Tangerang, 22 Juni 2021
Ketua Sidang Dosen Penguji
Moeljono Widjaja, B.Sc., M.Sc., Ph.D. Marlinda Vasty Overbeek, S.Kom., M.Kom.
Dosen Pembimbing I Dosen Pembimbing II
Julio Christian Young, S.Kom., M.Kom. Alethea Suryadibrata, S.Kom., M.Eng.
Mengetahui,
Ketua Program Studi Informatika
Marlinda Vasty Overbeek, S.Kom., M.Kom.
Digitally signed by Marlinda Vasty Overbeek Date: 2021.06.25 16:03:09 +07'00'
iii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT
Dengan ini saya:
Nama : Alvin Valenciano
NIM : 00000019893
Program Studi : Informatika
Fakultas : Teknik dan Informatika
menyatakan bahwa Skripsi yang berjudul “Implementasi Algoritma Symspell dan Bayesian Network dalam Pengembangan Sistem Spell Checker Bahasa Indonesia” ini adalah karya ilmiah saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.
Jika di kemudian hari terbukti ditemukan kecurangan / penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.
Tangerang, 30 Mei 2021
Alvin Valenciano
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:
Nama : Alvin Valenciano
NIM : 00000019893
Program Studi : Informatika
Fakultas : Teknik dan Informatika Jenis Karya : Skripsi
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non- exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Implementasi Algoritma Symspell dan Bayesian Network dalam Pengembangan Sistem Spell Checker Bahasa Indonesia beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.
Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.
v Tangerang, 30 Mei 2021
Alvin Valenciano
vi
HALAMAN PERSEMBAHAN
Legends Never Die
They Respawn
vii
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas segala kasih, karunia dan rahmat-Nya, sehingga penulis dapat menyelesaikan Skripsi dengan baik dan tepat waktu.
Penulis juga mengucapkan terima kasih kepada:
1. Bapak Dr. Ninok Leksono selaku Rektor Universitas Multimedia Nusantara, 2. Bapak Dr. Eng. Niki Prastomo, S.T., M.Sc. selaku Dekan Fakultas Teknik dan
Informatika Universitas Multimedia Nusantara,
3. Ibu Marlinda Vasty Overbeek, S.Kom., M.Kom. selaku Kepala Program Studi Informatika Universitas Multimedia Nusantara,
4. Bapak Julio Christian Young, S.Kom., M.Kom., yang telah membimbing penulis dan memberikan saran selama pembuatan Skripsi, serta mengajar penulis tata cara menulis karya ilmiah dengan benar,
5. Ibu Alethea Suryadibrata, S.Kom., M.Eng., yang juga telah membimbing penulis dan memberikan saran selama pembuatan Skripsi,
6. Orang tua penulis atas segala dukungan dan bantuan yang diberikan selama pengerjaan Skripsi,
7. Teman-teman penulis yang sejak pertama kuliah hingga sekarang yang juga sama-sama berjuang menyelesaikan studi tingkat sarjana,
8. Semua pihak lain yang tidak dapat disebutkan satu per satu namanya yang telah tulus dan ikhlas memberikan doa dan dukungan hingga akhirnya penyusunan laporan Skripsi ini dapat diselesaikan dengan baik.
viii
Semoga Skripsi ini dapat bermanfaat sebagai sumber informasi dan inspirasi bagi pembaca.
Tangerang, 30 Mei 2021
Alvin Valenciano
ix
IMPLEMENTASI ALGORITMA SYMSPELL DAN BAYESIAN NETWORK DALAM PENGEMBANGAN SISTEM SPELL
CHECKER BAHASA INDONESIA
ABSTRAK
Perkembangan teknologi yang pesat memungkinkan berita dan buku elektronik yang diunggah pada situs di internet untuk diakses dan dibaca oleh umum. Tulisan yang diketik pada berita dan buku elektronik tersebut merupakan hasil ketikan manusia yang tidak luput dari kesalahan penulisan kata atau typo. Penelitian ini dilakukan dengan tujuan untuk meminimalisir kesalahan penulisan kata pada suatu tulisan. Hasil dari penelitian ini ialah sistem pendeteksi dan pengoreksi kesalahan penulisan kata bahasa Indonesia yang dibuat dalam bentuk aplikasi desktop.
Algoritma yang digunakan antara lain, algoritma Symspell untuk menghasilkan daftar kandidat kata pengganti untuk setiap kata typo yang terdeteksi oleh sistem dan Bayesian network untuk menyeleksi kata pengganti yang tepat berdasarkan frekuensi pasangan dua kata (bigram) yang telah dikumpulkan pada korpus. Sistem spell checker diuji pada tiga tipe typo (deletion, substitution, dan transposition) dengan variasi parameter kedalaman pencarian algoritma Symspell (depth search) dan jumlah daftar kata pengganti (suggestions limit). Kombinasi parameter terbaik didapat dengan nilai parameter depth search sebesar satu (1) dan nilai parameter suggestions limit sebesar sepuluh (10) menghasilkan rata-rata akurasi deteksi sebesar 96,3020% dan rata-rata akurasi koreksi sebesar 82,7056%.
Kata Kunci: Bayesian Network, Dynamic Programming, String Matching, Symspell, Typography
x
IMPLEMENTATION OF SYMSPELL AND BAYESIAN NETWORK ALGORITHM FOR DEVELOPING INDONESIAN
SPELL CHECKER SYSTEM
ABSTRACT
Rapid development of technology allows news and electronic books uploaded to sites on the internet to be accessed and read by people. Writings typed in the news and electronic books are the result of human typing which is not free from mistyped words or typos. This research is conducted with purpose of minimizing mistyped words in those writings. The result of this research is a desktop application which can detect and correct mistyped Indonesian words. Algorithms used in this research consists of Symspell algorithm which is used for generating list of candidate words for each typo word detected by system and Bayesian network algorithm which is used for selecting the right candidate word among the previous list based on frequencies of two-word pairs (bigram) that have been collected in the form of corpus. Spell checker system is tested on three types of typos (deletion, substitution, and transposition) with variations of Symspell’s depth search parameter and number of suggestions limit. The best combination of tested parameters is obtained with depth search parameter value of one (1) and suggestions limit parameter value of ten (10) resulting in an average detection accuracy of 96,3020% and average correction accuracy of 82,7056%.
Keywords: Bayesian Network, Dynamic Programming, String Matching, Symspell, Typography
xi DAFTAR ISI
HALAMAN JUDUL ... i
LEMBAR PENGESAHAN ... ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... iv
HALAMAN PERSEMBAHAN ... vi
KATA PENGANTAR ... vii
ABSTRAK ... ix
ABSTRACT ... x
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xiv
DAFTAR LAMPIRAN ... xv
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 5
1.3 Batasan Masalah ... 5
1.4 Tujuan Penelitian ... 7
1.5 Manfaat Penelitian ... 7
1.6 Sistematika Penulisan ... 8
BAB 2 LANDASAN TEORI ... 10
2.1 Typographical Error ... 10
2.2 Algoritma Symspell ... 10
2.3 Bayesian Network ... 12
2.4 Optimisasi Dynamic Programming ... 13
BAB 3 METODOLOGI PENELITIAN DAN PERANCANGAN SISTEM ... 17
3.1 Metodologi Penelitian ... 17
3.2 Perancangan Korpus ... 20
3.3 Perancangan Sistem ... 21
3.3.1 Flowchart Utama ... 21
3.3.2 Flowchart Preprocess Corpus ... 22
3.3.3 Flowchart Check and Correct Text ... 24
3.3.4 Flowchart Generate Typo ... 26
3.4 Perancangan Antarmuka Pengguna ... 27
BAB 4 HASIL DAN DISKUSI ... 29
4.1 Implementasi Sistem Spell Checker ... 29
4.1.1 Implementasi Preprocess Corpus ... 30
4.1.2 Implementasi Check and Correct Text ... 31
4.1.3 Implementasi Generate Typo ... 35
4.2 Hasil Eksperimen ... 38
4.2.1 Data Uji Coba ... 40
4.2.2 Hasil Eksperimen Deletion Typo ... 41
4.2.3 Hasil Eksperimen Substitution Typo ... 43
4.2.4 Hasil Eksperimen Transposition Typo ... 45
4.3 Evaluasi Hasil Eksperimen ... 47
xii
BAB 5 SIMPULAN DAN SARAN ... 50
5.1 Simpulan ... 50
5.2 Saran ... 51
DAFTAR PUSTAKA ... 52
DAFTAR LAMPIRAN ... 54
xiii
DAFTAR GAMBAR
Gambar 3.1 Flowchart prosedur penelitian ... 19
Gambar 3.2 Flowchart utama sistem spell checker ... 21
Gambar 3.3 Flowchart preprocess corpus ... 22
Gambar 3.4 Flowchart pengumpulan data ... 23
Gambar 3.5 Flowchart check and correct text ... 24
Gambar 3.6 Flowchart generate typo ... 26
Gambar 4.1 Halaman utama sistem spell checker ... 29
Gambar 4.2 Implementasi algoritma symspell ... 30
Gambar 4.3 Tampilan antarmuka fitur check and correct text ... 31
Gambar 4.4 Implementasi generate suggestion word list ... 32
Gambar 4.5 Tampilan antarmuka konfigurasi parameter ... 33
Gambar 4.6 Implementasi rumus probabilitas dua kata ... 34
Gambar 4.7 Implementasi Bayesian network dan dynamic programming ... 34
Gambar 4.8 Implementasi konstruksi kalimat terbaik ... 35
Gambar 4.9 Tampilan antarmuka fitur generate typo ... 36
Gambar 4.10 Tampilan antarmuka pengaturan tipe typo ... 36
Gambar 4.11 Implementasi generate typo (Bagian 1) ... 37
Gambar 4.12 Implementasi generate typo (Bagian 2) ... 38
Gambar 4.13 Implementasi generate typo (Bagian 3) ... 38
Gambar 4.14 Gambar word clouds 30 kata yang paling sering dikoreksi ... 49
xiv
DAFTAR TABEL
Tabel 2.1 Hasil pendekatan algoritma Symspell ... 11
Tabel 4.1 Tabel jumlah kata typo pada data uji coba ... 41
Tabel 4.2 Tabel rata-rata akurasi deteksi deletion typo ... 41
Tabel 4.3 Tabel rata-rata akurasi koreksi deletion typo ... 42
Tabel 4.4 Tabel rata-rata akurasi deteksi substitution typo ... 43
Tabel 4.5 Tabel rata-rata akurasi koreksi substitution typo ... 44
Tabel 4.6 Tabel rata-rata akurasi deteksi transposition typo ... 45
Tabel 4.7 Tabel rata-rata akurasi koreksi transposition typo ... 46
Tabel 4.8 Tabel umum rata-rata akurasi deteksi ... 47
Tabel 4.9 Tabel umum rata-rata akurasi koreksi ... 48
xv
DAFTAR LAMPIRAN
Lampiran 1. Formulir Bimbingan Skripsi (Dosen Pembimbing I) ... 54 Lampiran 2. Formulir Bimbingan Skripsi (Dosen Pembimbing II) ... 55 Lampiran 3. Gambar summary report pengecekan Turnitin ... 56