## JEPIN
(Jurnal Edukasi dan Penelitian Informatika)
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741
Vol. 8 No. 2 Agustus 2022
Aplikasi Pengoreksi Ejaan ( Spelling Correction ) pada Naskah Jurnal Bidang Informatika dengan N- Gram dan Jaro-Winkler Distance
Herry Sujaini #1 , Hafiz Muhardi #2 , Jefri Hasiholan Simanjuntak #3
# Program Studi Informatika Universitas Tanjungpura Jalan Prof. Dr. H. Hadari Nawawi, Pontianak, Kalimantan Barat
1 hs@untan.ac.id
2 hafizm@informatika.untan.ac.id
3 jefrihsimanjuntak@gmail.com
Abstrak — Kesalahan  penulisan  atau  typographical  error adalah  hal  yang  biasa  terjadi  dalam  penulisan  suatu dokumen.  Namun  dalam  penulisan  dokumen  karya  ilmiah seperti jurnal penelitian, hal tersebut harus dihindari karena dapat  membuat  informasi  yang  disampaikan  menjadi  tidak jelas  ataupun  bias.  Untuk  mengatasi  permasalan  tersebut dibutuhkan  sebuah  aplikasi  spelling  corrector  yang  mampu mendeteksi  typographical  error  dan  dapat  memberikan rekomendasi kata yang sesuai. Terdapat banyak metode yang bisa  diimplementasikan  dalam  membangun  sebuah  aplikasi spelling  corrector,  diantaranya  ialah  N-Gram  dan  Jaro- Winkler  Distance.  Jaro-Winkler  Distance  berperan  untuk menghitung  nilai  kemiripan  antara  kata  yang  mengalami typographical error terhadap kata pada korpus untuk mencari daftar kata yang paling mendekati. Korpus yang digunakan disusun  dari  naskah  jurnal  bidang  informatika  serta  kosa kata  KBBI.  Kemudian  N-Gram  digunakan  untuk  mencari nilai  probabilitas  kata  dengan  memperhatikan  satu  kata sebelum  dan  satu  kata  sesudahnya  atau  yang  disebut  nilai bigram.  Metode-metode  tersebut  diterapkan  pada  sebuah aplikasi  spelling  corrector  berbasis  web  yang  dapat mendeteksi kesalahan penulisan dan memberikan rekomendasi  perbaikan  pada  dokumen  Microsoft  Word (.docx),  khususnya  dokumen  jurnal  bidang  informatika. Pengujian  aplikasi  dilakukan  dengan  9  jenis  kesalahan penulisan. Jumlah kalimat yang diujikan adalah 180 kalimat dan  pada  tiap  kalimat  terdapat  satu  kata  yang  salah. Pengujian  memperoleh  hasil  yang  menyatakan  bahwa aplikasi  ini  memberikan  tingkat  kesesuaian  atau  presisi 71,348% dan tingkat kesuksesan 98,449% untuk memberikan satu saran perbaikan kata yang sesuai untuk satu kata yang salah  dalam  suatu  kalimat.  Metode-metode  tersebut  dapat diterapkan  untuk  memperbaiki  typographical  error  akan tetapi  kualitas  dan  kuantitas  korpus  sangat  berpengaruh pada hasil yang diberikan, sehingga masih sangat dibutuhkan korpus yang lebih baik lagi.
Kata kunci — jaro-winkler distance, jurnal bidang informatika, korpus, n-gram, spelling corrector

## I. P ENDAHULUAN
Penulisan  dokumen  karya  tulis  ilmiah  seperti  jurnal penelitian  harus  ditulis  menggunakan  bahasa  baku mengikuti  ketentuan  Ejaan  Yang  Disempurnakan  (EYD). Salah satu syarat dari Ejaan Yang Disempurnakan adalah menggunakan  kata-kata  baku  yang  sesuai  dengan  Kamus Besar  Bahasa  Indonesia  (KBBI).  Tujuan  penulisan  karya ilmiah  dengan  mengikuti  kaidah  bahasa  baku  ialah  agar pembaca dapat memahami isi tulisan dengan baik [1].
Namun  dalam  proses  penulisan  dokumen  biasanya sering terjadi kesalahan penulisan atau istilah lainnya yaitu typographical  error .  Kesalahan  penulisan  dapat  terjadi karena  banyak  hal,  misalnya  karena  penulis  kurang konsentrasi dalam mengetik atau karena tombol pada papan ketik yang terlalu berdekatan sehingga penulis menyebabkan  salah  ketik.  Selain  itu  kurangnya  wawasan terhadap bahasa baku juga dapat  menyebabkan kesalahan dalam  penulisan.  Untuk  mendeteksi  adanya  kesalahan penulisan  atau typographical  error diperlukan  sebuah aplikasi  yang  biasa  disebut spelling  checker . Spelling checker memeriksa  penulisan  setiap  kata  untuk  mencari kata  yang  mengalami  kesalahan  penulisan  kemudian memberi suggestion yang berbentuk saran perbaikan kata. Penelitian  untuk  membangun  aplikasi  yang  mampu mendeteksi typographical  error dan  memberikan  saran perbaikan  sudah  banyak  dilakukan.  Pada  penelitian  [2], Jaro-Winkler  Distance diimplementasikan  pada  suatu aplikasi pengoreksi ejaan dalam Bahasa Indonesia berbasis web . Korpus yang digunakan berasal dari kosakata KBBI. Aplikasi tersebut memiliki tingkat presisi saran perbaikan kata  sebesar  77,23%.  Penelitian  [3]  mengkombinasikan metode spelling corrector Peter Norvig dan N-Gram untuk mengoreksi kesalahan penulisan dalam Bahasa Indonesia. Korpus  yang  digunakan  berasal  dari  naskah  berita  daring dan  penelitian-penelitian  lainnya  yang  menggunakan korpus  Bahasa  Indonesia.  Aplikasi  tersebut  memperoleh nilai precision sebesar  65,926%  dan  nilai recall sebesar
78,07%.  Dapat  dikatakan  capaian  yang  dihasilkan  oleh penelitian  [3]  cukup  baik  sehingga  dalam  penelitian  ini mengkombinasikan  perhitungan Jaro-Winkler  Distance dan metode N-Gram untuk membuat sebuah aplikasi yang dapat  mendeteksi  dan  memberikan  saran  perbaikan  kata pada  Bahasa  Indonesia.  Aplikasi  tersebut  mendeteksi kesalahan  penulisan  pada  dokumen  uji  dalam  bentuk file Microsoft  Word (.docx). Microsoft  Word adalah  sebuah aplikasi word  processor yang  banyak  dipakai  untuk menulis dokumen karya ilmiah seperti jurnal penelitian [2]. Data  yang  digunakan  adalah  dokumen  jurnal  penelitian bidang  informatika  dan  kosakata  KBBI  untuk  dijadikan korpus dan untuk memperoleh nilai-nilai probabilitas dari serangkaian n kata.

## II. T INJAUAN P USTAKA

## A. Kata Baku
Kata  baku  merupakan  kata  yang  telah  memenuhi ketentuan atau pedoman dalam bahasa tertentu, dalam hal ini  yaitu  kaidah-kaidah  dalam  Bahasa  Indonesia. Sedangkan kata yang tidak baku merupakan kata-kata yang tidak  memenuhi  ketentuan  atau  pedoman  dalam  Bahasa Indonesia. Kata baku memiliki beberapa ciri. Pertama, kata baku  dipakai  pada  situasi  formal  entah  itu  secara  lisan maupun tulisan. Misalnya pada urusan birokrasi pada dinas, peraturan  pemerintah  atau  perundang-undangan,  karya tulis  ilmiah,  laporan  penelitian  dan  lainnya.  Penggunaan kata  baku  pada  situasi  resmi  karena  kata  baku  tidak dipengaruhi  logat  maupun  dialek  daerah  tertentu.  Kedua, kata baku entah itu secara lisan ataupun tulisan mengikuti ketentuan-ketentuan  yang  berlaku  pada  Pedoman  Umum Ejaan  Bahasa  Indonesia.  Ketiga,  entah  itu  secara  lisan ataupun  tulisan,  wajib  memenuhi  aturan  gramatikal  yang terdiri  dari  subjek,  predikat,  dan  objek  secara  jelas  dan lengkap.  Mengacu  pada  ciri-ciri  yang  telah  dijabarkan dapat  dikatakan  bahwa  kata  baku  ialah  kata-kata  yang biasanya digunakan pada situasi formal yang penulisan dan pengucapannya sesuai  dengan kaidah  atau pedoman pada Bahasa Indonesia [4].

## B. Typographical Error
Typographical  error adalah  istilah  untuk  kesalahan dalam pengetikan sebuah teks. Kesalahan seperti ini dapat mengubah arti sebuah kata bahkan arti sebuah kalimat, oleh karena  itu  sangat  fatal  apabila  terjadi  dalam  penulisan dokumen karya ilmiah seperti jurnal penelitian. Typographical error mencakup kesalahan yang disebabkan oleh  kegagalan  mekanis  atau  slip  jari  saat  mengetik,  dan juga  kesalahan  yang  ditimbulkan  karena  kurangnya wawasan penulis terhadap kata-kata yang baku [5].
Typographical  error dapat  dibedakan  menjadi  2  jenis berdasarkan kesalahan katanya, yaitu real-word error dan non-word error [6]. Real-word error merupakan kesalahan pada  kata  yang  benar-benar  memiliki  makna  namun penggunaanya  dalam  kalimat  tidak  tepat.  Hal  ini berhubungan  dengan  tata  Bahasa  atau grammar . Sedangkan non-word  error adalah  kesalahan  pada  kata
yang  tidak  bermakna  karena  kata  tersebut  tidak  terdapat pada kamus [7].

## C. Preprocessing
Preprocessing ialah  tahapan  yang  dilakukan  untuk membersihkan,  menghapus,  atau  mengubah data  source baik karakter yang berbentuk karakter non alfabet ataupun kata-kata  yang  tidak  dibutuhkan  [8].  Tahapan  dalam preprocessing terdiri  dari case  folding , tokenizing dan filtering .  Tahap preprocessing bisa  berbeda-beda  pada setiap  kasus.  Tahapan preprocessing pada  penelitian  ini meliputi:
1)  Case  Folding: Case  folding ialah  tahapan  untuk mengubah  seluruh  teks  pada  dokumen  ke  dalam  bentuk lower  case [9].  Contoh  tahapan case  folding bisa  dilihat pada  Gambar  1  yang  mana  teks  inputan  terdapat  huruf capital dan teks outputnya semua huruf kecil.
Gambar. 1 Contoh tahapan case folding
2)  Tokenizing: Tokenizing adalah  tahapan  untuk memisah-misahkan  teks  penyusun  dokumen  menjadi kalimat per kalimat maupun kata per kata [10]. Tokenizing menggunakan  karakter  diluar  alfabet  untuk  melakukan pemisahan,  misalnya  spasi.  Keluaran  dari  tahapan tokenizing berbentuk array . Contoh tahapan tokenizing bisa dilihat pada Gambar 2.
Gambar. 2 Contoh tahapan tokenizing
3)  Filtering: Filtering adalah tahapan untuk membuang kata-kata  yang  masih  terdapat  duplikat  pada  hasil tokenizing untuk  menghasilkan  kata-kata  yang  unik. Contoh tahapan filtering bisa dilihat pada Gambar. 3.
Gambar. 3 Contoh tahapan filtering

## D. Spelling Checker
Spelling  Checker adalah  fitur  yang  berfungsi  untuk mendeteksi  adanya  kesalahan  dalam  penulisan  dan memberikan  saran  perbaikan  [11]. Spelling  checker memiliki dua fungsi utama yaitu error detection dan error correction .  Berdasarkan  kesalahan  kata  yang  diproses, spelling checker dapat dibedakan ke dalam dua jenis yaitu real-word  error  checker dan non-word  error  checker . Real-word  error  checker berfokus  kata  yang  benar-benar memiliki makna namun penggunaanya dalam kalimat tidak tepat.  Hal  ini  berhubungan  dengan  tata  Bahasa  atau grammar .  Sedangkan non-word  error  checker berfokus pada kesalahan pada kata yang tidak bermakna karena kata tersebut  tidak  terdapat  pada  kamus.  Berdasarkan  definisi tersebut, aplikasi yang dibangun pada penelitian ini dapat diklasifikasikan sebagai non-word error checker .
E. Jaro-Winkler Distance
Jaro-Winkler Distance ialah suatu perhitungan distance yang berfungsi untuk menghitung nilai kemiripan dua buah string , perhitungan distance ini banyak diimplementasikan untuk  mendeteksi  duplikasi  dan  deteksi  plagiarisme  pada dokumen  [12]. Jaro-Winkler  Distance memiliki  3  bagian dasar  antara  lain  ialah  menghitung  panjang  dari  sebuah string ,  menghitung  banyaknya  karakter  yang  sama  persis antara dua buah string dan menghitung banyaknya karakter yang tertukar posisinya atau transposisi diantara dua buah string [13].  Rentang  nilai Jaro-Winkler  Distance adalah dari 0 sampai dengan 1. Nilai 0 pada Jaro-Winkler Distance memperlihatkan tidak adanya kemiripan sama sekali pada string yang  dibandingkan.  Nilai  1  pada Jaro-Winkler Distance memperlihatkan bahwa string yang dibandingkan adalah identik. Tingkat kemiripan string yang dibandingkan  ditentukan  dengan  tingginya  nilai Jaro-
Winkler  Distance .  Rumus  perhitungan Jaro-Winkler Distance adalah sebagai berikut:
𝑑𝑗 = 1 3 𝑥  ( 𝑚 |s1| + 𝑚 |s2| + 𝑚 − 𝑡 m )
Keterangan:
dj: nilai Jaro Distance . m:  banyaknya  karakter  yang  identik  pada string yang dibandingkan.
| 𝑠 1|: jumlah karakter pada string 1. | 𝑠 2|: jumlah karakter pada string 2.
t:  setengah  dari  jumlah  karakter  yang  tertukar  posisinya (transposisi).
Syarat  agar  jarak  teoritis  dua  buah string yang dibandingkan  bisa  diterima  ialah  apabila  tidak  melewati batasan:
𝑥 = max|s1| , |s2| 2 − 1
Setelah  memperoleh  nilai Jaro  Distance (dj),  kemudian nilai  tersebut  dimasukkan  ke  dalam  perhitungan Jaro- Winkler Distance dengan rumus sebagai berikut: 𝑑𝑤 = 𝑑𝑗 + ( 𝑙 × 𝑝 × (1 − 𝑑𝑗 )) Keterangan: dw: nilai Jaro-Winkler Distance . dj: nilai Jaro Distance . l: jumlah karakter di awal string yang persis sama dengan string pembanding,  namun  maksimal  hanya  4  karakter yang  dihitung  (jumlah  karakter  yang  identik  sebelum ditemukan ketidaksamaan).
p: nilai scaling factor yang ditetapkan oleh Winkler yaitu sebesar 0.1.
Contoh  perhitungan  Jaro-Winkler  Distance  antara  kata “aplkasi” dengan kata “aplikasi” dapat dilihat di bawah ini : m
= 7 s1 = 7 s2 = 8 t = 0 l = 3 Maka perhitungan Jaro Distance adalah:
𝑑𝑗 = 1 3 𝑥  ( 𝑚 |s1| + 𝑚 |s2| + 𝑚 − 𝑡 m ) 𝑑𝑗 = 1 3 𝑥  ( 7 7 + 7 8 + 7 − 0 7 )
𝑑𝑗 = 0,9583 Nilai Jaro-Winkler Distance adalah: 𝑑𝑤 = 𝑑𝑗 + ( 𝑙 × 𝑝 × (1 − 𝑑𝑗 )) 𝑑𝑤 = 0,9583 + (3 × 0,1 × (1 – 0,9583)) 𝑑𝑤 = 0,97081

## F. N-Gram
N-Gram merupakan model probabilistik yang digunakan untuk  memprediksi  karakter  atau string berikutnya  pada serangkaian  karakter  atau string yang  berurutan  pada sebuah data. Data tersebut pada umumnya berbentuk teks [14].  Nilai n yang  digunakan  dapat  berbeda-beda menyesuaikan dengan keperluan. Misalnya untuk n bernilai 1 disebut unigram , n bernilai 2 disebut bigram , n bernilai 3 disebut trigram , dan seterusnya.
Contoh model n-gram untuk kata “JURNAL”:
Unigram : J, U, R, N, A, L Bigram : JU, UR, RN, NA, AL Trigram : JUR, URN, RNA, NAL
Contoh model n-gram untuk sebuah kalimat “saya sedang mengetik jurnal” :
Unigram : saya, sedang, mengetik, jurnal Bigram :  saya  sedang,  sedang  mengetik, mengetik jurnal
Trigram
: saya sedang mengetik, sedang mengetik jurnal
G. Length Based Filter Length  Based  Filter merupakan  sebuah  filter  yang menggunakan  panjang  dari  karakter  sebagai  dasar penyaringan data [2]. Penggunaan length based filter pada penelitian  ini  adalah  untuk  memfilter  data  pada  korpus sebelum  dilakukan  perhitungan Jaro-Winkler  Distance . Filter  yang  digunakan  dapat  dirumuskan  dengan  panjang string (P) antara P kata – 3 sampai P kata + 3. Misalnya tahap length-based  filter dengan  kata  “JURNAL”  pada  setiap kata  di  dalam  korpus.  Karena  kata  “JURNAL”  memiliki panjang  6  karakter,  maka  kata  yang  dapat  dibandingkan adalah  kata  yang  panjangnya  3  sampai  9  karakter.  Kata yang bisa digunakan sebagai pembanding misalnya seperti kata “JURI” yang panjangnya 4 karakter, kata “JURNAL” yang  panjangnya  6  karakter,  kata  “JURNALIS”  yang panjangnya 8 karakter, dan lain-lain.

## H. Flowchart
Flowchart merupakan penggambaran sebuah algoritma atau  cara  menyelesaikan  sebuah  permasalahan  secara visual.  Penggunaan flowchart mempermudah user dalam melakukan  pemeriksaan  bagian-bagian  yang  luput  pada saat  analisis  serta  sebagai  media  komunikasi  bagi programmer yang  bekerja  secara  tim  pada  suatu  proyek. Selain  itu flowchart dapat  mempermudah  dalam memahami jalannya  suatu logika yang kompleks [15].

## I. Precission dan Recall
Precision merupakan  tingkat  ketepatan  atau  akurasi sebuah sistem dalam memberikan informasi sesuai dengan permintaan  informasi  tersebut.  Sedangkan recall ialah tingkat  kemampuan  sebuah  sistem  untuk  memperoleh kembali  data  atau  informasi  yang  telah  tersimpan sebelumnya  [3].  Berikut  ini  adalah  rumusan  untuk Precision dan Recall :
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃 + 𝑇𝑁 𝑥 100% 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 𝑥 100% Keterangan: TP (True Positive) :  banyaknya  data  keluaran sistem yang sesuai dengan harapan TN (True Negative) :  banyaknya  data  keluaran sistem yang tidak sesuai dengan harapan FN (False Negative)
: banyaknya data yang diharapkan namun tidak dihasilkan sistem
FP (False Positive) :  banyaknya  data  keluaran sistem yang tidak diharapkan dan tidak dihasilkan sistem TP + TN : banyaknya data keluaran yang dihasilkan oleh sistem TP + FN :  banyaknya  data  keluaran
sistem yang sesuai dengan harapan

## III. M ETODOLOGI P ENELITIAN

## A. Perangkat Penelitian
Alat  yang  dipakai  pada  penelitian  ini  terbagi  menjadi dua  jenis  yaitu  perangkat  keras  dan  perangkat  lunak. Berikut  ini  adalah  daftar  perangkat  keras  dan  perangkat lunak yang dipakai pada penelitian.
1. Perangkat Keras Laptop ASUS X450LA dengan rincian sebagai berikut :
a. CPU Intel Core i5-4200U
b. GPU Nvidia GeForce 820M VRAM 2GB
c. RAM 4 GB
d. Storage hard disk 500GB
2. Perangkat Lunak Perangkat lunak yang dipakai pada penelitian adalah : a. Sistem Operasi Windows 10 Pro
b. Visual Code Studio untuk teks editor
c. XAMPP untuk server lokal
d. Google Chrome untuk browser

## B. Data Penelitian
Data  yang  dimaksud  ialah  data  yang  digunakan  untuk membuat korpus dan frekuensi bigram pada aplikasi. Data- data tersebut adalah sebagai berikut: 1. Naskah  Jurnal  Edukasi  dan  Penelitian  Informatika (JEPIN) sebanyak 172 dokumen.
Sumber:
https://jurnal.untan.ac.id/index.php/jepin/index
2. Naskah  Jurnal  Sistem  dan  Teknologi  Informasi (JUSTIN) sebanyak 348 dokumen.
Sumber: https://jurnal.untan.ac.id/index.php/justin
3. Daftar  kata  pada  bahasa  Indonesia  dari  Kamus  Besar Bahasa Indonesia (KBBI).
Sumber: https://github.com/andrisetiawan/lexicon/blob/master/ kata_dasar_kbbi.csv

## C. Perancangan Sistem Arsitektur Sistem
User mengunggah dokumen jurnal yang ingin diperiksa penulisannya  dalam  bentuk file  Microsoft  Word (.docx). Kemudian sistem akan melakukan ekstraksi teks yang ada pada  dokumen  tersebut.  Teks  tersebut  kemudian  melalui preprocessing hingga siap untuk proses berikutnya. Proses yang dimaksud ialah tokenizing /tokenisasi untuk memisahkan  seluruh  teks  tadi  menjadi  token-token  yang berupa  sebuah  kata.  Setiap  kata  tersebut  kemudian diperiksa ketersediaannya pada database kamus, bila kata terdapat  pada  kamus  berarti  kata  itu  dianggap  benar  dan tidak  perlu  diproses  lebih  lanjut.  Namun  bila  kata  tak ditemukan dalam kamus, maka akan dicari kata yang paling mendekati dan dihitung jaraknya dengan perhitungan Jaro-
Winkler  distance. Hasil  dari  perhitungan  tersebut  akan menghasilkan kandidat kata yang kemudian akan dihitung nilai  probabilitasnya  dengan  metode N-Gram. Hasilnya akan menjadi rekomendasi kata yang dianggap benar oleh sistem. Arsitektur system yang dibangun dapat melakukan pemberian saran koreksi ejaan pada naskah yang diunggah oleh  pengguna  berupa  file  bertipe  dokumen  atau berekstensi  .doc  kemudian  proses  akan  berjalan  ketika sudah  di  unggah  kedalam  aplikasi  yang  dibangun  dan memberikan output koreksi ejaan kata yang dianggap salah oleh system secara otomatis dan dapat dilihat pada Gambar 4.
Gambar. 4 Arsitektur sistem

## D. Flowchart Proses Pembuatan Kamus
Flowchart proses  pembuatan  korpus  bisa  dilihat  pada Gambar 5.
Gambar. 5 Flowchart pembuatan kamus
Berikut  adalah  penjelasan  dari flowchart proses pembuatan korpus:
1. Proses dimulai.
2. Korpus dibuat dari dokumen-dokumen JEPIN, JUSTIN dan KBBI.
3. Dokumen-dokumen tersebut diekstrak untuk mendapatkan teks.
4. Teks  kemudian dilakukan preprocessing ,  dimulai  dari tahap case folding , tokenizing dan filtering . 5. Setelah  selesai,  didapatlah array kata  yang  kemudian disimpan ke dalam database sebagai kamus.
6. Proses selesai.

## E. Flowchart Proses Pembuatan Model N-Gram
Pada penelitian yang dilakukan nilai n yang dipakai ialah 2 ( bigram ). Flowchart proses pembuatan frekuensi bigram bisa dilihat pada Gambar 6.
Gambar. 6 Flowchart pembuatan model bigram
Berikut merupakan penjelasan dari flowchart pembuatan frekuensi bigram :
1. Proses dimulai.
2. Frekuensi bigram dibuat  sesuai  dengan  frekuensi kemunculan  kata-kata  pada  dokumen  JEPIN  dan JUSTIN. 3. Dokumen-dokumen tersebut diekstrak untuk mendapatkan teks.
4. Teks kemudian dipisah kalimat per kalimat.
5. Setelah  kalimat-kalimat  tersusun  pada  sebuah array kalimat,  kemudian  kalimat  dibuatkan  model bigram - nya. 6. Hitung frekuensi kemunculan bigram .
Simpan  model bigram dan  frekuensi  kemunculan  ke database .

## F. Flowchart Aplikasi
Flowchart keseluruhan  aplikasi  dapat  dilihat  pada Gambar  7.  Berikut  adalah  penjelasan  dari flowchart aplikasi:
1. Proses dimulai.
2. User mengunggah dokumen yang akan diperiksa dalam bentuk file microsoft word (.docx).
3. Setelah  itu  sistem  akan  membaca  dokumen  yang diunggah.
4. Kemudian  sistem  memeriksa  format  dokumen  yang diunggah,  apakah  berupa file .docx  atau  bukan.  Jika format  sudah  benar  maka  proses  berlanjut  ke  proses ekstrak teks, namun jika format dokumen belum sesuai
maka user akan  diminta  untuk  mengulangi  proses unggah dokumen.
5. Dokumen  .docx  yang  diunggah  diekstrak  menjadi file  .xml.  Kemudian  diperoleh  teks  dalam  bentuk kalimat-kalimat yang akan diproses lebih lanjut.
6. Proses tokenizing melakukan  pemisahan  kalimat menjadi kata per kata berdasarkan satu spasi. Proses ini dilakukan  untuk  dapat  membandingkan  antara  kata yang ada di dalam kalimat uji dengan kata yang ada di dalam kamus.
7. Hasil dari proses sebelumnya berupa array kata dengan permisalan j dikatakan sebagai panjang dari array kata tersebut.
8. Sistem  mencocokkan  seluruh  kata  pada array kata dengan  kamus  menggunakan  teknik exact  string matching .  Proses  akan  berulang  hingga  seluruh  kata pada array kata  selesai  dicocokkan  dengan database kamus.
9. Apabila kata yang diperiksa ada di kamus maka maka kata  tersebut  tidak  dianggap  salah  dan  sistem  akan memeriksa apakah proses sudah sampai ke kata terakhir pada array kata. Namun jika kata yang diperiksa tidak ada  di  kamus  maka  kata  itu  dinyatakan  sebagai  kata dengan  kesalahan  penulisan,  kemudian  proses  akan berlanjut ke proses filter kamus.
10. Sistem menyaring kata-kata pada kamus menggunakan length-based  filters ,  sehingga  sistem  akan  mengambil kata-kata yang selisih panjang katanyanya maksimal 3 karakter dari kata dengan kesalahan penulisan tadi. 11. Sistem menghitung nilai kemiripan antara kata dengan kesalahan  penulisan  tadi  dengan  kata-kata  yang dihasilkan  dari  proses  filter  kamus  untuk  mencari kandidat  saran  perbaikan  kata  dengan  perhitungan Jaro-Winkler  Distance .  Proses  perhitungan Jaro- Winkler  Distance selengkapnya  dapat  dilihat  pada Gambar. 8.
12. Sistem  mengambil  30  kandidat  saran  perbaikan  kata dan  mengurutkannya  dari  nilai  tertinggi  ke  nilai terendah.
13. Sistem memeriksa proses perulangan telah selesai atau belum dengan memeriksa apakah nilai j telah bernilai 0. Bila  proses  perulangan  belum  selesai,  sistem  akan kembali  memeriksa  kata  berikutnya  pada array kata. Namun  apabila  proses  perulangan  pemeriksaan  kata telah  selesai,  sistem  akan  lanjut  ke  proses  selanjutnya yaitu perhitungan N-Gram .
14. Kandidat  saran  perbaikan  kata  yang  sudah  didapat kemudian  dihitung  untuk  mendapatkan  nilai bigram - nya  dengan  melihat  satu  kata  sebelum  dan  satu  kata sesudah  kata  tersebut  pada  kalimat.  Nilai  dari perhitungan bigram tersebut digunakan untuk mengurutkan  kandidat  saran  perbaikan  kata  tadi, kemudian  sistem  mengambil  5  kata  dengan  nilai tertinggi  untuk  dijadikan  saran  perbaikan  kata  final. Proses perhitungan bigram dapat dilihat pada Gambar 9. 15. Sistem  menampilkan  daftar  kata  dengan  kesalahan penulisan di dokumen.
16. Sistem memberikan kata-kata yang menjadi saran untuk perbaikan pada setiap kata dengan kesalahan penulisan.
Proses selesai.
Gambar. 7 Flowchart aplikasi
G. Flowchart Perhitungan Jaro-Winkler Distance Flowchart perhitungan jaro-winkler  distance dapat dilihat  pada  Gambar  8.  Berikut  adalah  penjelasan  dari flowchart perhitungan jaro-winkler distance :
1. Proses dimulai.
2. Kata-kata  yang  teridentifikasi  sebagai  kata  salah  akan dihitung dengan jaro-winkler distance .
3. Sistem  menghitung  jumlah  karakter  yang  sama  persis pada  kata  salah  dengan  kata  yang  akan  dibandingkan dari kamus.
4. Sistem menghitung panjang dari kata salah dan panjang kata dari kamus yang akan dibandingkan.
5. Sistem menghitung jumlah transposisi antara kata salah terhadap kata dari kamus yang akan dibandingkan.
6. Sistem  menghitung  nilai jaro  distance .  Kemudian didapatlah  nilai jaro-distance yang  akan  dimasukkan kedalam perhitungan jaro-winkler distance . 7. Sistem  melakukan  perhitungan jaro-winkler  distance . Kemudian didapatlah nilai  merupakan nilai  kemiripan antara  kata  salah  dengan  kata  dari  kamus  yang dibandingkan.
8. Proses selesai.
Gambar. 8 Flowchart perhitungan Jaro-Winkler Distance

## H. Flowchart Perhitungan Nilai N-Gram
Flowchart perhitungan nilai N-Gram bisa dilihat  pada Gambar 9.
Gambar. 9 Flowchart perhitungan nilai N-Gram
Berikut adalah penjelasan dari flowchart nilai N-Gram : 1. Proses dimulai.
2. Perhitungan  nilai bigram kiri  yaitu  menghitung  nilai bigram dari  pasangan  satu  kandidat  kata  dengan  satu kata disebelah kiri kata salah pada kalimat dimana kata tersebut  berada.  Nilai  frekuensi  kemunculan  diambil dari database frekuensi bigram . 3. Perhitungan nilai bigram kanan yaitu menghitung nilai bigram dari  pasangan  satu  kandidat  kata  dengan  satu kata  disebelah  kanan  kata  salah  pada  kalimat  dimana
kata  tersebut  berada.  Nilai  frekuensi  kemunculan diambil dari database frekuensi bigram . 4. Setelah mendapatkan nilai bigram kiri dan nilai bigram kanan,  maka  kedua  nilai  tersebut  dijumlahkan kemudian  dibagi  dengan  2  untuk  mendapatkan  total nilai bigram . 5. Sistem  mengurutkan  kandidat  kata  berdasarkan  nilai bigram ,  kata  dengan  nilai bigram tertinggi  akan menjadi  saran  perbaikan  teratas.  Urutan  kata berdasarkan  nilai bigram ini  akan  menjadi  saran perbaikan kata. Proses selesai.
IV. P ENGUJIAN DAN A NALISIS

## A. Hasil Perancangan Sistem
Gambar  10  merupaka  halaman  yang  digunakan  untuk mengunggah  dokumen  yang  hendak  diperiksa.  Pengguna dapat  memilih file berekstensi  .docx  untuk  diperiksa penulisannya dengan aplikasi ini.

## Gambar. 10 Halaman unggah dokumen
Setelah mengunggah dokumen, kemudian aplikasi akan memproses dokumen tersebut sesuai dengan proses-proses yang telah dijabarkan dengan flowchart- flowchart di atas. Setelah  proses  selesai  maka  aplikasi  akan  menampilkan hasil  pemeriksaan  dengan  menandai  kata-kata  yang  salah dan memberi saran perbaikan kata sebagaimana yang bisa dilihat pada Gambar 11.
Gambar. 11 Halaman hasil pemeriksaan
B. Pengujian Precision dan Recall
Pengujian  precision  dan  recall  dilakukan  dalam  9 skenario  uji  yang  berbeda.  Masing-masing  skenario tersebut  diuji  dengan  20  kalimat  dengan  1  kata  salah  di dalamnya sehingga total  kalimat yang diujikan berjumlah 180  kalimat.  Berikut  adalah  skenario  pengujian  yang dilakukan:
1. Skenario  uji  dengan  jenis  “kesalahan  1  huruf”  ialah mengubah 1 huruf pada kata. Contoh kata salah “ biase ”, seharusnya “ biasa ”. 2. Skenario uji dengan jenis kesalahan ejaan “kekurangan 1” huruf ialah menghilangkan 1 huruf secara acak pada kata.  Contoh  kata  salah  “ algritma ”,  seharusnya “ algoritma ”. 3. Skenario uji dengan jenis kesalahan ejaan “kelebihan 1” huruf ialah menambahkan 1 huruf secara acak pada kata. Contoh kata salah “ adalaah ”, seharusnya “ adalah ”. 4. Skenario  uji  dengan  jenis  “kesalahan  posisi  2  huruf” ialah menukar posisi 2 huruf pada kata yang benar tanpa mengganti huruf maupun jumlah hurufnya. Contoh kata salah “ dimaan ”, seharusnya “ dimana ”. 5. Skenario  uji  dengan  “kesalahan  2  huruf”  ialah mengubah 2 huruf pada kata yang benar dengan 2 huruf lain.  Contoh  kata  salah  “ barsame ”,  seharusnya “ bersama ”.
6. Skenario uji dengan jenis kesalahan ejaan“kehilangan 2 huruf”  ialah  menghilangkan  2  huruf  secara  acak  pada kata  namun  tidak  mengganti  huruf  yang  lain.  Contoh kata salah “ ctoh ”, seharusnya “ contoh ”. 7. Skenario uji dengan jenis kesalahan ejaan “penambahan 2  huruf”  ialah  melakukan  penambahan  2  huruf  secara acak pada kata tanpa mengubah huruf yang lain. Contoh kata salah “ kejajahatan ”, seharusnya “ kejahatan ”. 8. Skenario  uji  dengan  jenis  “kesalahan  1  huruf  dan kehilangan 1 huruf” ialah mengubah 1 huruf pada kata dengan  huruf  yang  lain  serta  menghilangkan  1  huruf yang  lain  pada  kata  secara  acak.  Contoh  kata  salah “ disribasi ”, seharusnya “ distribusi ”. 9. Skenario  uji  dengan  jenis  “kesalahan  1  huruf  dan penambahan 1 huruf” ialah mengubah 1 huruf pada kata dengan huruf yang lain serta melakukan penambahan 1 huruf yang lain pada katasecara acak. Contoh kata salah “ memcarik ”, seharusnya “ mencari ”.

## C. Hasil Pengujian
Hasil  dari  pengujian precision dan recall dapat  dilihat pada Tabel I.
TABEL I H ASIL P ENGUJIAN No Skenario Uji Kata Uji TP T N F N Precisi on Reca ll 1 Kesalahan 1 huruf 20 14 4 2 77,777
% 87,5 % 2 Kekurangan 1 huruf 20 20 0 0 100% 100 % 3 Kelebihan 1 huruf 20 14 6 0 70% 100 % 4 Kesalahan letak 2 huruf 20 16 4 0 80% 100 % 5 Kesalahan 2 huruf 20 8 12 0 40% 100 % 6 Kekurangan 2 huruf 20 17 3 0 85% 100 %
No Skenario Uji Kata Uji TP T N F N Precisi on Reca ll 7 Kelebihan 2 huruf 20 14 6 0 70% 100 % 8 Kesalahan 1 dan kekurangan kekurangan 1 huruf 20 14 6 0 70% 100 % 9 Kesalahan 1 dan kelebihan 1 huruf 20 10 10 0 50% 100 % TOTAL 180 127 51 2 71,348 % 98,4 49%
Keterangan:
Nilai TP :  jumlah pengujian yang mendapatkan kata yang relevan.
Nilai TN : jumlah pengujian yang tidak mendapatkan kata yang relevan.
Nilai FN :  jumlah  pengujian  yang  tidak  menghasilkan satupun saran kata.
Nilai precision diperoleh dari jumlah kata yang relevan yang berhasil dihasilkan oleh sistem dibagi dengan jumlah kata  benar  dan  salah  yang  dihasilkan  sistem.  Sedangkan nilai recall diperoleh  dari  jumlah  kata  sesuai  harapan (relevan) yang berhasil diberikan sistem dibagi jumlah kata yang  diharapkan  (relevan)  baik  yang  berhasil  dihasilkan maupun  tidak  berhasil  dihasilkan  oleh  sistem.  Berikut perhitungannya:
Precision = TP TP+TN ×  100%
Precision = 127
127+51 ×  100% = 71,348 Recall = TP TP+FN ×  100%
Recall = 127 127+2 × 100% = 98,449
D. Pengujian Kinerja Aplikasi pada Jurnal Informatika dan Jurnal Lain
Pengujian  dilakukan  untuk  melihat  kinerja  aplikasi pada jurnal bidang informatika dengan jurnal bidang lain. Pada  dokumen  jurnal  yang  diujikan  masing-masing terdapat 20 kata yang salah. Berikut adalah dokumen jurnal yang dibandingkan:
1.  Jurnal  bidang  informatika  dengan  judul  “Aplikasi Learning Management System pada Jenjang Madrasah Aliyah”.
Sumber: https://jurnal.untan.ac.id/index.php/justin/article/view/ 38266
2. Jurnal bidang ekonomi dengan judul “Pengaruh Kinerja Keuangan, Risk Based Capital , Ukuran Perusahaan dan Makro  Ekonomi  Terhadap Financial  Distress ”. Sumber: https://jurnal.untan.ac.id/index.php/JJ/article/view/447 93
E. Hasil  Pengujian  Kinerja  Aplikasi  pada  Jurnal Informatika dan Jurnal Lain
Hasil dari pengujian pada jurnal bidang informatika dan jurnal bidang ekonomi dapat dilihat pada Tabel II.
TABEL II
H ASIL P ENGUJIAN P ADA J URNAL I NFORMATIKA D AN J URNAL L AIN No Dokumen Kata Uji TP TN FN Preci sion Rec all 1 Jurnal Informatika 20 17 3 0 85% 100 % 2 Jurnal Ekonomi 20 13 7 0 65% 100 %

## F. Analisis Hasil
Analisis  hasil  pengujian  aplikasi  pengoreksi  ejaan ( spelling correction ) pada naskah jurnal bidang informatika  dengan n-gram dan jaro-winkler  distance dapat disimpulkan sebagai berikut:
1. Berdasarkan  hasil  pengujian  yang  ditunjukkan  pada tabel  1,  menunjukkan  bahwa  persentase precision tertinggi terjadi pada skenario uji 2 dengan nilai 100% dan persentase precision terendah terjadi pada skenario uji 5 dengan nilai 40%.
2. Berdasarkan  hasil  pengujian  yang  ditunjukkan  pada tabel  1,  menunjukkan  bahwa  pada  skenario  2  sampai dengan  9  memiliki  persentase recall sebesar  100%, kecuali pada skenario 1 yang memiliki persentase recall sebesar 87,5%.
3. Kualitas korpus  sangat  mempengaruhi hasil  pencarian kesalahan kata. Korpus yang digunakan masih jauh dari sempurna dan masih terdapat kata-kata yang keliru. Hal ini  menyebabkan  sebuah  kata  dengan  kesalahan penulisan  dapat  luput  dari  pemeriksaan  jika  ternyata kata tersebut terdapat pada korpus.
4. Jaro-Winkler  distance mencari  nilai  kemiripan  antara kata yang salah dengan kata yang terdapat dalam korpus. Setiap  kata  pada  korpus  memiliki  nilai  kemiripan, sehingga  dibatasi  sistem  mengambil  30  kata  dengan nilai  kemiripan  tertinggi  untuk  kemudian  dijadikan kandidat kata.
5. Metode  N-Gram  menggunakan  frekuensi  kemunculan kata-kata (nilai bigram ) dari semua kandidat kata yang dihasilkan Jaro-Winkler distance . Urutan rekomendasi kata disusun berdasarkan nilai bigram tertinggi ke nilai bigram terendah, kemudian sistem mengambil 5 kata di urutan teratas untuk menjadi rekomendasi kata. Namun apabila tidak ada satupun nilai bigram yang lebih dari nol, maka sistem akan menampilkan rekomendasi kata berdasarkan  nilai  dari  Jaro-Winkler  distance  dengan nilai  kemiripan  tertinggi  ke  nilai  kemiripan  terendah. Hal  ini  dilakukan  agar  aplikasi  tetap  menghasilkan rekomendasi  kata  walaupun  dengan  korpus  yang terbatas.  Hal  ini  pula  yang  membuat  nilai recall pada pengujian aplikasi sangat tinggi.
6. Jumlah korpus yang digunakan juga berpengaruh pada pemeriksaan  kata  yang  salah  pada  dokumen  uji.
Apabila  kata  pada  dokumen  uji  tidak  terdapat  pada korpus  maka  sistem  akan  menganggap  bahwa  kata tersebut salah walaupun sebenarnya tidak salah. Selain itu kuantitas korpus juga berpengaruh pada penentuan urutan  rekomendasi  kata  dengan N-Gram .  Nilai probabilitas rekomendasi kata relevan lebih rendah dari rekomendasi kata lainnya. Hal ini mempengaruhi nilai precision seperti  yang  dapat  dilihat  pada  pengujian aplikasi.
7. Nilai  FN  yang  terjadi  pada  pengujian  disebabkan karena kata salah yang diujikan ternyata terdapat pada korpus  sehingga  kata  tersebut  tidak  teridentifikasi sebagai  kata  dengan  kesalahan  penulisan.  Misalnya pada  pengujian  dengan  skenario  uji  1  dengan  kata  uji “die” sedangkan kata sebenarnya yang dimaksud adalah kata  “dia”.  Kata  “die”  ternyata  terdapat  pada  korpus. Akibatnya, aplikasi tidak memberikan saran perbaikan kata apapun untuk kata tersebut.
8. Nilai  TN  yang  muncul  pada  pengujian  terjadi  karena peringkat  saran  perbaikan  kata  ditentukan  oleh  nilai bigram .  Contohnya  pada  pengujian  skenario  uji  1  di halaman  lampiran  B  baris  3,  kata  ‘biase’  merupakan kata salah dengan saran perbaikan kata : ‘bisa’, ‘biasa’, ‘biasanya’, ‘bias’, ‘binasa’. Kata yang dimaksud ialah kata ‘biasa’, namun  kata ‘bisa’ memiliki nilai bigram lebih tinggi sehingga menjadi rekomendasi kata teratas. Hal ini membuat saran perbaikan kata yang dihasilkan tidak sesuai dengan yang diharapkan.
9. Berdasarkan pengujian yang dilakukan pada dokumen jurnal bidang informatika dan jurnal bidang lain seperti jurnal  ekonomi,  dapat  dilihat  nilai precision yang dihasilkan  aplikasi  pada  dokumen  jurnal  informatika lebih  unggul.  Hal  ini  menunjukkan  bahwa  dengan korpus yang lebih spesifik akan memberikan hasil lebih baik  ketika  digunakan  untuk  menguji  kesalahan penulisan pada dokumen tertentu sesuai dengan korpus yang digunakan.

## V. K ESIMPULAN DAN S ARAN

## A. Kesimpulan
Berikut  ini  merupakan  beberapa  kesimpulan  yang diperoleh dari penelitian:
1. Hasil  kombinasi  metode N-Gram dan Jaro-Winkler distance pada  aplikasi  pengoreksi  ejaan  naskah  jurnal bidang  informatika  berbahasa  Indonesia  memberikan tingkat  akurasi  menemukan  saran  perbaikan  kata sebesar 71,348%.
2. Hasil  kombinasi  metode N-Gram dan Jaro-Winkler distance pada  aplikasi  pengoreksi  ejaan  naskah  jurnal bidang  informatika  berbahasa  Indonesia  memberikan tingkat keberhasilan memberikan saran perbaikan kata sebesar 98,449%.
3. Kinerja  terbaik  kombinasi  metode N-Gram dan Jaro- Winkler distance untuk  menghasilkan saran kata yang relevan  terjadi  pada  kasus  kesalahan  kekurangan  1 huruf pada kata yang salah dan kinerja terburuk terjadi pada kasus kesalahan 2 huruf pada kata yang salah.
4. Untuk mendeteksi adanya kesalahan penulisan, sistem akan  memeriksa  ketersediaan  kata  pada  dokumen  uji terhadap  korpus.  Jika  kata  salah  yang  diuji  ternyata terdapat pada korpus maka kata tersebut akan luput dan tak  terdeteksi  sebagai  kata  yang  salah  oleh  sistem. Misalnya pada pengujian dengan skenario 1 yaitu pada kata “die”. Kata “die” tidak dianggap kata salah karena terdapat  pada  korpus.  Jika  kata  yang  dimaksud  untuk perbaikan  kata  yang  salah  tidak  terdapat  pada  korpus maka sistem tidak akan menghasilkan saran kata yang relevan.  Oleh  sebab  itu  kualitas  dan  kuantitas  korpus sangat  berpengaruh  pada  hasil  yang  diberikan  oleh sistem.
5. Penggunaan  korpus  yang  spesifik  untuk  jurnal  bidang informatika memberikan nilai precision yang lebih baik ketika  digunakan  untuk  menguji  dokumen  jurnal  dari bidang  informatika  daripada  ketika  digunakan  untuk menguji dokumen jurnal lain seperti jurnal ekonomi.

## B. Saran
Saran  untuk  pengembangan  penelitian  ini  antara  lain adalah:
1. Kualitas  dan  kuantitas  korpus  harus  ditingkatkan  agar hasil yang diperoleh lebih baik lagi.
2. Aplikasi  dapat  dikembangkan  dengan  korpus  yang berbeda  seperti  korpus  bahasa  daerah  maupun berbahasa asing.
3. Aplikasi  dapat  dikembangkan  dengan  korpus  yang lebih spesifik untuk mengoreksi dokumen tertentu.
4. Aplikasi  dapat  dikembangkan  agar  dapat  memproses dokumen  dengan form at  lain,  misalnya  dokumen dengan form at .pdf.
5. Aplikasi  dapat  dikembangkan  dengan  memperhatikan perbandingan perhitungan distance .
R EFERENSI
[1] Jamilah,  “Penggunaan  Bahasa  Baku  dalam  Karya  Ilmiah Mahasiswa,” J. Tarb.  J. Ilm. Kependidikan , vol. 6, no. 2, pp. 41– 52, 2017, doi: 10.18592/tarbiyah.v6i2.1603.
[2] J. Frando, I. Ruslianto, and R. Hidayati, “Penerapan Jaro Winkler Distance Dalam Aplikasi Pengoreksi Kesalahan Penulisan Bahasa Indonesia Berbasis Web [1],” J. Komput. dan Apl. , vol. 07, no. 03, pp. 44–53, 2019.
[3] M. S. Simanjuntak, H. Sujaini, and N. Safriadi, “Spelling Corrector Bahasa Indonesia dengan Kombinasi Metode Peter Norvig dan N-
Gram,” J. Edukasi dan Penelit. Inform. , vol. 4, no. 1, p. 17, 2018, doi: 10.26418/jp.v4i1.24075.
[4] V.  Ningrum,  “Penggunaan  Kata  Baku  Dan  Tidak  Baku  Di Kalangan Mahasiswa Universitas Pembangunan Nasional ‘Veteran’ Yogyakarta,” J.  Skripta ,  vol.  5,  no.  2,  pp.  22–27,  2020,  doi: 10.31316/skripta.v5i2.398.
[5] 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,” J. Pengemb. Teknol. Inf. dan Ilmu Komput. , vol. 2, no. 1, pp. 53–62, 2018.
[6] R.  Martin,  D.  S.  Naga,  V.  C.  Mawardi,  T.  Informatika,  U. Tarumanagara, and G. Petamburan, “PENGGUNAAN SPELLING CORRECTION DENGAN METODE PETER NORVIG DAN N- GRAM,” J. Ilmu Komput. dan Sist. Inf. , vol. 9, no. 1, pp. 175–180, 2021.
[7] T. Maghfira, I. Cholissodin, and A. Widodo, “Deteksi Kesalahan Ejaan dan Penentuan Rekomendasi Koreksi Kata yang Tepat Pada Dokumen  Jurnal  JTIIK  Menggunakan  Dictionary  Lookup  dan Damerau-Levenshtein  Distance,” J.  Pengemb.  Teknol.  Inf.  dan Ilmu Komput. , vol. 1, no. 6, pp. 498–506, 2017.
[8] F.  A.  Muttaqin  and  A.  M. Bachtiar,  “Implementasi  Teks Mining Pada Aplikasi Pengawasanpenggunaan Internet Anak ‘Dodo Kids Browser,’” J. Ilm. Komput. dan Inform. , 2016.
[9] P.  M.  Prihatini,  “Implementasi  Ekstraksi  Fitur  Pada  Pengolahan Dokumen Berbahasa Indonesia,” J. Matrix , vol. 6, no. 3, pp. 174– 178, 2016.
[10]  E.  Septiandri,  “Rancang  Bangun  Aplikasi  Information  Retrieval Untuk  Mengkoleksi  Data  Paralel  Korpus  Teks  Bahasa  Inggris  – Bahasa Indonesia,” vol. 84, pp. 487–492, 2013, [Online]. Available: http://ir.obihiro.ac.jp/dspace/handle/10322/3933.
[11]  Mutammimah,  H.  Sujaini,  and  R.  D.  Nyoto,  “Peter  Norvig  dan Spelling  Checker  BK-Trees  pada  Kata  Berbahasa  Indonesia,” J. Sist. dan Teknol. Inf. , vol. 5, no. 1, pp. 1–5, 2016.
[12]  A.  Kurniawati,  S.  Puspitodjati,  and  S.  Rahman,  “Implementasi Algoritma Jaro-Winkler Distance untuk Membandingkan Kesamaan  Dokumen  Berbahasa  Indonesia,” Proceeding,  Semin. Ilm.  Nas.  Komput.  dan  Sist.  Intelijen  KOMMIT  2008,  Depok, Indones. , 2010.
[13]  A.  Prasetyo,  W.  M.  Baihaqi,  and  I.  S.  Had,  “Algoritma  Jaro- Winkler Distance: Fitur Autocorrect dan Spelling Suggestion pada Penulisan Naskah Bahasa Indonesia di BMS TV,” J. Teknol. Inf. dan  Ilmu  Komput. ,  vol.  5,  no.  4,  p.  435,  2018,  doi: 10.25126/jtiik.201854780.
[14]  C. Supriadi, H. D. Purnomo, and I. Sembiring, “Sensitivitas Sistem Pencarian Artikel Bahasa Indonesia Menggunakan Metode n-gram Dan Tanimoto Cosine,” J. Transform. , vol. 18, no. 1, p. 63, 2020, doi: 10.26623/transformatika.v18i1.2184.
[15]  S.  Santoso  and  R.  Nurmalina,  “Perencanaan  dan  Pengembangan Aplikasi  Absensi  Mahasiswa  Menggunakan  Smart  Card  Guna Pengembangan  Kampus  Cerdas  (Studi  Kasus  Politeknik  Negeri Tanah Laut),” J. Integr. , vol. 9, no. 1, pp. 84–91, 2017.