i
PENGOREKSIAN EJAAN BAHASA BATAK KARO MENGGUNAKAN ALGORITMA LEVENSHTEIN DISTANCE
TUGAS AKHIR
Disusun Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik
Pada Jurusan Teknik Informatika
Oleh
FILZHA HIDAYAT NIM. 11551102855
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU PEKANBARU
2023
ii
LEMBAR PERSETUJUAN
PENGOREKSIAN EJAAN BAHASA BATAK KARO MENGGUNAKAN ALGORITMA LEVENSHTEIN DISTANCE
TUGAS AKHIR
Oleh
FILZHA HIDAYAT NIM. 11551102855
Telah diperiksa dan disetujui sebagai Laporan Tugas Akhir di Pekanbaru, pada tanggal 19 Januari 2023
Pembimbing I, Pembimbing II,
MUHAMMAD FIKRY, S.T., M.Sc YUSRA, S.T., M.T NIP. 198010182007101002 NIP. 198401232015032001
iii
LEMBAR PENGESAHAN
iv
SURAT PERNYATAAN
v
LEMBAR HAK ATAS KEKAYAAN INTELEKTUAL
Tugas Akhir yang tidak diterbitkan ini terdaftar dan tersedia di Perpustakaan Universitas Islam Negeri Sultan Syarif Kasim Riau adalah terbuka untuk umum dengan ketentuan bahwa hak cipta pada penulis. Referensi kepustakaan diperkenankan dicatat, tetapi pengutipan atau ringkasan hanya dapat dilakukan seizin penulis dan harus disertai dengan kebiasaan ilmiah untuk menyebutkan sumbernya.
Penggandaan atau penerbitan sebagian atau seluruh Tugas Akhir ini harus memperoleh izin dari Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau. Perpustakaan yang meminjamkan Tugas Akhir ini untuk anggotanya diharapkan untuk mengisi nama, tanda peminjaman dan tanggal pinjam.
vi
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa dalam Tugas Akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan didalam daftar pustaka.
Pekanbaru, 19 Januari 2023 Yang membuat pernyataan,
FILZHA HIDAYAT NIM. 11551102855
vii
ABSTRAK
Pada penelitian dahulu, sudah ada pengoreksian Ejaan kata yang dilakukan untuk Bahasa Daerah lain. Namun, untuk pengoreksian Ejaan Bahasa Batak Karo belum ada dilakukan penelitian. Pentingnya pengoreksian ejaan ini adalah untuk menampilkan rekomendasi kata jarak terdekat dengan kata sumber agar bisa memperbaiki kata tersebut dengan Bahasa baku sesuai kamus Bahasa Karo.
Levenshtein Distance adalah sebuat matriks string yang digunakan untuk mengukur perbedaan atau jarak (distance) antara dua string. Nilai distance antara dua string ini ditentukan oleh jumlah minimum dari operasi-operasi perubahan yang diperlukan untuk melakukan transformasi dari suatu string menjadi string lainnya.
Operasi-operasi tersebut adalah penyisipan (insertion), penghapusan (deletion), atau penukaran (substitution). Levenshtein Distance merupakan salah satu algoritma yang dapat digunakan dalam mendeteksi kemiripan antara dua string yang berpotensi melakukan tindak plagiarism. Dari hasil penelitian Pengoreksian Ejaan Bahasa Batak Karo menggunakan Algoritma Levenshtein Distance didapatkan akurasi sebesar 71,59% yaitu hasil perhitungan kata tidak normal dari 29 kata dengan nilai 1 diterima sesuai rekomendasi validator dan menempati urutan pertama pada hasil rekomendasi kata, kemudian 10 kata dengan nilai 0.5 yang merupakan hasil rekomendasi kata dari validator yang terdapat pada nomor urut selain 1 pada rekomendasi kata, 5 kata dengan nilai -0.5 yang merupakan kata-kata yang tidak termasuk dalam rekomendasi dan tidak sesuai dengan hasil validator.
Peneliti selanjutnya dapat menambah referensi kata dasar bahasa Batak Karo yang digunakan dalam kamus. Peneliti dapat menggunakan metode lainnya untuk pengembangan penelitian ini dengan mengoreksi ejaan pada kalimat.
Kata Kunci : Batak Karo, Ejaan, Levenshtein Distance, Pengoreksian
viii
ABSTRACT
In the previous research, spelling corrections were already made for other regional languages. However, no research has been conducted to correct Batak Karo spelling. The importance of this spelling correction is to display the closest word recommendation to the source word so that you can correct the word in the standard language according to the Karo language dictionary. Levenshtein Distance is a string matrix that is used to measure the difference or distance (distance) between two strings. The distance value between these two strings is determined by the minimum number of change operations needed to perform the transformation from one string to another. These operations are insertion, deletion, or substitution.
Levenshtein Distance is an algorithm that can be used to detect similarities between two strings that have the potential to commit acts of plagiarism. From the results of the Karo Batak Spelling Correction study using the Levenshtein Distance Algorithm, an accuracy of 71.59% was obtained, namely the results of the abnormal word count of 29 words with a value of 1 were accepted according to the validator's recommendation and ranked first in the word recommendation results, then 10 words with a value of 0.5 which are the results of word recommendations from the validator contained in serial numbers other than 1 in the word recommendations, 5 words with a value of -0.5 which are words that are not included in the recommendations and are not in accordance with the results of the validator. Future researchers can add references to the basic words of the Batak Karo language used in the dictionary. Researchers can use other methods for the development of this research by correcting the spelling of sentences.
Keywords: Karo Batak, Spelling, Levenshtein Distance, Correction
ix
KATA PENGANTAR
Assalammu’alaikum wa rohmatullohi wa barokatuh.
Alhamdulillahi robbil’alamin, tak henti-hentinya kami ucapkan kehadirat Allah Subhanahu wa ta’ala, yang dengan rahmat dan hidayah-Nya kami mampu menyelesaikan Tugas Akhir ini yang berjudul “Pengoreksian Ejaan Bahasa Batak Karo Menggunakan Algoritma Levenshtein Distance”. Tidak lupa bershalawat kepada Nabi dan Rasul-Nya, Nabi Muhammad Sholallohu ‘alaihi wa salam, yang telah membimbing kita sebagai umatnya menuju jalan kebaikan.
Tugas Akhir ini disusun sebagai salah satu syarat untuk mendapatkan gelar sarjana pada jurusan Teknik Informatika Universitas Islam Negeri Sultan Syarif Kasim Riau. Banyak sekali pihak yang telah membantu kami dalam penyusunan laporan ini, baik berupa bantuan materi ataupun berupa motivasi dan dukungan kepada kami. Semua itu tentu terlalu banyak bagi kami untuk membalasnya, namun pada kesempatan ini kami hanya dapat mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. Hairunas, M.Ag selaku Rektor Universitas Islam Negeri Sultan Syarif Kasim Riau.
2. Bapak Dr. Hartono, M.Pd selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau.
3. Bapak Iwan Iskandar, M.T. selaku Ketua Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau.
4. Bapak Muhammad Irsyad, S.T., M.T. selaku Dosen Penasehat Akademik yang telah memberikan nasehat dan arahan selama di kampus.
5. Bapak Muhammad Fikry, S.T., M.Sc. selaku Dosen Pembimbing I Tugas Akhir yang selalu meluangkan waktu, memberikan ilmu, nasehat, saran, serta sabar membimbing penulis hingga tugas ini selesai.
x
6. Ibu Yusra, ST, M.T selaku Dosen Pembimbing II Tugas Akhir yang selalu meluangkan waktu, memberikan ilmu, nasehat, saran, serta sabar membimbing penulis hingga tugas ini selesai.
7. Bapak Febi Yanto, M.Kom selaku Dosen Penguji I yang telah banyak memberikan saran demi kemajuan dan penyempurnaan dalam pengerjaan tugas akhir ini.
8. Ibu Yelfi Vitriani, S.Kom, MMSI selaku Dosen Penguji II yang telah banyak memberikan saran demi kemajuan dan penyempurnaan dalam pengerjaan tugas akhir ini.
9. Seluruh Dosen Teknik Informatika Universitas Islam Negeri Sultan Syarif Kasim Riau yang banyak memberikan ilmu, dan arahan selama perkuliahan.
Semoga ilmu yang bapak dan ibu berikan bermanfaat bagi penulis dan seluruh mahasiswa, Aamiin.
10. Ayahanda Idrus Sidik dan Ibunda Husneng Lely yang tidak pernah letih memberikan do’a, support, motivasi, semangat, kasih sayang dan curahan keringat yang tidak pernah pudar. Semoga Allah SWT senantiasa memberikan kesehatan kepada Ayahanda dan Ibunda.
11. Untuk Kakakku Vanny Octary Putri yang selalu memotivasi adikmu ini agar selalu bersemangat, gigih, dan ulet dalam mengerjakan tugas akhir ini.
12. Rekan-rekan HIMATIF yang telah memberikan pengalaman dan ilmu untuk menjadi pribadi yang lebih baik.
13. Teman-teman “SAHABAT” yang selalu menemani dalam suka maupun duka.
14. Teman-teman seperjuangan Teknik Informatika angkatan 2015, Khususnya Teknik Informatika kelas C angkatan 2015 yang selalu memberikan motivasi untuk terus maju.
15. Seluruh pihak yang belum kami cantumkan, terima kasih atas dukungannya, baik material maupun spiritual.
Kami menyadari bahwa dalam penulisan laporan ini masih banyak kesalahan dan kekurangan, oleh karena itu kritik dan saran yang sifatnya membangun sangat kami
xi
harapkan untuk kesempurnaan laporan ini. Akhirnya kami berharap semoga laporan ini dapat memberikan sesuatu yang bermanfaat bagi siapa saja yang membacanya.
Wassalamu’alaikum wa rohmatullohi wa barokatuh.
Pekanbaru, 19 Januari 2023
Filzha Hidayat
xii
DAFTAR ISI
LEMBAR PERSETUJUAN ... ii
LEMBAR PENGESAHAN ... ii
LEMBAR HAK ATAS KEKAYAAN INTELEKTUAL ... iv
LEMBAR PERNYATAAN ... vi
ABSTRAK ... vii
ABSTRACT ... viii
KATA PENGANTAR ... ix
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xv
DAFTAR RUMUS ... xvii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Batasan Masalah ... 4
1.4 Tujuan Penelitian ... 4
1.5 Manfaat Penelitian ... 5
BAB 2 KAJIAN PUSTAKA ... 6
2.1 Kajian Pustaka ... 6
2.1.1 Natural Language Processing ... 6
2.1.2 Pre-processing ... 6
2.1.3 Spell Checking ... 7
xiii
2.1.4 Metode Levenshtein Distance ... 7
2.2 Imbuhan dalam Bahasa Karo ... 10
2.2.1 Awalan ... 10
2.2.2 Akhiran ... 17
2.2.3 Sisipan –in– ... 21
2.3 Pengujian ... 21
2.4 Penelitian Terkait ... 22
BAB 3 METODOLOGI PENELITIAN ... 29
3.1 Studi Literatur ... 30
3.2 Perumusan Masalah ... 30
3.3 Pengumpulan Data ... 30
3.4 Analisa ... 31
3.5 Perancangan ... 32
3.6 Implementasi ... 32
3.7 Pengujian ... 33
3.8 Kesimpulan dan Saran ... 33
BAB 5 PENUTUP ... 59
5.1 Kesimpulan ... 59
5.2 Saran ... 59
DAFTAR PUSTAKA ... 60
LAMPIRAN A ... 62
LAMPIRAN B ... 67
DAFTAR RIWAYAT HIDUP... 68
xiv
DAFTAR GAMBAR
Gambar 1 Metodologi Penelitian ... 29 Gambar 2 Flowchart Analisa ... 31
xv
DAFTAR TABEL
Tabel 1 Awalan N menjadi M ... 10
Tabel 2 Awalan N tidak berubah ... 10
Tabel 3 Awalan N menjadi NG... 11
Tabel 4 Awalan N menjadi NGE ... 11
Tabel 5 Awalan N berfonem P ... 12
Tabel 6 Awalan N berfonem S dan T ... 12
Tabel 7 Awalan N berfonem ng ... 12
Tabel 8 Awalan r ... 13
Tabel 9 Awalan er ... 13
Tabel 10 Awalan per ... 13
Tabel 11 Awalan ter ... 14
Tabel 12 Awalan pe ... 14
Tabel 13 Awalan Kini ... 15
Tabel 14 Awalan Si ... 15
Tabel 15 Awalan I ... 15
Tabel 16 Awalan Me ... 16
Tabel 17 Awalan Se ... 16
Tabel 18 Awalan ci ... 16
Tabel 19 Awalan ke ... 17
Tabel 20 Awalan ku ... 17
Tabel 21 Akhiran –en ... 18
Tabel 22 Akhiran –ku ... 18
Tabel 23 Akhiran –ta ... 19
Tabel 24 Akhiran –mu ... 19
Tabel 25 Akhiran –ndu ... 19
Tabel 26 Akhiran –na ... 20
Tabel 27 Akhiran –i ... 20
Tabel 28 Akhiran –ken ... 21
xvi
Tabel 29 Sisipan –in– ... 21 Tabel 30 Penelitian terkait ... 22
xvii
DAFTAR RUMUS
(1) ... 9
(2) ... 9
(3) ... 9
(4) ... 9
(5) ... 10
(6) ... 22
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Bahasa merupakan identitas negara sebagai cara untuk berkomunikasi.
Manusia membutuhkan Bahasa untuk berinteraksi, memaparkan ide, pendapat dan hal sosial lainnya. Kebenaran Bahasa akan berpengaruh terhadap kebenaran informasi yang disampaikan. Berbagai fenomena berdampak buruk pada kebenaran berbahasa yang disesuaikan dengan kaidahnya, dalam hal ini berbahasa Indonesia dengan baik dan benar. Berbahasa Indonesia dengan baik dan benar memiliki resiko yang logis terhadap pemakaiannya sesuai dengan situasi dan kondisi. Pada situsi formal penggunaan Bahasa Indonesia yang benar menjadi prioritas utama.
Pengunaan Bahasa seperti ini sering menggunakan Bahasa baku. Kendala yang harus dihindari adalah pemakaian Bahasa baku antara lain disebabkan adanya gejala Bahasa seperti interferensi, integrasi, campur kode, alih kode dan Bahasa gaul yang tanpa disadari sering digunakan untuk komunikasi resmi, hal ini mengakibatkan Bahasa yang digunakan menjadi tidak baik [1].
Bahasa daerah merupakan asset suatu bangsa. Tetapi, paradigma masyarakat abad 21 menilai bahwa Bahasa asing memiliki prestise lebih tinggi dibandingkan dengan Bahasa nasional dan Bahasa daerah. Dengan kata lain, Bahasa daerah berada diprioritas ketiga dalam penggunaannya setelah Bahasa nasional dan Bahasa asing. Disisi lain Bahasa daerah merupakan kekayaan suatu masyarakat. Bahasa daerah dapat dikatakan sebagai citra suatu masyarakat yang berdikari dalam kehidupan. Bahasa daerah dapat dikatakan sebagai cerminan suatu masyarakat.
Bahasa daerah warisan leluhur bagi masyarakat [2].
Salah satu dari sekian banyak wilayah di Indonesia adalah pulau sumatera salah satunya adalah Sumatera Utara. Sumatera ini adalah Melayu dan Suku Batak.
Suku Batak adalah suku yang banyak mendiami daerah Sumatera Utara. Suku bangsa yang dikategorikan sebagai batak adalah : Batak Toba, Batak Karo, Batak
2
PakPak, Batak Simalungun, Batak Angkola dan Batak Mandailing. Suku Karo merupakan salah satu suku terbesar di Sumatera Utara. Nama suku ini dijadikan salah satu nama Kabupaten di salah satu wilayah yang mereka diami dataran tingi Karo yaitu Tanah Karo dan suku Karo [3].
Mengingat pentingnya Bahasa digunakan oleh kelompok penuturnya sebagai alat untuk berkomunikasi, Bahasa Karo adalah salah satu bahasa yang digunakan oleh masyarakat di lingkungannya [4]. Suku Karo adalah salah satu suku di Sumatera bagian utara tepatnya disekitaran kota Medan yang meliputi Kabupaten Deli Serdang, Kota Binjai, Stabat, Kabupaten Dairi dan Kabupaten Karo langsung yang berbatasan dengan Kota Medan saat ini. Suku Karo memiliki sedikit perbedaan dan kekhasan dengan suku lainya yang ada di Sumatera Utara, seperti gaya berbicara mempunyai intonasi ataupun cangkok logatnya tersendiri [3].
Dewasa ini, banyak masyarakat memakai Bahasa gaul dan diperparah dengan generasi muda Indonesia juga tidak terlepas dari penggunaan Bahasa gaul ini.
Bahkan generasi muda inilah yang banyak menggunakan Bahasa gaul daripada Bahasa Indonesia.
Tidak dapat dipungkiri bahwa kehidupan modern telah menggerus eksistensi Bahasa daerah. Akan tetapi, daya pemertahanan Bahasa daerah juga menjadi Langkah strategis dan efektif dalam membendung kondisi tersebut. Pergeseran Bahasa tersebut terjadi karena masyarakat [2]. Oleh karena itu, masalah Bahasa dan sastra perlu digarap dengan sungguh-sungguh dan berencana supaya tujuan akhir pembinaan dan pengembangan Bahasa dan sastra di Indonesia dan daerah dalam rangka peningkatan pelayanan kebahasaan di Indonesia dapat tercapai. Untuk mencapai tujuan itu, dilakukan kegiatan kebahasaan seperti pembajuan ejaan, tata Bahasa dan istilah, penyusun berbagai kamus Bahasa Indonesia dan Kamus Bahasa daerah.
Indonesia memiliki ribuan pulau, seratus bahasa, dan dialek. Hal ini mengakibatkan banyak kebiasaan masyarakat termasuk pada aktivitas mereka di sosial media. Media sosial tidak memiliki aturan bahasa untuk para penggunanya.
3
Oleh karena itu, netizen dapat menulis semuanya dengan gratis tanpa peraturan ketika mereka memposting sesuatu. Secara umum, ada lima jenis tulisan yang disajikan dalam dataset seperti komentar yang ditulis dalam bentuk bahasa normal, bahasa campuran dengan bahasa lokal, bahasa campuran dengan bahasa asing, berisi singkatan dan berisi kata-kata silang, dengan memahami gaya penulisan pesan dalam twitter, diusulkanlah algoritma pada langkah pre-processing untuk mengubah kata-kata non-standar menjadi bentuk standar dalam Bahasa Indonesia [5].
Terkadang masyarakat menggunakan kata yang tidak baku, bahasa gaul dalam beropini. Penulisan kata atau salah ejaan umunya disebut typo sering kali terjadi pada suatu kalimat sehingga jika kita tetap memproses kata tersebut maka analisis yang dihasilkan tidak akurat [6].
Dengan melihat permasalahan tersebut, solusi yang dapat dilakukan untuk memecahkan masalah ini adalah membuat algoritma untuk system Pengoreksian Ejaan Bahasa Batak Karo menggunakan Algoritma Levenshtein Distance. Tujuan penelitian ini adalah untuk mempermudah bagi masyarakat memahami kesalahan dalam penulisan Bahasa Batak Karo, seperti kalangan orang yang tidak paham dengan Bahasa Batak Karo.
Adapun penelitian terkait pengoreksian ejaan ini yaitu penelitian yang dilakukan oleh Muhammad Maulana Yulianto , Riza Arifudin , Alamsyah yang membahasa tentang Autocomplate and Spell Checking Levenshtein Distane Algorithm to Getting Text Suggest Error Data Searching in Library. Penerapan metode Levenshtein Distance dilakukan dengan baik dengan akurasi pemeriksa ejaan yang diperoleh sebesar 86% [7][8].
Pada penelitian Na’firul Hasna Ariyani, Sutardi, Rahmat Ramadhan dengan judul Aplikasi Pendeteksi Kemiripan Isi Teks Dokumen Menggunakan Metode Levenshtein Distance. Aplikasi ini bertujuan untuk mendeteksi kemiripan dokumen teks menggunakan algoritma Levenshtein Distance sehingga dapat digunakan untuk membantu menentukan plagiarisme. Pengujian ini menggunakan data real yaitu
4
data dokumen berplagiat dengan algoritma Levenshtein Distance menghasilkan nilai similarity tinggi yaitu diatas 77% sampai 100% untuk dokumen yang tingkat kemiripannya tinggi. Sedangkan untuk dokumen dengan tingkat kemiripan yang rendah atau tidak berplagiat maka menghasilkan nilai similarity dibawah 40%.
Pada penelitian sebelumnya, sudah ada pengoreksian Ejaan kata yang dilakukan untuk Bahasa Daerah lain. Namun, untuk pengoreksian Ejaan Bahasa Batak Karo belum ada dilakukan penelitian. Pentingnya pengoreksian ejaan ini adalah untuk menampilkan rekomendasi kata jarak terdekat dengan kata sumber agar bisa memperbaiki kata tersebut dengan Bahasa baku sesuai kamus Bahasa Karo.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan, maka rumusan masalah pada penelitian ini adalah bagaimana mengubah kata yang tidak baku pada komentar instagram bahasa Karo menjadi kata yang baku menggunakan algoritma Levenshtein Distance.
1.3 Batasan Masalah
Supaya pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian ini yaitu:
1. Kata dasar bersumber dari Kamus Bahasa Karo-Indonesia yang disusun oleh Ahmad Samin Siregar, Peraturen Sukapiring, Sentosa Tarigan, Matius Cikappen Sembiring, Zulkifli dan diterbitkan oleh Pusat Bahasa Departemen Pendidikan Nasional pada tahun 2001.
2. Teks yang akan digunakan sebagai dokumen uji merupakan komentar dari postingan instagram yang berisi kata-kata dalam Bahasa Batak Karo.
3. Penelitian ini menguji akurasi dari algoritma Levenshtein Distance terhadap bahasa Karo yang menghasilkan rekomendasi kata.
1.4 Tujuan Penelitian
Tujuan dari pelaksanaan penelitian ini adalah:
5
1. Melakukan implementasi Algoritma Levenshtein Distance pada bahasa Batak Karo.
2. Melakukan pengujian akurasi Algoritma Levenshtein Distance.
1.5 Manfaat Penelitian
Manfaat yang dapat diambil dari penelitian ini ialah untuk mengetahui tingkat akurasi algoritma Levenshtein Distance pada bahasa karo dan dapat menjadi referensi selanjutnya bagi peneliti dengan tema terkait.
6
BAB 2
KAJIAN PUSTAKA
2.1 Kajian Pustaka
Proses penelitian mencakup kumpulan teori yang digunakan dalam penelitian yang dikumpulkan dari karya referensi ilmiah, buku, dan jurnal.
2.1.1 Natural Language Processing
Natural Language Processing (Pemrograman Bahasa Alami) adalah pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia.
Tujuan dari Natural Language Processing adalah melakukan proses pembuatan model komputasi dari bahasa sehingga dapat terjadi suatu interaksi antara manusia dengan komputer dengan perantara bahasa alami. Pada prinsipnya pemrograman bahasa alami merupakan suatu bentuk representasi dari suatu pesan yang ingin dikomunikasikan antar manusia[9].
2.1.2 Pre-processing
Pre-processing atau praproses data merupakan proses untuk mempersiapkan data mentah sebelum dilakukan proses lain. Pada umumnya, praproses data dilakukan dengan cara mengeliminasi data yang tidak sesuai atau mengubah data menjadi bentuk yang lebih mudah diproses oleh aplikasi.
Beberapa tahapan pre-processing berdasarkan proses yaitu[10]:
1. Cleaning
Cleaning merupakan proses pembersihan komponen yang tidak diperlukan.
Komponen yang dihilangkan adalah karakter.
2. Case Folding
Case Folding adalah proses yang berfungsi mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai ‘z’ yang diterima.
Karakter selain huruf dihilangkan dan dianggap pembatas.
7 3. Tokenizing
Tokenizing merupakan tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Selain itu, spasi digunakan untuk memisahkan antar kata tersebut.
2.1.3 Spell Checking
Spell Checking adalah proses mendeteksi kata-kata yang salah eja dan memberikan sugesti untuk memperbaiki kata yang salah eja menggunakan aplikasi komputer yang umumnya dikenal sebagai Spell Checkers. Pemeriksa ejaan dianggap sebagai salah satu aplikasi Natural Language Processing yang paling penting untuk meningkatkan tingkat keberhasilan Natural Language Processing, termasuk terjemahan mesin, segmentasi kata, pencarian informasi, dan pemahaman Bahasa alami. Sebagian besar aplikasi pemeriksa ejaan menggunakan editor teks.
Contoh utama adalah pemeriksa ejaan pengolah kata Microsoft. Pemeriksa ejaan dapat digunakan sebagai cara untuk mempertahankan Bahasa yang ada [11].
Terdapat dua metode untuk membangun aplikasi spelling checker yaitu identifikasi (error detection) dan koreksi (error correction). 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 mengetik, sedangkan real-word error spell checker mengutamakan menangani kata-kata pengganti kata yang error pada kalimat [12].
2.1.4 Metode Levenshtein Distance
Levenshtein distance adalah sebuat matriks string yang digunakan untuk mengukur perbedaan atau jarak (distance) antara dua string. Nilai distance antara dua string ini ditentukan oleh jumlah minimum dari operasi-operasi perubahan yang diperlukan untuk melakukan transformasi dari suatu string menjadi string lainnya. Operasi-operasi tersebut adalah penyisipan (insertion), penghapusan (deletion), atau penukaran (substitution). Levenshtein distance merupakan salah
8
satu algoritma yang dapat digunakan dalam mendeteksi kemiripan antara dua string yang berpotensi melakukan tindak plagiarism[13].
Pada algoritma levenshtein distance, terdapat tiga macam operasi yang dapat dilakukan, yaitu:
1. Operasi Penyisipan Karakter (Insertion)
Operasi penyisipan karakter berarti menyisipakn karakter ke dalam suatu string. Contohnya string ‘pitu’ menjadi string ‘pintu’, dilakukan karakter ‘n’
di akhir string. Penyisipan karakter tidak hanya dilakukan ditengah string, namun bisa disisipkan diawal maupun disisipkan diakhir string. Ilustrasi :
String 1 p i t u String 2 p i - t u Insertion n
2. Operasi Penghapusan Karakter (Deletion)
Operasi penghapusan karakter dilakukan untuk menghilangkan karakter dari suatu string. Contohnya string ‘matematikan’ karakter terakhir dihilangkan sehingga menjadi string ‘matematika’. Pada operasi ini dilakukan penghapusan karakter ‘n’. Ilustrasi
String 1 m A t E m a t i k a – String 2 m A t E m a t i k a n Deletion n
3. Operasi Penukaran Karakter (Subtitution)
Operasi penukaran Karakter merupakan operasi menukar sebuah karakter dengan karakter lain. Contohnya penulis menuliskan string ‘gimpunan’
menjadi ‘himpunan’. Dalam kasus ini karakter ‘g’ yang terdapat pada awal string, diganti dengan huruf ‘h’. Ilustrasi :
String 1 H I M p u n a n String 2 G I M p u n a n Substitution H
Dengan menggunakan fungsi matrix (m,n) dimana m adalah kata yang mewakili untuk dibandingkan dengan n yang sebagai kata pembanding. Masing-
9
masing mewakili setiap huruf sehingga dengan mudah melihat operasi apa yang diperlukan untuk kata tersebut. Persamaan untuk mencari distance pada aplikasi pengoreksian ejaan seperti ini:
𝑫𝒊𝒔𝒕 𝒂, 𝒃(𝒊, 𝒋) = 𝒎𝒊𝒏 {
𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊, 𝒋 − 𝟏) + 𝟏) 𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊 − 𝟏, 𝒋) + 𝟏 𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊 − 𝟏, 𝒋 − 𝟏) + 𝒄𝒐𝒔𝒕
(1)
Nilai cost dibagi menjadi dua yaitu 0 dan 1. Cost 0 didapat apabila 𝑎𝑖=𝑏𝑗=0.
Cost 1 didapat apabila 𝑎𝑖 ≠ 𝑏𝑗=1 Keterangan:
a= kata pertama b= kata kedua
i= iterasi kata pertama j= iterasi kata kedua Dist = jarak
Dari rumus diatas dapat diperoleh menjadi beberapa rumus sesuai operasi pada algoritma levenshtein distance yaitu penghapusan, penyisipan, penukaran, dan tidak ada perubahan. Rumus operasi penghapusan, penyisipan, dan penukaran karakter digunakan untuk mengisi nilai sebagai berikut:
D (𝒔, 𝒕) = min D (𝒔 − 𝟏, 𝒕) + 𝟏 (penghapusan)
(2)
D (𝒔, 𝒕) = min D (𝒔, 𝒕 − 𝟏) + 𝟏 (penyisipan)
(3)
D (𝒔, 𝒕) = min D (𝒔 − 𝟏, 𝒕 − 𝟏) + 1𝒔𝒋≠𝒕𝒊 (penukaran)
(4)
10
D (𝒔, 𝒕) = min D (𝒔 − 𝟏, 𝒕 − 𝟏) 𝒔𝒋≠𝒕𝒊 (tidak ada perubahan)
(5)
2.2 Imbuhan dalam Bahasa Karo
Imbuhan dalam bahasa Karo Terdiri dari 3 macam yakni awalan, akhiran dan sisipan
2.2.1 Awalan
Ada 13 awalan yang masing-masing mempunyai arti dan fungsi yang berbeda-beda, yaitu [14]:
a. Awalan N- dan peN
Penggunaan awalan N- juga dapat dengan awalan si dan pe.
1. Bila awalan N- digabung dengan kata dasar yang berfonem awal B, Maka N- menjadi M, dengan catatan bahwa fonem awal itu bisa saja luluh
Contoh:
Tabel 1 Awalan N menjadi M
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + Baba ‘bawa’ Maba ‘membawa’
peN + Baba ‘bawa’ Pemaba ‘cara membawa’
siN + Baba ‘bawa’ Simaba ‘saling membawa’
N + Bayu ‘anyam’ Mbayu ‘menganyam’
peN + Bayu ‘anyam’ Pembayu ‘cara mengayam’
siN + Bayu ‘anyam’ Simbayu ‘saling mengayam’
2. Bila awalan N- digabung dengan kata dasar yang berfonem awal D, J, C, maka N- tidak berubah.
Contoh:
Tabel 2 Awalan N tidak berubah
11
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + dilat ‘jilat’ ndilat ‘penjilat’
peN + dilat ‘jilat’ pendilat ‘cara menjilat’
siN + dilat ‘jilat’ sindilat ‘saling menjilat’
3. Bila awalan N- digabung dengan kata dasar yang berfonem awal G, K atau pun vokal, maka N- menjadi NG.
Contoh:
Tabel 3 Awalan N menjadi NG
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + gual ‘tabuh’ nggual ‘menabuh’
peN + gual ‘tabuh’ penggual ‘penabuh, cara menabuh’
siN + gual ‘tabuh’ singgual ‘saling menabuh’
4. Bila awalan N- digabung dengan kata dasar yang berfonem awal L, M, N, R, maka N- menjadi NGE.
Contoh:
Tabel 4 Awalan N menjadi NGE
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + lapah ‘bedah’ ngelapah ‘membedah’
peN + lapah ‘bedah’ pengelapah ‘pembedah’
siN + lapah ‘bedah’ singelapah ‘saling membedah’
5. Bila awalan N- digabung dengan kata dasar yang berfonem awal P, maka N- menjadi M sedangkan fonem P luluh.
Contoh:
12
Tabel 5 Awalan N berfonem P
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + piuh ‘pintal’ miuh ‘memintal’
peN + piuh ‘pintal’ pemiuh ‘cara memintal’
siN + piuh ‘pintal’ simiuh ‘saling memintal’
6. Bila awalan N- digabung dengan kata dasar yang berfonem awal S, T, maka N- tidak berubah, dan fonem awal itu luluh.
Contoh:
Tabel 6 Awalan N berfonem S dan T
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + siar ‘jelajah’ niar ‘ menjelajah’
peN + siar ‘jelajah’ peniar ‘cara menjelajah’
siN + siar ‘jelajah’ siniar ‘saling menjelajah’
7. Bila awalan N- digabung dengan kata dasar yang berfonem awal ng maka N- menjadi nol atau luluh.
Contoh:
Tabel 7 Awalan N berfonem ng
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti N + nganga ‘nganga’ nganga ‘menganga’
peN + nganga ‘nganga’ penganga ‘ngangakan’
siN + nganga ‘nganga’ singanga ‘saling menganga’
13 b. Awalan er
Hal-hal yang perlu diperhatikan mengenai bentuk er ini antara lain:
1. Bila er digabung dengan kata yang berfonem awal vokal, maka er menjadi r.
Contoh:
Tabel 8 Awalan r
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti er + ikur ‘ekor’ rikur ‘berekor’
2. Sering pula er bervariasi bebas dengan re.
Contoh:
Tabel 9 Awalan er
Imbuhan Kata Bervariasi Imbuhan er+ Kata Bervariasi Imbuhan re+
er + erbaju rebaju ‘berbaju ‘
erciken reciken ‘bertongkat’
c. Awalan per
Penggunaan akhiran awalan per tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 10 Awalan per
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Per + anak ‘anak’ Peranak 'perlakuan sebagai anak'
Per + bulang ‘topi’ Perbulang 'pergunakan sebagai/menjadi topi’
14
Per + caben ‘ selimut’ Parcaben 'pakai untuk/menjadi selimut’
d. Awalan ter
Penggunaan awalan ter dalam bahasa Karo sama dengan penggunaan awalan ter pada bahasa Indonesia.
Contoh:
Tabel 11 Awalan ter
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Ter + buat ‘ambil’ terbuat ‘terambil’
Ter + lawan ‘lawan’ terlawan ‘ terlawan’
e. Awalan Pe
Awalan pe sama dengan per, Penggunaan awalan pe tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 12 Awalan pe
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Pe + lawes ‘pergi’ pelawes ‘suruh pergi’
Pe + kiam ‘lari’ pekiam ‘ suruh lari’
f. Awalan Kini
Awalan ‘kini’ biasanya bersandingan dengan akhiran “en”. Penggunaan awalan kini tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
15
Tabel 13 Awalan Kini
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti Kini + bayak ‘kaya’ + en kinibayaken ‘kekayaan’
Kini + bujur ‘jujur’ + en kinibujuren ‘kejujuran’
g. Awalan Si
Awalan ‘si’ biasanya bersandingan dengan akhiran na. Penggunaan awalan si tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 14 Awalan Si
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti Si + bayak ‘kaya’ + na sibayakna ‘paling kaya’
Si + kitik ‘kecil’ + na sikitikna ‘paling kecil’
h. Awalan I
Penggunaan awalan I tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 15 Awalan I
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
I + buat ‘ambil’ ibuat ‘terambil’
I + suan ‘tanam’ isuan ‘tertanam’
i. Awalan Me
16
Penggunaan awalan me tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 16 Awalan Me
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Me + bapa ‘ayah’
Mebapa ‘selalu mengingat, menyebut, merindukan ayah’
Me + nande ‘ibu’
Menande ‘selalu mengingat, menyebut, merindukan ibu’
j. Awalan Se
Penggunaan awalan se tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 17 Awalan Se
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Se + ayan ‘kaleng’ seayan ‘sekaleng’
Se + lambar ‘lembar’ selambar ‘selembar’
k. Awalan ci
Penggunaan awalan ci tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 18 Awalan ci
17
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti ci + lilet ‘lilit’ cililet ‘melilit-lilit’
ci + gergo ‘garuk’ cigergo ‘mengaruk-garuk’
l. Awalan ke
Penggunaan awalan ke tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 19 Awalan ke
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti Ke + Susun ‘simpan’ kesusun ‘kesimpan’
Ke + Tading ‘tinggal kutading ‘kutinggal’
m. Awalan ku
Penggunaan awalan ku tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 20 Awalan ku
Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti
Ku + Akap ‘rasa’ Kuakap ‘ku rasa’
Ku + Ajar ‘ajar’ Kuajar ‘ku ajar’
2.2.2 Akhiran
Terdapat delapan akhiran yang masing-masing mempunyai arti dan fungsi yang berbeda-beda, yaitu:
a. Akhiran –en
18
Bila –en digabung dengan kata dasar yang berfonem akhir vokal, maka Huruf E pada akhiran –en akan luluh. Sedangkan selainnya tidak mengalami perubahan.
Contoh:
Tabel 21 Akhiran –en
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
Tuma ‘kutu’ + en tuman ‘berkutu’
Agi ‘adik’ + en agin ‘beradik’
Bau ‘busuk’ + en baun ‘lebih busuk’
Bebe ‘tolol’ + en beben ‘lebih tolol
Tangko ‘curi + en tangkon curian
b. Akhiran –ku
Bila –ku digabung dengan kata yang berfonem akhir vokal kecuali e, maka –ku menjadi –ngku, sedangkan selainnya tidak mengalami perubahan.
Contoh:
Tabel 22 Akhiran –ku
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
Agi ‘adik’ + ku agingku ‘beradik’
ate ‘kehendak’ + ku ateku ‘padiku’
c. Akhiran –ta
19
Bila akhiran –ta digabung dengan kata yang berfonem akhir vokal kecuali e, maka akhiran –ta berubah menjadi –nta, sedangkan selainnya tidak mengalami perubahan.
Contoh:
Tabel 23 Akhiran –ta
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
Agi ‘adik’ + ta aginta ‘adik kita’
ate ‘kehendak’ + ta ateta ‘padiku’
d. Akhiran –mu
Bila akhiran –mu digabung dengan kata yang berfonem akhir vokal, maka akhiran –mu berubah menjadi –m, sedangkan fonem akhir lainnya tidak mengalami perubahan.
Contoh:
Tabel 24 Akhiran –mu
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
Bapa ‘ayah’ + mu bapam ‘ayahmu’
Anak ‘anak’ + mu anakmu ‘anakmu’
e. Akhiran –ndu
Akhiran –ndu merupakan bentuk akhiran lain dari akhiran –mu dengan arti yang sama.
Contoh:
Tabel 25 Akhiran –ndu
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
20
Bapa ‘ayah’ + ndu bapandu ‘ayahmu’
Anak ‘anak’ + ndu anakndu ‘anakmu’
f. Akhiran –na
Penggunaan akhiran -na digabung dengan bentuk aktif dan bentuk pasif dengan tambahan awalan ter-, maka akhiran –na berubah menjadi –sa.
Contoh:
Tabel 26 Akhiran –na
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti Ibuat ‘diambil’ + na ibuatna ‘diambilnya’ (bentuk aktif).
Terbuat
‘terambil’ +na terbuatsa ‘terambilnya’(bentuk pasif)
g. Akhiran –i
Penggunaan akhiran -i tidak memiliki aturan-aturan khusus dalam penggunaannya.
Contoh:
Tabel 27 Akhiran –i
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti
Buat ‘ambil’ + I buati ‘ambili’
Suan ‘tanam’ + I suani ‘tanami’
h. Akhiran –ken
Penggunaan akhiran –ken berarti dengan akhiran –kan pada bahasa Indonesia yaitu sebagai penegas.
Contoh:
21
Tabel 28 Akhiran –ken
Kata Dasar/Arti Imbuhan Kata Berimbuhan
Buat ‘ambil’ + ken buatken ‘ambilkan’
Suan ‘tanam’ + ken suanken ‘tanamkan’
2.2.3 Sisipan –in–
Dalam bahasa Karo kata benda dapat diturunkan dari kata dasar kata kerja dengan membubuhinya sisipan -in- dan arti penggabungannya itu adalah “sesuatu yang (telah) di-X”.
Contoh:
Tabel 29 Sisipan –in–
Kata Dasar/Arti Imbuhan Kata Berimbuhan/Arti tangko 'curi' + in + tinangko 'sesuatu yang telah dicuri' tuktuk 'giling' + in + tinuktuk 'sesuatu yang telah digiling'
suan 'tanam' + in + sinuan 'sesuatu yang ditanam, bibit'
2.3 Pengujian
Pengujian bertujuan untuk menentukan seberapa baik pengkoreksian ejaan untuk menyarankan koreksi kata-kata yang salah. Pengoreksian kata dilakukan dengan menggunakan suggestion adequacy. Suggestion adequacy ditentukan sebagai persentase dari empat sub-kategori berikut:
- Rekomendasi yang dihasilkan oleh aplikasi, jika kata tersebut terletak pada urutan pertama maka akan dinilai 1.
- Rekomendasi yang dihasilkan oleh aplikasi, jika kata tersebut terletak pada urutan kedua, ketiga dan seterusnya maka akan dinilai 0,5.
22
- Jika tidak ada kata yang sesuai dengan hasil rekomendasi akan dinilai - 0,5.
- Jika tidak ada saran dari hasil rekomendasi, maka akan dinilai 0.
Rumus menghitung pengujian adalah sebagai berikut [15]:
Tn n
k k
N S SA
== 1
(6)
2.4 Penelitian Terkait
Berikut ini merupakan penelitian tentang rancang bangun dan pengembangan aplikasi pemeriksa, koreksi dan spell checking yang menjadi dasar peneliti melakukan penelitian di bidang ini:
Tabel 30 Penelitian terkait
No Penulis Judul Kesimpulan
1 Maya Salinka Simanjuntak, Herry Sujaini, Novi Safriadi (2018)
Spelling Corrector Bahasa Indonesia dengan
Kombinasi Metode Peter Norvig dan N-Gram’
Hasil penggabungan metode Spelling Corrector Peter Norvig dan N-Gram dalam kalimat Bahasa Indonesia memberikan akurasi 65,926%
saat mencari saran kata . 2 Tusty Nadia
Maghfira, Imam Cholissodin, Agus Wahyu
Widodo(2017)
Deteksi Kesalahan ejaan dan penentun rekomendasi koreksi kata yang tepat pada dokumen jurnal JTIIK menggunakan Dictionary Lookup dan Damerau-Levenshtein Distance.
Metode dictionary lookup dan Damerau-Levenshtein
Distance diimplementasikan dengan baik pada proses deteksi dan koreksi kesalahan ejaan kata pada jurnal JTIIK.
Pada scenario pengujian jumlah kesalahan ejaan kata didapatkan nilai presisi dan
23
No Penulis Judul Kesimpulan
recall terbaik sebesar 0.76 dan 0.99. sedangkan nilai presisi dan recall terbaik sebesar 0,78 dan 1.
3 Na’firul Hasna Ariyani, Sutardi, Rahmat
Ramadhan(2016)
Aplikasi Pendeteksi Kemiripan Isi Teks Dokumen Menggunakan Metode Levenshtein Distance.
Penelitian ini betujuan mendeteksi kemiripan dokumen teks menggunakan algoritma Levenshtein Distance sehingga dapat digunakan untuk membantu menentukan plagiarism. Pada pengujian ini menggunakan data real yaitu data dokumen berplagiat dengan algoritm Levenshtein Distance menghasilkan similarity yang tinggi yaitu diatas 77% sampai 100% untuk dokumen yang tingkat kemiripannya tinggi.
Sedangkan dokumen dengan tingkat kemiripan yang rendah atau tidak berplagiat maka menghasilkan similarity di bawah 40%.
4 Arina Indana Fahma, Imam Cholissodin, Rizal
Identifikasi Kesalahan Penulisan Kata (Typographical Error) pada Dokumen Berbahasa
Metode Levenshtein Distance digunakan untuk mendeteksi banyaknya kandidat kata sesuai dengan typographical error
24
No Penulis Judul Kesimpulan
Setya
Perdana(2018)
Indonesia Menggunakan Metode N-gram dan Levenshtein Distance.
yang sudah terindentifikasi.
Untuk menentukan kandidat kata, metode Levenshtein Distance dapat menghasilkan kandidat kata yang sesuai dengan nilai actual yang diharapkan user. Namun untuk kata typographical error tertentu, jumlah kandidat kata yang ditampilkan dalam sistem terlalu banyak. Nilai presisi terbaik yang dihasilkan sistem sebesar 0.97 pada skenario pengujian typographical error jenis insertion. Nilai recall terbaik yang dihasilkan sistem sebesar 1 pada skenari pengujian typographical error jenis substitution.
5 Umi Chuzaimah Zulkifli, Lya Hulliyyatus Suada(2019)
Pengembangan Modul Peprocessing Teks untuk Kasus Formalisasi dan Pengecekan ejaan Bahasa Indonesia pada Aplikasi Web Mining Simple Solution (WMSS)
Metode yang digunakan pada formalisasi adalah mengubah kata ke bentuk formal berdasarkan KBBI sedangkan metode yang digunakan pada pengecekan ejaan adalah spelling correction. Metode Spelling Correction tersebut terdiri dari tiga yaitu edit distance, bigram dan edit distance + rule. Dari analisis tersebut diketahui bahwa metode edit distance + rule
25
No Penulis Judul Kesimpulan
juga memiliki akurasi yang lebih tinggi yaitu sebesar 83,39% dibandingkan dengan kedua metode lainnya yaitu edit distance dan bigram.
6 Fendy Augusfian, Viny Christanti M, dkk.(2019)
Sistem Pengoreksian Ejaan Teks Bahasa Indonesia Dengan Damerau Levenshtein Distance dan Recurrent Neural Network’
Hasil penelitian untuk membuat system koreksi ejaan teks bahasa Indonesia yang dapat memperbaiki kesalahan yang disebabkan oleh kata valid dan tidak valid tidak mencapai akurasi yang baik dibbandingkan dengan system referensi. Hasil dari sistem yang dibuat oleh Damerau Levenshtein Distance dan Recurrent Neural Network akurasi kata sebesar 21.3 % dengan kecepatan rata rata sebesar 29.2 detik.
26
No Penulis Judul Kesimpulan
7 Ni Made Muni Adriyani, I Wayan Santiyasa, Agus Muliantara(2012)
Implementasi Algoritma Levenshtein Distance dan Metode Empiris Untuk menampilkan saran perbaikan kesalahan pengetikan dokumen berbahasa Indonesia
Hasil dari penelitian ini adalah dengan menerapkan algoritma Levenshtein Distance mampu mengatasi permasalahan kesalahan pengetikan dengan mekanisme penambahan, penyisipan dan penghapusan karekter. Sementara dengan menerapkan metode empiris mampu mengetahui adanya kata yang ditulis tanpa spasi, sehingga saran yang diberikan mampu mencapai harapan dari penggunanya.
8 Agung Prasetyo, Wiga Maulana Baihaqi,
Iqbalahudin Syam Had(2018)
Algoritma Jaro Winkler Distance : Fitur
Autocorrect dan Speling Suggestion pada penulisan naskah Bahasa Indonesia di BMS TV
Hasil penelitian ini adalah dapat menangani kesalahan penulisa ejan kata yang terdaoat pada penulisan naskah Bahasa Indonesia. Dari hasil pengujian sebanyak 60 kata yang salah dalam penulisan ejaan, fitur autocorrect dan spelling suggrestion dapat menangani kesalahan ejaan pada 49 kata dengan baik.
9 Yulianto,
Muhamad Maulana Arifudin, Riza Alamsyah, Alamsyah(2018)
Autocomplete and Spell Checking Levenshtein Distance Algorithm To Getting Text Suggest Error Data Searching In Library
Penelitian ini membahas penerapan fitur pelengkapan otomatis dan pemeriksaan ejaan dengan Algoritma Levenshtein Distance.
Penelitian ini menggunakan 1155 data . keakuratan
27
No Penulis Judul Kesimpulan
algoritma Levenshtein adalah 86%.
10 Neelmay Desaia, Prof. Meera Narvekar(2015)
Normalization of Noisy Text Data
Penelitian ini bertujuan untuk mengganti noisy text kedalam bentuk Bahasa Inggris Standar dengan menargetkan kata-kata yang tidak dalam kosa kata (not-in-vocabulary) dan mengusulkan metode untuk mengidentifikasi dan menormalkan kata-kata yang tidak ada dalam kosa kata dan memperbaiki kesalahan ejaan menjadi Bahasa Inggris murni.
11 Neha Gupta, Pratistha Mathur(2012)
Spell Checking Techniques in NLP : A Survey
Penelitian ini membahasa Teknik deteksi dan koreksi yang beguna untuk mememukan kesalahan pada teks dengan mererapkan algoritma yang didasarkan pada teknik pencarian khusus untuk deteksi dan Teknik jarak edit minimum untuk koreksi hasil pada bidang pemeriksaan ejaan bahasa.
12 Novita Hanafiah, Alexander Kevin, Charles Sutanto, Fiona, Yulyani
Text Normalization Algorithm on twitter in Complaint Category
Penelitian ini membahasa menormalisasikan kalimat yang tidak terstruktur agar dimengerti. oleh mesin dengan tiga proses yaitu pembersihan
28
No Penulis Judul Kesimpulan
Arifin, Jaka Hartanto(2017)
kata, deteksi OOV dan penggatian kata. Penelitian ini mendapatkan akurasi sebesar 89.93%.
13. Ahmad Fathan Hidayatullah(2015)
Language Tweet Characteristics of Indonesian Citizen
Penelitian ini bertujuan mengubah kata-kata yang tidak standar menjadi bentuk standar dalam Bahasa Indonesia
dengan memahami
karakteristik gaya oenilisan dalam pesan twitter.
14. Nisa Kurniasih Wangsanegara, Beki
Subaeki(2015)
Implementasi Natural Language Pocessing dalam Pengukuran Ketepatan Ejaan yang Disempurnakan (EYD) pada Abstrak Skripsi Mengunakan algoritma Fuzzy Logic
Penelitian ini membuat aplikasi untuk mengidentifikasi dan menghitung jumlah kesalahan penulisan huruf kapital atau kata dan tanda baca.
Berdasarkan pengujian yang dilakukan, presentase kesesuaian hasil identifikasi yaitu 70% sesuai dengan hasil identifikasi secara manual.
15. Rahardyan Bisma Setya Putra, Ema Utami, Suwanto Rahajo(2018)
Optimasi Stemming Kata Berimbuhan Tidak Baku Pada Bahasa Indonesia dengan Levenshtein Distance
Akurasi pada algoritma Stemming Non-Formal Afix meningkat saat menggunakan pendekatan Levenshtein Distance. Namun pendekatan ini belum dapat melakukan stemming pada 60 kata beriumbuhan yang tidak baku.
29
BAB 3
METODOLOGI PENELITIAN
Pada metodologi penelitian ini berisi tahapan-tahapan yang rinci untuk menjelaskan semua tahapan penelitian yang akan dilalui. Pengoreksian Ejaan Bahasa Batak Karo Menggunakan Algoritma Leveinshtein Distance, sehingga tidak ada langkah yang tidak berjalan dan langkah yang lebih dulu dilakukan sebelum langkah sebelumnya dilakukan. Berikut adalah flowchart dan tahapan pada metodologi penelitian ini:
Gambar 1 Metodologi Penelitian
30
3.1 Studi Literatur
Studi literatur merupakan tahapan pertama dalam penelitian ini, dilakukan pencarian referensi yang bersumber dari jurnal dan buku. Lalu peneliti memahami dan mempelajari setiap referensi untuk dapat menyelesaikan permasalahan dalam tugas akhir ini. Pencarian referensi yang dilakukan meliputi studi pustaka yaitu morfologi Bahasa Batak Karo, Algoritma Levenshtein Distance dan Kamus Bahasa Karo.
3.2 Perumusan Masalah
Perumusan masalah adalah proses penentuan dan pencarian masalah yang selanjutnya akan diidentifikasi. Perumusan masalah bertujuan untuk mengumpulkan masalah terkait yang akan diteliti agar menemukan solusi dan tidak keluar dari ranah permasalahan. Ruang lingkup dan jenis data yang dibutuhkan pada penelitian ditentukan di tahapan ini. Adapun perumusan masalah pada penelitian ini adalah mengubah kata yang tidak baku pada komentar instagram bahasa Karo menjadi kata yang baku menggunakan algoritma Levenshtein Distance.
3.3 Pengumpulan Data
Pengumpulan data adalah langkah yang dilakukan untuk mendukung penelitian ini, yaitu:
1. Kamus Bahasa Karo-Indonesia yang dijadikan sumber dari kata dasar Bahasa Batak Karo. Kata yang terdapat pada kamus akan diinputkan kedalam database yang akan dibangun dengan cara menginputkan setiap kata yang terdapat pada kamus ke dalam database.
2. Buku Morfologi Bahasa Batak Karo digunakan untuk mendapatkan aturan kata berimbuhan.
3. Media sosial Instagram, data yang di kumpulkan berupa komentar pada postingan instagram.
31
3.4 Analisa
Pada tahap ini dilakukan analisa berdasarkan data yang telah dikumpulkan.
Data yang telah dianalisa tersebut akan melalui beberapa tahapan sebagai berikut:
Gambar 2 Flowchart Analisa
Inputkan komentar yang ingin di proses. Setelah komentar diinput maka tahapan berikutnya melakulan tahap preprocessing. Pada tahap preprocessing, terdapat proses untuk mengekstrasi data komentar yaitu cleaning, case folding dan tokenizing. Pada tahap Cleaning, dilakukan pembersihan kata dari karakter, simbol,
32
atau tanda baca yang tidak diperlukan dengan informasi yang ada pada data. Data yang akan dibersihkan yang memiliki karakter seperti URL, emoticon, mention dan hashtag. Selanjutnya tahap Case Folding merupakan tahap proses perubahan seluruh huruf menjadi lowercase atau uppercase. Dimana pada penelitian ini seluruh huruf pada komentar yang telah di input akan diubah menjadi lowercase.
Dan tahap tokenizing untuk memecah teks menjadi satuan kata. Hasil dari preprocessing ini akan disimpan dalam bentuk kata.
Selanjutnya kata yang telah diproses akan di cek apakah kata tersebut merupakan kata dasar terdapat pada kamus atau tidak. Jika “tidak” maka akan melalui tahap normalisasi, jika “iya” maka akan selesai.
Pada penelitian ini, normalisasi menggunakan algoritma levenshtein distance.
Levenshtein Distance digunakan untuk memproses kata dasar yang tidak ditemukan dalam kamus. Algoritma Levenshtein Distance ini akan menghitung jarak antara dua string dan akan memilih jarak terpendek sebagai hasil akhir.
Pada penelitian ini hanya menormalisasikan komentar yang berbahasa Karo.
Jika terdapat kata lain yang diinputkan selain bahasa Karo, maka kata tersebut tetap diproses tetapi tidak memiliki output.
3.5 Perancangan
Setelah tahap analisa selesai, maka tahap selanjutnya akan dilakukan perancangan sesuai dengan analisa yang telah di lakukan. Perancangan terdiri dari perancangan database dan pseudocode untuk membangun aplikasi yang diinginkan, dan perancangan antarmuka (interface) agar aplikasi memiliki tampilan yang memenuhi aspek user friendly (mudah dimengerti) dan usefulness (berguna bagi pengguna).
3.6 Implementasi
Pada tahapan implementasi dan pengujian merupakan tahapan yang dilakukan setelah tahapan analisa dan perancangan selesai dilakukan. Tahapan ini menjelaskan secara rinci bagaimana penerapan aplikasi yang telah selesai dianalisa dan dirancang sebelumnya. Adapun kebutuhan alat dan pendukung untuk proses
33
implementasi yaitu perangkat keras (hardware) dan perangkat lunak (software) sebagai beikut.
1. Processor : Intel® Core™ i3-4030 CPU @1.90GHz 2. Memory : 8,00GB
Perangkat lunak yang dibutuhkan:
1. Platform : Windows 10 2. Bahasa Pemrograman : PHP 3. DBMS : MySQL 4. Server : Apache
3.7 Pengujian
Pengujian (testing) yaitu uji coba untuk menghitung akurasi pada data yang telah diolah. Setelah melakukan implementasi maka dilakukan pengujian pada aplikasi tersebut, apakah aplikasi tersebut telah sesuai dengan yang diharapkan.
Aplikasi ini diuji dengan whitebox testing dan validator untuk memvalidasi kata.
White box testing merupakan pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara prosedural untuk membagi pengujian ke dalam beberapa kasus pengujian.
Sementara validator berperan sebagai orang yang memeriksa apakah hasil dari aplikasi sesuai dengan hasil kamus yang menjadi acuan dan sesuai dengan tata Bahasa Karo. Dengan penelitian ini maka sumber validator yaitu Bapak Alfonso Maranatha Ginting yang merupakan Ketua dua Lembaga Karo Ersinalsal.
Pengujian ini dilakukan dengan menggunakan rumus suggestion adequacy pada rumus 6.
3.8 Kesimpulan dan Saran
Tahap kesimpulan dan saran merupakan tahapan terakhir dari penelitian.
Dimulai dari tahap awal yaitu identifikasi masalah, studi pustaka, pengumpulan data, analisa, perancangan, implementasi, dan pengujian serta sesuai atau tidaknya aplikasi yang telah dibangun untuk pengguna. Sedangkan saran berisi pengembangan dari penelitian yang telah dilakukan untuk penelitian kedepanny
59
BAB 5 PENUTUP 5.1 Kesimpulan
Hasil penelitian ini mencapai kesimpulan sebagai berikut:
1. Algoritma Levenshtein Distance untuk pengoreksian ejaan bahasa Batak Karo memiliki akurasi sebesar 71.59% yang memiliki hasil tinggi.
2. Algoritma Levenshtein Distance dapat diimplementasikan untuk memperbaiki ejaan kata dalam bahasa Batak Karo.
5.2 Saran
Saran untuk penelitian selanjutnya adalah sebagai berikut:
1. Peneliti selanjutnya dapat menambah referensi kata dasar bahasa Batak Karo yang digunakan dalam kamus.
2. Peneliti dapat menggunakan metode lainnya untuk pengembangan penelitian ini dengan mengoreksi ejaan pada kalimat.
60
DAFTAR PUSTAKA
[1] R. P. Suminar, “Pengaruh Bahasa Gaul Terhadap Penggunaan Bahasa Indonesia Mahasiswa Unswagati,” 2016.
[2] E. Widianto, “Pemertahanan Bahasa Daerah Melalui Pembelajaran dan Kegiatan di Sekolah,” 2018.
[3] R. Tarmizi, “Konseling Multibudaya dan Kearifan Lokal Suku Karo Sumatera Utara dengan Pendekatan Realitas,” 2018.
[4] E. B. Surbakti, “Tipologi Sintaksis Bahasa Karo,” 2012.
[5] A. F. Hidayatullah, “Language Tweet Characteristics of Indonesian Citizens,” 2015.
[6] U. C. Zulkifli and L. H. Suadaa, “Pengembangan Modul PreprocessingTeks Untuk Kasus Formalisasi dan Pengecekan Ejaan Bahasa Indonesia Pada Aplikasi Web Mining Simple Solution (WMSS),” 2019.
[7] E. Clark and K. Araki, “Text Normalization In Social Media: Progress, Problems and Applications For A Pre-Processing System of Casual English,”
2011.
[8] M. M. Yulianto, R. Arifudin, and Alamsyah, “Autocomplete and Spell Checking Levenshtein Distance Algorithm To Getting Text Suggest Error Data Searching In Library,” 2018.
[9] N. K. Wangsanegara and B. Subaeki, “Implementasi Natural Language Processing Dalam Pengukuran Ketepatan Ejaan Yang Disempurnakan (Eyd) Pada Abstrak Skripsi Menggunakan Algoritma Fuzzy Logic,” 2015.
[10] A. Setiawan, I. F. Astuti, and A. H. Kridalaksana, “Klasifikasi Dan Pencarian Buku Referensi Akademik Menggunakan Metode Naïve Bayes Classifier (NBC) (Studi Kasus: Perpustakaan Daerah Provinsi Kalimantan Timur).”
2016.
61
[11] F. Saeed, N. Gazem Fathey Mohammad, and A. Busalim, “Recent Trends in Data Science and Soft Computing,” p. 250, 2018.
[12] A. I. Fahma, I. Cholissodin, and R. S. Perdana, “Identifikasi Kesalahan Penulisan Kata ( Typographical Error ) pada Dokumen Berbahasa Indonesia Menggunakan Metode N-gram dan Levenshtein Distance,” 2018.
[13] A. H. Purba and Z. Situmorang, “Analisis Perbandingan Algoritma Rabin- Karp Dan Levenshtein Distance Dalam Menghitung Kemiripan Teks,” 2017.
[14] H. G. Tarigan and D. Tarigan, Bahasa Karo. Jakarta: Pusat Pembinaan dan Pengembangan Bahasa Departemen Pendidikan dan Kebudayaan, 1979.
[15] G. B. van Huyssteen, R. Eiselen, and M. Puttkammer, “Evaluating Evaluation Metrics for Spelling Checker Evaluations,” 2004.