## PENERAPAN ALGORITMA BOYER-MOORE TERHADAP APLIKASI KAMUS TEMINOLOGI BIOMEDIS BERBASIS ANDROID
Ilham Bagus Wicaksono, Indyah Hartami Santi, Filda Febrinita Program Studi Teknik Informatika S1, Fakultas Teknik Informasi Universitas Islam Balitar Blitar, Jalan Majapahit no 2 – 4 Blitar, Indonesia
Ilham.bagus2133@gmail.com

## ABSTRAK
Terdapat banyak bahasa yang ada di seluruh dunia. Dengan banyaknya bahasa maka dibuatlah kamus sebagai penerjemah  antar  bahasa  termasuk  juga  kamus  terminologi  biomedis.  Seiring  berkembangnya  teknologi  dan karena  kamus  ini  cukup  tebal  dan  berat  untuk  dibawa  ke  mana-mana,  di  buatlah  kamus  terminologi  biomedis untuk mempermudah penggunaan kamus. Kamus terminologi biomedis ini di buat menggunakan android studio dengan bahasa pemrograman dart dan framework flutter. Algoritma yang digunakan dalam penelitian ini adalah boyer moore yang merupakan algoritma yang banyak digunakan untuk pencocokan string. Algoritma boyer moore ini pertama kali di publis oleh Robert S boyer dan J Strother Moore pada tahun 1977. Algoritma ini banyak di gunakan karena dianggap paling efisien di bandingkan dengan algoritma string matching lainnya. Algoritma ini mencocokkan kata dari kanan ke kiri yang di nilai bisa mendapatkan lebih banyak informasi. Dalam penelitian ini dilakukan pembuatan kamus dengan data yang berawalan dengan abjad A saja yang memiliki jumlah 1089 data. Data yang sudah ada nantinya akan di cocokkan dengan input yang akan dicari dan jika di dalam data terdapat kata  sama  seperti  dengan  input  yang  dicari,  maka  akan  dimunculkan  data  tersebut  ketika  user  melakukan pencarian.  Dari  pengujian  yang  sudah  dilakukan,  data  dapat  muncul  dengan  waktu  yang  berbeda  pada  setiap perangkat  seperti  perhitungan  perbandingan  eksponensial  emulator  mendapatkan  nilai  6,756586  sedangkan smartphone mendapat nilai 6,355025. Semakin kecil nilainya menandakan bahwa semakin efisien aplikasinya.
Kata kunci : Algoritma Boyer Moore, Kamus Biomedis, String matching

## 1. PENDAHULUAN
Karena pada dasarnya bahasa merupakan serapan dari bahasa lain seperti yang dikatakan pada buku yang berjudul  terminologi  biomedis  bahwa  ada  dua  hal utama  tentang  urgensi  penyerapan  kosakata  asing ditulis  dalam  buku  Terminologi  Biomedis,  yaitu penyamaan  pemahaman  dari  suatu  bahasa  ke  bahasa lain dan  juga pengayaan kosakata  yang ada di dalam bahasa  Indonesia  [1].  Buku  ini  berisikan  tentang istilah-istilah  biomedis  yang  diubah  menjadi  bahasa Indonesia  guna  untuk  menyamakan  persepsi  dan memperkaya  kosakata  bahasa  Indonesia  dengan  cara mengadopsi dari bahasa latin dan inggris menggunakan hukum yang berlaku.
Kamus yang berisikan istilah-istilah biomedis ini sudah disusun dan dijadikan buku oleh Dr. Purwanto, drg. , M.Kes. dan dr. Inke Kusumastuti, Biomed., Sp KJ. dalam buku yang berjudul Terminologi Biomedis dengan  jumlah  total  1051  lembar.  Kamus  ini  terdiri dari ribuan istilah-istilah dalam kesehatan yang sudah di Indonesiakan lengkap dengan deskripsinya. Namun dalam penggunaannya, kamus ini masih menggunakan cara  manual  dengan  mengurutkan  berdasarkan  abjad yang  membuatnya  kurang  efektif  dalam  segi  waktu dan tenaga. Mengingat dengan tebalnya buku ini yang mencapai  seribu  halaman  lebih  pastinya  akan membutuhkan  waktu  yang  lama  dalam  pencarian kosakatanya.
Seiring  berkembangnya  jaman  menuju era  yang serba  digital  ini,  kamus  manual  menjadi  lebih  jarang digunakan  karena  di  anggap  kurang  efektif  dalam
melakukan  pencarian.  Berdasarkan  permasalahan  di atas,  penulis  berencana  untuk  menjadikan  kamus terminologi  biomedis  ini  menjadi  digital  dan  dapat diakses  menggunakan smartphone yang  memiliki sistem  operasi  agar  mempermudah  pengguna  dalam melakukan  pencarian  kosakata  istilah  medis.  Untuk membuat  kamus  secara  digital  ada  satu  hal  yang panting  untuk  di  bahas  yaitu  tentang  mesin pencariannya karena kamus berisi banyak istilah yang pastinya  membutuhkan  mesin  pencarian  untuk mencari  istilah  yang  diinginkan.  Untuk  mengatasi pembuatan  mesin  pencarian  ini,  maka  kamus terminologi biomedis ini dibuat dengan sistem android dengan menggunakan algoritma boyer moore
Dengan dibuatnya aplikasi ini, diharapkan dapat mempermudah  dosen  atau  pelajar  jurusan  kesehatan bahkan juga masyarakat umum untuk mencari istilah- istilah  dalam  kedokteran  dengan  mudah  dan  efisien menggunakan smartphone berbasis android.

## 2. TINJAUAN PUSTAKA

## 2.1. Android
Android  adalah  sebuah  sistem  operasi  yang berbasis  Linux  [2].  Android  pertama  kali  didirikan pada tahun 2003 oleh Andy Rubin, Rich Miner, Chris White  dan  Nick  Sears  dengan  nama  Android  Inc  di California. Android kemudian di beli oleh perusahaan Google  pada  tahun  2005.  Android  memiliki  banyak versi  karena  perkembangannya  yang  cukup  pesat. Pada  tahun  2008  diluncurkan  sistem  operasi  android Astro 1.0 (Alpha) yang kemudian diperbaharui dengan
android  Bender  1.1  (Beta)  pada  tahun  2009  dan seterusnya  hingga  sekarang  android  terbaru  adalah android 12.

## 2.2. Terminologi Biomedis
Terminologi biomedis berasal dari dua kata yang pertama adalah terminologi yang berarti istilah-istilah dan  yang  kedua  adalah  biomedis  bio  dalam  KBBI berarti  kehidupan  dan  medis  berarti  Kesehatan.  Jadi berdasarkan Namanya, arti dari terminologi biomedis adalah  istilah-istilah  kesehatan  yang  ada  dalam kehidupan.  Istilah  pada terminologi  biomedis  berasal dari bahasa Yunani atau bahasa latin dan sebagian juga berasal  dari  bahasa  inggris.  Secara  umum  istilah biomedis  yang  berasal  dari  Yunani  adalah  istilah tentang  diagnosa  dan  yang  berasal  dari  latin  adalah istilah tentang anatomi [3].

## 2.3. String Matching
String matching merupakan pencarian huruf atau karakter  berdasarkan  pattern.  String  matching merupakan  sebuah  pencarian  pattern  dalam  sebuah teks. Algoritma string mathing adalah algoritma yang berfungsi  untuk  melakukan  pencarian  huruf  atau karakter  berdasarkan  pattern  yang  ada  [4].  Prinsip kerja dari algoritma string matching ini adalah sebagai berikut:
1.  Teks di masukkan ke dalam kotak pencarian.
2.  Algoritma akan melakukan pengecekan teks.
3.  Algoritma  akan  melakukan  pencocokan  pattern dengan teks yang telah dimasukkan.
4.  Setelah  pencocokan  akan  diperoleh  hasil  jika pattern  pertama  telah  ditemukan  maka  akan diulang lagi hingga sampai di ujung teks.

## 2.4. Boyer-Moore
Algoritma Boyer-Moore adalah algoritma string- matching yang biasanya sering digunakan pada kotak pencarian. Algoritma ini dipublikasikan oleh Robert S. Boyer  dan  J.  Strother  Moore  pada  tahun  1977. Algoritma  ini adalah algoritma pencarian string  yang paling  efisien  jika  dibandingkan  dengan  algoritma pencarian string lainnya [5].
Algoritma  ini  mencocokkan  string  dari  kanan pattern  ke  kiri  dan  karena  itu  Boyer-Moore  dapat mendapatkan lebih banyak informasi. Berikut langkah algoritma Boyer-Moore dalam mencocokkan string : 1.  Algoritma boyer-Moore akan mulai mencocokkan string dari kanan pattern pada awal teks.
2.  Algoritma  akan  mencocokkan  setiap  pattern  dari kanan  ke  kiri  satu  persatu  pada  teks  yang  akan dicari  kecocokannya  hingga  ditemukan  kondisi seperti di bawah ini:
a.  Di  pattern  dan  teks  yang  dibandingkan kecocokannya  tidak  menemukan  kecocokan (missmatch).
b.  Jika  semua  karakter  di  pattern  ditemukan kecocokan, maka algoritma akan memberitahukan  kecocokan  yang  di  dapat  di posisi ini..
3.  Algoritma  akan  menggeser  pattern  dengan memisalkan  2  nilai  pergeseran  yang  digunakan pada  algoritma  ini  yaitu  pergeseran  good-suffix dan pergeseran bad-character yang kemudian akan mengulangi  langkah  kedua  sampai  pattern  berada di ujung [6].
3. METODE PENELITIAN

## 3.1. Waktu dan Lokasi Penelitian
Waktu pada penelitian ini dilakukan sejak bulan februari  sampai  dengan  bulan  september,  dengan lokasi  di  laboratorium  komputer  Universitas  Islam Balitar  yang  berada  di  jalan  Majapahit  No.  2-4, Sananwetan,  Kecamatan  Sananwetan,  Kota  Blitar, Jawa Timur.

## 3.2. Pengumpulan Data
Instrumen  yang  digunakan  untuk  pengumpulan data pada penelitian ini yaitu:
a. Observasi Observasi  adalah  metode pengumpulan data  yang dilakukan  dengan  cara  melakukan  pengamatan  objek penelitian. Pengamatan yang dilakukan yaitu Panjang kata  dan  jumlah  kata  dalam  terminologi  biomedis. Hasil dari observasi adalah:
1.  Istilah pendek dengan 1 kata yang berjumlah 371 kata
2.  Istilah  sedang  dengan  2  kata  yang  berjumlah  408 kata
3.  Istilah Panjang dengan 3 kata lebih yang berjumlah 310 kata
4.  Jumlah kata dalam abjad A adalah 1089 kata
b. Wawancara
Wawancara  adalah  percakapan  peneliti  dengan narasumber yang dilakukan untuk mengumpulkan data berupa  informasi  di  dalam  penelitian.  Wawancara dilakukan  oleh  peneliti  yang  bernarasumber  seorang ahli terminologi biomedis yaitu bapak Purwanto yang juga seorang dosen kedokteran di sebuah Universitas di Jember. Tahapan wawancara  ini dilakukan dengan tujuan  mengetahui  informasi  terkait  aturan  yang  ada dalam terminologi biomedis.

## 3.3. Tahapan Penelitian
1. Rumusan masalah Pada  tahap  ini  dilakukan  perumusan  masalah terhadap  objek  penelitian  yaitu  kamus  terminologi biomedis  yang  ditulis  oleh  bapak  Purwanto  yang lumayan  tebal  hingga  1051  halaman.  Karena banyaknya halaman dan juga banyaknya entri di dalam kamus  tersebut  memunculkan  masalah  baru  yaitu sulitnya  dalam  mencari  satu  entri  yang  diinginkan dengan  cepat.  Karena  permasalahan  itu,  dibuatlah rumusan masalah dalam penelitian ini.
2. Pengumpulan Data Pada tahap ini dilakukan pengumpulan data yang nantinya digunakan sebagai bahan permasalahan yang telah  dirumuskan  sebelumnya.  Pengumpulan  data alam penelitian ini menggunakan observasi, wawancara  dan  studi  literatur.  Observasi  dilakukan
pengamatan  terhadap  kamus  terminologi  biomedis. Wawancara  dilakukan  kepada  ahli  terminologi biomedis  tentang  aturan  yang  berlaku  dalam pembuatan  kamus  terminologi  biomedis.  Studi literatur  untuk  mencari  informasi  algoritma  yang sesuai  yang  dapat  digunakan  untuk  memecahkan permasalahan ini:
3. Penerapan algoritma boyer-moore: Algoritma  diterapkan  pada  aplikasi  berbasis android  yang  di  buat  menggunakan  code  editor Android Studio dengan framework Flutter dan bahasa pemrograman  Dart.  Proses  pembuatan  aplikasi  di jalankan  pada  emulator  android  studio  menggunkan perangkat  google pixel 2.Penerapan algoritma boyer- moore  di  dalam  string  matcing  aplikasi  kamus terminologi  biomedis  ini  diterapkan  pada  search  bar aplikasi. Berikut adalah contoh penerapannya :
Start Input Teks apakah pattern dan teks cocok? Mendapatkan Pattern dalam teks Menampilkan hasil pencocokan end tidak ya Melakukan pencocokan teks dan pattern dari kanan ke kiri
Gambar 1. Flowchart Algoritma boyer-moore
1.  Mulai.
2.  Masukkan  teks  yang  akan  di  cocokkan  misalkan teksnya APA ITU ANOKSIA.
3.  Melakukan  pencocokan  teks  dengan  pattern  dari kanan ke kiri dengan pattern ANOKSIA.
4.  Jika  tidak  ada  yang  cocok,  akan  kembali  ke masukkan teks.
5.  Jika cocok akan mendapatkan pattern yang sesuai dengan teks.
6.  Jika sudah cocok, teks akan di tampilkan.
7.  Selesai.
4. HASIL DAN PEMBAHASAN

## 4.1 Pengolahan Data
Penelitian  ini  bertujuan  untuk  membuat  sebuah aplikasi  kamus  dimana  data  yang  di  gunakan  pada penelitian ini adalah berupa istilah biomedis yang ada dalam kamus yang masuk ke dalam kelompok abjad A yang  berjumlah  108  halaman  dengan  1089  istilah biomedis  beserta  dengan  deskripsinya.  dari  1089 istilah  yang  ada  di  abjad  A,  terdiri  dari  kurang  lebih 34%  kata  pendek,  37%  kata  sedang  dan  29%  kata panjang.  Berikut  ini  adalah  contoh  data  yang digunakan dalam penelitian ini pada tabel 1,
Pada  tabel  1,  data  yang  berasal  dari excel akan diubah  menjadi  data JSON yang  selanjutnya  akan disimpan  ke  dalam  database  lokal  aplikasi,  berikut adalah hasil convert dari excel ke format JSON :
Gambar 2. Hasil format JSON { "data": [
{ "alphabet": "A",
"title": "abatemen",
"full_title": "abatement",
"description": "penurunan keparahan suatu kondisi seperti nyeri, gejala-gejala, atau suatu gangguan. 20, 21)",
"category": "abatement", "created_at": "7/23/22", "updated_at": "7/23/22" }, { "alphabet": "A", "title": "abdomen ", "full_title": "abdomen", "description": "regio tubuh terletak di atas diafragma pelvis. 20, 21)", "category": "abdomen", "created_at": "7/23/22", "updated_at": "7/23/22" } ] }
Tabel 1. Dataset kamus alphabet title full_title description category created_at updated_at A abatemen abatement penurunan keparahan suatu kondisi seperti nyeri, gejala- gejala, atau suatu gangguan. 20, 21) abatement 7/23/2022 7/23/2022 A abdomen abdomen regio tubuh terletak di atas diafragma pelvis. 20, 21) abdomen 7/23/2022 7/23/2022 A abduksi abduction gerakan di mana bagian tubuh ditarik menjauh dari sumbu utama atau sumbu suatu anggota gerak. 20, 21) abduction 7/23/2022 7/23/2022 A aberasi kromosom chromosomal aberration kelainan jumlah atau struktur kromosom. 7) chromosomal aberration 7/23/2022 7/23/2022 A abiotik abiotic 1 Tidak hidup; sebutan untuk ciri-ciri fisik dan kimiawi suatu lingkungan. 2 Tidak menyertakan organisme hidup, pengaruhnya, atau produknya. 42, 54) abiotic 7/23/2022 7/23/2022 4.2 Proses Algoritma Boyer Moore
Setelah proses pengolahan data selesai dilakukan,  maka  langkah  selanjutnya  adalah  proses penerapan  data  dengan  algoritma boyer-Moore ke dalam aplikasi android. Ada beberapa  langkah dalam penerapan kedalam aplikasi yaitu:
a. Proses Pre Boyer Moore Bad Character
Proses  pre  boyer  moore  bad  character  ini dilakukan  untuk  mendapatkan  nilai  OH.  Pemberian nilai  ini  dimulai  dari  karakter  paling  kanan  pattern. Setiap  karakter  dalam  pattern  diberi  nilai  sesuai dengan index dari kanan ke kiri pattern. Jika karakter dalam pattern ada yang sama, maka akan dipilih nilai OH  terkecil.  Proses  pencocokan  kata  dimulai  dari pemberian  nilai  OH  dan  MH  pada  pattern  sebelum melakukan pencocokan b. Proses Pre Boyer Moore Good Suffix
Proses pre boyer moore good suffix ini dilakukan untuk  mendapatkan  nilai  MH.  Pemberian  nilai  MH pada pattern dimulai dengan membentuk suffix kanan ke kiri dan suffix perbandingan dari kiri ke kanan yang kemudian  memberikan  nilai  pergeseran  untuk  suffix kanan ke kiri. Pemberian nilai MH dimulai dari kanan pattern  yang  selalu  diberi  nilai  MH=1.  Kemudian proses  berjalan  ke  kiri  karakter  dan  dilakukan pencocokan terhadap suffix pembanding, jika terdapat kesamaan suffix maka nilai MH karakter sama dengan nilai pergeseran pada suffix, jika tidak maka nilai MH sebanyak jumlah pattern.
c. Proses Boyer Moore
Setelah  mendapatkan  nilai  OH  dan  MH,  maka selanjutnya akan memasuki pencocokan string. Dalam proses  algoritma  boyer  moore  akan  melakukan pengecekan  dari  karakter  paling  kanan  pada  pattern yang selanjutnya melakukan pergeseran pattern sesuai dengan maksimal nilai OH karakter teks dan nilai MH karakter pattern.
Setelah proses 3 poin diatas, selanjutnya adalah proses  berjalannya  algoritma  pada  aplikasi  kamus terminologi biomedis. Proses pertama adalah
pemberian  nilai  OH  dan  MH  pada  setiap  input  yang dimasukkan.  Setelah  pemberian  nilai  OH  dan  MH maka  akan  dijalankan  proses  pencocokan  terhadap input dan data pada setiap title atau full_title dari indek yang ada di data base yang berjumlah 1089 data. Jika ditemukan  data  yang  cocok  berdasarkan  index  dan input  maka  data  tersebut  akan  ditampilkan  ke  dalam menu  home  dengan  urutan  sesuai  dengan  index  data base.  Berikut  adalah  contoh  pencocokan  kata  “aids” menggunakan algoritma boyer moore : 1. Kata yang dicari: AIDS
2. Pemberian nilai OH dan MH
Tabel 2. Pemberian nilai OH dan MH OH 3 2 1 0 MH 4 4 4 1 Pattern A I D S 3. Pencocokan input dan teks
Tabel 3. Pencocokan pattern pertama teks S Y  N  D  R  O  M  , A  I D  S Pattern A I D  S
Pencocokan  dimulai  dari  kanan  pattern.  D  sejajar dengan  S  berarti  tidak  match  akan  tetapi  karakter  D terdapat pada pattern aids maka digeser sebesar 1.
Tabel 4. Pencocokan pattern kedua teks S  Y  N  D  R  O  M  , A  I D  S
Pattern A I D  S
Kembali  dicocokkan  karakter  paling  kanan  dari pattern. R sejajar dengan S akan tetapi tidak terdapat karakter R di dalam aids maka digeser sebanyak 4.
Tabel 5. Pencocokan pattern ketiga teks S  Y  N  D  R  O  M , A  I  D  S Pattern A I D  S
Selanjutnya  Kembali  di  cocokkan  karakter  paling kanan  yaitu  A  sejajar  dengan  S  yang  berarti  tidak cocok akan tetapi terdapat karakter A dalam aids yang berarti akan digeser sebanyak 3.
Tabel 6. Pencocokan pattern keempat teks S  Y  N  D  R  O  M  , A  I D  S Pattern

## A  I D  S
Selanjutnya  dicocokkan  lagi  dari  karakter  paling kanan. Ditemukan kecocokan karena pattern dan teks sejajar  dengan  karakter  yang  sama.  Maka  bisa dikatakana bahwa teks dan pattern cocok atau match.
4. Proses  pencocokan  dijalankan  berulang  dari  data indek  0  hingga  data  indek  1088.  Jika  data  match dengan  input  maka  akan  di  munculkan  ke  dalam halaman menu dan jika tidak ada data yang match maka  akan  muncul  pemberitahuan  bahwa  tidak terdapat data yang dicari di dalam database.

## 4.3. Penerapan pada Perangkat Smartphone
Setelah  memahami  proses  perhitungan  dengan algoritma boyer  moore langkah  selanjutnya  adalah membuild  kedalam  aplikasi  android  menggunakan framework  Flutter. Perangkat  yang  digunakan  dalam pengujian ini adalah Poco X3 NFC dengan spesifikasi sebagai berikut:
Smartphone : Xiaomi Poco X3 NFC OS : Android 11 Chipset : Snapdragon 732G Ram : 6gb
Peneliti mencoba mencari kata “aids” seperti gambar 3 sebagai berikut  :
Gambar 3. Hasil pencarian pada aplikasi

## 5. KESIMPULAN DAN SARAN
Hasil implementasi algoritma boyer moore pada kamus terminologi biomedis ini dapat berjalan dengan baik  sesuai  dengan  fungsi  dari  algoritma  itu  sendiri sebagai  algoritma  pencarian  kata  dapat  membantu mempermudah pekerjaan manusia dalam mencari kata biomedis yang ada di dalam sebuah kamus terminologi biomedis.  pengguna  tinggal  menulis  kata  yang  dicari lalu  kamus  memunculkan  kata  yang  cocok  dengan yang  di  cari  oleh  user  dengan  waktu  yang  tentunya lebih cepat dari pada dilakukan secara manual dengan buku.  Lalu  ada  beberapa  saran  yang  penulis  ingin sampaikan  yaitu  pada  penelitian  selanjutnya  dapat dikembangkan  pada  jenis  data  yang  sama  dengan menggunakan algoritma yang lain seperti turbo boyer moore,  brute  force  atau  knuth  morris  prat, menggunakan  data  yang  lebih  lengkap  dari  abjad  A sampai  Z  untuk  mengetahui  kinerja  algoritma  ketika menggunakan data yang lebih banyak, menggabungkan  algoritma  lain  untuk  menyelesaikan masalah salah ketik agar tetap bisa memunculkan data ketika user sedikit salah dalam mengetikkan kata yang akan dicari

## DAFTAR PUSTAKA
[1] Pontoh,  C.C.,  2018.  Analisis  Kata  Pinjaman Bahasa  Inggris  Dalam  Istilah  Biologi  Bahasa Indonesia.  Jurnal  Elektronik  Fakultas  Sastra Universitas Sam Ratulangi, 3(2).
[2] Angela, W. and Gani, A., 2016. Rancang Bangun Game  Edukasi  Berbasis  Web  Dan  Android Menggunakan  Adobe  Flash  Cs5  Dan  Action Script 3.0. IJIS-Indonesian Journal On Information System, 1(2).
[3] Mustakim,  M.  and  Wardoyo,  R.,  Survey Model-Model  Pencarian  Informasi  Rekam Medik  Elektronik. JISKA  (Jurnal  Informatika
Sunan Kalijaga) , 3 (3), pp.132-144.
[4] Effendi Tono Hartono Andri Kurnaedi, D., 2013. Penerapan string matching menggunakan algoritma  Boyer-Moore  pada  translator  bahasa Pascal ke C. Majalah Ilmiah Unikom.
[5] Lestari, C.P., Hasibuan, N.A. and Ginting, G.L., 2016. Perancangan Aplikasi Kamus Istilah Medis Berbasis  Android  Dengan  Algoritma  Boyer- Moore. J. INFOTEK, 2(3), pp.1-6.
[6] Muntazari, R., Penerapan  Metode Boyer Moore Pada Aplikasi Kamus Istilah Teknologi
Informasi Berbasis  Web Studi Kasus:  pt. erefka tiga pilar utama (Bachelor's thesis, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta).