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 i
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 ii
SURAT PERNYATAAN iv
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. v
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 vi
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 vii
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 viii
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. ix
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 x
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 xi
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 xii
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 xiii
DAFTAR GAMBAR Gambar 1 Metodologi Penelitian ... 29 Gambar 2 Flowchart Analisa ... 31 xiv
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 xv
Tabel 29 Sisipan -in- ... 21 Tabel 30 Penelitian terkait ... 22 xvi
DAFTAR RUMUS
(1) ... 9
(2) ... 9
(3) ... 9
(4) ... 9
(5) ... 10
(6) ... 22 xvii
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 1
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. 2
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 3
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: 4
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. 5
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. 6
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 7
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- 8
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: 𝑫𝒊𝒔𝒕 𝒂, 𝒃(𝒊, 𝒋) = 𝒎𝒊𝒏 { 𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊, 𝒋 − 𝟏) + 𝟏) 𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊 − 𝟏, 𝒋) + 𝟏 𝑫𝒊𝒔𝒕 𝒂, 𝒃((𝒊 − 𝟏, 𝒋 − 𝟏) + 𝒄𝒐𝒔𝒕 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) D (𝒔, 𝒕) = min D (𝒔, 𝒕 − 𝟏) + 𝟏 (penyisipan) D (𝒔, 𝒕) = min D (𝒔 − 𝟏, 𝒕 − 𝟏) + 1𝒔𝒋≠𝒕𝒊 (penukaran) 9 (1) (2) (3) (4)
D (𝒔, 𝒕) = min D (𝒔 − 𝟏, 𝒕 − 𝟏) 𝒔𝒋≠𝒕𝒊 (tidak ada perubahan) 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 10 (5)
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: 11
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' 12
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' 13
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: 14
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 15
Penggunaan awalan me tidak memiliki aturan-aturan khusus dalam penggunaannya. Contoh: Tabel 16 Awalan Me Imbuhan Kata Dasar/Arti Kata Berimbuhan/Arti Mebapa 'selalu mengingat, menyebut, Me + bapa 'ayah' merindukan ayah' Menande 'selalu mengingat, menyebut, Me + nande 'ibu' 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 16
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 17
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 18
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 19
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: 20
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. 21
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]: TnnkkNSSA==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 Spelling Corrector Bahasa Hasil penggabungan metode Simanjuntak, Herry Indonesia dengan Spelling Corrector Peter Sujaini, Novi Kombinasi Metode Peter Norvig dan N-Gram dalam Safriadi (2018) Norvig dan N-Gram' kalimat Bahasa Indonesia memberikan akurasi 65,926% saat mencari saran kata . 2 Tusty Nadia Deteksi Kesalahan ejaan Metode dictionary lookup dan Maghfira, Imam dan penentun rekomendasi Damerau-Levenshtein Cholissodin, Agus koreksi kata yang tepat Distance diimplementasikan Wahyu pada dokumen jurnal dengan baik pada proses Widodo(2017) JTIIK menggunakan deteksi dan koreksi kesalahan Dictionary Lookup dan ejaan kata pada jurnal JTIIK. Damerau-Levenshtein Pada scenario pengujian Distance. jumlah kesalahan ejaan kata didapatkan nilai presisi dan 22
No 3 4 Penulis Na'firul Hasna Ariyani, Sutardi, Rahmat Ramadhan(2016) Arina Indana Fahma, Imam Cholissodin, Rizal Judul Aplikasi Pendeteksi Kemiripan Isi Teks Dokumen Menggunakan Metode Levenshtein Distance. Identifikasi Kesalahan Penulisan Kata (Typographical Error) pada Dokumen Berbahasa 23 Kesimpulan recall terbaik sebesar 0.76 dan 0.99. sedangkan nilai presisi dan recall terbaik sebesar 0,78 dan 1. 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%. Metode Levenshtein Distance digunakan untuk mendeteksi banyaknya kandidat kata sesuai dengan typographical error
No 5 Penulis Setya Perdana(2018) Umi Chuzaimah Zulkifli, Lya Hulliyyatus Suada(2019) Judul Indonesia Menggunakan Metode N-gram dan Levenshtein Distance. Pengembangan Modul Peprocessing Teks untuk Kasus Formalisasi dan Pengecekan ejaan Bahasa Indonesia pada Aplikasi Web Mining Simple Solution (WMSS) 24 Kesimpulan 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. 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
No 6 Penulis Fendy Augusfian, Viny Christanti M, dkk.(2019) Judul Sistem Pengoreksian Ejaan Teks Bahasa Indonesia Dengan Damerau Levenshtein Distance dan Recurrent Neural Network' 25 Kesimpulan juga memiliki akurasi yang lebih tinggi yaitu sebesar 83,39% dibandingkan dengan kedua metode lainnya yaitu edit distance dan bigram. 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.
No 7 8 9 Penulis Ni Made Muni Adriyani, I Wayan Santiyasa, Agus Muliantara(2012) Agung Prasetyo, Wiga Maulana Baihaqi, Iqbalahudin Syam Had(2018) Yulianto, Muhamad Maulana Arifudin, Riza Alamsyah, Alamsyah(2018) Judul Implementasi Algoritma Levenshtein Distance dan Metode Empiris Untuk menampilkan saran perbaikan kesalahan pengetikan dokumen berbahasa Indonesia Algoritma Jaro Winkler Distance : Fitur Autocorrect dan Speling Suggestion pada penulisan naskah Bahasa Indonesia di BMS TV Autocomplete and Spell Checking Levenshtein Distance Algorithm To Getting Text Suggest Error Data Searching In Library 26 Kesimpulan 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. 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. Penelitian ini membahas penerapan fitur pelengkapan otomatis dan pemeriksaan ejaan dengan Algoritma Levenshtein Distance. Penelitian ini menggunakan 1155 data . keakuratan
No Penulis 10 Neelmay Desaia, Prof. Meera Narvekar(2015) 11 Neha Gupta, Pratistha Mathur(2012) 12 Novita Hanafiah, Alexander Kevin, Charles Sutanto, Fiona, Yulyani Judul Normalization of Noisy Text Data Spell Checking Techniques in NLP : A Survey Text Normalization Algorithm on twitter in Complaint Category 27 Kesimpulan algoritma Levenshtein adalah 86%. 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. 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. Penelitian ini membahasa menormalisasikan kalimat yang tidak terstruktur agar dimengerti. oleh mesin dengan tiga proses yaitu pembersihan
No Penulis Arifin, Jaka Hartanto(2017) 13. Ahmad Fathan Hidayatullah(2015) 14. Nisa Kurniasih Wangsanegara, Beki Subaeki(2015) 15. Rahardyan Bisma Setya Putra, Ema Utami, Suwanto Rahajo(2018) Judul Language Tweet Characteristics of Indonesian Citizen Implementasi Natural Language Pocessing dalam Pengukuran Ketepatan Ejaan yang Disempurnakan (EYD) pada Abstrak Skripsi Mengunakan algoritma Fuzzy Logic Optimasi Stemming Kata Berimbuhan Tidak Baku Pada Bahasa Indonesia dengan Levenshtein Distance 28 Kesimpulan kata, deteksi OOV dan penggatian kata. Penelitian ini mendapatkan akurasi sebesar 89.93%. Penelitian ini bertujuan mengubah kata-kata yang tidak standar menjadi bentuk standar dalam Bahasa Indonesia dengan memahami karakteristik gaya oenilisan dalam pesan twitter. 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. 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.
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 29
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. 30
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, 31
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 32
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 33
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. 59
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. 60
[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. 61
LAMPIRAN A NO USERNAME KOMENTAR 1 nitaasitepu_ Bjur min 2 wibawa_nangin Mejuah juah yah 3 agustiraginting Bujur ras mejuah juah min 🙏 4 andrianaditiia Aloi sitik tur @aywanra 5 defvlin_firnando_ Kai judul puisi na e Kade" Jeb nina pusuhku e la kugejab 6 medy_sembiring_vhandya naktak iluhku e 🙏🙏🙏 👍amak mbentar salih rupans 7 iraginting30 judulna kade kade 8 ricky_ananda_tarigan Kai judul laguna min 9 arievin.trg_ Bujur min 10 surbakti.aldi E dek nggo reh karo dai 😛😂 11 dwisihitee Mejile kel suara Ndu Enda ka e @melva.sihite14 12 ade.p.barus Hehehe bujur man Senaku enggo jadi artis Karo nake 13 setiaonetarigan 🔥🔥 🔥 @gita_pranata_tarigan 14 aldisinulingga @jherygondrongs kam gia me tandai ndu e bang 15 gita_pranata_tarigan @lagukaro bujur min🙏 salam mejuah-juah 16 riymaa_erpiana_ginting Hadir nande ginting Man bandu Nde 17 egrimilalaa_ itingna @novaginting17 18 jatendrasitepu jelasena bang Mantap pal, tp gua maka la erbaju 19 arjusurbakti kam, seksi kelek pal🤣 62
20 andregabriel.17 21 surbakti_aldi 22 surbakti_aldi 23 petralaurensia 24 putritarigans 25 surbakti_aldi 26 drs_reddybangun 27 indraperanginangin20 28 prandika_semberting18 29 linatarigan_ 30 edypranatatarigan 31 surbakti_aldi 32 aryasitepu_07 33 gebbriyellasmb 34 florenta.98 35 isyahrunaprmd_ 36 azis_birink 37 juan_ginting2000 38 juan_ginting2000 39 tomijordanginting 40 wahyujuhar 41 ira_surbakti 42 jonathansitepu 43 sssaa_99_ Bujur Min. Beru kai kam dek Malam kel nyah mama karo ni ndu 😮 Mejuah-juah, bujur min ❣️ Bujur min🙏 Eiy denga teh ndu mama karo genteng pall Rehkam ku P. Bulan adina mama nangin atendu dek Labo tigan , lanai bo dua ukurku 😂 @lionytarigan Mama biring nindu min kdkd wkwkw Andiko nde tigan nina💗 Bujur kel min 😀 Nama karo ningen sekali tingan Lalit tridah yt lgu na, kai ng situhunaa judulna Kai judul lagu na KAI merga Ndu bg? Mejile kll kp sorandu😁 salam kalak karo,bujurr turang 💙 Merga ginting gI bulang ndu Keren Kel marga kai bolanh e bg Keren turang impal ku Labo let nande karooo😂 Labo lit slh karo. Kai judul na min Kai judul na Kai judulna lagu ena min 63
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 silverstoneentertainment jering_tutung sastra_ingancio_gs fadanbaroes angel.trg_ elma_efleny bayankitink lalasembiring_ asima.surbakti davidpakem rinaldi_suramana joebreka_pb togong_12 hikkiman_albert sutrissinuhaji peniiginting susi.lawaty_ginting dechaginting Bujur melala 🙏😊 salam si tandan kami nari Langa bias nde Karo.. Langa sebab langa gejapkenndu kekelengen arah maiting e Jadi tumbal Ginting e nake, nde ah. Kami ginting e mehuli nge kerina hahah Ingan syutingna wisata jurung Keren bg mejuah juah😍🙏🙏 Uga maka mama Karo e ganteng q akap kerina,em perban aq br Karo e me😅 Bujur melala min 🙏 @sopia_pinem gelah baci kam medem berngi enda :'v Bujur min❤️ Bujur dek ya..nggo mama ginting nindu Ise nge sirende ena kdkd,Ser nina pusuhku banna😁 Mama biring ningen😂 Asakai ena kade kade impal kap kita ei Bujur Engggo kata ken ndu sekali MAMA KARO😄😄😄😇😇 Bujur min❤️❤️ Kai kin judul lagu na enda nake????? Bujur min 64
62 gentri_mabirink 63 jantretarigan 64 carlos_vindonta 65 pria_september17 66 wibawa_nangin 67 wibawa_nangin 68 abramleonardotrg 69 sejahtra.sembiring 70 iniiputrii_ 71 wibawa_nangin 72 jepry_gs 73 evelynececilia 74 wibawa_nangin 75 urfavprill 76 sonyawilingga 77 ribumerambit 78 fredytrg26 79 hardiansyahsmb 80 dikyanwarsemiring 81 nandoginting21 🙏 bujur admin. Sukses selalu. Mejuah juah Mama tigan digan ei Kai judulna Kade ² Bujur melal min @lagukaro Uga maka mama karo nina adi dilaki ia...??? Kalak kai nge si rende ena gi...??? Kai judul lagunya min @lagukaro Bujur min👏 @teresiaprba erjabu kam bulan enda? Sengget kel mam iting ena😂 @lagukaro Bujur ya pak ADMIN... Dibata simasu masu ... Mejuah2 pal, ttp semangat Wahh😍bujur min❤️ Bujur mulihi man bandu admin @lagukaro ...sehat sehat kita kerina Bujur go repost ndu min❤️❤️ Bujur ya adminn,.. Dibata simasu" admin🙏🙏🙏😊😊😊😍 Pagi Adi ngerende Kam nde ribu ningen sekali nya Bujur 🙏 Labo kam ku tading ken hehehehehe Hadir mama biring Bujur min 😊 65
82 perdanasembiringg 83 daelpida 84 mesentarigan 85 bahagiaberutu1203 86 nataligintin 87 gibertanaginting 88 meiliem89 89 aldiocho 90 elmaa_tarigan 91 albipameliala 92 andrianaditiia 93 agustiraginting 94 prandika_semberting18 95 linatarigan_ 96 tomijordanginting 97 wahyujuhar 98 juan_ginting2000 99 juan_ginting2000 100 sssaa_99_ Bujur min @lagukaro , raja berneh nari😆😄🙏 Bujur majua jua Mantap kel sora ndu impal 😢 uga maka robah ka admin enda!? Enda admin politik ntah admin lagu karo. Nggo stres ia,la ngasup terima kekalahenna,,,,hahaha Ningku pe mbarenda enggo me bengkila labo kam ngasup adu ras pa tengah ah ningku, mekeng ka kam man katanken nce ena kap go ka kam talu Bujur melala man banta kerina 🙏🙏🙏🙏🙏😍😍😍😍 Bujur Tuhan 😇 Bujur melala min 😊🙏 Mate naring mbegi sora impalku ei nyah 😢 Aloi sitik tur @aywanra Bujur ras mejuah juah min 🙏 Mama biring nindu min kdkd wkwkw Andiko nde tigan nina💗 Labo let nande karooo😂 Labo lit slh karo. Nde karo Kam si rende ,la salah jadi impal hehe Hadir beru kai km.kk ? Kai judulna lagu ena min 👏 66
LAMPIRAN B 67
DAFTAR RIWAYAT HIDUP Nama : FILZHA HIDAYAT Tempat Tanggal Lahir : Pekanbaru, 27 Oktober 1996 Jenis Kelamin : Laki-Laki Agama : Islam Kewarganegaraan : Indonesia Alamat : Jalan Pesantren-Harapan Raya, Kota Pekanbaru, Provinsi Riau Informasi Pendidikan Tahun 2003-2009 : SDN 005 Bukit Raya Tahun 2009-2012 : SMPN 09 Pekanbaru Tahun 2012-2015 : SMAN 10 Pekanbaru Tahun 2015-2022 : Universitas Islam Negeri Sultan Syarif Kasim Riau 68