identifikasi kesalahan penulisan kata typographical …repository.ub.ac.id/1413/1/arina indana...

101
IDENTIFIKASI KESALAHAN PENULISAN KATA (TYPOGRAPHICAL ERROR) PADA DOKUMEN BERBAHASA INDONESIA MENGGUNAKAN METODE N-GRAM DAN LEVENSHTEIN DISTANCE SKRIPSI Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer Disusun oleh: Arina Indana Fahma 135150201111184 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG 2017

Upload: others

Post on 06-Nov-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

IDENTIFIKASI KESALAHAN PENULISAN KATA (TYPOGRAPHICAL ERROR) PADA DOKUMEN BERBAHASA

INDONESIA MENGGUNAKAN METODE N-GRAM DAN LEVENSHTEIN DISTANCE

SKRIPSI

Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer

Disusun oleh: Arina Indana Fahma 135150201111184

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA MALANG

2017

Page 2: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

ii

PENGESAHAN

IDENTIFIKASI KESALAHAN PENULISAN KATA (TYPOGRAPHICAL ERROR) PADA DOKUMEN BERBAHASA INDONESIA MENGGUNAKAN METODE N-GRAM DAN

LEVENSHTEIN DISTANCE

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer

Disusun Oleh:

Arina Indana Fahma 135150201111184

Skripsi ini telah diuji dan dinyatakan lulus pada

25 Juli 2017 Telah diperiksa dan disetujui oleh:

Dosen Pembimbing I

Imam Cholissodin, S.Si, M.Kom NIK. 201201 850719 1 001

Dosen Pembimbing II

Rizal Setya Perdana, S.Kom, M.Kom NIK. 201603 910118 1 001

Mengetahui

Ketua Jurusan Teknik Informatika

Tri Astoto Kurniawan, S.T, M.T, Ph.D NIP. 19710518 200312 1 001

Page 3: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

iii

PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya, di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi, dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka.

Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi, saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan, serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No. 20 Tahun 2003, Pasal 25 ayat 2 dan Pasal 70).

Malang, 2 Maret 2017

Arina Indana Fahma 135150201111184

Page 4: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

iv

KATA PENGANTAR

Assalamu’alaikum Wr. Wb. Puji dan syukur Penulis panjatkan kehadirat Allah SWT karena atas anugerah

serta limpahan rahmat-Nya, Penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat serta salam senantiasa tercurahkan kepada junjungan kita Nabi Besar Muhammad SAW. Alhamdulillah, skripsi dengan judul “Identifikasi Kesalahan Penulisan Kata (Typographical Error) pada Dokumen Berbahasa Indonesia Menggunakan Metode N-gram dan Levenshtein Distance” disusun sebagai syarat memperoleh gelar sarjana pada Program Studi Teknik Informatika, Jurusan Teknik Informatika, Fakultas Ilmu Komputer Universitas Brawijaya.

Dalam proses pengerjaan dan penyelesaian skripsi ini, Penulis mendapatkan banyak bantuan baik moral maupun materiil dari berbagai pihak. Oleh karena itu, Penulis mengucapkan terimakasih yang sebesar-besarnya kepada: 1. Almarhum Ayah saya Drs. H. M. Syamsul Basri, Ibu saya Hj. Siti Rachmaniah,

adik-adik saya tercinta yaitu M. Rifki Yudha Firdaus, M. Faisal Aditya Fernanda dan Indah Oktavia Kirana Larasati beserta keluarga besar yang telah mendukung Penulis dengan segala usahanya, mulai dari doa yang tiada henti, materi, dukungan moral, semangat hidup, dan tauladan yang semata-mata untuk keberhasilan Penulis

2. Imam Cholissodin, S.Si, M.Kom selaku Pembimbing I sekaligus Dosen Pembimbing Akademik yang telah memberikan bimbingan, arahan, ilmu, dukungan dan masukan dalam penyelesaian skripsi ini

3. Rizal Setya Perdana, S.Kom, M.Kom selaku Pembimbing II yang juga telah memberikan bimbingan, arahan, ilmu, dan masukan dalam penyelesaian skripsi ini

4. Trisna Andarwulan, S.S, M.Pd sebagai pakar terkait bahasa Indonesia yang telah berbagi ilmu, saran, informasi, serta masukan dalam penelitian yang dilakukan pada skripsi ini

5. Bapak dan Ibu dosen yang telah mendidik dan memberikan ilmu serta bimbingan selama Penulis menempuh pendidikan Teknik Informatika di Fakultas Ilmu Komputer Universitas Brawijaya

6. Segenap karyawan di Fakultas Ilmu Komputer Universitas Brawijaya yang membantu Penulis dalam kelancaran pelaksanaan skripsi ini

7. Sahabat-sahabat saya sewaktu berkuliah di Malang yaitu Tusty Nadia Maghfira, Michelle Larasati Ayu Latukolan, Artiyan Prasetya, Ria Ine Pristiyanti, R. Rafika A. P., Meita Putri Aidha, Diva Kurnianingtyas, Dyan Putri, Merry Gricelya Nababan, yang selalu memberikan support, saran, informasi dan do’a agar segera menyelesaikan tugas akhir skripsi dan mendapatkan gelar S.Kom

8. 9en99es (Rizky Anas Suwanda, Annysa Nurmala Sari, Silmi Kaffah, Wildatun Islamiyah, Sakinah Himav Rezeika, Kartika Susanti Fajrih, Della Kaulika, Willy Agustian) yang menjadi pemberi semangat dan mendengarkan segala curahan hati Penulis selama mengerjakan tugas akhir skripsi

Page 5: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

v

9. Sahabat seperjuangan semasa SMA hingga kuliah yang senantiasa memberikan do’a dan support serta semangat untuk saya bisa menyelesaikan tugas akhir saya sebagai mahasiswa di Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya ini

10. Teman-teman Program Studi Teknik Informatika, Jurusan Teknik Informatika, terutama angkatan 2013 yang memberikan semangat, dukungan, kebersamaan, dan informasi berharga selama Penulis menempuh pendidikan di Fakultas Ilmu Komputer Universitas Brawijaya

11. Semua pihak yang tidak dapat Penulis sebutkan satu per satu, yang telah membantu dan terlibat secara langsung maupun tidak langsung dalam penulisan tugas akhir skripsi ini

Penulis menyadari bahwa tidak ada yang sempurna di dunia ini, begitupun skripsi ini tidak lepas dari kekurangan. Maka dari itu, Penulis senantiasa menerima kritik dan saran yang membangun dari pembaca. Semoga Penulis dapat memperbaiki diri dan berharap semoga skripsi ini dapat bermanfaat baik secara langsung maupun tidak kepada pembaca. Penulis juga berharap semoga tugas akhir skripsi ini dapat dikembangkan untuk penelitian-penelitian terkait selanjutnya. Terimakasih. Sekian.

Malang, 20 Februari 2017

Penulis

[email protected]

Page 6: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

vi

ABSTRAK

Teks merupakan salah satu media komunikasi dan sumber informasi dalam kehidupan manusia. Hal yang menjadi krusial dalam pembuatan teks adalah kesalahan dalam penulisan kata yang disebut typographical error. Kesalahan tersebut terjadi saat menggunakan keyboard pada komputer atau pada smartphone. Typographical error pada teks dapat mengakibatkan sesuatu yang tidak diinginkan oleh pihak tertentu. Berdasarkan hal tersebut, diperlukan suatu sistem untuk melakukan identifikasi typographical error pada teks dan melakukan proses koreksi terhadap typographical error. Metode N-gram dan Levenshtein Distance dapat digunakan untuk melakukan koreksi typographical error di dalam dokumen. Penelitian ini berfokus pada data dokumen skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya. Metode Levenshtein Distance digunakan untuk mendeteksi banyaknya kandidat kata sesuai dengan typographical error yang sudah teridentifikasi. Dikarenakan kandidat kata hasil dari Levenshtein Distance masih belum terurut, metode N-gram digunakan untuk mengurutkan kandidat kata berdasarkan nilai cosine similarity. Di dalam penelitian ini, nilai N pada N-gram yang digunakan adalah 2 sehingga pada prosesnya, N-gram melakukan pemisahan setiap dua karakter pada kata yang teridentifikasi sebagai typographical error beserta kandidat katanya. Setelah karakter dipisah, perhitungan tf-idf digunakan untuk mendapatkan nilai cosine similarity. Dari hasil pengujian sistem, didapatkan nilai presisi terbaik sebesar 0.97 pada uji coba typographical error jenis insertion dan untuk nilai recall terbaik sebesar 1 yang didapatkan dari hasil uji coba typographical error jenis substitution.

Kata Kunci: typographical error, levenshtein distance, n-gram, cosine similarity

Page 7: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

vii

ABSTRACT

Text is one of communication and information media in human life. The crucial thing in text writing is a mistake in word writing called typographical error. The error occurs while using the keyboard on computer or on smartphone. Typographical error on a text can lead to something unpredictable for some people. Based on that reason, a system is needed to identify typographical error in a text and also make the correction of the error word. N-gram and Levenshtein Distance method can be used for correcting typographical error in the text. For detecting how many word candidates of typographical error, Levenshtein Distance can be implemented. Because the word candidates are unsorted, N-gram method is using to sort those word candidates based on the value of cosine similarity. In this research, the reason N-gram method using N=2 is to separated each two characters of identified typographical error and its word candidates.The value of cosine similarity calculated by tf-idf when the process of N-gram was done. The result of test scenario, the best value of precision is 0.97 from insertion type and the best value of recall is 1 from substitution type.

Keywords: typographical error, levenshtein distance, n-gram, cosine similarity

Page 8: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

viii

DAFTAR ISI

PENGESAHAN ........................................................................................................... ii

PERNYATAAN ORISINALITAS ................................................................................... iii

KATA PENGANTAR ................................................................................................... iv

ABSTRAK .................................................................................................................. vi

ABSTRACT ............................................................................................................... vii

DAFTAR ISI ............................................................................................................. viii

DAFTAR TABEL ......................................................................................................... xi

DAFTAR GAMBAR .................................................................................................. xiii

DAFTAR PERSAMAAN ............................................................................................. xv

DAFTAR KODE PROGRAM ..................................................................................... xvi

DAFTAR LAMPIRAN .............................................................................................. xvii

BAB 1 PENDAHULUAN ............................................................................................. 1

1.1 Latar Belakang ........................................................................................ 1

1.2 Rumusan Masalah .................................................................................. 2

1.3 Tujuan .................................................................................................... 2

1.4 Manfaat .................................................................................................. 2

1.5 Batasan Masalah .................................................................................... 3

1.6 Sistematika Pembahasan ....................................................................... 3

BAB 2 LANDASAN KEPUSTAKAAN ........................................................................... 5

2.1 Kajian pustaka ........................................................................................ 5

2.2 Teks ........................................................................................................ 8

2.3 Typographical Error ............................................................................... 9

2.4 Text Mining ............................................................................................ 9

2.4.1 Pengertian Text Mining ................................................................. 9

2.4.2 Information Retrieval .................................................................. 11

2.4.3 Natural Language Processing ..................................................... 12

2.4.4 Teks Preprocessing ...................................................................... 13

2.5 Spelling Checker ................................................................................... 14

2.6 Metode N-gram ................................................................................... 15

2.7 Term Frequency-Inverse Document Frequency (tf-idf) ....................... 16

Page 9: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

ix

2.8 Cosine Similarity ................................................................................... 17

2.9 Metode Levenshtein Distance.............................................................. 17

2.10 Presisi dan Recall ............................................................................... 20

BAB 3 METODOLOGI ............................................................................................. 22

3.2 Studi Literatur ...................................................................................... 23

3.3 Pengumpulan Data .............................................................................. 23

3.4 Analisa Kebutuhan dan Perancangan Sistem ...................................... 24

3.4.1 Analisa Kebutuhan ...................................................................... 24

3.4.2 Perancangan Sistem .................................................................... 24

3.5 Implementasi ....................................................................................... 24

3.6 Pengujian dan Analisis ......................................................................... 25

3.7 Kesimpulan ........................................................................................... 25

BAB 4 PERANCANGAN ........................................................................................... 26

4.1 Deskripsi Permasalahan ....................................................................... 26

4.2 Deskripsi Umum Sistem ....................................................................... 27

4.3 Alur Identifikasi dan Koreksi Typographical Error ............................... 27

4.3.1 Text Preprocessing pada Data Input ........................................... 29

4.3.2 Proses Identifikasi Typographical Error ...................................... 35

4.3.3 Proses Koreksi Menggunakan Metode Levenshtein Distance .... 36

4.3.4 Penentuan Ranking Kandidat Kata Menggunakan Metode N-gram .............................................................................................................. 43

4.4 Perancangan Antarmuka (Interface) ................................................... 54

4.4.1 Perancangan Antarmuka Halaman Pemberian Data Input Sistem .............................................................................................................. 54

4.4.2 Perancangan Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem ................................................ 55

4.5 Perancangan Pengujian Sistem ............................................................ 56

4.5.1 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen ............................................................ 56

4.5.2 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen 57

4.5.3 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Insertion dalam Satu Dokumen .......................................... 57

Page 10: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

x

4.5.4 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen ........................................... 58

4.5.5 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Substitution dalam Satu Dokumen ..................................... 59

BAB 5 IMPLEMENTASI ........................................................................................... 60

5.1 Batasan Implementasi ......................................................................... 60

5.2 Implementasi Sistem ........................................................................... 61

5.2.1 Implementasi Pemberian Data Input .......................................... 61

5.2.2 Implementasi Teks Preprocessing pada Data Input .................... 62

5.2.3 Implementasi Identifikasi Typographical Error ........................... 64

5.2.4 Implementasi Penentuan Kandidat Kata sebagai Koreksi Typographical Error .............................................................................. 66

5.2.5 Implementasi Penentuan Ranking Kandidat Kata....................... 67

5.3 Implementasi Antarmuka pada Sistem ............................................... 71

5.3.1 Implementasi Antarmuka Halaman Awal pada Sistem .............. 71

5.3.2 Implementasi Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem ................................................ 72

BAB 6 PENGUJIAN DAN ANALISIS .......................................................................... 74

6.1 Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen .................................................................................................... 74

6.2 Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................ 76

6.3 Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................ 77

6.4 Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................ 79

6.5 Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ....................................... 80

BAB 7 PENUTUP .................................................................................................... 83

7.1 Kesimpulan ........................................................................................... 83

7.2 Saran .................................................................................................... 84

DAFTAR PUSTAKA .................................................................................................. 85

LAMPIRAN A DATA INPUT PENGUJIAN ................................................................. 87

LAMPIRAN B HASIL PERHITUNGAN MANUAL NILAI EDIT DISTANCE PADA LEVENSHTEIN DISTANCE ..................................................................................... 109

Page 11: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xi

DAFTAR TABEL

Tabel 2.1 Kajian Pustaka ......................................................................................... 6

Tabel 2.2 Tabel Kontingensi .................................................................................. 21

Tabel 4.1 Tabel Data Dokumen Skripsi Mahasiswa Sebagai Data Input Sistem ... 26

Tabel 4.2 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Pertama ......................................................................................... 38

Tabel 4.3 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Pertama (lanjutan) ......................................................................... 39

Tabel 4.4 Matriks Hasil Perhitungan Nilai Edit Distance ....................................... 39

Tabel 4.5 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Kedua ............................................................................................. 40

Tabel 4.6 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Kedua (lanjutan) ............................................................................ 41

Tabel 4.7 Matriks Hasil Perhitungan Nilai Edit Distance ....................................... 41

Tabel 4.8 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Ketiga ............................................................................................. 42

Tabel 4.9 Matriks Hasil Perhitungan Nilai Edit Distance ....................................... 43

Tabel 4.10 Perhitungan Nilai tf pada Kata Typographical Error dan Kandidat Kata ............................................................................................................................... 47

Tabel 4.11 Perhitungan Nilai tf pada Kata Typographical Error dan Kandidat Kata (lanjutan) ............................................................................................................... 48

Tabel 4.12 Perhitungan Nilai idf pada Kata Typographical Error dan Kandidat Kata ............................................................................................................................... 49

Tabel 4.13 Perhitungan Nilai tf-idf pada Kata Typographical Error dan Kandidat Kata ....................................................................................................................... 49

Tabel 4.14 Perhitungan Cosine Similarity dari Kata Typographical Error dan Kandidat Kata ........................................................................................................ 51

Tabel 4.15 Hasil Cosine Similarity pada Semua Kandidat Kata ............................. 51

Tabel 4.16 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen................................................................................................... 56

Tabel 4.17 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 57

Tabel 4.18 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Insertion dalam Satu Dokumen .................................................................... 58

Page 12: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xii

Tabel 4.19 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen ..................................................................... 58

Tabel 4.20 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen (lanjutan) .................................................... 59

Tabel 4.21 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Substitution dalam Satu Dokumen ............................................................... 59

Tabel 6.1 Hasil Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen ............................................................................................................... 74

Tabel 6.2 Hasil Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................... 76

Tabel 6.3 Hasil Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................... 78

Tabel 6.4 Hasil Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ................................................... 79

Tabel 6.5 Hasil Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 81

Page 13: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xiii

DAFTAR GAMBAR

Gambar 2.1 Pengertian dan Kriteria Teks ............................................................... 8

Gambar 2.2 Proses pada Text Mining ................................................................... 10

Gambar 2.3 Tahap Preprocessing ......................................................................... 13

Gambar 2.4 Tahap Case Folding dan Tokenisasi ................................................... 14

Gambar 2.5 Contoh Proses Pemetaan N-gram ..................................................... 16

Gambar 2.6 Proses Insertion (Penyisipan) ............................................................ 18

Gambar 2.7 Proses Deletion (Penghapusan) ........................................................ 19

Gambar 2.8 Proses Substitution (Penukaran) ....................................................... 19

Gambar 3.1 Blok Diagram Metodologi Penelitian ................................................ 22

Gambar 4.1 Alur Identifikasi dan Koreksi Typographical Error ............................. 28

Gambar 4.2 Alur Tahapan Text Preprocessing ...................................................... 29

Gambar 4.3 Alur Tahapan Tokenisasi ................................................................... 30

Gambar 4.4 Alur Tahapan Case Folding ................................................................ 32

Gambar 4.5 Alur Tahapan Filtering ....................................................................... 34

Gambar 4.6 Alur Proses Identifikasi Typographical Error ..................................... 36

Gambar 4.7 Alur Tahapan Koreksi Kata Typographical Error ............................... 37

Gambar 4.8 Alur Tahapan Penentuan Ranking Kandidat Kata ............................. 44

Gambar 4.9 Alur Tahapan Pemotongan Karakter dengan Bigram ....................... 45

Gambar 4.10 Alur Tahapan Penentuan Term ....................................................... 46

Gambar 4.11 Alur Tahapan Perhitungan Nilai tf (Term Frequency) ..................... 47

Gambar 4.12 Alur Tahapan Perhitungan Nilai idf (Inverse Document Frequency) 48

Gambar 4.13 Alur Tahapan Perhitungan Nilai Cosine Similarity ........................... 50

Gambar 4.14 Alur Tahapan Pengurutan Nilai Cosine Similarity ........................... 52

Gambar 4.15 Alur Tahapan Pengurutan Kandidat Kata Berdasarkan Nilai Cosine Similarity................................................................................................................ 53

Gambar 4.16 Rancangan Antarmuka Memberikan Data Input pada Sistem ........ 54

Gambar 4.17 Rancangan Antarmuka Halaman Hasil Identifikasi pada Sistem..... 55

Gambar 5.1 Antarmuka Halaman Awal pada Sistem ............................................ 72

Gambar 5.2 Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem ........................................................................................................... 73

Page 14: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xiv

Gambar 6.1 Grafik Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen................................................................................................... 75

Gambar 6.2 Grafik Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 77

Gambar 6.3 Grafik Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 78

Gambar 6.4 Grafik Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 80

Gambar 6.5 Grafik Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen ...................................... 81

Page 15: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xv

DAFTAR PERSAMAAN

Persamaan 2.1 Rumus Bobot Kata/Term Weighting Terhadap Dokumen ........... 17

Persamaan 2.2 Rumus Bobot Kata/Term Weighting Terhadap Dokumen ........... 17

Persamaan 2.3 Rumus Bobot Kata/Term Weighting Terhadap Dokumen ........... 17

Persamaan 2.4 Rumus Perhitungan Cosine Similarity .......................................... 17

Persamaan 2.5 Rumus Perhitungan Proses Penghapusan ................................... 19

Persamaan 2.6 Rumus Perhitungan Levenshtein Distance ................................... 19

Persamaan 2.7 Rumus Perhitungan Nilai Recall ................................................... 21

Persamaan 2.8 Rumus Perhitungan Nilai Presisi .................................................. 21

Page 16: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xvi

DAFTAR KODE PROGRAM

Kode Program 5.1 Implementasi Pemberian Data Input ...................................... 62

Kode Program 5.2 Implementasi Preprocessing pada Data Input ........................ 64

Kode Program 5.3 Implementasi Identifikasi Typographical Error ....................... 65

Kode Program 5.4 Implementasi Penentuan Kandidat Kata sebagai Koreksi Typographical Error ............................................................................................... 67

Kode Program 5.5 Implementasi Penentuan Ranking Kandidat Kata .................. 70

Page 17: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

xvii

DAFTAR LAMPIRAN

LAMPIRAN A DATA INPUT PENGUJIAN ................................................................. 87

LAMPIRAN B HASIL PERHITUNGAN MANUAL NILAI EDIT DISTANCE PADA LEVENSHTEIN DISTANCE ..................................................................................... 109

Page 18: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

1

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Teks merupakan salah satu komponen dalam kehidupan manusia yang terdiri dari wacana (berarti lisan) yang dijadikan dalam bentuk tulisan. Teks terdiri dari artikel pada surat kabar maupun majalah, argumen, tanda lalu lintas, dan novel yang berhubungan dengan kaidah genre-genre atau tipe teks tertentu semua genre yang disebutkan memiliki ciri-ciri linguistik tertentu, memenuhi fungsi tertentu dan terikat pada situasi-situasi dan penerimaan tertentu. Bahasa Indonesia merupakan bahasa nasional negara Indonesia yang digunakan oleh lebih dari 222 juta orang untuk berkomunikasi di sekolah, kantor, kehidupan sehari-hari dan sebagainya. Pentingnya penggunaan bahasa Indonesia tidak selaras dengan ketersediaan language tool untuk penelitian yang berkaitan dengan bahasa Indonesia, karena jumlah tool yang sudah ada masih terbatas (Wicaksono dan Purwarianti, 2010).

Salah satu hal krusial dalam pembuatan dokumen maupun teks adalah kesalahan penulisan kata atau yang disebut typographical error. Terdapat beberapa jenis typographical error yaitu insertion error, deletion serta substitution error. Pada pembuatan dokumen dalam penelitian terutama skripsi atau tugas akhir, typographical error terjadi karena belum pahamnya mahasiswa dalam pembuatan dokumen dengan bahasa Indonesia yang baku dan sesuai dengan kaidah EYD. Faktor lain dalam terjadinya typographical error adalah pada saat proses pemilihan kata karena kata yang digunakan harus tepat dan menggunakan bahasa yang baku sehingga dapat dimengerti oleh pembaca. Selain itu, mengutip bacaan sekaligus menyatukan dengan ide dari mahasiswa itu sendiri bukan hal yang mudah. Dalam mendeteksi typographical error pada teks dibutuhkan suatu aplikasi disebut spelling checker. Kebutuhan akan pengecek teks dalam dokumen berbahasa Indonesia sangat tinggi, namun ketersediaan aplikasi yang berguna dalam mendeteksi typographical error dalam teks masih sedikit (Naradhipa et al., 2011). Spelling checker melakukan proses pengecekan terhadap pengejaan kata-kata untuk mendeteksi adanya kata yang mengalami kesalahan ejaan dan juga memberikan sugesti berupa kata-kata kandidat (Soleh dan Purwarianti, 2011).

Berbagai macam metode yang sesuai untuk membangun suatu sistem identifikasi typographical error pada teks seperti N-gram, Hidden Markov Model (HMM), Forward-Reversed Dictionary, Morphologically Analyzer, Bayes, Maximum Likelihood Estimation, Minimum Edit Distance, Similarity Key, Rule Based, Probabilistic dan Neural Net. Penelitian untuk pembuatan spelling correction tool menggunakan metode N-gram dengan beberapa macam pendekatan menghasilkan akurasi yang bagus. Hasil yang lebih unggul didapatkan dari nilai N sebesar 2, yang disebut dengan bigram, daripada dengan penggunaan N sebesar 3 (trigram). Penggunaan data uji berupa dataset bahasa Inggris menghasilkan akurasi sebesar 84% untuk bigram dan 73% untuk trigram (Ahmed, Luca dan Nürnberger, 2009).

Page 19: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

2

Selain itu, terdapat penelitian menggunakan metode Levenshtein Distance dengan pendekatan yang lebih baik yaitu penambahan metode Dictionary Lookup (Haldar dan Mukhopadhyay, 2011). Penggunaan dua metode pada data numerik tulisan tangan dengan sistem OCR ini menghasilkan fakta bahwa OCR yang tersedia tidak mampu mengenali 93 dari 500 data uji setelah proses pengolahan data melalui SVM. Selain itu, metode Levenshtein Distance akan mengurangi jumlah kata yang tidak dikenali sebanyak 66 kata dan metode yang dimodifikasi yaitu MLD mengurangi jumlah kata yang tidak dikenali dari 93 menjadi 52 sehingga baik untuk sistem identifikasi typographical error.

Dengan beberapa alasan di atas, maka dibuat sebuah sistem untuk identifikasi typographical error untuk teks berbahasa Indonesia menggunakan metode Levenshtein Distance. Metode Levenshtein Distance digunakan untuk menentukan kandidat kata untuk setiap typographical error yang teridentifikasi oleh sistem. Pada penelitian ini dikembangkan dengan penggunaan metode N-gram yang digunakan untuk menghitung nilai cosine similarity dalam menentukan ranking kandidat kata sebagai hasil keluaran dari sistem. Diharapkan sistem ini dapat membantu memberikan gambaran yang cukup baik terhadap koreksi typographical error pada dokumen teks berbahasa Indonesia berdasarkan hasil pada sistem tersebut.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang ada, maka rumusan masalah yang dapat dibuat adalah sebagai berikut: 1. Bagaimana penerapan metode N-gram dan Levenshtein Distance untuk sistem

identifikasi typographical error pada dokumen berbahasa Indonesia? 2. Bagaimana hasil presisi dan recall yang diperoleh metode N-gram dan

Levenshtein Distance untuk identifikasi typographical error pada dokumen berbahasa Indonesia?

1.3 Tujuan

Penelitian ini memiliki tujuan pencapaian diantaranya adalah: 1. Melakukan penerapan metode N-gram dan Levenshtein Distance untuk

sistem identifikasi typographical error pada dokumen berbahasa Indonesia 2. Mengetahui hasil nilai uji presisi dan recall yang optimal terkait dengan teks

yang diujikan pada sistem identifikasi typographical error pada dokumen berbahasa Indonesia.

1.4 Manfaat

Manfaat dari penelitian ini antara lain: 1. Bagi Peneliti

Sebagai media untuk mengimplementasikan ilmu pengetahuan teknologi pada bidang Komputasi Cerdas atau Artificial Intelligence

Page 20: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

3

Menambah pengetahuan tentang penerapan metode N-gram dan Levenshtein Distance untuk identifikasi typographical error pada dokumen teks berbahasa Indonesia

2. Bagi Masyarakat

Memberikan sarana untuk mengidentifikasi typographical error pada dokumen teks berbahasa Indonesia

Dapat digunakan untuk studi penelitian selanjutnya terkait identifikasi typographical error pada dokumen teks berbahasa Indonesia.

1.5 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut: 1. Metode yang digunakan untuk identifikasi typographical error adalah

Dictionary Lookup 2. Metode N-gram yang digunakan berbasis nilai N=2 dan perhitungan cosine

similarity 3. Data kamus bahasa Indonesia yang digunakan pada skripsi ini adalah data

kamus pada penelitian sebelumnya oleh Soleh dan Purwarianti pada tahun 2011

4. Data uji sistem yang digunakan adalah 5 data berupa soft file skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya pada Bab 1 Pendahuluan.

1.6 Sistematika Pembahasan

i) BAB I. PENDAHULUAN Bab ini memuat latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat serta sistematika penulisan

ii) BAB II. LANDASAN KEPUSTAKAAN Bab ini membahas tentang dasar teori terkait dengan topik penulisan yang diangkat yang menjadi acuan dasar dalam pembuatan sistem pada penelitian ini. Hal tersebut meliputi tentang teks, typographical error, text mining, natural language processing, information retrieval, spelling checker, metode N-gram, perhitungan tf-idf, perhitungan cosine similarity, metode Levenshtein Distance, dan pengujian menggunakan presisi dan recall

iii) BAB III. METODOLOGI Pada bab ini dijelaskan metode-metode yang digunakan dalam menyelesaikan masalah, perancangan sistem, perhitungan manual dengan metode N-gram dan Levenshtein Distance dengan strategi similarity measure

iv) BAB IV. PERANCANGAN Menjelaskan tentang semua perancangan dari sistem identifikasi typographical error pada teks berbahasa Indonesia yang akan dibangun

v) BAB V. IMPLEMENTASI Menjelaskan pengimplementasian metode N-gram dan Levenshtein Distance dalam sistem identifikasi typographical error pada teks berbahasa Indonesia

Page 21: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

4

vi) BAB VI. PENGUJIAN DAN PEMBAHASAN Menjelaskan proses dan hasil dari pengujian terhadap sistem yang telah dibangun dan memastikan bahwa program telah sesuai dengan perancangan dan disertai analisis

vii) BAB VII. PENUTUP Memuat kesimpulan dari keseluruhan uraian bab-bab sebelumnya, serta saran-saran dari hasil yang diperoleh, yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

Page 22: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

5

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini dijelaskan mengenai beberapa teori terkait metode N-gram, Levenshtein Distance, teks dan typographical error. Penelitian-penelitian sebelumnya menyangkut implementasi dari sistem juga akan dibahas dalam kajian pustaka.

2.1 Kajian pustaka

Kajian pustaka pada penelitian ini mengacu pada penelitian-penelitian sebelumnya. Penelitian pertama membahas tentang masalah pembuatan spelling correction tool yang otomatis untuk meningkatkan efektifitas dalam Information Retrieval dengan berbasis metode N-gram (Ahmed, Luca dan Nürnberger, 2009). Penelitian ini bertujuan untuk memberikan pemahaman mengenai sistem MultiSpell yang berbasis N-gram dan menjelaskan tentang beberapa macam pendekatan dalam membangun sistem otomatis spelling correction tool tersebut. Dengan menggunakan pengujian dataset bahasa Inggris dan Portugis, penelitian ini juga memberikan hasil perbandingan antara algoritme bigram dan trigram dimana penggunaan bigram lebih unggul yaitu 84% daripada trigram yang hanya menghasilkan akurasi 73%. Selain itu, memberikan hasil perbandingan antara algoritme MultiSpell, Aspell, Microsoft Word, Google dan TST (The Ternary Search Trees) dalam memberikan suggestion untuk daftar kata kandidat terkait error spelling. Penelitian ini menghasilkan bahwa dari sistem MultiSpell selalu unggul dalam memperbaiki kata yang mengalami salah pengejaan. Pada saat melakukan pengujian terhadap kata-kata dalam bahasa Inggris, MultiSpell menghasilkan akurasi sebesar 90%. Nilai akurasi yang paling tinggi diantara Aspell, Microsoft Word dan Google yang memiliki akurasi sebesar 87.5%, 87.5% dan 88%. Saat digunakan untuk pengujian bahasa Portugis, MultiSpell menghasilkan akurasi sebesar 80%. Akurasi yang lebih unggul daripada TST yang memiliki akurasi sebesar 65% dan Aspell yang berakurasi 54%.

Penelitian selanjutnya membahas tentang pembuatan aplikasi spelling checker khusus untuk bahasa Indonesia (Naradhipa et al., 2011). Hal ini memiliki tingkat kebutuhan yang sangat tinggi karena belum ada aplikasi serupa dan lengkap yang bisa digunakan untuk mendeteksi penulisan pada bahasa Indonesia. Dengan menggunakan basis non-word error, penelitian ini memanfaatkan peran metode Hidden Markov Model (HMM) dan Forward Reversed Dictionary. Penelitian ini menghasilkan akurasi yang sangat besar yaitu 96.1% dengan rata-rata akurasi 93.7%. Lalu penelitian yang membahas tentang pembuatan sebuah aplikasi spell checker untuk bahasa Indonesia berbasis non-word error (Soleh dan Purwarianti, 2011). Dengan memanfaatkan metode Morphologically Analyzer dan HMM, akurasi yang dihasilkan juga beragam namun yang paling unggul adalah Probability of Similarity dan Mean Reciprocal Rank (MRR) dengan akurasi sebesar 98.55%.

Penelitian lain membahas tentang pemanfaatan beberapa metode yang digabung untuk membangun suatu part-of-speech tagger (Wicaksono dan

Page 23: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

6

Purwarianti, 2010). Berdasarkan uji coba sistem, penelitian ini menghasilkan akurasi sekitar 99.4% untuk kata yang tidak Out of Vocabulary (OOV) yaitu kata yang tidak terdapat pada dictionary. Sedangkan untuk kata-kata yang OOV, nilai akurasi hanya sebesar 91.30% (30% OOV), 94.6% (21% OOV) dan 96.50% (15% OOV). Lalu penelitian tentang penggunaan teknik Levenshtein Distance dalam metode Dictionary Lookup pada data numerik tulisan tangan dengan sistem OCR menggunakan Statistical Pattern Recognition Toolbox (STPRTools) dalam Matlab. Penelitian ini memberikan hasil OCR yang tersedia tidak mampu mengenali 93 dari 500 data uji setelah proses pengolahan data melalui SVM. Selain itu, teknik Levenshtein Distance akan mengurangi jumlah kata yang tidak dikenali sebanyak 66 kata dan metode yang dimodifikasi yaitu MLD mengurangi jumlah kata yang tidak dikenali dari 93 menjadi 52 (Haldar dan Mukhopadhyay, 2011).

Perbedaan pada penelitian ini dengan penelitian sebelumnya adalah objek yang diangkat tentang identifikasi typographical error pada teks bahasa Indonesia. Selain itu, metode Levenshtein Distance untuk melakukan koreksi pada non-word error dikembangkan dengan penggunaan metode N-gram dalam menentukan urutan/ranking kandidat kata. Aplikasi yang dibuat akan memberikan keluaran berupa suggestion kandidat kata terkait dengan non-word error yang teridentifikasi.

Tabel 2.1 Kajian Pustaka

No. Judul Artikel Jurnal

Objek (Masukan)

Metode (Proses)

Hasil (Output)

1 Revised N-gram based Automatic Spelling Correction Tool to Improve Retrieval Effectiveness (Ahmed, Luca dan Nürnberger, 2009)

Dataset Bahasa Inggris dan Portugis

N-gram Memberikan hasil akurasi sistem MultiSpell sebesar 90% yang lebih unggul dibandingkan dengan spelling correction tool lain seperti Aspell, Microsoft Word, Google dan TST.

2 Application of Document Spelling Checker for Bahasa Indonesia (Naradhipa et al., 2011)

Teks Bahasa Indonesia

Hidden Markov Model (HMM) dan Forward-Reversed Dictionary

Menghasilkan akurasi yang sangat besar yaitu 96.1% dengan rata-rata akurasi 93.7%.

3 A Non Word Error Spell Checker for

Teks Bahasa Indonesia

Morphologically Analyzer dan Hidden

Akurasi yang dihasilkan beragam namun yang paling

Page 24: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

7

Indonesian using Morphologically Analyzer and HMM (Soleh dan Purwarianti, 2011)

Markov Model (HMM)

unggul adalah penggunaan Probability of Similarity dan Mean Reciprocal Rank (MRR) dengan akurasi sebesar 98.55%.

4 HMM Based Part-of-Speech Tagger for Bahasa Indonesia (Wicaksono dan Purwarianti, 2010)

Teks Bahasa Indonesia

Hidden Markov Model (HMM)

Menghasilkan akurasi sekitar 99.4% untuk kata yang tidak OOV (Out of Vocabulary) yaitu kata yang tidak terdapat pada dictionary. Sedangkan untuk kata-kata yang OOV, nilai akurasi hanya sebesar 91.30% (30% OOV), 94.6% (21% OOV) dan 96.50% (15% OOV).

5 Levenshtein Distance Technique in Dictionary Lookup Methods: An Improved Approach (Haldar dan Mukhopadhyay, 2011)

Data set alfabet (NIST dan USPS)

Levenshtein Distance (LD) dan Dictionary Lookup

OCR yang tersedia tidak mampu mengenali 93 dari 500 data uji setelah proses pengolahan data melalui SVM. Selain itu, teknik Levenshtein Distance (LD) akan mengurangi jumlah kata yang tidak dikenali sebanyak 66 kata dan metode yang dimodifikasi yaitu MLD mengurangi jumlah kata yang tidak dikenali dari 93 menjadi 52 kata.

Page 25: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

8

6 Usulan Soft file dokumen skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya dengan non-word error

N-gram dan Levenshtein Distance

Mendeteksi typographical error dan menentukan kandidat koreksi kata pada dokumen skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya dengan non-word error

Sumber: Diadaptasi dari (Ahmed, Luca dan Nürnberger, 2009) (Naradhipa et al., 2011) (Soleh dan Purwarianti, 2011) (Wicaksono dan Purwarianti, 2010) (Haldar

dan Mukhopadhyay, 2011)

2.2 Teks

Menurut Kamus Besar Bahasa Indonesia (KBBI), teks merupakan naskah yang berupa kata-kata asli dari pengarang; kutipan kitab suci untuk pangkal ajaran atau alasan; bahan tertulis untuk dasar memberikan pelajaran, berpidato dan sebagainya; wacana tertulis. Semua wacana yang berarti lisan atau peristiwa komunikatif yang memenuhi beberapa kriteria yang dituangkan ke dalam bentuk tulisan. Dalam teori bahasa, apa yang dinamakan teks tidak lebih dari himpunan huruf yang membentuk kata dan kalimat, dirangkai dengan sistem tanda yang disepakati oleh masyarakat sehingga sebuah teks ketika dibaca bisa mengungkapkan makna yang dikandungnya (Riadi, 2015).

Dokumen terdiri dari beberapa jenis yaitu teks biasa, berformat elemen seperti XML, HTML, RTF, ODT, email, serta format biner seperti PDF, DOC.

Gambar 2.1 Pengertian dan Kriteria Teks

Sumber: (Riadi, 2015)

Page 26: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

9

Menurut Loreta Auvil dan Duane Searsmith (Susanto, 2009), beberapa karakteristik dokumen teks adalah sebagai berikut:

1. Database teks berukuran besar

2. Memiliki dimensi yang tinggi yaitu satu kata merepresentasikan satu dimensi

3. Banyak mengandung kata atau arti yang bias (mengandung ambiguitas)

4. Mengandung kumpulan kata yang saling terkait (frase) dan antara kumpulan kata satu dengan yang lain dapat memiliki arti yang berbeda

5. Dokumen email merupakan dokumen yang tidak memiliki struktur bahasa yang baku karena di dalamnya terkadang muncul istilah slang seperti “r u there?”, “helllooo bosss, whatzzzzzzz up?”, dan sebagainya.

Hal ini terkait dengan objek yang membutuhkan dokumen dengan struktur bahasa yang baku. Dokumen skripsi merupakan salah satu dokumen teks yang memiliki struktur bahasa yang baku dan dapat digunakan dalam penelitian ini. Penggunaan dokumen skripsi sebagai data penelitian berpengaruh terhadap hasil output pada sistem.

2.3 Typographical Error

Typographical error merupakan kesalahan yang terjadi pada saat proses mengetik teks dan dapat mengubah arti dari suatu kata bahkan arti dari suatu kalimat. Istilah ini mencakup kesalahan karena kegagalan mekanis atau slip tangan atau jari, dan juga timbul akibat ketidaktahuan penulis seperti kesalahan ejaan. Typographical error dapat disebabkan oleh, misalnya, jari menekan dua tombol keyboard yang berdekatan secara bersamaan.

Typographical error ini bervariasi mulai dari kesalahan ketik biasa sampai kesalahan dalam tatanan bahasa yang digunakan atau bahkan pengertian dari kata tersebut. Kesalahan-kesalahan tersebut dikategorikan ke dalam 2 jenis yaitu non-word error dan real-word error (Jurafsky dan Martin, 2014). Non-word error adalah error yang tidak terdapat makna didalamnya sedangkan pada real-word error, kata yang tertulis bernilai benar atau bisa disebut mempunyai arti dalam kamus namun tidak dimaksudkan dalam kalimat tersebut maupun mempunyai arti yang berbeda dan bahkan kalimat tersebut memiliki tata bahasa yang salah (Naradhipa et al., 2011).

2.4 Text Mining

2.4.1 Pengertian Text Mining

Text Mining atau sering disebut Pemrosesan Teks merupakan salah satu bidang pengetahuan pada Artificial Intelligence yang menerapkan konsep dan teknik data mining untuk mencari pola dalam teks dengan proses ekstraksi pola yang berupa informasi dan pengetahuan berguna dari sejumlah besar sumber

Page 27: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

10

data yang tidak terstruktur. Dalam text mining dilakukan penambangan data yang berupa teks dimana sumber data biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang memberikan penjelasan isi dari dokumen sehingga dapat dilakukan analisa keterkaitan antar dokumen (Baskoro, 2016).

Berdasarkan ketidakteraturan struktur data teks, maka proses text mining memerlukan beberapa tahap awal yang pada intinya adalah mempersiapkan agar teks dapat diubah menjadi lebih terstruktur. Perbedaan antara data yang terstruktur atau tidak terletak pada bentuknya, data terstruktur dapat dimuat dalam bentuk spreadsheet (baris dan kolom, setiap cell dapat diisi, data yang konsisten dan seragam) sedangkan data tidak terstruktur berupa format word, HTML, dokumen PDF, PPT. Data yang tidak terstruktur biasanya di konversi ke format XML dan menjadi data semi terstruktur.

Sumber: (Susanto, 2009)

Menurut Miner, Elder (Abbott, 2013), terdapat 7 tipe text mining yang ada yaitu sebagai berikut:

1. Search and Information Retrieval (IR)

Penyimpanan dan sistem temu kembali dari dokumen teks, termasuk search engines dan keyword search serta teks mining seperti identifikasi typographical error

2. Document Clustering

Pengelompokan dan pengkategorian istilah, potongan kata, paragraf, atau dokumen yang menggunakan metode klasifikasi data mining

3. Document Classification

Pengelompokan dan pengkategorian istilah, potongan kata, paragraf, atau dokumen yang menggunakan metode klasifikasi data mining, berdasarkan model yang telah terlatih

4. Web Mining

Data dan Text Mining pada internet dengan berfokus pada skala dan web yang saling berhubungan

Documents Text Preprocessing

Text Transformation

Features Selection

Data Mining

Interpretation / Evaluation

Gambar 2.2 Proses pada Text Mining

Page 28: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

11

5. Information Extraction (IE)

Identifikasi dan ekstraksi dari fakta-fakta yang relevan dan hubungan dari teks yang tidak terstruktur; proses pembuatan data terstruktur dari teks yang tidak terstruktur dan semi-terstruktur

6. Natural Language Processing (NLP)

Pemrosesan bahasa low-level (contohnya tagging part of speech); digunakan secara sinonim dengan bahasa komputasional

7. Concept Extraction

Pengelompokan kata dan frase ke dalam grup serupa secara semantik.

Text mining memiliki tujuan utama yaitu mendukung proses knowledge discovery pada koleksi dokumen dalam jumlah besar. Pada prinsipnya, text mining merupakan bidang ilmu yang multidisipliner dengan melibatkan clustering, categorization, data mining, database technology, information retrieval (IR), information extraction (IE), machine learning, natural language processing (NLP), text analysis dan visualization. Dalam memberikan solusi, text mining menerapkan serta mengembangkan berbagai teknik dari bidang lain seperti data mining, information retrieval, machine learning, linguistic, statistik & matematika, natural language processing, dan visualization (Baskoro, 2016).

Perbedaan mendasar antara data mining dan text mining terletak pada sumber data yang digunakan dalam masing-masing bidang. Pada data mining, proses ekstraksi pola dilakukan dari basis data yang terstruktur sedangkan pada text mining proses ekstraksi pola dilakukan dari natural language yaitu data teks. Secara umum, basis data didesain untuk program dengan tujuan untuk melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca langsung oleh manusia (Nafik, 2014).

2.4.2 Information Retrieval

Information Retrieval (IR) merupakan pencarian material (berupa dokumen) yang bersifat tidak terstruktur (biasanya berupa teks) dimana memenuhi kebutuhan informasi user dalam koleksi data yang besar dan disimpan dalam beberapa komputer. IR adalah bidang pada persimpangan ilmu informasi dan ilmu komputer yang dikaitkan dengan aktivitas dimana beberapa pekerjaan yang berhubungan dengan teks seperti customer service, reference libraries, paralegal dan searcher profesional, namun seiring berjalannya waktu berjuta-juta manusia memanfaatkan IR setiap hari ketika mengakses website search engine atau mencari email. IR juga dapat mengatasi permasalahan data dan informasi serta berkutat dengan pengindeksan dan pengambilan informasi dari sumber informasi heterogen dan tekstual (Manning, Raghavan dan Schütze, 2009).

Dalam prinsipnya, penyimpanan informasi dan sistem temu kembali informasi (Information Retrieval/IR) merupakan hal yang sederhana. Sebagai contoh, terdapat tempat penyimpanan banyak dokumen dan user yang merumuskan

Page 29: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

12

suatu request atau query yang memiliki jawaban yaitu himpunan dokumen yang memuat informasi mengenai ekspresi yang diperlukan melalui pertanyaan user. User bisa mendapatkan dokumen yang diperlukan dengan membaca semua dokumen dalam tempat penyimpanan, menyimpan dokumen-dokumen yang berkaitan dan membuang dokumen yang tidak diperlukan. Hal ini disebut dengan perfect retrieval dimana solusi yang ada tidak praktis karena user tidak mempunyai waktu atau tidak ingin membuang waktu untuk membaca seluruh isi dokumen.

2.4.3 Natural Language Processing

Natural Language Processing (NLP) merupakan salah satu cabang ilmu Artificial Intelligence yang berfokus pada pengolahan bahasa natural. Bahasa natural sendiri berarti bahasa yang secara umum digunakan oleh manusia untuk berkomunikasi antara satu dengan yang lain, bahasa yang diterima oleh komputer butuh untuk diproses dan diolah agar dapat dipahami dengan baik oleh komputer (Suhartono, 2013). Dalam sistem kerjanya, NLP mempunyai basis pengetahuan yang isinya konsisten dan benar seperti data set yang berisi aturan linguistik dan gramatikal yang valid. Sistem berbasis Text Mining tidak dapat dibedakan dengan konsep NLP karena secara NLP bekerja pada background aplikasi untuk membantu sistem membaca teks. Hasil dari sistem berbasis text mining dan NLP dapat memberikan informasi detail tentang data teks dan pola dari dokumen teks pada data set.

Menurut Pustejovsky dan Stubbs (Suhartono, 2013), beberapa area utama penelitian pada NLP adalah:

1. Question Answering Systems (QAS)

Kemampuan komputer untuk menjawab pertanyaan yang diberikan oleh user. Daripada memasukkan keyword ke dalam browser pencarian, dengan QAS, user bisa langsung bertanya dalam bahasa natural yang digunakan, baik itu Inggris, Mandarin, ataupun Indonesia.

2. Summarization

Pembuatan ringkasan dari sekumpulan konten dokumen atau email. Dengan menggunakan aplikasi ini, user bisa dibantu untuk mengkonversikan dokumen teks yang besar ke dalam bentuk slide presentasi.

3. Machine Translation

Produk yang dihasilkan adalah aplikasi yang dapat memahami bahasa manusia dan menterjemahkannya ke dalam bahasa lain. Termasuk di dalamnya adalah Google Translate yang apabila dicermati semakin membaik dalam penterjemahan bahasa.

4. Speech Recognition

Field ini merupakan cabang ilmu NLP yang cukup sulit. Proses pembangunan model untuk digunakan telpon/komputer dalam mengenali

Page 30: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

13

bahasa yang diucapkan sudah banyak dikerjakan. Bahasa yang sering digunakan adalah berupa pertanyaan dan perintah.

5. Document Classification

Aplikasi ini merupakan area penelitian NLP yang paling sukses. Penelitian yang dilakukan pada aplikasi ini adalah menentukan dimana tempat terbaik dokumen yang baru dimasukkan ke dalam sistem. Hal ini sangat berguna pada aplikasi spam filtering, news article classification, dan movie review.

2.4.4 Teks Preprocessing

Menurut ketidakaturan struktur data dalam teks, maka proses text mining membutuhkan tahapan-tahapan awal agar teks berubah menjadi data yang lebih terstruktur. Salah satu tahapan tersebut adalah preprocessing yang meliputi case folding, tokenizing, filtering dan stemming. Pada tahapan ini, sistem melakukan seleksi data yang diproses pada setiap dokumen yang ada.

Gambar 2.3 Tahap Preprocessing Sumber: (Nafik, 2014)

Pada sistem ini, hanya digunakan tahapan yaitu case folding dan tokenizing. Penggunaan huruf kapital pada dokumen tidak selalu konsisten, maka diperlukan proses case folding. Proses ini akan mengubah seluruh teks pada dokumen menjadi bentuk standar yaitu huruf kecil atau lowercase. Karakter selain huruf ‘a’ hingga ‘z’ dianggap sebagai delimiter sehingga karakter tersebut dihilangkan. Stopword pada sistem adalah sebagai berikut ‘~’, ‘`’, ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’, ‘&’, ‘*’, ‘*’, ‘(‘, ‘)’, ‘-‘, ‘_’, ‘+’, ‘=’, ‘{‘, ‘}’, ‘[‘, ‘]’, ‘\’, ‘/’, ‘|’, ‘:’, ‘;’, ‘”’, ‘’’, ‘<’, ‘>’, ‘,’, ‘.’, ‘?’, ‘\\’, “\n”, “\r”. Setelah dilakukan proses case folding, dilakukan proses tokenizing/tokenisasi atau parsing. Pada proses ini, dilakukan pemotongan string input berdasarkan tiap kata penyusun dari dokumen. Hasil dari preprocessing teks adalah daftar kata yang terdapat dalam dokumen uji, dengan penghapusan tanda baca, karakter dan kata-kata dalam istilah asing.

Case Folding

Tokenizing

Filtering

Stemming

Page 31: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

14

(Teks Input)

(Teks Output)

Manajemen

pengetahuan adalah

sebuah konsep baru

di dunia bisnis.

manajemen

pengetahuan

adalah

sebuah

konsep

baru

di

dunia

bisnis

Gambar 2.4 Tahap Case Folding dan Tokenisasi Sumber: (Nafik, 2014)

Secara umum, tokenisasi memecah teks dalam dokumen menjadi satuan kata/term. Dalam menangani karakter-karakter dalam teks, bergantung pada konteks sistem yang dikembangkan. Tingkat kesulitan pada proses ini semakin meningkat apabila memperhatikan struktur kebahasaan atau grammatical. Contoh pada proses ini, terdapat karakter whitespace yang dianggap sebagai pemisah kata seperti spasi, enter dan tabulasi. Sedangkan untuk karakter titik (.), petik tunggal (‘), titik dua (:), semikolon (;) atau lainnya yang mempunyai peran yang cukup besar sebagai pemisah kata.

2.5 Spelling Checker

Deteksi error dalam kata dapat dilakukan dengan aplikasi berbasis komputer yang digunakan untuk mendeteksi dan menangani error dalam kata yang disebut spelling checker. Spelling checker mampu mencari segala jenis error yang terdapat dalam dokumen yang kemudian juga dapat memberi peringatan penulis dokumen tentang kesalahan yang dilakukan dan memberi beberapa suggestion untuk memperbaiki kesalahan tersebut. Terdapat dua metode utama yang digunakan untuk membangun aplikasi spelling checker yaitu identifikasi (error detection) dan koreksi (error correction). Selain itu, spelling checker dibagi menjadi dua tipe yaitu non-word error spell checker dan real-word spell checker. Non-word error spell checker menangani kata-kata salah ejaan yang terbentuk karena kesalahan ketik,

Page 32: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

15

sedangkan real-word error spell checker mengutamakan menangani kata-kata pengganti kata yang error pada kalimat (Soleh dan Purwarianti, 2011).

Dalam membuat spelling checker, terdapat beberapa tantangan yaitu dalam menemukan kata yang merupakan error dan memberikan suggestion berupa kata yang benar untuk menggantikan kata error tersebut. Pada error yang bersifat non-word, proses pengecekan huruf yang berlebih dan pengejaan kata akan berulang terus akan membuat infinite list untuk dicek satu persatu. Sedangkan pada error yang bersifat real-word, permasalahan terjadi pada proses pengenalan grammar atau tata bahasa pada setiap kalimat. Termasuk ambiguitas dan kata yang tidak terdapat pada dictionary atau yang biasa disebut Out of Vocabulary (OOV). Dan lagi, dalam dunia ini kamus bahasa akan terus berkembang dan bertambah seiring berjalannya waktu dan akan membuat OOV akan terus terjadi secara statis (Naradhipa et al., 2011).

2.6 Metode N-gram

Ide pada penggunaan metode N-gram telah diterapkan untuk berbagai masalah seperti prediksi kata dalam dokumen, koreksi ejaan, koreksi kata terjemahan, pencarian string dan bahkan pengenalan suara. Salah satu keuntungan dari metode N-gram ini adalah bahwa bahasa bersifat independen. Dalam koreksi ejaan, N-gram merupakan urutan sebanyak N huruf dalam sebuah kata atau dalam string. N-gram dapat digunakan untuk menghitung kesamaan antara dua string dengan cara menghitung jumlah N-gram yang sama. Semakin banyak jumlah N-gram yang sama antara 2 kalimat yang ada maka semakin mirip kalimat tersebut (Ahmed, Luca dan Nürnberger, 2009).

Metode ini menerapkan jika kata A cocok dengan kata B mempertimbangkan beberapa error, kedua kata ini paling sedikit memiliki satu substring sepanjang N.

Substring sepanjang N ini dinamakan N-gram. Model N-gram memprediksi nilai ix

berdasarkan 1)1( ,...., ini xx yang dalam hukum probabilitas yaitu

1)1( ,....,| inii xxxP .

Metode N-gram tidak dapat menemukan keseluruhan kesalahan ejaan, contohnya pada kata TEDAH (dengan kata yang benar; TELAH) yang dibagi menjadi trigrams: TED EDA DAH. Dari trigrams tersebut, terdapat kesalahan berupa huruf D. Dengan demikian, kata TELAH tidak akan dapat ditemukan karena kata TELAH tidak mengandung komponen pada trigrams dan tidak akan masuk dalam daftar kandidat kata. Pemetaan pada metode N-gram dapat dilihat pada contoh gambar berikut:

Page 33: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

16

ELEPHANT

ELE LEP . . . ANT

. . .

Gambar 2.5 Contoh Proses Pemetaan N-gram

2.7 Term Frequency-Inverse Document Frequency (tf-idf)

Dari beberapa dokumen, user menginginkan dokumen yang sesuai atau memiliki relevansi terhadap pencarian user sehingga dibutuhkan suatu metode untuk memberikan ranking atau pembobotan pada dokumen. Pembobotan term dilakukan untuk menghitung frekuensi kemunculan kata pada dokumen yang diujikan. Pembobotan yang dilakukan bertujuan agar dapat menentukan ranking dokumen terhadap query dengan menghitung tingkat kemiripan atau relevansi isi dokumen antara kata-kata pada dokumen dengan query.

Metode pembobotan atau pemberian ranking yang digunakan dalam penelitian ini adalah Term Frequency-Inverse Document Frequency (tf-idf). Perhitungan tf-idf merupakan suatu cara yang digunakan untuk memberikan bobot terhadap relevansi antara suatu kata terhadap dokumen dengan menggabungkan dua konsep dalam perhitungan bobot yaitu frekuensi munculnya kata dalam dokumen serta inverse frekuensi dokumen yang mengandung kata tersebut (Lahitani, Permanasari dan Setiawan, 2016). Adapun rumus tf-idf seperti pada Persamaan 2.1, Persamaan 2.2 dan Persamaan 2.3 sebagai berikut:

Page 34: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

17

idftfW ijij (2.1)

n

NtfW ijij log (2.2)

1log

n

NtfW ijij (2.3)

Keterangan:

Wij : bobot kata/term terhadap dokumen

tfij : jumlah kemunculan kata

idf : jumlah dokumen dimana term muncul

N : jumlah semua dokumen yang dibandingkan

n : jumlah dokumen yang mengandung kata yang dimaksud

2.8 Cosine Similarity

Perhitungan kesamaan atau similarity merupakan fungsi yang digunakan untuk mengukur derajat kesamaan antara dua buah vektor. Dalam teks, fungsi ini digunakan sebagai pengukur kesamaan antara query dengan setiap dokumen yang ada pada database. Dari perhitungan ini, dihasilkan tingkat kesamaan pada dokumen yang sesuai dengan query yang diinputkan.

Cosine similarity merupakan rumus yang digunakan untuk menghitung kesamaan atau similarity dengan menentukan sudut antara vektor dokumen dengan vektor query dalam dimensi V pada bidang Euclidean. Hasil dari cosine similarity memiliki nilai antara 0 sampai dengan 1. Nilai 0 merupakan nilai yang didapat apabila dokumen tidak berhubungan dengan query, sedangan nilai 1 berarti dokumen memiliki keterhubungan tinggi dengan query (Lahitani, Permanasari dan Setiawan, 2016). Berikut rumus cosine similarity seperti pada Persamaan 2.4 berikut:

cos(Θ𝑖𝑗) =∑ (𝑑𝑖𝑘𝑑𝑗𝑘)𝑘

(√∑ 𝑑𝑖𝑘2

𝑘 √∑ 𝑑𝑗𝑘2

𝑘 )

(2.4)

Keterangan:

𝑑𝑖𝑘 : nilai query i pada indeks k

𝑑𝑗𝑘 : nilai query j pada indeks k

2.9 Metode Levenshtein Distance

Metode Levenshtein ditemukan oleh Vladimir Levenshtein pada tahun 1965. Pada teori informasi dan ilmu komputer, Levenshtein Distance merupakan matriks untuk mengukur nilai jumlah perbedaan antara 2 string yaitu string sumber (s) dan string target (t). Nilai Levenshtein Distance antara dua kata merupakan nilai

Page 35: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

18

minimum dari pengeditan single-character (yaitu insertion, deletion maupun substitution) membutuhkan perubahan pada salah satu kata.

Levenshtein Distance antara dua string ditentukan berdasarkan jumlah minimum pengeditan yang diperlukan untuk melakukan transformasi dari satu bentuk string ke bentuk string yang lain. Notasi yang digunakan untuk Levenshtein Distance adalah 𝐿𝐷(𝑠, 𝑡) dengan s yaitu sumber dan t adalah target. Misalnya, jika source string (s) adalah “tihun” dan target string (t) dalah “tahun” maka nilai Levenshtein Distance adalah 1, dalam hal ini berarti dibutuhkan sebuah operasi yaitu substitution untuk mengubah source string (s) menjadi sama dengan target string (t).

Operasi yang dapat dilakukan dan diperbolehkan untuk digunakan dalam menentukan Levenshtein Distance ada 3 macam, yaitu:

1. Insertion (penyisipan)

Insertion atau penyisipan merupakan operasi penyisipan sebuah karakter kedalam string tertentu. Misalnya menyisipkan sebuah karakter ‘o’ kedalam string “bla” setelah karakter ‘b’ sehingga string “bla” berubah menjadi “bola” setelah dilakukan operasi ini. String “bla” dimisalkan sebagai T (Target), sedangkan string “bola” dimisalkan sebagai S (Source). Proses pada operasi ini ditunjukkan pada Gambar 2.6 berikut:

1 2 3 4

T b l a

S b - l a

o

Gambar 2.6 Proses Insertion (Penyisipan)

Sumber: (Nafik, 2014)

Dalam mengatasi error jenis ini, cara yang digunakan adalah dengan menghapus satu persatu karakter dan mencocokkan kata dalam dictionary (Naradhipa et al., 2011).

2. Deletion (penghapusan)

Deletion atau penghapusan merupakan operasi penghapusan suatu karakter tertentu dari sebuah string. Misalnya menghapus karakter ‘m’ pada string “padam” sehingga string berubah menjadi “pada”. String “padam” dimisalkan sebagai T (Target), sedangkan string “pada” dimisalkan S (Source). Proses penghapusan ditunjukkan seperti pada Gambar 2.7 berikut:

Page 36: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

19

1 2 3 4 5

T p a d a m

S p a d a -

Gambar 2.7 Proses Deletion (Penghapusan)

Sumber: (Nafik, 2014)

Dalam mengatasi error jenis ini, cara yang digunakan adalah dengan mencari kata dalam dictionary yang dimulai dengan huruf pada S1 dan diakhiri dengan Sr (Naradhipa et al., 2011). Berikut Persamaan 2.5 yang digunakan untuk melakukan proses penghapusan:

1 SSrorSSr (2.5)

3. Substitution (penukaran)

Substitution merupakan operasi penukaran suatu karakter pada string tertentu dengan karakter lainnya. Misalnya menukar karakter ‘p’ dengan karakter baru ‘h’ pada suatu string yaitu “lapar”. Setelah dilakukan proses substitution, string “lapar” berubah menjadi “lahar”. String “lapar” dimisalkan sebagai T sedangkan string “lahar” dimisalkan S. Prosesnya ditunjukkan pada Gambar 2.8 berikut:

1 2 3 4 5

t l a p a r

s l a h a r

p

Gambar 2.8 Proses Substitution (Penukaran)

Sumber: (Nafik, 2014)

Operasi dilakukan dengan cara menukar posisi karakter yang berdekatan dan menemukan kata yang sama dalam dictionary (Naradhipa et al., 2011). Secara matematis, Levenshtein Distance antara dua string, misal string sumber a dan

string target b (panjang a dan b ) dengan balev ba ,, dimana telah dijelaskan

pada Persamaan 2.6 berikut:

.

,0),min(

1)1,1(

1)1,(

1),1(

min

),max(

),(

)(,

,

,

,

lainnya

ji

jilev

jilev

jilev

ji

jilev

ji baba

ba

ba

ba

(2.6)

Page 37: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

20

Langkah-langkah pada metode Levenshtein Distance adalah sebagai berikut (Haldar dan Mukhopadhyay, 2011):

Langkah 1: Inisialisasi

a. Set n sepanjang nilai s , set m sepanjang nilai t

b. Buat sebuah matriks dengan baris sebanyak 0.. m dan kolom 0.. n

c. Inisialisasi baris pertama sampai 0.. m

d. Inisialisasi kolom pertama sampai 0.. n

Langkah 2: Pemrosesan

a. Melakukan pengecekan pada nilai s ( i dari 1 hingga n )

b. Melakukan pengecekan pada nilai t ( j dari 1 hingga m )

c. Menentukan nilai cost. Jika jtis , cost 0. Namun jika jtis , cost 1

d. Set sel jid , sama dengan nilai minimum dari { i}, ii), iii)}, dimana:

i) Sel di atas + 1: 1,1 jid

ii) Sel di sebelah kiri + 1: 11, jid

iii) Sel di atas dan sebelah kiri secara diagonal + cost: 1,1 jid cost

Langkah 3: Hasil yaitu d[i, j] didapatkan.

Lalu Langkah 2 diulang sebanyak i hingga n dan j hingga m. Perhitungan dilakukan sampai nilai d[n,m] ditemukan. Nilai d[d,m] didapatkan pada perhitungan baris terakhir dan kolom terakhir.

2.10 Presisi dan Recall

Pengujian dalam sistem information retrieval membutuhkan perhitungan yang lebih baik daripada penentuan akurasi. Salah satu penerapan prinsip relevansi yang digunakan pada perkembangan sistem information retrieval adalah penggunaan presisi dan recall. Presisi dapat diartikan sebagai nilai kecocokan atau relevansi antara permintaan informasi dengan jawaban terhadap permintaan tersebut, sedangkan recall adalah proporsi jumlah dokumen yang dapat ditemukan-kembali dalam sebuah proses pencarian pada sebuah sistem information retrieval (Khrisne dan Yusanto, 2015).

Kinerja sistem information retrieval dievaluasi dari metode standar yaitu presisi, recall dan F-measure (kombinasi presisi dan recall). Recall menghitung jumlah informasi relevan yang diekstraksi pada sistem. Sedangkan presisi, menghitung jumlah informasi bernilai benar/akurat yang dikembalikan oleh sistem (Mishra dan Vishwakarma, 2016). Formula untuk perhitungan presisi dan recall dijabarkan pada Persamaan 2.7 dan Persamaan 2.8:

Page 38: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

21

𝑹𝒆𝒄𝒂𝒍𝒍 =𝑱𝒖𝒎𝒍𝒂𝒉 𝒋𝒂𝒘𝒂𝒃𝒂𝒏 𝒓𝒆𝒍𝒆𝒗𝒂𝒏 𝒚𝒂𝒏𝒈 𝒅𝒊𝒃𝒆𝒓𝒊𝒌𝒂𝒏 𝒔𝒊𝒔𝒕𝒆𝒎

𝑻𝒐𝒕𝒂𝒍 𝒋𝒂𝒘𝒂𝒃𝒂𝒏 𝒓𝒆𝒍𝒆𝒗𝒂𝒏 𝒅𝒂𝒍𝒂𝒎 𝒕𝒆𝒌𝒔 (2.7)

𝐏𝐫𝐞𝐬𝐢𝐬𝐢 =𝑱𝒖𝒎𝒍𝒂𝒉 𝒋𝒂𝒘𝒂𝒃𝒂𝒏 𝒓𝒆𝒍𝒆𝒗𝒂𝒏 𝒚𝒂𝒏𝒈 𝒅𝒊𝒃𝒆𝒓𝒊𝒌𝒂𝒏 𝒔𝒊𝒔𝒕𝒆𝒎

𝑻𝒐𝒕𝒂𝒍 𝒋𝒂𝒘𝒂𝒃𝒂𝒏 𝒑𝒂𝒅𝒂 𝒔𝒊𝒔𝒕𝒆𝒎 (2.8)

Persamaan 2.7 mengenai recall dan Persamaan 2.8 mengenai presisi mengacu pada Tabel 2.2 tentang tabel kontingensi berikut:

Tabel 2.2 Tabel Kontingensi

Nilai sebenarnya

Relevan Tidak relevan

Nilai prediksi

Retrieved TP

(True Positive)

FP

(False Positive)

Not retrieved

FN

(False Negative)

TN

(True Negative)

Nilai pada recall dan presisi saling bertolakbelakang satu sama lain, pada saat presisi bernilai tinggi, recall bernilai rendah (Butt, 2013). Nilai recall tertinggi dan optimal adalah 1, yang artinya seluruh teks dalam sistem berhasil ditemukan pada dokumen. Pada saat nilai 1 pada presisi, berarti seluruh teks yang ditemukan bersifat relevan.

Page 39: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

22

BAB 3 METODOLOGI

Metodologi penelitian yang dilakukan dalam penelitian ini melalui beberapa tahapan-tahapan yang dapat diilustrasikan dengan diagram blok metodologi penelitian seperti pada Gambar 3.1 berikut:

Gambar 3.1 Blok Diagram Metodologi Penelitian

Penjelasan mengenai blok diagram metodologi penelitian pada Gambar 3.1 diatas adalah:

1. Mempelajari konsep terkait metode Levenshtein Distance yang digunakan dalam penelitian ini untuk menghitung nilai dari kemiripan kata awal yang terdeteksi kesalahan kata dengan kandidat kata sehingga dapat digunakan untuk proses koreksi kesalahan kata dalam dokumen, serta metode N-gram sebagai metode pendukung dalam meningkatkan akurasi pada proses identifikasi kesalahan kata.

2. Melakukan pengumpulan data yang sesuai dengan topik serta permasalahan penelitian. Data pendukung berupa data kamus bahasa

Studi Literatur

Pengumpulan Data

Analisa Kebutuhaan

Perancangan Sistem

Implementasi Sistem

Pengujian Sistem

Evaluasi Sistem

Kesimpulan

Page 40: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

23

Indonesia yang digunakan adalah data kamus pada penelitian sebelumnya oleh Soleh dan Purwarianti pada tahun 2011.

3. Melakukan analisa kebutuhan dalam merancang sistem yang sesuai untuk identifikasi dan koreksi kesalahan kata pada dokumen bahasa Indonesia.

4. Melakukan implementasi sistem yang sesuai dengan analisa perancangan sistem yang sudah dilakukan pada tahap sebelumnya.

5. Melakukan pengujian terhadap sistem yang dibangun dengan melakukan analisa hasil output dari sistem. Output yang dikeluarkan oleh sistem berupa kandidat kata pada data kamus untuk koreksi kesalahan dalam dokumen yang diuji.

6. Melakukan proses evaluasi dengan cara menghitung nilai akurasi yang dihasilkan dari ouput yang dikeluarkan sistem.

7. Melakukan penarikan kesimpulan terkait penelitian yang dilakukan.

3.2 Studi Literatur

Metode ini digunakan untuk mendapatkan informasi tambahan yang digunakan sebagai acuan. Mempelajari literatur dari beberapa bidang ilmu yang berhubungan dengan identifikasi typographical error pada teks berbahasa Indonesia menggunakan metode N-gram dan Levenshtein Distance. Literatur tersebut diperoleh dari buku, jurnal, artikel online dan dokumentasi project. Literatur yang diperlukan diantaranya:

Teks

Typographical error

Text Mining

Identifikasi

Metode N-gram

Metode Levenshtein Distance

Perhitungan tf-idf dan cosine similarity

3.3 Pengumpulan Data

Pengumpulan data dengan mengambil data kamus bahasa Indonesia yang digunakan pada penelitian sebelumnya oleh Soleh dan Purwarianti pada tahun 2011. Data tersebut akan digunakan sebagai pendukung untuk data acuan dalam sistem serta menghitung nilai presisi dan recall pada sistem yang akan dibuat. Data dokumen teks yang digunakan untuk proses identifikasi dan koreksi berupa soft file dokumen skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya yang telah menempuh skripsi. Data akan digunakan ke dalam sistem untuk proses identifikasi typographical error dan penentuan kandidat kata beserta ranking masing-masing kandidat.

Page 41: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

24

3.4 Analisa Kebutuhan dan Perancangan Sistem

3.4.1 Analisa Kebutuhan

Analisa kebutuhan sistem bertujuan untuk mengidentifikasi apa saja yang dibutuhkan sistem agar tidak menyimpang dari permasalahan dan tujuan penelitian. Secara keseluruhan, kebutuhan yang digunakan dalam mendukung pembuatan sistem meliputi:

1. Kebutuhan fungsional

Sistem mampu menampilkan halaman pemberian data input data teks untuk proses identifikasi typographical error

Sistem dapat menampilkan hasil identifikasi typographical error berdasarkan input yang dimasukkan

Sistem dapat menampilkan daftar kandidat kata sesuai dengan ranking terkait typographical error yang teridentifikasi menggunakan metode N-gram dan Levenshtein Distance

2. Kebutuhan non-fungsional Kebutuhan non-fungsional yang diterapkan dalam sistem antara lain:

Ergonomy, desain aplikasi sederhana sehingga mudah dimanfaatkan oleh user

Reliability, performa sistem dapat berjalan dengan baik saat diakses dengan meminimalkan adanya bug

3. Kebutuhan data

Data kamus bahasa Indonesia pada skripsi ini adalah data kamus pada penelitian sebelumnya oleh Soleh dan Purwarianti pada tahun 2011

Data uji sistem berupa soft file skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya pada Bab 1 Pendahuluan.

3.4.2 Perancangan Sistem

Identifikasi typographical error pada dokumen berbahasa Indonesia dengan menggunakan metode N-gram dan Levenshtein Distance memiliki beberapa tahapan dalam perancangan sistem. Tahapan pertama yang dilakukan adalah identifikasi sebuah dokumen sebagai data uji dan data kamus pada penelitian sebelumnya oleh Soleh dan Purwarianti (2011) sebagai data referensi. Setelah diketahui kata yang teridentifikasi sebagai typographical error menggunakan pendekatan Dictionary Lookup, dilanjutkan proses koreksi dengan menentukan kemiripan kata menggunakan metode Levenshtein Distance dan penentuan ranking kandidat kata melibatkan metode N-gram serta perhitungan tf-idf dan cosine similarity.

3.5 Implementasi

Implementasi dilakukan dengan membuat program menggunakan bahasa pemrograman Java pada aplikasi Netbeans. Implementasi program ini mengacu

Page 42: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

25

pada perancangan sistem menggunakan metode N-gram dan Levenshtein Distance. Selain itu, implementasi juga dilakukan dengan memberikan perhitungan manual untuk identifikasi typographical error pada dokumen berbahasa Indonesia berdasarkan data referensi pada sistem berupa kamus.

3.6 Pengujian dan Analisis

Pengujian dilakukan dengan cara memeriksa apakah sistem bekerja sesuai dengan perancangan kebutuhan yang ditetapkan sebelumnya. Selain itu, pengujian melihat dari seberapa besar kesesuaian hasil output sistem identifikasi typographical error pada teks berbahasa Indonesia menggunakan metode N-gram dan Levenshtein Distance dengan perhitungan manual yang dilakukan. Pengujian yang dilakukan terdiri dari lima jenis, yaitu:

1. Pengujian seluruh jenis typographical error berdasarkan jumlah dokumen

2. Pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen

3. Pengujian berdasarkan jumlah kata typographical error jenis insertion dalam satu dokumen

4. Pengujian berdasarkan jumlah kata typographical error jenis deletion dalam satu dokumen

5. Pengujian berdasarkan jumlah kata typographical error jenis substitution dalam satu dokumen.

Analisis dilakukan untuk mengetahui hasil pengujian sistem dari perbandingan hasil perhitungan manual dengan hasil output pada sistem untuk identifikasi typographical error pada dokumen teks berbahasa Indonesia dengan menggunakan metode N-gram dan Levenshtein Distance. Hasil dari pengujian dan analisis menjadi acuan dalam mengambil kesimpulan dan memberikan saran terkait penelitian yang dilakukan.

3.7 Kesimpulan

Kesimpulan akan diambil setelah semua tahapan selesai dilakukan dari tahap perancangan, hasil pengujian hingga analisis metode. Tahap terakhir dari penulisan adalah saran yang dimaksudkan untuk memperbaiki kesalahan yang terjadi serta memberikan pertimbangan untuk pengembangan penelitian selanjutnya.

Page 43: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

26

BAB 4 PERANCANGAN

4.1 Deskripsi Permasalahan

Dalam tulisan ilmiah seperti skripsi seringkali ditemukan typographical error yang tidak disengaja oleh penulis. Sebagian besar kesalahan kata yang ditemukan berupa huruf yang tertukar atau salah posisi dan kata yang salah penulisan. Akibat dari kesalahan ini, akan terjadi kesalahpahaman terhadap isi dalam tulisan pada skripsi tersebut. Banyak metode digunakan dalam melakukan identifikasi dan koreksi pada sebuah teks bacaan. Salah satunya dengan metode Levenshtein Distance untuk mengidentifikasi kata yang dianggap salah atau typographical error dan mencari kandidat kata terkait dengan kata typographical error dalam dokumen yang akan diuji. Proses penentuan kandidat kata didukung menggunakan metode N-gram dengan nilai N sebanyak 2. Hasil yang akan ditampilkan berupa kandidat kata yang merupakan koreksi dari typographical error akibat kesalahan pada data dokumen skripsi.

Tabel 4.1 Tabel Data Dokumen Skripsi Mahasiswa Sebagai Data Input Sistem

Dokumen Skripsi Mahasiswa Dokumen Skripsi Mahasiswa dengan Typographical Error

Berdasarkan Gambar 4.2 di atas merupakan proses perhitungan nilai jarak edit setiap satu kata yang salah dengan satu kata kandidat kata yang benar. Perhitungan dimulai dengan deklarasi variabel yang terlibat meliputi variabel s: string kata yang salah, t: string kata yang diujikan dalam perhitungan sebagai kandidat koreksi kata, n: panjang karakter kata s, m: panjang karakter kata t, i= indeks kolom, j= indeks baris, cost dan array 2 dimensi D untuk menyimpan nilai jarak edit setiap huruf pada kedua kata yang sedang dibandingkan. Untuk lebih memahami alur koreksi kesalahan kata, berikut ini merupakan contoh perhitungan manualisasi koreksi kesalahan kata, dengan kata yang salah adalah “husus” kemudian untuk kandidat kata yang benar disini diberikan contoh 5 kata yaitu “khusus”, “usus”, “susuh”, “rusuh”, “kursus”.

Berdasarkan Gambar 4.2 di atas merupakan proses perhitungan nilai jurak edit setiap satu kata yang salah dengan satu kata kandidat kata yang benar. Perhitungan dimulai dengan deklarasi variabel yang terlibat meliputi variabel s: string kata yang salah, t: string kata yang diujikan dalam perhitungan sebagai kandidat koreksi kata, n: panjang karakter kata s, m: panjang karakter kata t, i= indeks kolom, j= indeks baris, cost dan array 2 dimensi D untuk menyimpan nilai jarak edit setiap huruf pada kedua kata yang sedang dibandingkan. Untuk lebih memahami alur koreksi kesalahan kata, berikut ini merupakan contoh perhitungan manualisasi koreksi kesalahan kata, dengan kata yang salah adalah “husus” kemudian untuk kandidat kata yang benar disini diberikan contoh 5 kata yaitu “khusus”, “usus”, “susuh”, “rusuh”, “kursus”.

Page 44: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

27

4.2 Deskripsi Umum Sistem

Solusi dalam menyelesaikan permasalahan terhadap typographical error pada sebuah dokumen teks skripsi berbahasa Indonesia adalah sebuah sistem yang dikembangkan dengan menggunakan metode N-gram dan Levenshtein Distance. Sebelum dilakukan proses dengan metode N-gram dan Levenshtein Distance untuk identifikasi dan koreksi typographical error, proses teks preprocessing pada inputan sistem akan dijalankan terlebih dahulu. Preprocessing dilakukan dengan tujuan untuk mengolah data teks inputan yang bersifat tidak terstruktur menjadi data yang lebih terstruktur sehingga dapat diolah untuk proses selanjutnya. Setelah proses teks preprocessing dilakukan, kemudian dilanjutkan dengan proses selanjutnya yaitu identifikasi typographical error pada non-word error dengan menggunakan pendekatan Dictionary Lookup. Berdasarkan nilai edit distance atau jarak edit paling minimum dari kata yang terdeteksi merupakan typographical error dengan seluruh kata dalam kamus bahasa Indonesia, didapat beberapa kata yang merupakan kandidat kata untuk mengganti kata yang terdeteksi salah. Dengan metode Levenshtein Distance, beberapa kandidat kata dengan jarak edit minimum selanjutnya dilakukan perhitungan ranking kandidat kata. Perhitungan dilakukan menggunakan metode N-gram dengan menentukan nilai cosine similarity.

Output atau keluaran dari sistem yang dirancang ini adalah hasil dari proses identifikasi dan koreksi dari typographical error dengan menampilkan kandidat kata koreksi dengan nilai edit distance paling minimum dari kata yang salah sesuai dengan ranking.

4.3 Alur Identifikasi dan Koreksi Typographical Error

Sistem memiliki alur untuk proses identifikasi dan koreksi typographical error. Alur proses identifikasi dan koreksi menjelaskan gambaran sekumpulan langkah dalam identifikasi typographical error serta memberikan daftar kandidat kata yang sesuai dengan typographical error berdasarkan ranking kandidat kata. Proses identifikasi dilakukan dengan menggunakan pendekatan Dictionary Lookup, proses penentuan kandidat kata yang sesuai serta penentuan ranking kandidat kata dilakukan menggunakan metode Levenshtein Distance dan N-gram berbasis perhitungan cosine similarity. Hasil identifikasi typographical error kemudian perhitungan nilai edit distance dengan nilai yang paling minimum untuk mendapatkan kandidat kata. Apabila kandidat kata untuk typographical error berjumlah lebih dari 1, dilakukan proses penentuan ranking kandidat kata. Hasil ranking kandidat kata akan menjadi hasil output pada sistem.

Berikut pada Gambar 4.1 dijelaskan tentang alur identifikasi dan koreksi typographical error:

Page 45: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

28

Gambar 4.1 Alur Identifikasi dan Koreksi Typographical Error

Berdasarkan pada Gambar 4.1 tentang alur identifikasi dan koreksi typographical error, terdapat beberapa langkah dalam proses kerja sistem. Proses pertama dalam sistem adalah pemberian data input berupa dokumen skripsi dalam format .txt. Dalam memproses sebuah data yang tidak terstruktur, dibutuhkan tahapan preprocessing untuk mengubah data menjadi terstruktur. Preprocessing dalam sistem ini terdiri dari tokenisasi, case folding dan filtering. Setelah preprocessing selesai, typographical error diidentifikasi dengan menggunakan metode Dictionary Lookup. Kata yang teridentifikasi sebagai typographical error kemudian dilakukan proses koreksi menggunakan metode Levenshtein Distance. Perhitungan nilai edit distance dilakukan dalam mencari nilai yang paling minimum untuk mendapatkan daftar kandidat kata pada kamus sesuai dengan kata typographical error. Penentuan ranking kandidat kata

Page 46: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

29

dilakukan menggunakan metode N-gram berbasis perhitungan cosine similarity. Hasil ranking kandidat kata menjadi hasil output pada sistem.

4.3.1 Text Preprocessing pada Data Input

Tahapan ini merupakan tahap pengolahan data dokumen menjadi data model matematis dimana pada tahapan ini terdapat beberapa tahapan yaitu tokenisasi, case folding dan filtering. Tahapan ini dilakukan tanpa proses stemming karena proses stemming menghilangkan imbuhan dan mengembalikan suatu kata menjadi kata dasar, sedangkan untuk melakukan proses identifikasi dan koreksi kata dengan typographical error pada non-word error dibutuhkan kata yang sesuai dengan teks dalam dokumen tanpa dilakukan perubahan. Data input berupa file dokumen skripsi dibatasi pada bab pendahuluan khususnya sub bab latar belakang yang diperkirakan memiliki typographical error. Sebelum dilakukan proses deteksi dan koreksi pada data input, preprocessing dijalankan untuk mendapatkan data olahan yang dapat digunakan untuk proses selanjutnya. Output dari tahapan preprocessing adalah kumpulan kata tunggal atau disebut term list dari dokumen teks skripsi yang diuji. Alur tahapan preprocessing diuraikan pada alur Gambar 4.2 berikut ini:

Gambar 4.2 Alur Tahapan Text Preprocessing

Page 47: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

30

Alur tahapan preprocessing pada Gambar 4.2 dijelaskan bahwa dokumen teks skripsi mahasiswa sebagai data input akan melalui tiga proses yaitu tokenisasi, case folding dan filtering. Dokumen skripsi masuk ke dalam sistem sebagai data input kemudian tahapan processing dijalankan. Dokumen skripsi terdiri dari sekumpulan kata yang terangkai menjadi kalimat dan paragraf sehingga dibutuhkan tahapan untuk mengolah dokumen agar dapat diproses untuk tahapan selanjutnya. Tahapan-tahapan dalam preprocessing tersebut adalah tokenisasi, case folding dan filtering. Masing-masing proses dijabarkan lebih detail dalam diagram flowchart pada bagian selanjutnya.

Alur tahapan pertama dalam preprocessing dokumen teks adalah tokenisasi. Tokenisasi merupakan proses pemisahan kata dalam dokumen agar dapat mudah diolah untuk proses selanjutnya. Penjelasan detail tentang alur tahapan tokenisasi dijabarkan pada Gambar 4.3 berikut:

Gambar 4.3 Alur Tahapan Tokenisasi

Page 48: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

31

Pada Gambar 4.3 diuraikan tahapan tokenisasi yang merupakan tahapan untuk memisahkan setiap kata penyusun dokumen teks yang kemudian dilakukan penghapusan angka beserta simbol karakter yang tidak berpengaruh dalam proses identifikasi dan koreksi typographical error pada non-word error. Setelah data input telah dimasukkan ke dalam sistem, proses tokenisasi dijalankan. Berawal dengan deklarasi variabel text, line dan textArray[] untuk menyimpan hasil pemisahan kata. Perulangan while-do dilakukan selama baris line dalam dokumen skripsi masih terbaca, proses penambahan teks pada variabel text akan terus dijalankan. Setelah perulangan berhenti, proses yang dijalankan adalah pemisahan data dalam variabel text dengan fungsi split dan parameter spasi. Hasil dari pemisahan variabel text adalah kumpulan kata tunggal atau disebut term list. Hasil tersebut akan disimpan ke dalam variabel textArray[] untuk proses selanjutnya.

Hasil dari alur tahapan tokenisasi dengan sampel kalimat pertama pada dokumen skripsi mahasiswa dengan kata typographical error pada Tabel 4.1 adalah sebagai berikut:

Sampel kalimat

Hasil Tokenisasi

Berdasarkan

gambar

4.2

di

atas

merupakan

proses

perhitungan

nilai

jurak

edit

setiap

satu

kata

yang

salah

dengan

satu

kata

kandidat

kata

yang

benar.

Berdasarkan Gambar 4.2 di atas merupakan proses perhitungan nilai jurak edit setiap satu kata yang salah dengan satu kata kandidat kata yang benar.

Proses

Tokenisasi

Page 49: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

32

Hasil tokenisasi diatas diproses lebih lanjut untuk tahapan preprocessing selanjutnya yaitu case folding. Tahapan case folding memproses hasil tokenisasi dengan mengubah semua huruf dalam dokumen teks yang ada menjadi huruf kecil. Selain itu, dalam tahapan ini juga dilakukan penghapusan angka, tanda baca, simbol dan karakter yang tidak diperlukan dalam tahapan preprocessing. Hasil yang didapatkan dalam proses case folding menjadi lebih sederhana dengan jumlah yang lebih sedikit daripada hasil tokenisasi karena proses penghapusan angka, tanda baca, simbol dan karakter yang tidak diperlukan.

Penjelasan detail tentang alur tahapan case folding dijabarkan pada Gambar 4.4 berikut:

Gambar 4.4 Alur Tahapan Case Folding

Tahapan case folding dimulai dengan deklarasi variabel yang diperlukan yaitu deli dan del[], serta hasil tokenisasi dalam variabel textArray[]. Variabel deli

Page 50: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

33

memuat angka, tanda baca, simbol dan karakter yang tidak diperlukan dalam tahapan preprocessing, sedangkan variabel del[] untuk meletakkan variabel deli ke dalam array. Variabel deli dipisahkan dengan parameter spasi agar dapat diletakkan pada masing-masing indeks pada variabel del[]. Perulangan for pertama dilakukan untuk mengubah semua huruf pada hasil tokenisasi dengan huruf kecil. Proses ini dilakukan dengan fungsi toLowerCase pada setiap indeks perulangan t. Perulangan for selanjutnya dengan indeks u untuk mendapatkan variabel del[] pada indeks u. Perulangan ini dilakukan untuk menghapus kumpulan angka, tanda baca, simbol dan karakter pada variabel del[] dalam variabel textArray[]. Fungsi replace digunakan untuk mengganti nilai variabel del[] pada indeks u dengan simbol “” yang berarti kosong dan disimpan ke dalam variabel textArray[] sesuai dengan indeks t. Perulangan for selanjutnya dengan indeks v dilakukan untuk proses penambahan nilai pada variabel textArray[] indeks v ke dalam variabel arraylist afterproses dengan fungsi add. Apabila hasil case folding pada arraylist afterproses masih terdapat nilai kosong atau null, maka dilakukan penghapusan dengan fungsi removeAll sesuai dengan daftar parameter yang akan dihapus. Hasil dari alur tahapan case folding sesuai dengan hasil tokenisasi sebelumnya adalah sebagai berikut:

Hasil Tokenisasi

Berdasarkan

gambar

4.2

di

atas

merupakan

proses

perhitungan

nilai

jurak

edit

setiap

satu

kata

yang

salah

dengan

satu

kata

kandidat

kata

yang

benar.

Hasil Case Folding

berdasarkan

gambar

di

atas

merupakan

proses

perhitungan

nilai

jurak

edit

setiap

satu

kata

yang

salah

dengan

satu

kata

kandidat

kata

yang

benar

Proses

Case folding

Page 51: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

34

Hasil case folding dilakukan proses selanjutnya dalam tahapan preprocessing yaitu filtering. Tahapan filtering memproses hasil case folding untuk dilakukan penghapusan istilah bahasa asing yaitu bahasa Inggris. Istilah dalam bahasa Inggris tidak digunakan dalam proses identifikasi dan koreksi typographical error karena penelitian ini berfokus pada typographical error dalam bahasa Indonesia. Kamus bahasa Inggris dijadikan sebagai data referensi untuk menghilangkan istilah bahasa Inggris dalam dokumen skripsi. Hasil yang didapatkan dari tahapan filtering lebih sederhana apabila dalam dokumen skripsi terdapat banyak istilah bahasa Inggris. Penjelasan detail mengenai alur tahapan filtering dijelaskan pada Gambar 4.5 berikut:

Gambar 4.5 Alur Tahapan Filtering

Tahapan filtering dimulai dengan deklarasi variabel yaitu arraylist english, arraylist afterfilter serta hasil case folding yang disimpan dalam arraylist afterproses. Perulangan pertama dengan while-do dilakukan untuk pengecekan setiap kata pada kamus bahasa Inggris. Selama terdapat kata maka akan dimasukkan ke dalam variabel arraylist english, jika tidak maka perulangan akan berhenti. Perulangan selanjutnya yaitu for dengan indeks a dilakukan untuk mendapatkan nilai pada variabel arraylist afterproses dengan indeks a. Kondisi

Page 52: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

35

dimana apabila nilai indeks pada arraylist english dibandingkan dengan arraylist afterproses dengan indeks a. Jika kondisi terpenuhi maka proses selanjutnya menambahkan nilai pada arraylist afterproses indeks a ke dalam arraylist afterfilter.

Hasil dari alur tahapan filtering sesuai dengan hasil case folding adalah sebagai berikut:

Hasil Case Folding

berdasarkan

gambar

di

atas

merupakan

proses

perhitungan

nilai

jurak

edit

setiap

satu

kata

yang

salah

dengan

satu

kata

kandidat

kata

yang

benar

Hasil Filtering

berdasarkan

gambar

di

atas

merupakan

proses

perhitungan

nilai

jurak

setiap

satu

kata

yang

salah

dengan

satu

kata

kandidat

kata

yang

benar

4.3.2 Proses Identifikasi Typographical Error Hasil preprocessing diatas kemudian diproses untuk identifikasi

typographical error dengan menggunakan pendekatan Dictionary Lookup. Pendekatan Dictionary Lookup merupakan salah satu cara untuk membandingkan kata dalam dokumen dengan kata yang ada dalam kamus. Daftar kata dalam dokumen dibandingkan dengan semua kata dalam kamus bahasa Indonesia pada data penelitian sebelumnya oleh Soleh dan Purwarianti (2011).

Alur proses identifikasi typographical error diuraikan pada Gambar 4.6 berikut ini:

Proses Filtering

Page 53: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

36

Gambar 4.6 Alur Proses Identifikasi Typographical Error

Proses identifikasi typographical error dilakukan dengan data referensi kamus bahasa Indonesia. Proses identifikasi dimulai dengan membandingkan kata dalam dokumen satu persatu dengan semua kata dalam kamus. Apabila kata dalam dokumen tersebut tidak terdapat dalam kamus, maka kata tersebut teridentifikasi sebagai kata dengan typographical error.

4.3.3 Proses Koreksi Menggunakan Metode Levenshtein Distance

Tahapan ini merupakan tahap pengolahan untuk koreksi typographical error menggunakan metode Levenshtein Distance. Penerapan metode Levenshtein Distance digunakan untuk menghitung nilai edit distance dengan nilai terendah/minimum sebagai nilai acuan pada koreksi kata dengan typographical error. Proses koreksi ini dilakukan dengan menentukan kandidat kata koreksi yang

Page 54: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

37

benar untuk mengganti kata yang terdeteksi salah. Semakin kecil nilai edit distance yang didapatkan maka kemungkinan kata tersebut merupakan kata yang dimaksud semakin tinggi. Penyelesaian tahapan koreksi typographical error menggunakan Levenshtein Distance diuraikan pada alur Gambar 4.7 berikut:

Gambar 4.7 Alur Tahapan Koreksi Kata Typographical Error

Berdasarkan Gambar 4.7 di atas, dijelaskan mengenai proses perhitungan nilai edit distance pada setiap satu kandidat kata yang memungkinkan. Dimulai dengan menginisialisasi variabel s yaitu source string atau kata yang terdeteksi

Page 55: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

38

salah; variabel t yaitu target string atau kandidat kata memungkinkan yang akan digunakan untuk perhitungan edit distance; variabel n yaitu panjang karakter pada kata s; variabel m yaitu panjang karakter pada kata t; variabel i yaitu indeks kolom; variabel j yaitu indeks baris; cost untuk nilai kesamaan dan variabel d yaitu array 2 dimensi untuk menyimpan nilai edit distance setiap karakter pada kata yang teridentifikasi sebagai typographical error.

Perhitungan manual dilakukan berdasarkan Persamaan 2.8 dengan kata yang terdeteksi salah yaitu “jurak” dan beberapa kandidat kata benar dengan 3 contoh kata adalah ”urak”, ”jirak” dan ”jarak”. Pembatasan kandidat kata pada perhitungan manual ini tidak terdapat relevansi terhadap jumlah kandidat kata pada sistem yang akan dirancang. Berikut merupakan contoh perhitungan manual nilai edit distance menggunakan metode Levenshtein Distance:

1. Kandidat kata pertama: “urak”

s = jurak

t = urak

n = 5

m = 4

Perhitungan terdiri dari kandidat kata pertama yaitu “urak” sebagai t dan kata typographical error yaitu “jurak” sebagai s. Masing-masing kata memiliki 5 jumlah huruf sehingga matriks yang dibuat memiliki jumlah kolom sebanyak 5 serta baris sebanyak 4 sebagai jumlah huruf kata typographical error. Pada masing-masing kolom dan baris yang dibuat, diisi dengan hasil perhitungan nilai edit distance kata sesuai dengan indeksnya. Perhitungan manual dilakukan berdasarkan Persamaan 2.8 pada sub bab 2.9 mengenai metode Levenshtein Distance. Berikut pada Tabel 4.2 dijelaskan mengenai perhitungan nilai edit distance kata typographical error terhadap kandidat kata pertama:

Tabel 4.2 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Pertama

Indeks Nilai Edit Distance Kata

d[1,1] s[1] ≠ t[1], maka cost = 1 d[i,j] = min ((d[i-1, j] + 1), (d[i, j-1]) + 1), (d[i-1, j-1] + cost)) d[1,1] = min ((d[1-1, 1] + 1), (d[1, 1-1] + 1), (d[1-1, 1-1] + 1)) d[1,1] = min ((d[0, 1] + 1), (d[1, 0] + 1), (d[0, 0] + 1)) d[1,1] = min ((1+1), (1+1), (0+1)) d [1,1] = min (2, 2, 1) d [1,1] = 1

Page 56: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

39

Tabel 4.3 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Pertama (lanjutan)

d[1,2] s[1] ≠ t[2], maka cost = 1 d[1,2] = min ((d[1-1, 2] + 1), (d[1, 2-1] + 1), (d[1-1, 2-1] + 1)) d[1,2] = min ((d[0, 2] + 1), (d[1, 1] + 1), (d[0, 1] + 1)) d[1,2] = min ((2+1), (1+1), (1+1)) d[1,2] = min (3, 2, 2) d[1,2] = 2

.

.

.

d[5,3] s[5] ≠ t[3], maka cost = 1 d[5,3] = min ((d[5-1, 3] + 1), (d[5, 3-1] + 1), (d[5-1, 3-1] + 1)) d[5,3] = min ((d[4, 3] + 1), (d[5, 2] + 1), (d[4, 2] + 1)) d[1,2] = min ((1+1), (3+1), (2+1)) d[5,3] = min (2, 4, 3) d[5,3] = 2

d[5,4] s[5] = t[4], maka cost = 0 d[5,4] = min ((d[5-1, 4] + 1), (d[5, 4-1] + 1), (d[5-1, 4-1] + 0)) d[5,4] = min ((d[4, 4] + 1), (d[5, 3] + 1), (d[4, 3] + 0)) d[1,2] = min ((2+1), (2+1), (1+0)) d[5,4] = min (3, 3, 1) d[5,4] = 1

Nilai yang didapatkan dari perhitungan nilai edit distance kata typographical error terhadap kandidat kata pertama pada Tabel 4.2 akan dimasukkan ke dalam matriks hasil perhitungan. Masing-masing hasil perhitungan akan disimpan ke dalam sebuah array 2 dimensi yang disesuaikan dengan indeks baris dan kolomnya. Berikut ini ditunjukkan matriks hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata pertama “urak” pada Tabel 4.3:

Tabel 4.4 Matriks Hasil Perhitungan Nilai Edit Distance

J U R A K

0 1 2 3 4 5

U 1 1 1 2 3 4

R 2 2 2 1 2 3

A 3 3 3 2 1 2

K 4 4 4 3 2 1

Page 57: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

40

Tabel 4.3 menunjukkan hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata pertama “urak”. Nilai akhir yang digunakan sebagai hasil adalah nilai dari tabel matriks pada baris dan kolom terakhir. Pada tabel diatas, nilai pada baris dan kolom terakhir ditandai dengan warna kuning. Dapat disimpulkan bahwa nilai edit distance untuk kata typographical error terhadap kandidat kata pertama adalah 1.

2. Kandidat kata pertama: “jirak”

s = jurak

t = jirak

n = 5

m = 5

Perhitungan terdiri dari kandidat kata kedua yaitu “jirak” sebagai t dan kata typographical error yaitu “jurak” sebagai s. Masing-masing kata memiliki 5 jumlah huruf sehingga matriks yang dibuat memiliki jumlah baris sebanyak 5 sebagai jumlah huruf string target serta kolom sebanyak 5 sebagai jumlah huruf kata typographical error. Pada masing-masing kolom dan baris yang dibuat, diisi dengan hasil perhitungan nilai edit distance kata sesuai dengan indeksnya. Berikut pada Tabel 4.4 dijelaskan mengenai perhitungan nilai edit distance kata typographical error terhadap kandidat kata kedua:

Tabel 4.5 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Kedua

Indeks Nilai Edit Distance Kata

d[1,1] s[1] = t[1], maka cost = 0 d[1,1] = min ((d[1-1, 1] + 1), (d[1, 1-1] + 1), (d[1-1, 1-1] + 0)) d[1,1] = min ((d[0, 1] + 1), (d[1, 0] + 1), (d[0, 0] + 0)) d[1,1] = min (2, 2, 0) d[1,1] = 0

d[1,2] s[1] ≠ t[2], maka cost = 1 d[1,2] = min ((d[1-1, 2] + 1), (d[1, 2-1] + 1), (d[1-1, 2-1] + 1)) d[1,2] = min ((d[0, 2] + 1), (d[1, 1] + 1), (d[0, 1] + 1)) d[1,2] = min (3, 1, 2) d[1,2] = 1

.

.

.

Page 58: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

41

Tabel 4.6 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Kedua (lanjutan)

d[5,4] s[5] ≠ t[4], maka cost = 1 d[5,4] = min ((d[5-1, 4] + 1), (d[5, 4-1] + 1), (d[5-1, 4-1] + 1)) d[5,4] = min ((d[4, 4] + 1), (d[5, 3] + 1), (d[4, 3] + 1)) d[5,4] = min (2, 4, 3) d[5,4] = 2

d[5,5] s[5] = t[5], maka cost = 0 d[5,5] = min ((d[5-1, 5] + 1), (d[5, 5-1] + 1), (d[5-1, 5-1] + 0)) d[5,5] = min ((d[4, 5] + 1), (d[5, 4] + 1), (d[4, 4] + 0)) d[5,5] = min (3, 3, 1) d[5,5] = 1

Nilai-nilai yang didapatkan dari perhitungan nilai edit distance kata typographical error terhadap kandidat kata kedua pada Tabel 4.4 akan dimasukkan ke dalam matriks hasil perhitungan. Masing-masing hasil perhitungan akan disimpan ke dalam sebuah array 2 dimensi yang disesuaikan dengan indeks baris dan kolomnya. Berikut ini ditunjukkan matriks hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata kedua “jirak” pada Tabel 4.5:

Tabel 4.7 Matriks Hasil Perhitungan Nilai Edit Distance

J U R A K

0 1 2 3 4 5

J 1 0 1 2 3 4

I 2 1 1 2 3 4

R 3 2 2 1 2 3

A 4 3 3 2 1 2

K 5 4 4 3 2 1

Tabel 4.5 menunjukkan hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata kedua “jirak”. Nilai akhir yang digunakan sebagai hasil adalah nilai dari tabel matriks pada baris dan kolom terakhir. Pada tabel diatas, nilai pada baris dan kolom terakhir ditandai dengan warna kuning. Dapat disimpulkan bahwa nilai edit distance untuk kata typographical error terhadap kandidat kata kedua adalah 1.

3. Kandidat kata pertama: “jarak”

s = jurak

t = jarak

n = 5

Page 59: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

42

m = 5

Perhitungan terdiri dari kandidat kata ketiga yaitu “jarak” sebagai t dan kata typographical error yaitu “jurak” sebagai s. Masing-masing kata memiliki 5 jumlah huruf sehingga matriks yang dibuat memiliki jumlah baris sebanyak 5 sebagai jumlah huruf string target serta kolom sebanyak 5 sebagai jumlah huruf kata typographical error. Pada masing-masing kolom dan baris yang dibuat, diisi dengan hasil perhitungan nilai edit distance kata sesuai dengan indeksnya. Berikut pada Tabel 4.6 dijelaskan mengenai perhitungan nilai edit distance kata typographical error terhadap kandidat kata ketiga:

Tabel 4.8 Perhitungan Nilai Edit Distance Kata Typographical Error Terhadap Kandidat Kata Ketiga

Indeks Nilai Edit Distance Kata

d[1,1] s[1] = t[1], maka cost = 0 d[1,1] = min ((d[1-1, 1] + 1), (d[1, 1-1] + 1), (d[1-1, 1-1] + 0)) d[1,1] = min ((d[0, 1] + 1), (d[1, 0] + 1), (d[0, 0] + 0)) d[1,1] = min (2, 2, 0) d[1,1] = 0

d[1,2] s[1] ≠ t[2], maka cost = 1 d[1,2] = min ((d[1-1, 2] + 1), (d[1, 2-1] + 1), (d[1-1, 2-1] + 1)) d[1,2] = min ((d[0, 2] + 1), (d[1, 1] + 1), (d[0, 1] + 1)) d[1,2] = min (3, 1, 2) d[1,2] = 1

.

.

.

d[5,4] s[5] ≠ t[4], maka cost = 1 d[5,4] = min ((d[5-1, 4] + 1), (d[5, 4-1] + 1), (d[5-1, 4-1] + 1)) d[5,4] = min ((d[4, 4] + 1), (d[5, 3] + 1), (d[4, 3] + 1)) d [5,4] = min (2, 4, 3) d[5,4] = 2

d[5,5] s[5] = t[5], maka cost = 0 d[5,5] = min ((d[5-1, 5] + 1), (d[5, 5-1] + 1), (d[5-1, 5-1] + 0)) d[5,5] = min ((d[4, 5] + 1), (d[5, 4] + 1), (d[4, 4] + 0)) d[5,5] = min (3, 3, 1) d[5,5] = 1

Nilai-nilai yang didapatkan dari perhitungan nilai edit distance kata typographical error terhadap kandidat kata ketiga pada Tabel 4.6 akan

Page 60: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

43

dimasukkan ke dalam matriks hasil perhitungan. Masing-masing hasil perhitungan akan disimpan ke dalam sebuah array 2 dimensi yang disesuaikan dengan indeks baris dan kolomnya. Berikut ini ditunjukkan matriks hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata ketiga “jarak” pada Tabel 4.7:

Tabel 4.9 Matriks Hasil Perhitungan Nilai Edit Distance

J U R A K

0 1 2 3 4 5

J 1 0 1 2 3 4

A 2 1 1 2 2 3

R 3 2 2 1 2 3

A 4 3 3 2 1 2

K 5 4 4 3 2 1

Tabel 4.7 menunjukkan hasil perhitungan nilai edit distance kata typographical error “jurak” terhadap kandidat kata ketiga “jarak”. Nilai akhir yang digunakan sebagai hasil adalah nilai dari tabel matriks pada baris dan kolom terakhir. Pada tabel diatas, nilai pada baris dan kolom terakhir ditandai dengan warna kuning. Dapat disimpulkan bahwa nilai edit distance untuk kata typographical error terhadap kandidat kata ketiga adalah 1.

4.3.4 Penentuan Ranking Kandidat Kata Menggunakan Metode N-gram

Tahapan ini merupakan tahap pengolahan kandidat kata apabila pada suatu kata typographical error terdapat beberapa kandidat kata dengan nilai edit distance yang sama setelah dilakukan proses sebelumnya pada metode Levenshtein Distance. Beberapa kandidat kata yang didapatkan pada proses koreksi menggunakan metode Levenshtein Distance memiliki nilai edit distance yang sama sehingga diperlukan adanya penentuan ranking. Proses dilakukan dengan menggunakan metode N-gram dan perhitungan cosine similarity. Metode N-gram dilakukan dengan nilai N=2 dan perhitungan cosine similarity dilakukan dengan nilai tf-idf.

Penyelesaian tahapan penentuan kandidat kata menggunakan N-gram berdasarkan perhitungan cosine similarity diuraikan pada alur Gambar 4.8 berikut:

Page 61: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

44

Gambar 4.8 Alur Tahapan Penentuan Ranking Kandidat Kata

Berdasarkan Gambar 4.8 diatas, apabila kata typographical error yang terdeteksi memiliki jumlah kandidat lebih dari 1 kata maka akan dilakukan proses selanjutnya. Namun apabila kondisi tersebut tidak terpenuhi, maka langsung ditampilkan hasil kandidat. Kata typographical error dan kandidat kata yang lebih dari 1 kata dilakukan proses pemotongan karakter dengan nilai N sebanyak 2, didalam N-gram pemotongan karakter dengan nilai N=2 ini disebut dengan bigram. Penyelesaian tahapan pemotongan karakter menggunakan bigram diuraikan pada alur Gambar 4.9 berikut:

Page 62: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

45

Gambar 4.9 Alur Tahapan Pemotongan Karakter dengan Bigram

Kata yang terdeteksi sebagai kata typographical error yaitu “jurak” dengan beberapa kandidat kata benar dengan 3 contoh kata adalah ”urak”, ”jirak” dan ”jarak”. Pembatasan kandidat kata pada perhitungan manual ini tidak terdapat relevansi terhadap jumlah kandidat kata pada sistem. Masing-masing kata typographical error dan kandidat kata dilakukan proses pemotongan karakter menggunakan N-gram dengan nilai 2 yaitu bigram.

Misal kata “jurak” akan menjadi karakter-karakter bigram “ju ur ra ak”, dengan kandidat kata “jarak”. Kandidat kata “jarak” setelah dilakukan proses pemotongan karakter dengan bigram menjadi “ja ar ra ak”. Setelah didapatkan seluruh karakter-karakter bigram, alur berlanjut pada penentuan term berdasarkan karakter bigram. Proses penentuan term dijelaskan pada alur Gambar 4.10 berikut:

Page 63: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

46

Gambar 4.10 Alur Tahapan Penentuan Term

Seperti diuraikan pada Gambar 4.10 diatas, hasil akhir proses adalah daftar term sesuai dengan hasil bigram. Penentuan term dilakukan dengan mengambil karakter unik pada hasil bigram. Proses dilanjutkan dengan mencari nilai tf-idf pada kata typographical error yaitu “jurak” dan kandidat kata masing-masing adalah “urak”, “jirak” dan “jarak”. Berdasarkan term karakter bigram pada kata typographical error dan semua kandidat kata, dilakukan perhitungan kemunculan term yang disebut tf (Term Frequency) pada kata typographical error dan kandidat kata. Adapun alur tahapan perhitungan tf seperti dijelaskan pada Gambar 4.11 berikut:

Page 64: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

47

Gambar 4.11 Alur Tahapan Perhitungan Nilai tf (Term Frequency)

Sesuai dengan alur tahapan perhitungan nilai tf pada Gambar 4.11, masing-masing karakter bigram dilakukan perhitungan manual seperti berikut pada Tabel 4.8 dijelaskan perhitungan nilai tf pada kata typographical error dan 3 contoh kandidat kata sesuai term:

Tabel 4.10 Perhitungan Nilai tf pada Kata Typographical Error dan Kandidat Kata

Term tf

Q K1 K2 K3

ju 1 0 0 0

ur 1 1 0 0

ra 1 1 1 1

ak 1 1 1 1

ja 0 0 0 1

Page 65: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

48

Tabel 4.11 Perhitungan Nilai tf pada Kata Typographical Error dan Kandidat Kata (lanjutan)

ar 0 0 0 1

ji 0 0 1 0

ir 0 0 1 0

Setelah dilakukan proses perhitungan nilai tf pada kata typographical error dan kandidat kata, berlanjut pada proses perhitungan jumlah dokumen yang mengandung term tertentu. Proses ini yang disebut dengan idf (Inverse Document Frequency). Penjelasan mengenai alur tahapan perhitungan idf diuraikan pada Gambar 4.12 berikut:

Gambar 4.12 Alur Tahapan Perhitungan Nilai idf (Inverse Document Frequency)

Berdasarkan Gambar 4.12 diatas, perhitungan jumlah kata ini berdasarkan pada term kata yang ada sesuai dengan pemisahan kata dengan bigram. Formula

Page 66: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

49

untuk mencari nilai idf yaitu dengan rumus LN(N/nilai tf), dimana LN disini adalah Log Natural dengan basis e bernilai 2.718281828459. Perhitungan manual nilai idf dijelaskan pada Tabel 4.9 berikut ini:

Tabel 4.12 Perhitungan Nilai idf pada Kata Typographical Error dan Kandidat Kata

Term tf

df idf (ln N/DF) Q K1 K2 K3

ju 1 0 0 0 1 1.39

ur 1 1 0 0 2 0.69

ra 1 1 1 1 4 0

ak 1 1 1 1 4 0

ja 0 0 0 1 1 1.39

ar 0 0 0 1 1 1.39

ji 0 0 1 0 1 1.39

ir 0 0 1 0 1 1.39

Proses perhitungan dilanjutkan dengan menghitung nilai perkalian tf dan idf untuk selanjutnya digunakan dalam perhitungan cosine similarity. Perhitungan perkalian tf dan idf dijelaskan pada Tabel 4.10 berikut ini:

Tabel 4.13 Perhitungan Nilai tf-idf pada Kata Typographical Error dan Kandidat Kata

Term Wij = tf x idf

Q K1 K2 K3

ju 1.39 0 0 0

ur 0.69 0.69 0 0

ra 0 0 0 0

ak 0 0 0 0

ja 0 0 0 1.39

ar 0 0 0 1.39

ji 0 0 1.39 0

ir 0 0 1.39 0

Berdasarkan Tabel 4.10 diatas, hasil yang didapat adalah nilai tf-idf pada masing-masing kata typographical error dan semua kandidat kata sesuai dengan term yang telah ditetapkan. Perhitungan dilanjutkan dengan menentukan nilai

Page 67: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

50

cosine similarity. Perhitungan ini dilakukan berdasarkan nilai tf dan idf pada masing-masing term kata typographical error dan semua kandidat kata. Alur perhitungan nilai cosine similarity dijelaskan pada Gambar 4.13 berikut:

Gambar 4.13 Alur Tahapan Perhitungan Nilai Cosine Similarity

Berdasarkan Gambar 4.13, cosine similarity didapatkan dari dua kumpulan nilai. Kumpulan nilai tersebut adalah docVector1 dan docVector2. Dalam permasalahan dalam penelitian ini, docVector1 merupakan query kata typographical error. Sedangkan untuk docVector2 adalah kandidat kata yang berjumlah lebih dari 1 sesuai dengan kata typographical error. Rumus yang digunakan untuk perhitungan cosine similarity adalah seperti yang telah dijelaskan pada Persamaan 2.6 pada Sub Bab 2.8 tentang cosine similarity. Nilai cosine similarity bernilai 0 pada saat kedua pembilang dan penyebutnya bernilai 0.

Page 68: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

51

Berikut pada Tabel 4.11 dijelaskan mengenai perhitungan cosine similarity untuk kata typographical error ”jurak” dan semua kandidat kata “urak”, “jirak dan “jarak”:

Tabel 4.14 Perhitungan Cosine Similarity dari Kata Typographical Error dan Kandidat Kata

Term W x Wki Panjang vektor

K1 K2 K3 Q K1 K2 K3

ju 0 0 0 1.92 0 0 0

ur 0.48 0 0 0.48 0.48 0 0

ra 0 0 0 0 0 0 0

ak 0 0 0 0 0 0 0

ja 0 0 0 0 0 0 1.92

ar 0 0 0 0 0 0 1.92

ji 0 0 0 0 0 1.92 0

ir 0 0 0 0 0 1.92 0

Jumlah 0.48 0 0 2.40 0.48 3.84 3.84 Akar 1.55 0.69 1.96 1.96

Tabel 4.15 Hasil Cosine Similarity pada Semua Kandidat Kata

Cosine Similarity

Kandidat Kata 1 = Urak Kandidat Kata 2 = Jirak Kandidat Kata 3 = Jarak

0.45 0 0

Dari tiga perhitungan manual cosine similarity pada Tabel 4.11 didapatkan hasil yang berbeda untuk setiap kandidat kata. Untuk kandidat kata pertama yaitu “urak”, hasil perhitungan cosine similarity bernilai 0.45. Sedangkan untuk kandidat kata kedua “jirak” dan kandidat kata ketiga “jarak”, hasil perhitungan cosine similarity pada kedua kandidat kata tersebut sama yaitu bernilai 0. Proses berlanjut pada pengurutan nilai cosine similarity pada sistem.

Pengurutan dilakukan dengan metode bubble sort, dimana merupakan teknik pengurutan sederhana dengan mengurutkan data dari yang terbesar ke yang terkecil (maupun sebaliknya). Pengurutan dilakukan dengan cara bertukar data dengan tepat di sebelah posisi angka yang ditukar secara terus-menerus hingga dapat dipastikan bahwa dalam satu kali iterasi tertentu tidak ada lagi perubahan posisi. Proses akan mengulang terus membandingkan tiap-tiap angka dalam elemen array dan menukar posisi apabila urutannya salah. Kemudian, proses selanjutnya adalah pengurutan kandidat kata sesuai dengan urutan nilai cosine similarity pada masing-masing kandidat kata. Hasil dari output sistem adalah kandidat kata dengan ranking masing-masing sesuai urutan cosine similarity. Berikut pada Gambar 4.14 dan Gambar 4.15 menjelaskan tentang alur

Page 69: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

52

tahapan pengurutan cosine similarity dan pengurutan kandidat kata sesuai dengan urutan nilai cosine similarity:

Gambar 4.14 Alur Tahapan Pengurutan Nilai Cosine Similarity

Dengan hasil tersebut, dapat disimpulkan bahwa kandidat kata pertama yaitu “urak” menjadi kandidat kata dengan ranking pertama pada sistem berdasarkan nilai cosine similarity yang tertinggi dari ketiga kandidat kata yang disarankan. Hasil output pada sistem akan menampilkan daftar kandidat kata pada masing-masing kata typographical error sesuai dengan urutan nilai cosine similarity dari yang terbesar hingga terkecil sehingga memberikan gambaran pada user tentang pengganti kata typographical error yang sesuai.

Page 70: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

53

Gambar 4.15 Alur Tahapan Pengurutan Kandidat Kata Berdasarkan Nilai Cosine

Similarity

Kandidat Kata 1 = Urak Kandidat Kata 2 = Jirak Kandidat Kata 3 = Jarak

0.45 0 0

Dari alur tahapan pengurutan kandidat kata berdasarkan nilai cosine similarity dari kata typographical error dengan masing-masing kandidat kata, maka dapat diketahui bahwa kandidat kata dengan nilai cosine similarity tertinggi yaitu “urak” merupakan kandidat dengan ranking pertama pada hasil output sistem.

Page 71: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

54

4.4 Perancangan Antarmuka (Interface)

Antarmuka (interface) pada sistem adalah mekanisme yang digunakan pengguna dengan sistem dalam hal berkomunikasi. Perancangan antarmuka pada sistem yang akan dibangun terdiri dari halaman awal yang memuat pilihan data input yang akan di proses, halaman hasil identifikasi kata dengan typographical error pada dokumen data input serta halaman koreksi kata dan penentuan kandidat kata pada sistem. Pada perancangan antarmuka akan dijelaskan secara detail rancangan tampilan pada sistem yang akan dibangun.

4.4.1 Perancangan Antarmuka Halaman Pemberian Data Input Sistem

Halaman utama sistem ini terdiri dari tombol untuk memberikan data input berupa file dokumen skripsi pada penyimpanan PC user. Data input yang terbaca sistem akan ditampilkan pada kolom untuk dilakukan proses preview oleh user. Kemudian data input di proses dalam sistem dengan menekan tombol Proses. Adapun rancangan detail untuk halaman awal (home) sistem ditunjukkan pada Gambar 4.16 berikut:

Gambar 4.16 Rancangan Antarmuka Memberikan Data Input pada Sistem

Keterangan penomoran pada Gambar 4.16 :

1. Header sistem berisi judul dari sistem yang dibangun

2. Text box berisi path data input

3. Text box berisi preview untuk data input

4. Tombol untuk memilih file data input

5. Tombol untuk memproses file data input

6. Nama pembuat sistem

Page 72: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

55

4.4.2 Perancangan Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem

Halaman hasil identifikasi merupakan halaman yang ditampilkan setelah proses pemberian data input pada sistem dilakukan. Sistem akan memproses data input dengan proses yang telah dijelaskan pada subbab sebelumnya pada bab ini. Daftar kata yang ada dalam data input ditampilkan setelah dilakukan preprocessing dokumen. Hasil identifikasi kata typographical error pada halaman ini akan ditampilkan dalam bentuk daftar kata sesuai dengan isi dokumen pada data input.

Tampilan halaman hasil identifikasi kata typographical error pada sistem berupa daftar kata dalam dokumen yang telah melalui preprocessing serta daftar kata typographical error yang telah teridentifikasi oleh sistem. Tombol tampilkan kandidat kata diproses setelah user melakukan klik tombol dan hasil kandidat kata akan muncul sesuai dengan peringkat cosine similarity yang telah dihitung. Adapun rancangan detail untuk halaman hasil identifikasi pada sistem ditunjukkan pada Gambar 4.17 berikut:

Gambar 4.17 Rancangan Antarmuka Halaman Hasil Identifikasi pada Sistem

Keterangan penomoran pada Gambar 4.17:

1. Header sistem berisi judul dari sistem yang dibangun

2. Text box berisi daftar kata dalam dokumen

3. Text box berisi daftar kata typographical error yang teridentifikasi dalam dokumen

4. Tombol untuk menampilkan kandidat kata untuk kata typographical error yang teridentifikasi dalam dokumen

Page 73: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

56

5. Text box berisi hasil kandidat kata sesuai dengan kata typographical error yang teridentifikasi

6. Nama pembuat sistem

4.5 Perancangan Pengujian Sistem

Sebuah sistem yang telah dirancang kemudian diuji dengan beberapa ketentuan. Tahap perancangan pengujian sistem memiliki fungsi untuk menguji seberapa besar nilai kesesuaian yang dihasilkan antara perhitungan manual metode Levenshtein Distance dan N-gram dengan implementasi sistem pada proses koreksi. Pengujian yang dilakukan terdiri dari lima jenis yaitu pengujian seluruh jenis typographical error berdasarkan jumlah dokumen, pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen, pengujian berdasarkan jumlah kata typographical error jenis insertion dalam satu dokumen, pengujian berdasarkan jumlah kata typographical error jenis deletion dalam satu dokumen dan pengujian berdasarkan jumlah kata typographical error jenis substitution dalam satu dokumen.

4.5.1 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen

Pengujian berdasarkan jumlah seluruh dokumen dengan kata typographical error dilakukan untuk mengetahui seberapa besar pengaruh jumlah kata typographical error dalam setiap dokumen terhadap nilai presisi dan recall yang dihasilkan sistem. Pengujian dilakukan menggunakan dokumen skripsi sebanyak 5 dokumen, dengan diambil sample pada satu bab yaitu Bab 1 Pendahuluan. Perancangan untuk pengujian seluruh jenis typographical error berdasarkan jumlah dokumen dapat dilihat pada Tabel 4.13 berikut:

Tabel 4.16 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen

No. Dokumen Hasil Pengujian

Presisi Recall

1. Dokumen 1

2. Dokumen 2

3. Dokumen 3

4. Dokumen 4

5. Dokumen 5

Page 74: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

57

4.5.2 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Pengujian berdasarkan jumlah kata typographical error dalam satu dokumen dilakukan untuk mengetahui seberapa besar pengaruh seluruh jenis typographical error terhadap nilai presisi dan recall pada sistem. Jumlah kata typographical error bervariasi dari 5 kata hingga 50 kata pada setiap percobaan. Perancangan untuk pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen dapat dilihat pada Tabel 4.14 berikut:

Tabel 4.17 Perancangan Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata

2. 10 kata

3. 15 kata

4. 20 kata

5. 25 kata

6. 30 kata

7. 35 kata

8. 40 kata

9. 45 kata

10. 50 kata

4.5.3 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Insertion dalam Satu Dokumen

Pengujian berdasarkan jumlah kata typographical error dengan jenis insertion dalam satu dokumen dilakukan untuk mengetahui seberapa besar pengaruh jenis kata typographical error insertion terhadap nilai presisi dan recall sistem. Jumlah kata typographical error bervariasi dari 5 kata hingga 50 kata. Perancangan untuk pengujian berdasarkan jumlah kata typographical error jenis insertion dalam satu dokumen dapat dilihat pada Tabel 4.15 berikut:

Page 75: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

58

Tabel 4.18 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Insertion dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata

2. 10 kata

3. 15 kata

4. 20 kata

5. 25 kata

6. 30 kata

7. 35 kata

8. 40 kata

9. 45 kata

10. 50 kata

4.5.4 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen

Pengujian berdasarkan jumlah kata typographical error dengan jenis deletion dalam satu dokumen dilakukan untuk mengetahui seberapa besar pengaruh jenis kata typographical error deletion terhadap nilai presisi dan recall sistem. Jumlah kata typographical error bervariasi dari 5 kata hingga 50 kata. Perancangan untuk pengujian berdasarkan jumlah kata typographical error jenis deletion dalam satu dokumen dapat dilihat pada Tabel 4.16 berikut:

Tabel 4.19 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata

2. 10 kata

3. 15 kata

4. 20 kata

5. 25 kata

6. 30 kata

7. 35 kata

Page 76: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

59

Tabel 4.20 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Deletion dalam Satu Dokumen (lanjutan)

8. 40 kata

9. 45 kata

10. 50 kata

4.5.5 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Substitution dalam Satu Dokumen

Pengujian berdasarkan jumlah kata typographical error dengan jenis substitution dalam satu dokumen dilakukan untuk mengetahui seberapa besar pengaruh jenis kata typographical error substitution terhadap nilai presisi dan recall sistem. Jumlah kata typographical error bervariasi dari 5 kata hingga 50 kata. Perancangan untuk pengujian berdasarkan jumlah kata typographical error jenis substitution dalam satu dokumen dapat dilihat pada Tabel 4.17 berikut:

Tabel 4.21 Perancangan Pengujian Berdasarkan Jumlah Kata Typographical Error Jenis Substitution dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata

2. 10 kata

3. 15 kata

4. 20 kata

5. 25 kata

6. 30 kata

7. 35 kata

8. 40 kata

9. 45 kata

10. 50 kata

Page 77: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

60

BAB 5 IMPLEMENTASI

Pada bab ini akan dijelaskan mengenai implementasi sistem berdasarkan metodologi dan perancangan yang telah dijelaskan pada bab sebelumnya. Bab ini terdapat pembahasan mengenai batasan implementasi dan implementasi sistem.

5.1 Batasan Implementasi

Batasan implementasi adalah batasan-batasan dalam proses yang dilakukan sistem berdasarkan perancangan yang telah dijelaskan secara detail pada bab sebelumnya. Batasan implementasi memiliki tujuan yaitu merancang sistem sesuai dengan ruang lingkup yang jelas dan sesuai dengan tujuan utama dari sistem. Berikut beberapa batasan implementasi dari sistem dalam penelitian ini, yaitu:

1. Penggunaan perangkat keras

Laptop dengan processor Intel® Core i5-3210M CPU @ 2.50GHz RAM 4.00 GB, harddisk 1TB

2. Penggunaan perangkat lunak

Sistem Operasi Windows 10 64-bit

NetBeans IDE 8.0.2

Java Development Kit (JDK) 1.8

Word 2013

Excel 2013

3. Aplikasi identifikasi typographical error pada teks berbahasa Indonesia dirancang dan dijalankan pada desktop mengunakan aplikasi berbasis bahasa pemrograman Java

4. Metode yang digunakan untuk menyelesaikan masalah adalah N-gram dan Levenshtein Distance

5. Data yang digunakan adalah 5 data berupa skripsi dalam bentuk dokumen teks milik mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya Malang

6. Proses koreksi dilakukan dengan membandingkan terhadap kata yang terdapat pada kamus (non-word error), tidak memperhatikan grammar maupun struktur kata

7. Koreksi hanya dilakukan terhadap huruf, tidak untuk angka maupun tanda baca

8. Koreksi tidak dilakukan untuk nama orang, nama tempat, nama metode maupun istilah dalam bahasa asing

Page 78: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

61

9. Keluaran (output) yang dihasilkan sistem berupa kandidat kata sesuai dengan typographical error yang ada pada dokumen

10. Penentuan keluaran berupa kandidat kata ditampilkan berdasarkan kamus kata dengan menghitung nilai edit distance dari kata yang terdeteksi sebagai kata typographical error

11. Proses penentuan ranking untuk kandidat kata dihitung berdasarkan nilai cosine similarity pada setiap 2 karakter yang sudah dipisahkan metode N-gram pada kata typographical error dengan 2 karakter pada beberapa kandidat kata yang ditetapkan menggunakan metode Levenshtein Distance.

5.2 Implementasi Sistem

Pada sub bab ini membahas tentang implementasi sistem sesuai dengan perancangan yang telah dijelaskan pada bab sebelumnya. Implementasi sistem menjelaskan tentang tahapan-tahapan yang harus dilakukan pada aplikasi identifikasi typographical error pada dokumen teks berbahasa Indonesia menggunakan metode N-gram dan Levenshtein Distance. Tahapan-tahapan tersebut akan diuraikan berdasarkan alur kerja sistem yang telah dijelaskan pada bab sebelumnya. Penjelasan tahapan ini melibatkan beberapa sub program dengan potongan source code atau kode program aplikasi dengan tahapan alur proses identifikasi dan koreksi typographical error serta proses penentuan kandidat kata untuk pengganti kata yang salah.

5.2.1 Implementasi Pemberian Data Input

Tahapan implementasi awal sistem yaitu pemberian masukan atau data input ke dalam sistem berupa dokumen teks yang telah tersimpan sebelumnya dengan bentuk format txt. Data input berupa dokumen skripsi mahasiswa Fakultas Ilmu Komputer Universitas Brawijaya pada bagian Bab 1. Langkah pertama dalam implementasi sistem ditunjukkan pada potongan Kode Program 5.1 berikut:

Baris ke-

Kode Program

1

2

3

4

5

6

7

8

9

10 11 12 13

String line, text = "";

String textArray[];

public void inputFile(String path) {

try {

BufferedReader br = new

BufferedReader(new FileReader(path));

while ((line = br.readLine()) != null) {

text += line + " ";

}

br.close();

} catch (IOException e) {

Page 79: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

62

14 15

}

}

Kode Program 5.1 Implementasi Pemberian Data Input

Keterangan Kode Program 5.1:

Baris 1-2: deklarasi dan inisialisasi variabel yang digunakan

Baris 4-15: method dengan nama “inputFile” dan parameter “path” bertipe String untuk proses pemberian data input berupa dokumen skripsi dari file pada direktori komputer user, setiap kata dalam teks pada dokumen disimpan dalam variabel bertipe String.

5.2.2 Implementasi Teks Preprocessing pada Data Input

Data input telah diproses sistem untuk dilakukan tahapan selanjutnya, dokumen disimpan ke dalam bentuk array pada bahasa Java. Tahapan selanjutnya dilakukan preprocessing pada array dokumen dengan diawali pemisahan kalimat dalam dokumen menjadi daftar kata tunggal, proses ini disebut tokenisasi. Tahapan selanjutnya yaitu mendeklarasikan variabel array untuk menyimpan simbol dan angka sebagai delimiter pada proses case folding. Hasil dari proses case folding kemudian diproses kembali dengan proses filtering. Proses filtering dilakukan untuk mendapatkan kata-kata dalam dokumen yang bukan merupakan kata dalam istilah bahasa asing. Hal ini dilakukan karena pada penelitian ini, semua data yang diproses merupakan kata dalam bahasa Indonesia. Berikut potongan Kode Program 5.2 menampilkan preprocessing teks pada dokumen:

Baris ke-

Kode Program

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18 19 20 21 22

public void proses() {

String deli = "` ~ 1 2 3 4 5 6 7 8 9 0 ! @ # $

% ^ & * ( ) - _ + = { } [ ] // \\ / | : ; \" “” ‘”’

‘’’ < > , . ? \n \r";

String del[] = deli.split(" ");

textArray = text.split(" ");

ArrayList<String> temp = new ArrayList<>();

for (int i = 0; i < textArray.length; i++) {

for (int j = 0; j < textArray[i].length();

j++) {

if (textArray[i].toString().charAt(j)

== '-') {

textArray[i] =

textArray[i].toString().replace('-', ' ');

String sementara[] =

textArray[i].split(" ");

for (int s = 0; s <

sementara.length; s++) {

temp.add(sementara[s]);

}

Page 80: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

63

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

textArray[i] =

textArray[i].replace(textArray[i], "*");

}

}

}

String tempGab[] = new String[textArray.length

+ temp.size()];

for (int a = 0; a < tempGab.length; a++) {

if (a < textArray.length) {

tempGab[a] = textArray[a];

} else {

tempGab[a] = temp.get(a -

textArray.length);

}

}

for (int t = 0; t < tempGab.length; t++) {

tempGab[t] = tempGab[t].toLowerCase();

for (int u = 0; u < del.length; u++) {

tempGab[t] =

tempGab[t].replace(del[u], "");

}

afterproses.add(tempGab[t]);

}

for (int r = 0; r < afterproses.size() - 1;

r++) {

for (int s = r + 1; s <

afterproses.size(); s++) {

if

(afterproses.get(r).equalsIgnoreCase(afterproses.get(s

))) {

afterproses.remove(s);

}

}

}

afterproses.removeAll(Arrays.asList(null,

""));

}

public void filter() {

try {

Scanner sc = new Scanner(new

File("C:/Users/Arina

Fahma/Documents/NetBeansProjects/SkripsiTypo/english.t

xt"));

while (sc.hasNext()) {

english.add(sc.next());

}

} catch (IOException ex) {

}

Page 81: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

64

75 76 77 78 79 80

for (int a = 0; a < afterproses.size(); a++) {

if (english.indexOf(afterproses.get(a)) ==

-1) {

afterfilter.add(afterproses.get(a));

}}

Kode Program 5.2 Implementasi Preprocessing pada Data Input

Keterangan Kode Program 5.2:

Baris 1: deklarasi method type void dengan nama “proses”

Baris 2-8: deklarasi dan inisialisasi variabel yang digunakan

Baris 9-47: proses perulangan dengan for untuk mendapatkan kata dengan pemisah karakter “-“ untuk kemudian karakter “-“ dihapus dan digantikan dengan karakter “ “ (spasi)

Baris 49-62: proses perulangan untuk menghilangkan duplikasi kata pada dokumen dan menghapus nilai pada arrayList yang bernilai null dan kosong

Baris 64-80: method dengan nama “filter” bertipe void untuk proses penghapusan teks dengan istilah-istilah dalam bahasa Inggris menggunakan data referensi berupa kamus bahasa Inggris.

5.2.3 Implementasi Identifikasi Typographical Error

Tahapan identifikasi typographical error diproses menggunakan metode pendekatan Dictionary Lookup. Hasil dari tahapan ini berupa kata-kata dalam bahasa Indonesia yang tidak terdapat dalam kamus bahasa Indonesia dan diidentifikasi sebagai kata typographical error. Proses identifikasi dapat dilihat pada potongan Kode Program 5.3 berikut:

Baris ke-

Kode Program

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18

public CekTypo() {

kamus = bacaFile("C:\\Users\\Arina

Fahma\\Documents\\NetBeansProjects\\SkripsiTypo\\kbbi

.dic");

String k[] = kamus.split("\n");

Collections.addAll(this.list_dictionary, k);

}

public void cekKata(String path) {

Preprocess pr = new Preprocess();

pr.inputFile(path);

pr.proses();

pr.filter();

kata.addAll(pr.afterfilter);

for (int j = 0; j < pr.afterfilter.size(); j++)

{

Page 82: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

65

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

if

(list_dictionary.indexOf(pr.afterfilter.get(j)) == -

1) {

temp_typo.add(pr.afterfilter.get(j));

}

}

exc.addAll(Arrays.asList(e));

for (int i = 0; i < temp_typo.size(); i++) {

if (exc.contains(temp_typo.get(i))) {

typo.add(temp_typo.get(i));

}

}

public String bacaFile(String filepath) {

BufferedReader br = null;

String text = "";

try {

String line;

br = new BufferedReader(new

FileReader(filepath));

while ((line = br.readLine()) != null) {

text += line + "\n";

} catch (IOException e) {

System.out.println("Gagal membaca file " +

filepath);

} finally {

try {

if (br != null) {

br.close();

}

} catch (IOException ex) {

}

}

return text;

}

Kode Program 5.3 Implementasi Identifikasi Typographical Error

Keterangan Kode Program 5.3:

Baris 1: deklarasi konstruktor dengan nama yang sama dengan class java “cekTypo”

Baris 2-6: deklarasi dan inisialisasi variabel yang digunakan

Baris 7: deklarasi method void “cekKata” dengan parameter path bertipe String

Baris 10-30: proses untuk mendapatkan kata dalam dokumen data input yang teridentifikasi sebagai kata typographical error.

Baris 32-55: method bertipe String “bacaFile” dengan parameter filepath bertipe String untuk proses pembacaan teks

Page 83: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

66

5.2.4 Implementasi Penentuan Kandidat Kata sebagai Koreksi Typographical Error

Tahapan penentuan kandidat kata terhadap kata typographical error yang telah teridentifikasi menggunakan metode Levenshtein Distance. Pencarian kandidat kata dilakukan dengan mencari nilai minimum dari perhitungan edit distance antara kata typographical error dan semua kata dalam kamus bahasa Indonesia. Proses penentuan kandidat kata dijelaskan pada potongan Kode Program 5.4 berikut:

Baris ke-

Kode Program

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

private static int min(int a, int b, int c) {

return Math.min(Math.min(a, b), c);

}

private static int min(int a, int b) {

return Math.min(a, b);

}

public static int hitungNilaiLevenshtein(String s,

String t) {

int i, j, cost;

int d[][];

int n = s.length();

int m = t.length();

if (n == 0) {

return m;

} else if (m == 0) {

return n;

} else {

d = new int[n + 1][m + 1];

for (i = 0; i <= n; i++) {

d[i][0] = i;

}

for (j = 0; j <= m; j++) {

d[0][j] = j;

}

for (i = 1; i <= n; i++) {

for (j = 1; j <= m; j++) {

if (s.charAt(i - 1) == t.charAt(j

- 1)) {

cost = 0;

} else {

cost = 1;

}

d[i][j] = min(

d[i - 1][j] + 1,

d[i][j - 1] + 1,

Page 84: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

67

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

d[i - 1][j - 1] + cost);

}

}

return d[n][m];

}

}

public void hitungNilaiLevenshtein2(String kata)

{

CekTypo c = new CekTypo();

for (int k = 0; k <

c.list_dictionary.size(); k++) {

disTemp.add(hitungNilaiLevenshtein(kata,

c.list_dictionary.get(k)));

}

minTemp = disTemp.get(0);

for (int g = 0; g < disTemp.size(); g++) {

minTemp = min(minTemp, disTemp.get(g));

}

for (int h = 0; h < disTemp.size(); h++) {

if (disTemp.get(h) == minTemp) {

wordsCand.add(c.list_dictionary.get(h));

}}}

Kode Program 5.4 Implementasi Penentuan Kandidat Kata sebagai Koreksi Typographical Error

Keterangan Kode Program 5.4:

Baris 1-7: deklarasi method menghitung nilai minimal dari 3 variabel dan 2 variabel untuk proses perhitungan nilai edit distance

Baris 9-45: deklarasi method “hitungNilaiLevenshtein” dengan parameter “s” dan “t” bertipe String untuk proses perhitungan nilai edit distance pada setiap kata typographical error

Baris 47-62: deklarasi method “hitungNilaiLevenshtein2” dengan parameter “kata” bertipe String untuk proses perhitungan nilai edit distance yang minimal dari kata typographical error terhadap semua kata dalam data referensi yaitu kamus bahasa Indonesia.

5.2.5 Implementasi Penentuan Ranking Kandidat Kata

Hasil dari tahapan penentuan kandidat kata terhadap kata typographical error diproses pada tahapan selanjutnya dengan menentukan ranking kandidat kata. Penentuan ranking menggunakan metode N-gram dengan N sebesar 2 dan perhitungan tf-idf serta cosine similarity. Nilai cosine similarity pada kandidat kata dilakukan pengurutan dan menghasilkan daftar kandidat kata terurut dari nilai cosine similarity terbesar hingga terkecil. Tahapan penentuan ranking kandidat kata dapat dilihat pada potongan Kode Program 5.5 berikut:

Page 85: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

68

Baris ke-

Source Code Program

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

public void hitungNgram(String s) {

if (s.length() == 2) {

hasilNgram.add(s);

} else if (s.length() > 2) {

for (int i = 0; i < s.length() - 1; i++)

{

temp = s.substring(i, i + 2);

hasilNgram.add(temp);

}

}

}

public ArrayList<String>

getTerm(ArrayList<String> daftarKata) {

for (int i = 0; i < daftarKata.size(); i++)

{

term.add(daftarKata.get(i));

lhs.addAll(term);

term.clear();

term.addAll(lhs);

}

return term;

}

public int tf(ArrayList<String> doc, String

term_doc) {

nilaiTf = 0;

for (int f = 0; f < doc.size(); f++) {

if

(doc.get(f).equalsIgnoreCase(term_doc)) {

nilaiTf++;

}

}

return nilaiTf;

}

public double idf(ArrayList<ArrayList<String>>

docs, String term_docs) {

nilaiDf, nilaiIdf, nilaiWtf = 0;

for (int i = 0; i < docs.size(); i++) {

for (int j = 0; j < docs.get(i).size();

j++) {

if

(docs.get(i).get(j).equalsIgnoreCase(term_docs)) {

nilaiDf++;}}

}

nilaiWtf = 1 + Math.log(nilaiDf);

jumlahDokumen = docs.size();

nilaiIdf = Math.log(jumlahDokumen /

nilaiDf);

Page 86: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

69

51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

return nilaiIdf;

}

public double tfIdf(ArrayList<String> doc,

ArrayList<ArrayList<String>> docs, String term) {

nilaiTfIdf = 0;

nilaiTfIdf = tf(doc, term) * idf(docs,

term);

return nilaiTfIdf;

}

public double cosineSimilarity(ArrayList<Double>

docVector1, ArrayList<Double> docVector2) {

dotProduct = 0.0;

magnitude1 = 0.0;

magnitude2 = 0.0;

cosineSimilarity = 0.0;

for (int i = 0; i < docVector1.size(); i++)

{

dotProduct += docVector1.get(i) *

docVector2.get(i); //a.b

magnitude1 +=

Math.pow(docVector1.get(i), 2); //(a^2)

magnitude2 +=

Math.pow(docVector2.get(i), 2); //(b^2)

}

magnitude1 =

Math.sqrt(magnitude1);//sqrt(a^2)

magnitude2 =

Math.sqrt(magnitude2);//sqrt(b^2)

if (magnitude1 != 0.0 | magnitude2 != 0.0) {

cosineSimilarity = dotProduct /

(magnitude1 * magnitude2);

} else if (dotProduct == 0.0 && magnitude1

== 0.0 && magnitude2 == 0.0) {

cosineSimilarity = 0.0;

}

return cosineSimilarity;

}

public ArrayList<Integer>

indexOfDup(ArrayList<Double> CosimUnsorted, double

nilai) {

int pointer = 0;

for (int i = 0; i < CosimUnsorted.size();

i++) {

if (nilai == CosimUnsorted.get(i) && i

>= pointer) {

dupInd2.add(i);}}

Page 87: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

70

103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

return dupInd2;

}

public ArrayList<Double>

sortingData(ArrayList<Double> cosim) {

double tempC = 0;

for (int i = 0; i < cosim.size(); i++) {

for (int j = 1; j < cosim.size() - i;

j++) {

if (cosim.get(j - 1) < cosim.get(j))

{

tempC = cosim.get(j - 1);

cosim.set(j - 1, cosim.get(j));

cosim.set(j, tempC);}}

}

return cosim;

}

public ArrayList<String>

sortingCand(ArrayList<ArrayList<Integer>> nCos,

ArrayList<String> kandid) {

kandidat = new ArrayList<>();

kandidatPerData = new ArrayList<>();

for (int i = 0; i < nCos.size(); i++) {

if (nCos.get(i).size() > 1) {

for (int j = 0; j <

nCos.get(i).size(); j++) {

kandidat.add(kandid.get(nCos.get(i).get(j)));

}

} else if (nCos.get(i).size() == 1) {

kandidat.add(kandid.get(nCos.get(i).get(0)));

}

}

return kandidat;

}

Kode Program 5.5 Implementasi Penentuan Ranking Kandidat Kata

Keterangan Kode Program 5.5:

Baris 1-12: deklarasi method “hitungNgram” bertipe void dengan parameter String s untuk melakukan proses bigram pada kata typographical error dan kandidat kata pada masing-masing kata typographical error

Baris 14-24: deklarasi method “getTerm” dengan parameter Arraylist String daftarKata untuk proses penentuan term kata

Baris 26-36: deklarasi method “tf” dengan parameter Arraylist String doc dan String term_doc untuk proses perhitungan nilai tf (term frequency) masing-masing kata

Page 88: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

71

Baris 38-53: deklarasi method “idf” dengan parameter Arraylist String 2 dimensi doc dan String term_docs untuk proses perhitungan nilai idf (inverse document frequency) masing-masing kata

Baris 55-61: deklarasi method “tfidf” dengan parameter Arraylist String doc, Arraylist String 2 dimensi docs dan String term untuk proses perhitungan nilai tf-idf (term frequency-inverse document frequency) masing-masing kata

Baris 63-93: deklarasi method “cosineSimilarity” dengan parameter Arraylist Double docVector1 dan Arraylist Double docVector2 untuk proses perhitungan nilai cosine similarity masing-masing kata

Baris 95-105: deklarasi method “indexOfDup” dengan parameter Arraylist Double cosimUnsorted dan Double nilai untuk proses pengambilan index pada kandidat kata

Baris 107-120: deklarasi method “sortingData” dengan parameter Arraylist Double cosim untuk melakukan pengurutan nilai cosim

Baris 122-140: deklarasi method “sortingCand” dengan parameter Arraylist Integer 2 dimensi nCos dan Arraylist String kandid cosim untuk melakukan pengurutan kandidat kata sesuai nilai cosine similarity yang dihasilkan.

5.3 Implementasi Antarmuka pada Sistem

5.3.1 Implementasi Antarmuka Halaman Awal pada Sistem

Berdasarkan bab 4 pada sub bab 4.4.1 tentang perancangan antarmuka halaman pemberian data input pada sistem, halaman ini merupakan tampilan halaman awal yang pertama kali ditampilkan pada sistem. Pada halaman ini, user diharuskan memilih data input berupa teks dokumen skripsi dengan path yang telah dipilih. Berikut tampilan halaman awal sistem pada proses implementasi:

Page 89: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

72

Gambar 5.1 Antarmuka Halaman Awal pada Sistem

Keterangan penomoran pada Gambar 5.1:

1. Header sistem berisi judul dari sistem yang dibangun

2. Judul sistem yang dibangun

3. Text box berisi path data input

4. Text box berisi preview untuk data input

5. Tombol untuk memilih file data input

6. Tombol untuk memproses file data input

7. Nama pembuat sistem

5.3.2 Implementasi Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem

Berdasarkan bab 4 pada sub bab 4.4.2 tentang perancangan antarmuka halaman hasil identifikasi dan penentuan kandidat kata pada sistem, halaman ini merupakan tampilan halaman setelah dilakukan pemberian data input yang diproses. Pada halaman ini, user mendapatkan hasil pada sistem berupa kata-kata yang diidentifikasi sebagai kata typographical error pada dokumen. Terdapat tombol untuk menampilkan kandidat kata yang benar untuk menggantikan kata typographical error pada dokumen. Pada halaman ini, user diharuskan untuk klik tombol “Tampilkan Kandidat Kata” pada halaman untuk mendapatkan daftar kandidat kata masing-masing kata typographical error sesuai dengan ranking kandidat kata. Berikut tampilan halaman hasil identifikasi dan penentuan kandidat kata sesuai dengan ranking pada sistem:

Page 90: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

73

Gambar 5.2 Antarmuka Halaman Hasil Identifikasi dan Penentuan Kandidat Kata pada Sistem

Keterangan penomoran pada Gambar 5.2:

1. Header sistem berisi judul dari sistem yang dibangun

2. Judul sistem yang dibangun

3. Text box berisi daftar kata dalam dokumen

4. Text box berisi daftar kata typographical error yang teridentifikasi dalam dokumen

5. Tombol untuk menampilkan kandidat kata untuk kata typographical error yang teridentifikasi dalam dokumen

6. Text box berisi hasil kandidat kata sesuai dengan kata typographical error yang teridentifikasi

7. Nama pembuat sistem

Page 91: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

74

BAB 6 PENGUJIAN DAN ANALISIS

Bab ini membahas tentang proses pengujian yang dilakukan terhadap sistem identifikasi typographical error yang telah diimplementasikan sesuai yang tercantum pada Bab 5. Selain itu, pada bab ini juga akan dijelaskan mengenai analisis terkait implementasi dan pengujian yang telah dilakukan sesuai dengan perancangan pada Bab 4.

6.1 Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen

Pengujian pertama adalah pengujian terhadap seluruh jenis typographical error berdasarkan jumlah dokumen. Jenis typographical error yang digunakan dalam pengujian adalah insertion (penambahan huruf), deletion (penghilangan huruf) dan substitution (penggantian huruf). Dokumen skripsi yang menjadi data uji pada sistem ini berjumlah 5 dokumen dengan jumlah kata typographical error dan jenis kata typographical error yang berbeda. Pengujian ini dilakukan dengan menggunakan perhitungan presisi dan recall pada sistem sesuai dengan hasil output sistem yaitu daftar kandidat kata sesuai dengan masing-masing kata typographical error. Hasil pengujian presisi dan recall untuk proses koreksi sesuai dengan seluruh jenis typographical error berdasarkan jumlah dokumen ditunjukkan pada Tabel 6.1 berikut:

Tabel 6.1 Hasil Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen

No. Dokumen Hasil Pengujian

Presisi Recall

1. Dokumen 1 1 1

2. Dokumen 2 0.82 1

3. Dokumen 3 0.44 1

4. Dokumen 4 1 1

5. Dokumen 5 1 1

Berdasarkan Tabel 6.1, nilai recall pada semua dokumen mencapai nilai

optimal 1. Sedangkan untuk nilai presisi, setiap dokumen memiliki nilai yang berbeda. Nilai presisi dan recall pada hasil pengujian diatas dipengaruhi jumlah kata typographical error dan kandidat kata yang dimiliki oleh masing-masing kata typographical error. Jumlah kandidat kata menjadi penyebab nilai presisi mengalami penurunan dan kenaikan. Hasil pengujian nilai presisi dan recall pada seluruh jenis typographical error dapat dibuat grafik sesuai dengan parameter jumlah dokumen yang digunakan pada sistem untuk melakukan pengujian ini.

Page 92: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

75

Berikut Gambar 6.1 menunjukkan grafik hasil pengujian pada seluruh jenis typographical error berdasarkan jumlah dokumen:

Gambar 6.1 Grafik Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Dokumen

Berdasarkan grafik pada Gambar 6.1, dapat disimpulkan bahwa pengujian untuk recall terhadap 5 dokumen bernilai konsisten pada nilai 1. Nilai recall dapat mencapai nilai optimal 1 karena semua kata typographical error memiliki kandidat kata yang benar sehingga dapat diketahui bahwa semua kata typographical error memiliki nilai aktual. Sedangkan untuk nilai presisi menurun pada dokumen 2 dan pada dokumen 3 namun kembali meningkat pada dokumen 4. Hal ini terjadi karena jumlah kata typographical error bervariasi pada setiap dokumen. Kata typographical error yang teridentifikasi pada dokumen 1, 4 dan 5 berjumlah lebih sedikit daripada jumlah kata typographical error pada dokumen 2 dan 3. Dokumen 1 memiliki kata yang teridentifikasi sebagai kata typographical error sejumlah 2 kata, dokumen 2 memiliki 5 kata typographical error, dokumen 3 berjumlah 4 kata typographical error, dokumen 4 berjumlah 2 kata typographical error dan dokumen 5 berjumlah 1 kata typographical error. Dari keberagaman jumlah kata typographical error, dapat diketahui alasan nilai presisi mengalami penurunan dan kenaikan.

Alasan selanjutnya untuk penurunan dan kenaikan nilai presisi adalah jumlah hasil kandidat pada masing-masing kata typographical error. Pada dokumen 2, terdapat salah satu kata typographical error yang memiliki kandidat kata berjumlah 10 sehingga mempengaruhi nilai presisi karena perhitungan nilai presisi mengambil nilai jumlah kandidat kata yang ditampilkan sistem. Pada dokumen 3, terdapat 3 kata typographical error yang memiliki kandidat kata berjumlah lebih dari 1 kata. Contohnya untuk kata “partoli” dengan kata aktual “patroli” memiliki kandidat kata sebanyak 7 kata. Hal ini membuat nilai presisi semakin kecil. Hasil

0

0.2

0.4

0.6

0.8

1

Dok 1Dok 2

Dok 3Dok 4

Dok 5

1

0.82

0.44

1 1

1 1 1 1 1

Presisi Recall

Page 93: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

76

kandidat kata pada sistem selain mengacu kepada nilai aktual, juga terdapat kata lain dalam kamus yang memiliki nilai edit distance minimum.

6.2 Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Pengujian selanjutnya dilakukan terhadap kata typographical error dengan seluruh jenis typographical error dengan jumlah yang tersebar dalam satu dokumen. Pengujian ini dilakukan sebanyak 10 kali percobaan dengan jumlah kata typographical error yang dijumlahkan sebanyak 5 kata pada setiap percobaan. Dokumen mengandung jenis kata typographical error yang berbeda untuk setiap percobaan. Perhitungan nilai Hasil pengujian presisi dan recall untuk seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen ditunjukkan pada Tabel 6.2 berikut:

Tabel 6.2 Hasil Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata 0.87 1

2. 10 kata 0.78 1

3. 15 kata 0.82 1

4. 20 kata 0.79 1

5. 25 kata 0.8 1

6. 30 kata 0.81 1

7. 35 kata 0.80 1

8. 40 kata 0.79 1

9. 45 kata 0.79 1

10. 50 kata 0.78 1

Pada Tabel 6.2, dapat diketahui bahwa nilai recall pada pengujian ini optimal 1. Pengujian ini memiliki hasil yang cenderung sama dengan pengujian sebelumnya, nilai presisi mengalami penurunan dan juga kenaikan nilai. Penyebab dari nilai presisi yang tidak konsisten adalah keberagaman jenis typographical error dan jumlah kandidat kata pada masing-masing kata typographical error. Berdasarkan hasil pengujian presisi dan recall pada seluruh jenis typographical error pada satu dokumen dapat dibuat suatu grafik berdasarkan parameter jumlah kata typographical error dalam satu dokumen. Berikut pada Gambar 6.2 ditunjukkan grafik pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen:

Page 94: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

77

Gambar 6.2 Grafik Pengujian Seluruh Jenis Typographical Error Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Dari grafik pengujian pada Gambar 6.2, dapat diambil kesimpulan pengujian dengan jenis typographical error berbeda pada satu dokumen menghasilkan nilai recall yang baik yaitu 1 serta nilai presisi yang cenderung stabil. Nilai recall konsisten dan optimal pada setiap percobaan, sedangkan berbeda hal dengan nilai presisi yang mengalami penurunan dan kenaikan. Hasil kandidat kata memiliki pengaruh besar terhadap nilai presisi sistem, karena perhitungan nilai presisi membutuhkan jumlah kandidat kata pada hasil output sistem. Seperti halnya pengujian sebelumnya, hasil kandidat kata pada sistem tidak hanya didapatkan sesuai nilai aktual tapi didapatkan juga kandidat kata lain dari kamus dengan nilai edit distance yang paling minimum.

6.3 Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Pengujian berdasarkan perhitungan presisi dan recall dilakukan untuk mengetahui pengaruh typographical error dengan jenis insertion pada kata terhadap nilai presisi dan recall sistem. Pengujian ini dilakukan dengan jumlah kata typographical error yang dijumlahkan sebanyak 5 kata setiap percobaan. Dokumen dibedakan jumlah kata typographical error pada setiap percobaan namun jenis typographical error yang digunakan sama yaitu jenis insertion. Jenis kata typographical error insertion merupakan jenis kata typographical error dimana kata mengalami penambahan huruf sehingga menjadi kata yang tidak dikenali dalam kamus yang digunakan. Contoh untuk kata typographical error insertion adalah “mlunak”, dengan kata yang dimaksud adalah “lunak”. Pengujian jenis typographical error insertion berdasarkan jumlah kata typographical error dalam satu dokumen ditunjukkan pada Tabel 6.3 berikut:

0

0.2

0.4

0.6

0.8

1

5 katatypo

10katatypo

15katatypo

20katatypo

25katatypo

30katatypo

35katatypo

40katatypo

45katatypo

50katatypo

0.870.78 0.82 0.79 0.8 0.81 0.8 0.79 0.79 0.78

1 1 1 1 1 1 1 1 1 1

Presisi Recall

Page 95: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

78

Tabel 6.3 Hasil Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata 1 1

2. 10 kata 1 1

3. 15 kata 0.97 1

4. 20 kata 0.98 1

5. 25 kata 0.98 1

6. 30 kata 0.95 0.97

7. 35 kata 0.94 0.97

8. 40 kata 0.95 0.98

9. 45 kata 0.96 0.98

10. 50 kata 0.93 0.98

Berdasarkan hasil pengujian presisi dan recall pada jenis typographical error insertion pada satu dokumen pada Tabel 6.3, dapat dibuat suatu grafik berdasarkan parameter jumlah kata typographical error. Berikut pada Gambar 6.3 ditunjukkan grafik pengujian jenis typographical error insertion berdasarkan jumlah kata typographical error dalam satu dokumen:

Gambar 6.3 Grafik Pengujian Jenis Typographical Error Insertion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

0

0.2

0.4

0.6

0.8

1

5 katatypo

10katatypo

15katatypo

20katatypo

25katatypo

30katatypo

35katatypo

40katatypo

45katatypo

50katatypo

1 1 0.97 0.98 0.98 0.95 0.94 0.95 0.960.93

1 1 1 1 1 0.97 0.97 0.98 0.98 0.98

Presisi Recall

Page 96: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

79

Dari grafik pengujian pada Gambar 6.3, dapat diketahui bahwa jenis kata typographical error insertion pada setiap percobaan menghasilkan nilai presisi dan recall yang cenderung stabil pada beberapa percobaan. Nilai presisi dan recall mengalami penurunan dan kenaikan dipengaruhi oleh tidak adanya kandidat kata yang dihasilkan sistem terhadap kata yang teridentifikasi kata typographical error. Selain itu, Nilai presisi juga dipengaruhi jumlah kandidat kata yang dihasilkan pada hasil output sistem pada masing-masing kata typographical error. Pengujian ini dapat diambil kesimpulan bahwa sistem dapat mengidentifikasi dengan baik dan memberikan hasil output sistem berupa kandidat kata terhadap kata typographical error jenis insertion. Untuk mengidentifikasi jenis typographical error insertion, sistem memiliki nilai presisi dan recall yang baik dan cenderung stabil.

6.4 Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Pengujian ini dilakukan dengan 10 kali percobaan dimana jumlah kata typographical error dijumlahkan sebanyak 5 kata setiap percobaan. Jenis kata typographical error deletion merupakan jenis kata typographical error dimana kata mengalami penghilangan huruf. Contoh untuk kata typographical error deletion adalah “kemaru”, dengan kata yang dimaksud adalah “kemarau”. Pengujian presisi dan recall dilakukan untuk mengetahui pengaruh typographical error dengan jenis deletion pada kata terhadap nilai presisi dan recall sistem. Pengujian jenis typographical error deletion berdasarkan jumlah kata typographical error dalam satu dokumen ditunjukkan pada Tabel 6.4 berikut:

Tabel 6.4 Hasil Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata 0.40 0.67

2. 10 kata 0.47 0.80

3. 15 kata 0.52 0.87

4. 20 kata 0.55 0.90

5. 25 kata 0.55 0.92

6. 30 kata 0.62 0.93

7. 35 kata 0.65 0.94

8. 40 kata 0.58 0.90

9. 45 kata 0.59 0.91

10. 50 kata 0.60 0.92

Page 97: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

80

Berdasarkan hasil pengujian presisi dan recall pada jenis typographical error deletion pada satu dokumen pada Tabel 6.4, dapat dibuat suatu grafik berdasarkan parameter jumlah kata typographical error. Berikut pada Gambar 6.4 ditunjukkan grafik pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error deletion dalam satu dokumen:

Gambar 6.4 Grafik Pengujian Jenis Typographical Error Deletion Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Dari grafik pengujian pada Gambar 6.4, dapat diambil kesimpulan bahwa jenis kata typographical error deletion pada satu dokumen setiap percobaan menghasilkan nilai recall yang rendah pada awal percobaan namun meningkat dan cenderung stabil hingga percobaan 50 kata typographical error. Begitu halnya dengan nilai presisi yang mengalami kenaikan konsisten setelah awal percobaan. Nilai presisi dan recall pada awal percobaan rendah dikarenakan terdapat kata typographical error tidak memiliki kandidat kata sehingga presisi dan recall bernilai 0. Selain itu, beberapa kata typographical error merupakan kata yang ada dalam kamus namun bukan kata yang dimaksud oleh user sehingga sistem tidak menampilkan kandidat kata. Untuk mengidentifikasi jenis typographical error deletion, sistem memiliki nilai presisi dan recall yang rendah pada sistem.

6.5 Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

Pengujian ini dilakukan dengan 10 kali percobaan dimana jumlah kata typographical error dijumlahkan sebanyak 5 kata setiap percobaan. Jenis kata typographical error substitution merupakan jenis kata typographical error dimana kata mengalami pergantian huruf dari kata yang sebenarnya sehingga menjadi kata yang tidak dikenali dalam kamus. Contoh untuk kata typographical error substitution adalah “huhan”, dengan kata yang dimaksud adalah “hujan”. Pengujian presisi dan recall dilakukan untuk mengetahui pengaruh typographical error dengan jenis substitution pada kata terhadap nilai presisi dan recall sistem.

0

0.2

0.4

0.6

0.8

1

5 katatypo

10katatypo

15katatypo

20katatypo

25katatypo

30katatypo

35katatypo

40katatypo

45katatypo

50katatypo

0.4 0.47 0.52 0.55 0.55 0.62 0.650.58 0.59 0.6

0.670.8 0.87 0.9 0.92 0.93 0.94

0.9 0.91 0.92

Presisi Recall

Page 98: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

81

Pengujian berdasarkan jumlah kata typographical error dalam satu dokumen ditunjukkan pada Tabel 6.5 berikut:

Tabel 6.5 Hasil Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

No. Jumlah Kata Typographical Error Hasil Pengujian

Presisi Recall

1. 5 kata 0.90 1

2. 10 kata 0.85 1

3. 15 kata 0.83 1

4. 20 kata 0.72 1

5. 25 kata 0.72 1

6. 30 kata 0.77 1

7. 35 kata 0.73 1

8. 40 kata 0.74 1

9. 45 kata 0.73 1

10. 50 kata 0.71 1

Berdasarkan hasil pengujian presisi dan recall pada jenis typographical error substitution pada satu dokumen pada Tabel 6.5, dapat dibuat suatu grafik berdasarkan parameter jumlah kata typographical error. Berikut pada Gambar 6.5 ditunjukkan grafik pengujian seluruh jenis typographical error berdasarkan jumlah kata typographical error dalam satu dokumen:

Gambar 6.5 Grafik Pengujian Jenis Typographical Error Substitution Berdasarkan Jumlah Kata Typographical Error dalam Satu Dokumen

0

0.2

0.4

0.6

0.8

1

5 katatypo

10 katatypo

15 katatypo

20 katatypo

25 katatypo

30 katatypo

35 katatypo

40 katatypo

45 katatypo

50 katatypo

0.90.85 0.83

0.72 0.72 0.770.73 0.74 0.73

0.71

1 1 1 1 1 1 1 1 1 1

Presisi Recall

Page 99: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

82

Dari grafik pengujian pada Gambar 6.5, dapat diambil kesimpulan bahwa jenis kata typographical error substitution pada satu dokumen menghasilkan nilai recall yang optimal yaitu 1 namun untuk nilai presisi mengalami penurunan dan kenaikan. Hal tersebut dikarenakan hasil kandidat kata pada sistem tidak hanya didapatkan sesuai nilai aktual, tapi didapatkan juga kandidat kata lain dari kamus dengan nilai edit distance yang paling minimum. Kandidat kata yang ditampilkan sistem berjumlah banyak sehingga mempengaruhi perhitungan nilai presisi. Untuk mengidentifikasi jenis typographical error substitution, sistem memiliki nilai recall yang optimal dan konsisten pada setiap percobaan serta nilai presisi yang cenderung stabil pada sistem.

Page 100: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

85

DAFTAR PUSTAKA

Abbott, D., 2013. Introduction to Text Mining. Dalam: Virtual Data Intensive Summer School. pp.1–4.

Ahmed, F., Luca, E.W. De dan Nürnberger, A., 2009. Revised N-Gram based Automatic Spelling Correction Tool to Improve Retrieval Effectiveness. Research J. on Computer, [online] (40), pp.39–48. Tersedia di: <http://www.gelbukh.com/polibits/2009_40/40_06.pdf\nhttp://polibits.gelbukh.com/2009_40/40_06.pdf>.

Baskoro, S.Y., 2016. Pencarian Pasal pada Kitab Undang-Undang Hukum Pidana (KUHP) Berdasarkan Kasus Menggunakan Metode Cosine Similarity dan Latent Semantic Indexing (LSI). Malang, Indonesia.

Butt, M., 2013. Precision and Recall. [online] Tersedia di: <http://ling.uni-konstanz.de/pages/home/butt/main/material/precision-recall.pdf>.

Haldar, R. dan Mukhopadhyay, D., 2011. Levenshtein Distance Technique in Dictionary Lookup Methods : An Improved Approach. Web Intelligence & Distributed Computing Research Lab, (Ld), pp.1–5.

Jurafsky, D. dan Martin, J.H., 2014. Spelling Correction and the Noisy Channel. Dalam: Speech and Language Processing. [online] pp.1–14. Tersedia di: <https://lagunita.stanford.edu/c4x/Engineering/CS-224N/asset/slp4.pdf>.

Khrisne, D.C. dan Yusanto, M.D., 2015. Content-Based Image Retrieval Menggunakan Metode Block Truncation Algorithm dan Grid Partitioning. Jurnal Ilmu Komputer dan Sains Terapan, 5(April), pp.79–85.

Lahitani, A.R., Permanasari, A.E. dan Setiawan, N.A., 2016. Cosine similarity to determine similarity measure: Study case in online essay assessment. Proceedings of 2016 4th International Conference on Cyber and IT Service Management, CITSM 2016.

Manning, C.D., Raghavan, P. dan Schütze, H., 2009. An Introduction to Information Retrieval. Online ed. [online] Tersedia di: <http://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf>.

Mishra, A. dan Vishwakarma, S., 2016. Analysis of TF-IDF Model and its Variant for Document Retrieval. Proceedings - 2015 International Conference on Computational Intelligence and Communication Networks, CICN 2015, pp.772–776.

Nafik, M.Z., 2014. Sistem Penilaian Otomatis Jawaban Esai Menggunakan Algoritma Levenshtein Distance. Malang, Indonesia.

Naradhipa, A.R., Kamayani, M., Reinanda, R., Simbolon, S., Soleh, M.Y. dan Purwarianti, A., 2011. Application of Document Spelling Checker for Bahasa Indonesia. ICACSIS, pp.249–252.

Page 101: IDENTIFIKASI KESALAHAN PENULISAN KATA TYPOGRAPHICAL …repository.ub.ac.id/1413/1/Arina Indana Fahma.pdf · iii PERNYATAAN ORISINALITAS Saya menyatakan dengan sebenar-benarnya bahwa

86

Riadi, M., 2015. Pengertian dan Kriteria Teks. [online] Tersedia di: <http://www.kajianpustaka.com/2015/09/pengertian-dan-kriteria-teks.html> [Diakses 5 Nov. 2016].

Soleh, M.Y. dan Purwarianti, A., 2011. A Non Word Error Spell Checker for Indonesian using Morphologically Analyzer and HMM. Dalam: International Conference on Electrical Engineering and Informatics. Bandung, Indonesia.

Suhartono, D., 2013. Natural Language Processing. [online] Tersedia di: <http://socs.binus.ac.id/2013/06/22/NATURAL-LANGUAGE-PROCESSING/> [Diakses 1 Jan. 2016].

Susanto, B., 2009. Text Mining. Dalam: Text dan Web Mining. [online] Yogyakarta. Tersedia di: <http://lecturer.ukdw.ac.id/budsus/pdf/textwebmining/TextMining_Kuliah.pdf>.

Wicaksono, A.F. dan Purwarianti, A., 2010. HMM Based Part-of-Speech Tagger for Bahasa Indonesia. Dalam: 4th International MALINDO (Malay and Indonesian Language) Workshop.