## Implementasi Algoritma Turbo Boyer Moore untuk Pencarian Data pada Transaksi Keuangan Duta Phonecell Sawah Lebar
Gunawan 1 , Kirman 2 1,2 Dosen Tetap Program Studi Sitem Informasi Fakultas Teknik Universitas Muhammadiyah Bengkulu Alamat (Jl. Bali Kota Bengkulu; e-mail: gunawan@umb.ac.id 1 , kirman@umb.ac.id 2 )
Abstract — A Small Medium Business is often abbreviated  as  (UKM  in  Indonesian),    this  is  an important  part  of  the  economy  growth  in  country  and region.  Duta Phonecell  Sawah Lebar is one of the suppliers or  credits  traders.      In      conducting      this      business      still use      books      for      recording  transactions  system  and  a place  to  save  the  summary  of  data  from  data  sources  and collect  data  from  various  sources.  Through  this  system can  help  to  know  or  evaluate  the  business  process  that is  being  conducted.  One    of    the Matching    String Algorithms is  the Boyer  Moore   Algorithm , through  this  a file  wants  to  be  executed;  the  file  is  not  immediately allowed  to  be  done.    This    study  carried    out  at  Duta Phonecell    Sawah    Lebar    of  Bengkulu  City.  The  Turbo Boyer  Moore  Algorithm  cannot  be  used  in  searching process  because  it  is  not  proven  to  be  used  on  objects  and the  page  fields  are  too  small  and  have  not  searched  for texts  in  a  long  texts  sequence.      This      application      was successfully   created,   but   did   not implement  the Turbo Boyer Moore  Algorithm.  The suggestion  of this study tried to    continue    the    application    of    Turbo    Boyer    Moore Algorithm    in  searching  process  on  a  long  and accompanied  by  the  Turbo  Boyer  Moore  Algorithm  that only searched  for specific  texts in all long texts data. Keywords: UKM,  Duta,  Strings,  Booyer  More.
I ntisari — Usaha  Kecil  Menengah  atau  sering  disingkat UKM  yang  merupakan      salah    satu    bagian      penting dari    perekonomian      suatu  negara  maupun  daerah,  Duta phonecell sawah  lebar  merupakan  salah  satu  suplier  atau pedagang  pulsa . Pada  sistem  yang  sedang  berjalan pencatatan  transaksi  masih  menggunakan  buku.  tempat penyimpanan  ringkasan      data    dari    data    sumber      dan mengumpulkan      data    dari  berbagai  sumber  agar  dapat diperoleh  pandangan  yang  lebih  baik  dari  suatu  proses bisnis.  Salah  satu  algoritma string  matching yang digunakan    adalah    algoritma boyer    moore. Dimana algoritma  pencocokan string boyer  moore sebuah  file  ingin dieksekusi,  maka  file  tersebut  tidak  langsung  diizinkan untuk  dijalankan,  Penelitian  dilaksanakan  di  Duta Phonecell  yang  beralamatkan    Jln  Sawah  lebar  Kota Bengkulu.    Algoritma    turbo  boyer    moore  tidak  dapat digunakan  dalam proses pencarian karena tidak terbukti  digunakan  pada  objek.  Hal  ini  karena  halaman field  yang  terlalu  kecil  dan  belum  mencari  tesk  pada suatu    urutan    tesk    yang    panjang.    Aplikasi    memang berhasil  dibuat  tatapi  tidak  menerapkan    algoritma turbo  boyer  moore.  Saran  untuk  penelitian  ini  adalah untuk  mencoba  melanjutkan  penerapan  algoritma    turbo boyer   moore  pada  proses  pencarian   di  suatu  tesk yang panjang  dan  banyak.  Disertai  juga  algoritma  turbo  boyer moore  hanya untuk mencari tesk tertentu yang berbeda  pada  seluruh  data tesk yang  panjang Kata Kunci : UKM, Duta, String,  Booyer  More

## I. PENDAHULUAN
Usaha  Kecil  Menengah  atau  sering  disingkat UKM yang merupakan   salah  satu  bagian  penting  dari perekonomian   suatu negara maupun daerah, begitu juga negara  indonesia.  UKM  ini  juga  sangat  membantu negara  atau  pemerintah  dalam  hal  penciptaan  lapangan kerja  baru  dan  lewat  UKM  juga  banyak  tercipta  unit kerja  baru  yang  menggunakan  tenaga  baru  yang  dapat mendukung  pendapatan  rumah  tangga.  Untuk  dapat menggunakan  layanan  telepon,  sms  dan  internet  melalui telepon genggam,  telepon  gengam harus  memiliki  pulsa. Semakin    banyaknya    pengguna    telepon    genggam semakin  banyak pula yang membutuhkan  pulsa. Terkait hal  tersebut  maka  bermunculanlah  para  suplier  atau pedagang  pulsa  dan salah  satunya adalah  duta phonecell sawah lebar.
Duta phonecell sawah   lebar    merupakan   salah satu    suplier  atau  pedagang  pulsa . Pada  sistem  yang sedang berjalan pencatatan transaksi masih menggunakan  buku.  Hal  ini  menyebabkan  pencarian laporan  transaksi  memerlukan  waktu  yang  relatif  lama karena harus melakukan  rekapitulasi  data seperti melihat buku  catatan  penjualan  setiap  hari  untuk  mengetahui laporan  transaksi.  Selain  masalah  pengolahan    data yang    cukup    banyak,    hampir    400    data    transaksi penjualan  dan  media  pemasaran  masih  sangat  minim dalam  pemasaran  produk  penjualan  pada  duta phonecell sawah lebar.
Sistem  penyimpanan  data  yang  berbasis cloud merupakan solusi permasalahan ini, tempat penyimpanan    ringkasan    data  dari  data    sumber    dan mengumpulkan   data  dari  berbagai  sumber  agar dapat diperoleh  pandangan  yang  lebih  baik  dari  suatu  proses
bisnis.  Pembuatan  perangkat  lunak  yang  mendukung akses  informasi  mengenai  data  transaksi  dapat  diakses melalui  perangkat  bergerak berbasis  Android. Hasil dari pencarian sebuah String tergantung  dari teknik atau cara pencocokan string yang  digunakan, string  matching merupakan  proses  pencocokan string untuk  menemukan kesamaan  antara teks dan pattern .  Salah  satu  algoritma string  matching yang  digunakan  adalah  algoritma boyer moore. Dimana algoritma pencocokan string boyer moore sebuah  file  ingin  dieksekusi,    maka  file tersebut  tidak  langsung  diizinkan  untuk  dijalankan, namun  akan  dilakukan  pengecekan  terlebih  dahulu. Kesimpulan  yang  diperoleh  algoritma  b oyer    moore lebih  baik  hal  performansi   karena   tidak  memerlukan permrosesan  ekstra dan memungkinkan  untuk mengingat potongan teks yang telah diperiksa sebelumnya.

## II.  T INJAUAN P USTAKA
A. Implementasi Menurut Kamus Besar Bahasa Indonesia, implementasi adalah pelaksanaan dan penerapan, dimana kedua  hal  ini  bermaksud  untuk  mencari  bentuk  tentang hal yang disepakati terlebih dahulu. Implementasi adalah proses  untuk  memastikan  terlaksananya  suatu  kebijakan dan  tercapainya  kebijakan  tersebut.  Tujuan  dari implementasi  sebuah  sistem  ialah  untuk  menyelesaikan desain  sistem  yang  telah  disetujui,  menguji  serta mendokumentasikan  program-program  dan  prosedur sistem yang diperlukan, memastikan bahwa personil yang terlibat  dapat  mengoperasikan  sistem  yang  baru  dan memastikan  bahwa  konversi  sistem  lama  ke  sistem  baru dapat berjalan dengan baik dan benar[1].

## B. Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan,  lamaran,  penggunaan.  Secara  istilah  aplikasi adalah:  program  siap  pakai  yang  direka  untuk melaksanakan  suatu  fungsi  bagi  pengguna  atau  aplikasi yang  lain  dan  dapat  digunakan  oleh  sasaran  yang dituju[2].

## C. String Matching
Algoritma string matching adalah sebuah algoritma    yang    digunakan    dalam  pencocokkan    suatu pola  kata    tertentu    terhadap    suatu    kalimat    atau    teks panjang.    Algoritma string    matching sendiri    dapat dilakukan    dengan    beberapa    cara  tertentu,  antara  lain cara Brute  Force dan  cara Knuth-  Morris-Pratt (KMP)[3].
Pengertian string menurut Dictionary of Algorithms  and  Data  Structures,  National  Institute  of Standards and   Technology (NIST)    adalah   susunan dari      karakter-karakter  (angka,    alfabet    atau    karakter yang    lain)    dan    biasanya  direpresentasikan    sebagai struktur  data  array.  String  dapat  berupa  kata,  frase, atau kalimat.
Pencocokan  string  merupakan  bagian  penting dari  sebuah  proses  pencarian  string  ( string  searching ) dalam  sebuah  dokumen.  Hasil  dari  pencarian  sebuah string dalam dokumen  tergantung  dari teknik  atau  cara pencocokan  string  yang  digunakan.  Pencocokan string ( string  matching )    menurut Dictionary    of  Algorithms and  Data  Structures,    National  Institute  of  Standards and  Technology (NIST),  diartikan  sebagai  sebuah permasalahan  untuk  menemukan  pola  susunan  karakter string di dalam string lain atau bagian dari isi teks.
Pencocokan string ( string  matching )  secara garis  besar  dapat dibedakan  menjadi  dua yaitu :
1. Exact    string    matching ,    merupakan    pencocokan string secara  tepat  dengan  susunan  karakter  dalam string yang  dicocokkan  memiliki  jumlah  maupun urutan  karakter  dalam string yang  sama.  Contoh  : kata step akan  menunjukkan  kecocokan  hanya dengan kata step .
2. Inexact  string  matching atau Fuzzy  string  matching , merupakan pencocokan string secara samar, maksudnya  pencocokan string dimana string yang dicocokkan  memiliki  kemiripan  dimana  keduanya memiliki  susunan  karakter  yang  berbeda  (mungkin jumlah  atau  urutannya)  tetapi string - string tersebut memiliki kemiripan baik kemiripan tekstual/penulisan    ( approximate  string  matching ) atau  kemiripan  ucapan  ( phonetic  string  matching ).
Inexact string matching dibagi menjadi dua yaitu :
a. Pencocokan string berdasarkan      kemiripan penulisan ( approximate string matching ) merupakan  pencocokan string dengan  dasar kemiripan  dari  segi  penulisannya  (jumlah karakter,    susunan    karakter    dalam  dokumen). Tingkat  kemiripan    ditentukan    dengan  jauh tidaknya  beda  penulisan  dua  buah string yang dibandingkan tersebut dan nilai tingkat kemiripan  ini  ditentukan  oleh  pemrogram ( programmer ).  Contoh  : c  mpuler dengan
compiler ,  memiliki  jumlah  karakter yang   sama tetapi   ada   dua   karakter   yang   berbeda.   Jika perbedaan  dua  karakter  ini  dapat  ditoleransi sebagai sebuah kesalahan  penulisan   maka  dua
string tersebut  dikatakan cocok.
b. Pencocokan string berdasarkan kemiripan
ucapan ( phonetic string
matching ) merupakan   pencocokan string dengan dasar kemiripan  dari  segi  pengucapannya  meskipun ada  perbedaan  penulisan  dua string yang dibandingkan  tersebut. Contoh step dengan steb dari tulisan
berbeda
tetapi
dalam pengucapannya  mirip  sehingga  dua string tersebut  dianggap  cocok.  Contoh  yang  lain adalah step ,  dengan steppe , sttep , stepp, stepe [4].

## D. Algoritma  Turbo Booyer Moore
Algoritma    Boyer-moore  menggunakan  konsep Boyer-moore  sebagai  ide  awalnya.  Tidak  diperlukan pemrosesan  tambahan  lagi.  Proses  awalan  pada pattern sama dengan proses awalan pada pattern yang dilakukan dengan Boyer-moore  Dua  keunggulan  dari algoritma  ini, yaitu :
1. Teknik   ini   memungkinkan   untuk   melompati faktor   dari   teks tersebut.
2. Teknik ini mengijinkan  sebuah pergeseran  turbo. Perpindahan    yang dilakukan ketika proses pencarian  string  akan  berbeda  dengan  proses  yang dilakukan pada algoritma Boyer moore. Perpindahan ini  disebut  dengan  perpindahan  turbo.  Perpindahan
turbo    ini    hanya      dapat      dilakukan      jika    pada saat  melakukan  perbandingan  pada  saat  tersebut, panjang  dari  karakter  yang  sama  antara pattern dan teks  lebih  besar  dari  panjang  dari  karakter  sama yang  telah  disimpan  sebelumnya    di  variabel factor  pengingat.  Akibatnya,  proses  pencarian  akan menjadi  lebih singkat.
Gambar 1. Pergeseran Turbo
Gambar 2. c ≠ d, Disejajarkan  Pada  Karakter
Adapun   Prinsip   kerja   dari   algoritma   Turbo Boyer-moore adalah sebagai  berikut  :
1. Algoritma Turbo Boyer-moore mulai mencocokkan pattern pada awal teks.
2. Dari  kanan  ke  kiri,  algoritma  ini  akan mencocokkan  karakter  per  karakter pattern dengan  karakter  pada  teks  yang  bersesuaian sampai salah satu kondisi berikut dipenuhi :
a. Di pattern dan    di    teks    yang dibandingkan   tidak   cocok ( missmatch ).
b. Semua     karakter      di pattern cocok. Algoritma        akan  memberitahukan penemuan  di posisi ini.
c. Algoritma            kemudian            menggeser pattern dengan  memaksimalkan  nilai penggeseran good-suffix dan d. penggeseran bad-character , Lalu
mengulangi    langkah    2  sampai pattern berada di ujung teks.
Adapun  solusi  penyelesaian  algoritma  Turbo Boyer-moore  adalah  Untuk  fase  pencarian  dalam algoritma  Turbo Boyer  Moore ,  proses  yang  dilakukan hampir  sama  dengan  fase  pencarian  pada  Algoritma Boyer Moore . Yang membedakan  adalah adanya variabel yang    berfungsi    untuk    menampung    nilai  pergeseran apabila    pada  putaran  sebelumnya    nilai  yang    diambil untuk  pergeseran  berasal dari  tabel  good suffix  shift .
Nilai  ini  nantinya  akan  digunakan sebagai  nilai yang  mungkin  digunakan    untuk  pergeseran pattern .
Fase  inisialisasi  pada  algoritma  ini  sama  dengan  fase inisialisasi pada algoritma Boyer Moore , yaitu mempunyai  kompleksitas  waktu  dan  ruang  sebesar  O (n+σ)  dengan    σ  adalah  besar  ruang  alfabet.  Sedangkan pada  fase  pencocokan,  algoritma  ini  mempunyai kompleksitas  waktu  sebesar  O(m)  dengan  jumlah pencocokan karakter  pada algoritma  ini adalah  2m[5].

## III. M ETODOLOGI P ENELITIAN
Adapun  Metode  penelitian  yang  penulis  gunakan adalah Rapid Aplication Development (RAD) merupakanstrategi pengembangansistem yang
menekankan kecepatan
pengembangan
melalui keterlibatan  pengguna  yang  ekstensif  dalm  konstruksi, cepat,  berulang  dan  bertambah  serangkaian  prototype bekerja  sebuah  sistem  yang  pada    akhirnya  berkembang didalam  sistem  final.  Berikut  ini  adalah  gambaran kerangka  pemikiran  dari Rapid  Aplication  Development (RAD).

## Gambar 3. Metode RAD
Untuk  perancangan  sistem  dalam    diagram    alir    data terdapat  2  atribut,  yaitu  admin  dan suplier.  Kemudian memiliki  3  tabel  yaitu  tabel  transaksi,  tabel kategori, dan  tabel  harga.  Adapun  diagram  alir  data  dalam penelitian  ini dapat dilihat pada Gambar  4 dibawah  ini

## IV. HASIL DAN PEMBAHASAN
A. Hasil dan Pembahasan Sistem
Hasil    penelitian    implementasi    algoritma turbo boyer    moore untuk    pencarian      data    pada    transaksi keuangan      Duta    Phonecell  Sawah  Lebar,  adalah sebagai berikut  :
1. Menerapkan      algoritma turbo      boyer      moore pada      pencarian  transaksi  penjualan  di  Duta
Phonecell Sawah Lebar berdasarkan nama
pelanggan.
2. DaPat  menerapkan  sistem  server  dan  penyimpanan data secara online ,   sehingga   data   dapat   di  akses pada    2    aplikasi    yaitu  berbasis  website  dan berbasis  android.  Urutan  proses  dari  aplikasi transaksi  keuangan  duta phonecell Sawah  Lebar adalah sebagai berikut :
a. Tampilan SplashScreen
Tampilan splashscren merupakan    tampilan awal  dalam  aplikasi  ini,  terdapat  informasi judul  penelitian  dan progressbar saat  akan menampilkan data. Adapun tampilan
splashscreen dapat  dilihat pada gambar  5.

## b. Tampilan Login
Tampilan    login    merupakan    tampilan    sistem keamanan  dalam aplikasi  ini, adapun  tampilan login  dapat  dilihat  pada  Gambar 6
Gambar 6. Halaman Login Aplikasi

## c. Tampilan Home
Tampilan home merupakan tampilan awal dalam aplikasi  ini,  terdapat  4  menu  utama  yaitu transaksi,  laporan  transaksi,  info,  dan  keluar. Adapun  tampilan  home  dapat  dilihat  pada Gambar 7.
Gambar 7. Tampilan Home
Selamat Datang Pada Aplikasi DUTA PHONE CELL

## d. Tampilan Transaksi
Tampilan  transaksi  merupakan  tampilan  input data  dalam  melakukan  transaksi  penjualan, adapun  tampilan  transaksi  dapat  dilihat  pada gambar 8
Gambar 8. Menu Transaksi
e. Tampilan Laporan Transaksi
Tampilan laporan transaksi merupakan  tampilan laporan  dalam  melakukan    transaksi    penjualan, adapun  tampilan  laporan  transaksi  dapat  dilihat pada gambar  9.

## Gambar 9. Laporan Transaksi

## B. Pembahasan
Dalam  pembahasan  ini  aplikasi  algoritma  turbo boyer  moore  digunakan  untuk  mencari  transaksi keuangan  duta  phonecell  Sawah  Lebar,  tampilan  dapat
dilihat  pada  gambar  10.  Algoritma  turbo  boyer  moore seperti  yang  dijelaskan  pada  halaman      terdahulu diterapkan   pada  proses   mencari  data.  Kode program untuk    memproses      awal    dimulai      dari    tesk    yang diinput  pengguna  pada  objek  form  text  box  seperti  yang tampak pada gambar 10.
Gambar 10. Menu Pencarian Data
Kode  tersebut  tersimpan  pada  file  tb_transaksi_form. Pattern    tesk    awal    yang    berasal    dari    objek    form merupakan  langka    awal    pada    pencocokan    awal algoritma  turbo  boyer  moore. Kode lengkap pengambil text pattern tersebut seperti pada berikut ini
Selanjutnya  proses  algoritma  ini  akan  mencocokan karakter  per  karakter  pattern  dengan  karakter  pada  tesk yang  terdapat  pada  hasil  query  sql  antara  tabel  transaksi dengan  tabel  pelanggan.  Pada      proses      pencarian selanjutnya      tidak    ada      pergeseran  pattern  tesk  yang diambil.  Selanjutnya  pencarian  yang  keluar  adalah pencarian hanya dari proses query pada fungsi ajax yang ada bukan di algoritma turbo boyer moore.
<section class='content-header'>
<h1>
TRANSAKSI
<small>Daftar Semua Transaksi</small> </h1> <ol class='breadcrumb'> <li><a href='#'><i class='fa fa- suitcase'></i>Transaksi</a></li> <li class='active'>Daftar Semu Transaksi</li> </ol> </section> <script src="<?php echo base_url('assets/js/plugins/datatables/jquery- 1.11.3.min.js');
?>"></script> <script> $(document).ready(function(){ $.fn.dataTable.ext.errMode = 'throw'; $('#mytable').dataTable( { "Processing": true, "ServerSide": true, "iDisplayLength": 25, "oLanguage": { "sSearch": "Search Data : ", "sZeroRecords": "Data Masih Kosong", "sEmptyTable": "No data available in table" },
"ajax": "<?php echo base_url('transaksi/view_data');?>", "columns": [ { "mData": "no" },
{ "mData": "kode_transaksi" },
{ "mData": "no_telp" },
{ "mData": "nama_pelanggan" },
{ "mData": "nominal" },
{ "mData": "harga" },
{ "mData": "tgl_transaksi" },
{ "mData": "status" },
{ "mData": "detail" },
{ "mData": "edit" },],
"footerCallback": function (row, data, start, end, display) { summation var api = this.api(), data; var intVal = function (i) { return typeof i === 'string' ? i.replace(/,.*|\D/g, '') * 1 : typeof i === 'number' ? i : 0;}; // Total over all pages total = api .column(5) .data() .reduce(function (a, b) { return intVal(a) + intVal(b); }, 0); // Total over this page pageTotal = api .column(5, {page: 'current'}) .data() .reduce(function (a, b) { return intVal(a) + intVal(b); }, 0);

## V.  P ENUTUP

## A. Kesimpulan
Dari    hasil    aplikasi    Implementasi algoritma turbo    boyer    moore untuk  aplikasi transaksi  keuangan  duta phonecell Sawah  Lebar, dapat  ditarik  kesimpulan  Bahwa  Algoritma    turbo boyer    moore    tidak    dapat    digunakan    dalam proses pencarian   karena  tidak  terbukti  digunakan pada    objek.    Hal    ini    karena  halaman  field  yang terlalu  kecil  dan  belum  mencari  tesk  pada  suatu urutan  tesk      yang      panjang.      Aplikasi      memang berhasil      dibuat      tatapi      tidak  menerapkan algoritma  turbo boyer moore.

## B. Saran
Saran    untuk    penelitian    ini  adalah    untuk mencoba   melanjutkan penerapan   algoritma   turbo boyer  moore  pada  proses  pencarian  di suatu tesk yang  panjang  dan  banyak.  Disertai  juga  algoritma turbo  boyer  moore  hanya  untuk  mencari  tesk tertentu  yang  berbeda  pada  seluruh  data  tesk  yang panjang.
D AFTAR P USTAKA
[1] Wijaya,  A.,  &  Gunawan,  G.  (2018).  Implementasi  Algoritma Round  Robin  Pada  Sistem  Penjadwalan  Mata  Kuliah  (Studi Kasus: Universitas Muhammadiyah Bengkulu). Jurnal
Informatika Upgris , 4 (1).
[2] Arif,  S.  N.,  Wanda,  A.  P.,  &  Masudi,  A.  (2013).  Aplikasi Administrasi  Perpustakaan  Berbasis Web  SMK  Swasta  Brigjend Katamso Medan. Jurnal SAINTIKOM Vol , 12 (1).
[3] Rossaria,  M.,  Susilo,  B.,  &  Ernawati,  E.  (2015).  Implementasi Algoritma Pencocok
[4] an String Knuth Morris-Pratt dalam Aplikasi Pencarian Dokumen Digital Berbasis Android. Rekursif: Jurnal Informatika , 3 (2).
[5] Syaroni,  M.,  &  Munir,  R.  (2005).  Pencocokan  String Berdasarkan  Kemiripan  Ucapan (Phonetic  String  Matching) dalam  Bahasa  Inggris.  In Seminar  Nasional  Aplikasi  Teknologi Informasi (SNATI) .
[6] ANDROID,  B.  M.  B.,  &  KHOLIFAH,  E.  N.  APLIKASI BIOLOGI ELEKTRIK MENGGUNAKAN ALGORITMA.