## Aplikasi Kamus Pembelajaran Bahasa Jepang Pada Sistem Operasi Android Menggunakan Algoritma String Matching Knuth-Morris-Pratt
Yulia Darnita 1 , Muhammad Husni Hidayat 2 , Rozali Toyib 3 , Ardi Wijaya 4
1 yuliadarnita@gmail.com , 2 m.husnihidayat05@gmail.com , 3 rozalitoyib@umb.ac.id , 4 ardiwijaya@umb.ac.id 1,2, 3,4 Program Studi Teknik Informatika Fakultas Teknik Universitas Muhammadiyah Bengkulu Jl. Bali, Po Box 118 Telp. (0736) 22756 Fax. (0736) 26161 Fakultas Teknik Universitas Muhammadiyah Bengkulu
(Received: Nopember 2024, Revised : Februari 2024, Accepied : April 2024)
Abstract - As  a  globally  advanced  country,  Japan  attracts  the interest of job seekers, especially from developing countries such as Indonesia. The primary motivation behind this interest is the opportunity  to  obtain  better  employment,  higher  income,  and experience  living  in  a  culturally  and  linguistically  different environment  from  their  place  of  origin.  One  of  the  mandatory requirements  for  working  in  Japan  is  to  have  fluent  Japanese language  skills.  However,  challenges  arise  for  prospective interns or job seekers who need to remain active in their current employment while awaiting their exam schedules or departure to Japan.  To  address  this  issue,  a  solution  is  needed  that  allows flexible  Japanese  language  learning  accessible  anytime  and anywhere, one of which is by creating an application that can be downloaded and installed on their smartphones. This application provides filtered  Japanese  vocabulary,  eliminating the  need  for users  to  memorize  all  words  like  in  conventional  dictionaries, considering that some words may not be commonly used in daily situations.  To  enhance  user  convenience,  the  application  is equipped with a word search function, facilitating the process of finding  desired  words.  The  search  process  in  this  application utilizes  the  Knuth-Morris-Pratt  String  Matching  method,  an efficient string matching algorithm for finding a specific pattern in  a  text.  The application allows users  to  match  inputted  words with  the  available  vocabulary  database.  This  application  is divided  into  two  parts,  namely  the  data  input  section  and  the output  section  used  by  users  on  their  smartphone  devices.  The application provides various features to assist users in learning Japanese,  such  as  vocabulary  pages,  conversations,  and  word searches.  The  use  of  the  Knuth-Morris-Pratt  (KMP)  algorithm enables  efficient  and  effective  word  searches  in  the  vocabulary database.  It  is  hoped  that  this  application  can  help  users  in learning Japanese easily and effectively, both for academic and professional purposes.
Keywords: Japan, Application, Knuth-Morris-Pratt, Android.
Intisari- Sebagai  sebuah  negara  yang  telah  maju  di  tingkat global,  Jepang  menarik  minat  para  pencari  kerja,  terutama  dari negara-negara berkembang seperti Indonesia. Motivasi utama di balik minat ini adalah kesempatan untuk mendapatkan pekerjaan yang lebih baik, penghasilan yang lebih tinggi, dan pengalaman hidup  di lingkungan  yang  berbeda secara  budaya  dan linguistik dari  tempat  asal  mereka.  Salah  satu  persyaratan  yang  wajib dipenuhi  untuk  bekerja  di  Jepang  adalah  memiliki  kemahiran berbahasa  Jepang  yang  lancar.  Namun,  tantangan  muncul  bagi calon  peserta  magang  atau  pencari  kerja  yang  harus  tetap  aktif bekerja  sambil  menunggu  jadwal  ujian  atau  keberangkatan  ke Jepang.  Untuk  mengatasi  hal  ini,  diperlukan  solusi  yang memungkinkan  pembelajaran  bahasa  Jepang  yang  fleksibel  dan dapat diakses kapan saja dan di mana saja, salah satunya adalah dengan  menciptakan  aplikasi  yang  dapat  diunduh  dan  diinstal pada  smartphone  mereka.  Aplikasi  ini  menyediakan  kosa  kata bahasa Jepang yang telah disaring sehingga pengguna tidak perlu menghafal  semua  kata  seperti  dalam  kamus  konvensional,
mengingat beberapa kata mungkin tidak umum digunakan dalam situasi  sehari-hari.  Untuk  meningkatkan  kemudahan  pengguna, aplikasi  dilengkapi  dengan  fungsi  pencarian kata,  memudahkan proses menemukan kata yang diinginkan. Proses pencarian dalam aplikasi  ini  menggunakan  metode  String  Matching  Knuth- Morris-Pratt,  sebuah  algoritma  pencocokan  string  yang  efisien dalam mencari sebuah pola tertentu dalam sebuah teks. Aplikasi memungkinkan  pengguna  untuk  mencocokkan  kata-kata  yang diinputkan dengan database kosa kata yang tersedia. Aplikasi ini terbagi menjadi dua bagian, yaitu bagian input data serta bagian output  yang  digunakan  pengguna  pada  perangkat  smartphone mereka.  Aplikasi  menyediakan  berbagai  fitur  yang  membantu pengguna  dalam  belajar  bahasa  Jepang,  seperti  halaman  kosa kata,  percakapan,  dan  pencarian  kata.  Penggunaan  algoritma Knuth-Morris-Pratt  (KMP)  memungkinkan  pencarian  kata-kata dalam  database  kosa  kata  dilakukan  dengan  lebih  efisien  dan efektif. Diharapkan aplikasi ini dapat membantu pengguna dalam mempelajari bahasa Jepang dengan mudah dan efektif, baik untuk tujuan akademis maupun profesional .

## I. PENDAHULUAN
Perkembangan  ilmu  dan  teknologi  serta tuntutan  zaman  yang  semakin  maju  dan  modern semakin membuka kesempatan untuk berkomunikasi secara internasional. Pemberlakuan pasar bebas pada saat ini memberikan kesempatan sekaligus tantangan pada  sumber  daya  manusia  Indonesia  untuk  dapat bersaing  dan  bertahan  di  era  yang  serba  cepat  ini. Mengingat  semakin  eratnya  hubungan  kerja  sama antara Indonesia dengan negara-negara lain, perusahaan-perusahaan  di  Indonesia  harus  mulai meningkatkan kinerja mereka. Baik dalam peningkatan  sumber  daya  manusianya  maupun teknologinya.  Demi  menjamin  kelancaran  dalam transaksi  perdagangan,  selalu  ada  hal  yang  tidak dapat dipisahkan, yaitu pemahaman akan komunikasi bisnis yang baik. Seorang tenaga kerja ditutntut untuk memiliki  kemamuan  berkomunikasi  yang  baik, dalam  konteks  ini  adalah  kemampuan  berbahasa asing [1].
Sebagai  salah  satu  negara  maju  di  dunia, Jepang  menjadi  tujuan  bagi  para  pencari  kerja, khususnya  dari  negara-negara  berkembang,  tidak terkecuali Indonesia. Memperoleh pekerjaan, mendapatkan  penghasilan  yang  lebih  baik  dan mencari  pengalaman  hidup  di  negeri  orang  yang
berbeda  bahasa  dan  kebiasaannya  menjadi  motivasi yang  mendorong  mereka  pergi  dari  kampung halamannya.  Adanya  perbedaan-perbedaan  antara kehidupan  di  Indonesia  dengan  di  Jepang  telah membuat para orang Indonesia mencari strategi untuk dapat bertahan hidup dan terus bekerja hingga waktu yang ditetapkan dalam surat kontrak perjanjian kerja [2]. Salah satu syarat yang harus dipenuhi untuk bisa bekerja di Jepang adalah fasih dalam bahasa Jepang. Masalahnya  adalah  calon  peserta  magang  atau pencari  kerja  di  Jepang  masih  aktif  sebagai  pekerja selagi menunggu jadwal ujian ataupun keberangkatan untuk  bekerja  di  Jepang.  Mereka  yang  statusnya masih bekerja memerlukan alat bantu belajar bahasa Jepang di waktu senggangnya, akan tetapi membawa kamus  menjadi salah satu masalah lain karena besar dan berat dari kamus tersebut. Untuk itu dibutuhkan alat bantu belajar bahasa Jepang yang bisa digunakan kapan  saja  dan  dimana  saja,  salah  satunya  adalah dengan  membuat  aplikasi  yang  bisa  di  instal  pada smartphone mereka.
Aplikasi yang berisi kosa kata bahasa jepang dimana kata-katanya sudah terseleksi sehingga tidak harus menghafal semua kata yang ada seperti didalam kamus  karena  dalam  penggunakan  kesehariannya tidak digunakan kata-kata baku seperti yang terdapat pada  kamus.  Selain  itu,  aplikasi  juga  berisi  daftar percakapan  sehari-hari  yang  sering  digunakan sehingga  bisa  membantu  user  dalam  memahami bahasa  jepang  lebih  mudah.  Untuk  memudahkan user,  aplikasi  dilengkapi  dengan  fungsi  pencarian kata  untuk  memudahkan  dalam  proses  menemukan kata yang ingin dicari.
Proses pencarian pada aplikasi menggunakan metode  String  Matching  Knuth-Morris-Pratt  yang merupakan  algoritma  pencocokan  string  yang merupakan algoritma yang digunakan untuk melakukan  pencarian  sebuah  string  yang  terdiri  dari beberapa karakter yang biasa disebut pattern. Alasan penggunaan  penerapan  algoritma  knut  morris  pratt karena  dalam  pencocokan  string  algoritma  ini menyimpan  informasi  yang  digunakan  untuk melakukan  jumlah  pergeseran,  algoritma  knuth morris  pratt  menggunakan  informasi  tersebut  untuk membuat pergeseran yang lebih jauh [3].

## II. TINJAUAN PUSTAKA
Aplikasi
Aplikasi  adalah  suatu  program  yang  siap untuk  digunakan  yang  dibuat  untuk  melaksanankan suatu  fungsi  bagi  pengguna  jasa  aplikasi  serta penggunaan aplikasi lain yang dapat digunakan oleh suatu  sasaran  yang  akan  dituju.  Menurut  kamus komputer  eksekutif,  aplikasi  mempunyai  arti  yaitu pemecahan  masalah  yang  menggunakan  salah  satu
tehnik  pemrosesan  data  aplikasi  yang  biasanya berpacu  pada  sebuah  komputansi  yang  diinginkan atau  diharapkan  maupun  pemrosesan  data  yang  di harapkan [7].

## Bahasa Jepang
Dalam bahasa Indonesia ciri-ciri verba dapat diketahui  dengan  mengamati  perilaku  semantis, perilaku  sintaksis,  dan  bentuk  morfologis.  Namun, secara  umum  verba  dapat  diidentifikasi  dan dibedakan  dari  kelas  kata  yang  lain,  terutama  dari adjektiva, karena ciri-ciri berikut :
1. Verba  memiliki  fungsi  utama  sebagai  predikat atau  inti  predikat  dalam  kalimat  walaupun  dapat juga mempunyai fungsi yang lain.
2. Verba  mengandung  inheren  perbuatan  (aksi), proses atau keadaan yang bukan sifat atau kualitas.
3. Verba  khusus  bermakna  keadaan  tidak  dapat diberi  prefiks  ter-  yang  berarti  ‘paling’.  Verba seperti  mati  atau  suka,  misalnya  tidak  dapat diubah menjadi ‘termati’ atau ‘tersuka’.
4. Pada  umumnya  verba  tidak  dapat  bergabung dengan  kata-kata  yang  menyatakan  makna kesangatan.  Tidak  ada  bentuk  ‘agak  belajar’, ‘sangat  pergi’,  atau  ‘bekerja  sekali’  misalnya, meskipun ada bentuk seperti ‘sangat berbahaya’, ‘agak  mengecewakan’,  dan  ‘mengharapkan sekali’.
Dalam  bahasa  Jepang  verba  (dōshi),  yaitu kata  yang  berakhir  dengan  bunyi  –u,  dapat  berdiri sendiri  dan  dapat  menjadi  predikat.  Macam-macam verba (dōshi) :
1. Godankatsuyō  dōshi,  yaitu  dōshi  yang  berakhir dengan suku kata –u, -ku, -su, -tsu, -nu, -mu, -ru, -gu, - bu. Contoh: kau, kaku, hanasu, tatsu, shinu, yomu, tsukuru, oyogu, asobu.
2. Ichidangkatsuyō dōshi,  yaitu  dōshi  yang berakhiran  bunyi  –iru,  dan  –eru.  Contoh:  niru, miru, taberu, deru.
3. Henkakukatsuyō  dōshi,  yaitu  dōshi  yang perubahannya  tidak  beraturan.  Contoh:  kuru  = datang (hanya satu kata saja), suru = melakukan, dan semua kata yang dibentuk oleh suru, misalnya benkyōsuru, sotsugyōsuru, hattensuru.

## Android
Android  adalah  sebuah  sistem  operasi perangkat  mobile  berbasis  linux  yang  mencangkup sistem  operasi,  middleware  dan  aplikasi.  Android menyediakan platform terbuka bagi para pengembang  untuk  menciptakan  aplikasi  mereka. Awalnya,  Google  Inc.  membeli  Android  Inc.  yang merupakan  pendatang  baru  yang  membuat  peranti lunak  untuk  ponsel  atau  smartphone.  Kemudian untuk  mengembangkan  Android,  dibentuklah  Open Handset  Alliance,  konsorsium  dari  34  perusahaan perantikeras,  peranti  lunak  dan  telekomunikasi,
termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,  dan  Nvidia.  Pada  saat  perilisan  perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan  open  sourcepada  perangkat  mobile. Di lain pihak, Google  merilis kode-kode  Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan  open  platform  perangkat  seluler  (Juansyah, 2015).
KMP (Knuth-Morris-Pratt) Algoritma  knuth-morris-pratt  merupakan algoritma  pencarian  string  dengan  melakukan perbandingan  karakter  mulai  dari  karakter  paling kanan  dari  string  yang  dicari,  algoritma  KMP memiliki  keunggulan pencarian kecocokan pada file yang berukuran besar.
Unified Modelling Language (UML)
UML adalah salah satu standar bahasa dalam dunia  industri  yang  paling  banyak  digunakan  untuk mendefinisikan  persyaratan,  melakukan  analisis  dan desain, dan menggambarkan arsitektur pemrograman berorientasi objek [10].
UML sebagai sebuah bahasa yang memberikan  vocabulary  dan  tatanan  penulisan  kata- kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah  bahasa  model  adalah  sebuah  bahasa  yang mempunyai  vocabulary  dan  konsep  tatanan  /  aturan penulisan  serta  secara  fisik  mempresentasikan  dari sebuah  sistem.  Seperti  halnya  UML  adalah  sebuah bahasa  standard  untuk  pengembangan  sebuah software  yang  dapat  menyampaikan  bagaimana membuat dan membentuk  model-model, tetapi tidak menyampaikan  apa  dan  kapan  model  yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software [11].

## Use Case Diagram
Use  case  diagram merupakan  pemodelan untuk  kelakuan  sistem  informasi  yang  akan  dibuat. Use  case bekerja  dengan  mendeskripsikan  tipikal interaksi antara user sebuah sistem dengan sistemnya sendiri  melalui  sebuah  cerita  bagaimana  sistem  itu dipakai  [10].  Pada  awalnya  metode  ini  tidak  bisa menggantikan analisis terstruktur secara keseluruhan. Ada  aspek  yang  tidak  terpenuhi  yaitu  dalam  hal spesifikasi sistem eksternal atau kebutuhan pengguna.  Sebagian  analis  mengadopsi  sebagian komponen metode berorientasi objek dan memadukannya dengan analisis terstruktur [12].

## III. METODOLOGI PENELITIAN
Metode Pengembangan Sistem Model  yang  akan  penulis  gunakan  adalah model  Incremental  karena  model  ini  cocok  untuk
proyek  dengan  skala  yang  kecil.  Model  Incremental dalam  rekayasa  perangkat  lunak  menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap. Model ini  terdiri  dari  proses  Analisa,  Desain,  Kode  dan Pengujian.
Gambar 1 Metode Incremental
Metode incremental adalah metode pengembangan dari metode air terjun (waterfall) yang sering  digunakan  pada  pengembangan  perangkat lunak.  Tahapan-tahapan  yang  dilakukan  adalah sebagai berikut :
1. Analisa,  adalah  proses  tahapan  awal  yang dilakukan  pada  incremental  model  adalah penentuan kebutuhan dalam melakukan penelitian.  Beberapa  kebutuhan  yang  dimaksud adalah data penelitian, alat yang dibutuhkan untuk mendukung  penelitian  dan  kode  program  yang dibutuhkan  untuk  mendapatkan  hasil  dari penelitian.
2. Desain, adalah tahap proses perancangan aplikasi yang  akan  digunakan  untuk  mendapatkan  hasil penelitian. Rancangan yang terdiri dari rancangan tampilan  aplikasi  yang  akan  digunakan  dalam penelitian.
3. Kode, adalah tahapan dimana proses pembangunan aplikasi dilakukan dengan menuliskan  kode  atau  skrip  dalam  bahasa pemrograman.  Tahap  ini  merupakan  tahap merealisasikan  rancangan  yang  telah  dibuat menjadi  aplikasi  yang  bisa  digunakan  untuk mencapai hasil penelitian.
4. Tes,  adalah  tahap  akhir  dari  penelitian  dimana proses pengujian aplikasi yang telah dibuat secara fungsional.  Pada  tahap  ini  proses  penentuan aplikasi sudah bisa digunakan untuk mendapatkan hasil penelitian atau belum.

## IV. HASIL DAN PEMBAHASAN

## A. Hasil
Aplikasi kamus pembelajaran bahasa jepang pada sistem operasi android menggunakan algoritma string  matching  Knuth-Morris-Pratt  telah  penulis bangun  menggunakan  bahasa  pemrograman  PHP, MySQLi,  Java  dan  xml.  Aplikasi  terbagi  dalam  dua bagian, yaitu input data dan output.
Input Data
Input data pada aplikasi kamus pembelajaran bahasa  Jepang  pada  sistem  operasi  Android menggunakan PHP dan MySQL terdiri dari beberapa
Analisa Desain Kode Test
bagian, yaitu login, dashboard, kosa kata, percakapan (kategori dan percakapan), dan halaman admin. Pada bagian  login,  pengguna  diminta  untuk  memasukkan nama pengguna dan kata sandi untuk masuk ke dalam aplikasi.  Data  login  ini  akan  disimpan  pada  tabel pengguna di dalam database MySQL.
Gambar 1 Halaman login
Setelah  proses  otentikasi  pengguna  berhasil dilakukan,  sistem  menampilkan  halaman dashboard admin.  Pada  halaman  tersebut,  terdapat  berbagai macam  menu  yang  memungkinkan  pengguna  untuk mengakses  berbagai  bagian  dalam  aplikasi,  seperti kosa  kata,  percakapan,  dan  halaman  admin.  Dengan demikian, pengguna dapat dengan mudah menjelajahi fitur-fitur  aplikasi  yang  tersedia  setelah  berhasil login.

## Gambar 2 Halaman dashboard
Bagian  kosa  kata  berfungsi  sebagai  tempat untuk  menginput dan  menampilkan  kosa kata dalam bahasa  Jepang  beserta  artinya  dalam  bahasa Indonesia.  Seluruh  data  kosa  kata  yang  dimasukkan akan disimpan secara terstruktur pada tabel kosa_kata yang  terletak  di  dalam  database  MySQL.  Dengan tersimpannya  data  kosa  kata  pada  tabel  tersebut, pengguna  dapat  dengan  mudah  mengakses  dan mengelola  data  kosa  kata  sesuai  dengan  kebutuhan aplikasi.
Gambar 3 Halaman kosa kata
Selain menampilkan data kosa kata, aplikasi juga  menyediakan  tombol  tambah  data,  edit,  dan hapus  pada  setiap  baris  data  kosa  kata.  Tombol tambah  data  digunakan  untuk  menambahkan  kosa kata  baru  ke  dalam  tabel,  sedangkan  tombol  edit digunakan  untuk  mengubah  data  tentang  kosa  kata yang  sudah  ada.  Tombol  hapus  digunakan  untuk menghapus data kosa kata yang tidak lagi diperlukan dalam tabel.
Gambar 4 Halaman tambah data kosa kata
Form  tambah  data  berisi  input  teks  bahasa jepang,  bahasa  latin  dan  arti  dimana  semua  form harus diisi sehingga bisa disimpan kedalam database. Form ubah data juga menampilkan input teks bahasa jepang, bahasa latin dan arti yang telah terisi dengan data yang ingin diubah.
Gambar 5 Form ubah data kosa kata
Bagian  percakapan  terbagi  menjadi  dua bagian,  yaitu  kategori  percakapan  dan  percakapan. Bagian  kategori  percakapan  digunakan  untuk menginput  dan  menampilkan  kategori  percakapan yang  digunakan  untuk  mengelompokkan  data percakapan  sehingga  bisa  ditampilkan  sebagai tombol menu pada bagian output.
Gambar 6 Halaman kategori percakapan
Tombol  tambah  data  kategori  berfungsi untuk  menampilkan  form  tambah  data  kategori percakapan seperti pada gambar berikut ini :
Gambar 7 Form tambah data kategori
Pada form tambah data kategori menampilkan  input  teks  nama  kategori,  tombol simpan dan kembali. Untuk form ubah data kategori, input teks nama kategori terisi dengan data yang ingin dibuah.
Gambar 8 Form ubah data kategori
Pada  bagian  percakapan  digunakan  untuk menginput dan menampilkan percakapan-percakapan dalam  bahasa  Jepang  beserta  artinya  dalam  bahasa Indonesia.  Data  percakapan  ini  akan  disimpan  pada tabel  percakapan  di  dalam  database  MySQL. Halaman  percakapan  terdiri  dari  tabel  data percakapan, tombol tambah data, edit dan hapus yang bisa  digunakan  untuk  mengolah  data  percakapan tersebut.

## Gambar 9 Halaman percakapan
Tombol  tambah  data  digunakan  untuk menambahkan  data  percakapan  yang  baru  ke  dalam tabel,  sedangkan  tombol  edit  digunakan  untuk mengubah  data tentang  percakapan  yang  sudah  ada, sedangkan tombol hapus digunakan untuk menghapus data percakapan sehingga tidak ditampilkan  kedalam  tabel  data  percakapan  dan bagian output.
Gambar 10 Form tambah data percakapan
Form  tambah  data  percakapan  terdiri  dari combobox kategori, input teks bahasa jepang, bahasa latin,  arti,  tombol  simpan  dan  tombol  kembali. Combobox kategori menampilkan data nama kategori yang  diambil  dari  data  kategori  yang  telah  diinput sebelumnya.  Form  ubah  data  percakapan  juga menampilkan combobox kategori,  input  teks  bahasa jepang, bahasa latin dan arti yang telah terisi dengan data yang ingin diubah.
Halaman akun pada aplikasi kamus pembelajaran  bahasa  Jepang  diakses  dengan  klik menu  login  pada  daftar  menu  utama,  halaman  ini memiliki  tabel  data  admin  yang  digunakan  untuk proses  login  pada  halaman  admin.  Tabel  ini  terdiri dari kolom nama lengkap, username dan nomor hp.
Gambar 12 Halaman akun
Selain  itu,  halaman  akun  juga  dilengkapi dengan  tombol  tambah,  edit,  dan  hapus  untuk mengelola  data  pada  tabel  data  admin.  Tombol tambah  digunakan  untuk  menambahkan  data pengguna admin baru pada tabel data admin.
Gambar 13 Form tambah data akun
Tombol edit digunakan untuk mengedit data pengguna  admin  yang  sudah  ada  pada  tabel  data admin.  Sementara  tombol  hapus  digunakan  untuk menghapus  data  pengguna  admin  yang  sudah  tidak diperlukan pada tabel data admin.
Gambar 14 Form ubah data akun Dengan  tersedianya  tabel  data  admin  dan tombol tambah, edit, dan hapus pada halaman admin, pengguna  dengan  hak  akses  sebagai  admin  dapat dengan  mudah  mengelola  dan  memperbaharui  data pada  tabel  data  admin,  sehingga  menjadikan
pengelolaan  data  pada  aplikasi  kamus  pembelajaran bahasa Jepang menjadi lebih mudah dan efektif.
Output
Bagian  output  aplikasi  kamus  pembelajaran bahasa  Jepang  pada  sistem  operasi  Android merupakan aplikasi yang dirancang untuk membantu pengguna  dalam  belajar  bahasa  Jepang  dengan mudah  dan  efektif.  Aplikasi  ini  menggunakan algoritma  string  matching  Knuth-Morris-Pratt  untuk mencocokkan  kata-kata  yang  diinputkan  oleh pengguna  dengan  database  kosa  kata  yang  tersedia. Aplikasi terdiri dari menu utama, halaman kosa kata, halaman percakapan dan halaman pencarian.

## Gambar 15 Halaman menu utama
Halaman  kosa  kata  digunakan  untuk menampilkan  daftar  kata-kata  dalam  bahasa  Jepang beserta  artinya  dalam  bahasa  Indonesia.  Data  kosa kata ini diambil dari tabel kosa_kata yang tersimpan dalam database MySQL.
Gambar 16 Halaman kosa kata Menu  percakapan  berfungsi  untuk  menampilkan halaman  kategori  yang  merupakan  halaman  dengan tombol-tombol yang diambil dari data kategori yang
ada  didalam  database.  Tombol  kategori  yang ditampilkan  aplikasi  adalah  tombol  belajar,  belanja, cinta,  hobi,  kebencian,  keluarga,  kerja,  kesehatan, kesenangan,  kuliah,  liburan,  makanan,  olahraga, pekerjaan, pertemanan, pesta, tamu dan transportasi
Gambar 17 Halaman kategori
Pada  halaman  ini,  pengguna  dapat  memilih kategori  percakapan  yang  ingin  dilihat  dengan menggunakan  submenu  yang  tersedia.  Setelah memilih  kategori,  pengguna  dapat  melihat  daftar percakapan yang tersedia pada kategori tersebut dan setiap  data  yang  tampil  dibuat  dalam  bentuk  kartu yang  berisi  tulisan  jepang,  bacaannya  dan  artinya dalam  bahasa  Indonesia.  Data  percakapan  diambil dari tabel percakapan yang tersimpan dalam database MySQL.
Gambar 18 Halaman percakapan Halaman  pencarian  digunakan  untuk  mencari  kata- kata  atau  frasa  dalam  bahasa  Jepang  dan menampilkan  artinya  dalam  bahasa  Indonesia. Pencarian dapat dilakukan dengan menggunakan kata kunci  tertentu  atau  huruf  awal  kata.  Hasil  pencarian akan  ditampilkan  dalam  bentuk  daftar  kartu  yang
berisi  bahasa  jepang  yang  sesuai  dengan  kata  kunci atau huruf awal kata yang diinputkan.

## Gambar 19 Halaman pencarian
Pembahasan Dengan  menggunakan  algoritma  KMP, proses  pencarian  pada  aplikasi  menjadi  lebih  cepat dan akurat, sehingga pengguna dapat dengan mudah menemukan kata atau frasa yang diinginkan. Berikut ini  adalah  proses  pencarian  menggunakan  algoritma KMP untuk  mencari kata kunci "selamat" pada data yang diberikan:
Data array = (salam, terima kasih, maaf, selamat pagi, selamat  siang,  selamat  malam,  selamat  tinggal,  ya, tidak,  tolong,  maaf,  sama-sama,  pertama  kali bertemu,  apa  kabar,  baik-baik  saja,  capek,  lapar, dingin, panas, seru)
1. Pertama-tama,  kita  harus  membuat  tabel prefix  yang  berisi  panjang  dari  prefix terpanjang  yang  merupakan  sufiks  dari substring  ke-i  dalam  kata  kunci.  Untuk  kata kunci "selamat", tabel prefix  yang terbentuk adalah sebagai berikut: i 0 1 2 3 4 5 pi(i) -1 0 0 0 1 0 2. Setelah  itu,  kita  bisa  mulai  melakukan pencarian  pada  data  dengan  menggunakan tabel prefix yang sudah dibuat.
a. Pertama-tama, kita inisialisasi indeks i =
0 dan j = 0.
b. Selanjutnya,  kita  bandingkan  karakter ke-i pada data dengan karakter ke-j pada kata kunci.
c. Jika  karakter-karakter  tersebut  sama, maka kita increment kedua indeks i dan j sebanyak 1.
d. Jika tidak sama, maka kita akan cek pada tabel prefix nilai pi(j-1) dan ubah nilai j menjadi pi(j-1) + 1.
e. Proses  ini  akan  berulang  sampai  kita menemukan  semua  kemunculan  kata kunci "selamat" pada data.
Berikut  ini  adalah  proses  pencarian  untuk setiap iterasi:
Iterasi 1:
a) i = 0, j = 0
b) Karakter pada indeks i = 0 pada data adalah "s", sedangkan karakter pada indeks  j  =  0  pada  kata  kunci  juga adalah  "s".  Karena  karakternya sama,  maka  kita  increment  i  dan  j sebanyak 1.
Iterasi 2:
a) i = 1, j = 1
b) Karakter pada indeks i = 1 pada data adalah "a", sedangkan karakter pada indeks  j  =  1  pada  kata  kunci  juga adalah  "a".  Karena  karakternya sama,  maka  kita  increment  i  dan  j sebanyak 1.
Iterasi 3:
a) i = 2, j = 2
b) Karakter pada indeks i = 2 pada data adalah  "l",  sedangkan  karakter  pada indeks  j  =  2  pada  kata  kunci  juga adalah "l". Karena karakternya sama, maka kita increment i dan j sebanyak 1.
Iterasi 4:
a) i = 3, j = 3
b) Karakter pada indeks i = 3 pada data adalah "a", sedangkan karakter pada indeks  j  =  3  pada  kata  kunci  juga adalah  "a".  Karena  karakternya sama,  maka  kita  increment  i  dan  j sebanyak 1.
Iterasi 5:
a) i = 4, j = 4
b) Karakter pada indeks i = 4 pada data adalah "m",  sedangkan  karakter  pada  indeks  j  =  4 pada  kata  kunci  juga  adalah  "m".  Karena karakternya sama, maka kita increment i dan j sebanyak 1.
Iterasi 6:
a) i = 5, j = 5
b) Karakter pada indeks i = 5 pada data adalah "a",  sedangkan  karakter  pada  indeks  j  =  5 pada  kata  kunci  juga  adalah  "a".  Karena karakternya sama, maka kita increment i dan j sebanyak 1.
Jadi  berdasarkan  hasil  pencarian  kata  kunci "selamat"  pada  data  yang  diberikan  menggunakan algoritma KMP adalah sebagai berikut :
1. salam -> Tidak ditemukan
2. terima kasih -> Tidak ditemukan
3. maaf -> Tidak ditemukan
4. selamat pagi -> Ditemukan pada indeks ke-0
5. selamat siang -> Ditemukan pada indeks ke- 0
6. selamat  malam  ->  Ditemukan  pada  indeks ke-0
7. selamat  tinggal  ->  Ditemukan  pada  indeks ke-0
8. ya -> Tidak ditemukan
9. tidak -> Tidak ditemukan 10. tolong -> Tidak ditemukan 11. maaf -> Tidak ditemukan
12. sama-sama -> Tidak ditemukan
13. pertama kali bertemu -> Tidak ditemukan
14. apa kabar? -> Tidak ditemukan
15. baik-baik saja -> Tidak ditemukan
16. capek -> Tidak ditemukan
17. lapar -> Tidak ditemukan
18. dingin ya? -> Tidak ditemukan
19. panas ya? -> Tidak ditemukan
20. seru -> Tidak ditemukan
Sehingga  dapat  disimpulkan  bahwa  kata kunci "selamat" ditemukan pada kata "selamat pagi", "selamat  siang",  "selamat  malam",  dan  "selamat tinggal" pada indeks ke-0.

## V.PENUTUP

## A. Kesimpulan
Aplikasi kamus pembelajaran bahasa Jepang pada sistem  operasi  Android  dirancang  dengan menggunakan  algoritma  string  matching  Knuth- Morris-Pratt  untuk  mencocokkan  kata-kata  yang diinputkan  oleh  pengguna  dengan  database  kosa kata yang tersedia. Berikut kesimpulan yang bisa diambil  berdasarkan  pembahasan  pada  bab sebelumnya :
1. Aplikasi dibangun dalam dua bagian, yaitu bagian input data dan bagian output yang digunakan oleh user pada smartphone mereka
2. Aplikasi  input  data  dibangun  menggunakan bahasa pemrograman PHP dan database MySQL
3. Aplikasi  output  yang  digunakan  user  dibangun menggunakan  android  studio  dengan  bahasa pemrograman java dan xml.
4. Aplikasi  ini  menyediakan  beberapa  fitur  yang dapat  membantu  pengguna  dalam  belajar  bahasa Jepang,  di  antaranya  adalah  halaman  kosa  kata, percakapan dan pencarian.
5. Penggunaan algoritma Knuth-Morris-Pratt (KMP) pada  aplikasi  memungkinkan  pengguna  untuk mencari  kata-kata  dalam  database  kosa  kata dengan lebih efektif dan efisien.
Dengan fitur-fitur yang disediakan, diharapkan  aplikasi  kamus  pembelajaran  bahasa Jepang  pada  sistem  operasi  Android  ini  dapat membantu  pengguna  dalam  belajar  bahasa  Jepang dengan mudah dan efektif.
B. Saran
Aplikasi kamus pembelajaran bahasa jepang pada sistem operasi android menggunakan algoritma String  Matching Knuth-Morris-Pratt yang  telah penulis bangun masih banyak terdapat kekurangannya terutama dari segi tampilan dan data. Oleh  sebab  itu  penulis  mengharapkan  adanya  kritik dan saran dari pembaca untuk pembangunan aplikasi selanjutnya  agar  lebih  baik  lagi.  Saran  untuk mahasiswa yang ingin mengambil topik yang serupa adalah gunakan api  yang tersedia secara opensource sehingga  data  pada  aplikasi  bisa  menjadi  lebih lengkap tanpa harus input data dari awal lagi.
.

## DAFTAR PUSTAKA
[1]
Munadzdzofah,  “Pentingnya  Bahasa  Inggris, China, dan Jepang Sebagai bahasa Komunikasi  Bisnis  di  era  Globalisasi,” VOCATIO  J.  Ilm.  Ilmu  Adm.  Dan  Sekr. ,  vol. 1, no. 2, pp. 58–73, 2018.
[2] E.  S.  Priyadi,  “Tenaga  Kerja  Indonesia  Di Jepang;  Studi  Tentang  Motivasi  Yang Melatarbelakangi Seseorang Menjadi Traine,”
J. Renaiss. , vol. 4, no. 02, p. 572, 2019
[3] S. Setyaningsih and A. Qur’ania,
“PENERAPAN  ALGORITMA  KNUTH MORRIS  PRATT  PADA  PENCARIAN KAMUS DIGITAL TANAMAN OBAT,” Dr.
Diss. Univ. Pakuan , 2021.
[4] Nuraini  and  B.  Firmansyah,  “Implementasi Algoritma Knuth Morris Prath Untuk Kamus Terjemahan  Digital  Aceh-Bahasa  Indonesia Berbasis Web,” J. Nas. Inform. , vol. 1, no. 1, pp. 66–75, 2020.
[5] A. Rahman, “Penerapan String Matching Pada Aplikasi  E-Repository  Berbasis  Web  Di Stmik Budi Darma Medan,” vol. 7, no. 1, pp. 1–5, 2019.
[6] A.  I.  Haerudin,  “Implementasi  algoritma knuth-morris-pratt pada aplikasi kamus istilah komputer,” OKTAL  J. Ilmu Komput. dan Sci. ,
vol. 1, no. 1, pp. 59–63, 2022.
[7] J.  Andi,  “Pembangunan  Aplikasi  Child Tracker Berbasis Assisted –  Global Positioning  System  (  A-GPS  )  Dengan Platform  Android,” J.  Ilm.  Komput.  dan
Inform. , vol. 1, no. 1, pp. 1–8, 2015
[8] N.  Safaat, Pemrograman  Aplikasi  Mobile Smartphone dan Tablet PC Berbasis Android . Bandung: Informatika, 2012.
[9] N.  K.  Rusito,  “Aplikasi  Pencarian  dengan Menggunakan  Algoritma  Knuth  Morris  Pratt Pada  Berkas  Dokumen  Shipment,” J.  Ris.
Komput. , vol. VI, no. 3, pp. 245–254, 2019
[10] D.  W.  T.  Putra  and  R.  Andriani,  “Unified Modelling Language (UML) dalam
Perancangan  Sistem  Informasi  Permohonan Pembayaran Restitusi SPPD,” J. TeknoIf , vol.
7, no. 1, p. 32, 2019
[11] A. Mubarak, “Rancang Bangun Aplikasi Web Sek[1]  A.  Mubarak,  ‘Rancang  Bangun
Aplikasi  Web  Sekolah  Menggunakan  Uml (Unified  Modeling  Language)  Dan  Bahasa Pemrograman Php (Php
Hypertext Preprocessor)  Berorientasi  Objek,’  JIKO (Jurnal Inform. dan Komputer), vol. 2, no. 1,” JIKO (Jurnal Inform. dan Komputer) , vol. 2, no. 1, pp. 19–25, 2019.
[12] N.  Artina,  “Jurnal  Penerapan  Analisis Kebutuhan,” Algoritma , vol. 2, no. 1, pp. 329– 338, 2006