## Implementasi Algorithma Crochemore-Perrin Pada Aplikasi Pengenalan Mata Uang Negara di Dunia Berbasis Mobile

## Windi Suhardi
Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: windisuhardi135@gmail.com
Submitted 08-06-2020 ; Accepted 27-08-2020 ; Published 25-02-2021

## Abstrak
Uang adalah segala sesuatu yang dapat diterima oleh masyarakat umum sebagai alat tukar menukar dalam lalu lintas perekonomian. Secara umum uang biasa digunakan sebagai alat pembayaran bagi pembelian barang-barang dan jasa-jasa serta kekayaan berharga lainnya bahkan untuk pembayaran hutang. Negara di dunia memiliki jumlah yang sangat banyak, setiap negara yang ada di dunia masing-masing memiliki mata uang yang berbeda berdasarkan kesatuan yang telah ditentukan.Masalah yang sering terjadi pada masyarakat umum mengenai mata uang negara di dunia yaitu sulitnya untuk mencari informasi nama-nama mata uang negara di dunia dalam waktu yang cepat dan tepat. Untuk  mengatasi  permasalahan  diatas  penulis  membangun  aplikasi  pengenalan  mata  uang  negara  di  dunia  berbasis  mobile  dengan menerapkan algoritma Crochemore-Perrin guna meminimalisir waktu yang dibutuhkan dalam proses mencari informasi mengenai mata uang setiap negara di dunia. Aplikasi pengenalan mata uang negara di dunia berbasis mobile pada penelitian ini dapat digunakan secara offline  ataupun  online    dan  memiliki  tampilan  user  experience    atau  interaksi  yang  lebih  nyaman  dan  menyenangkan  sehingga  dapat digunakan dengan mudah dimana saja dan kapan saja oleh masyarakat umum untuk mencari informasi mengenai mata uang negara yang ada  di  dunia.  Algoritma  Crochemore-Perrin  merupakan  algoritma  string  matching  yang  dipublikasikan  oleh  Maxime  Crochemore  dan Dominique Perrin pada tahun 1991. Algoritma ini memfaktorkan pattern menjadi dua bagian. Fase pencocokan pada algoritma ini terdiri dari dua bagian, pertama mencocokkan karakter pattern kanan dari kiri ke kanan, lalu mencocokkan karakter pattern kiri dari kanan ke kiri.
Kata Kunci: Pengenalan Mata Uang; String Matching; Crochemore-Perrin; Mobile

## Abstract
Money is anything that can be accepted by the general public as a medium of exchange in economic traffic. In general money is used as a means of payment for the purchase of goods and services and other valuable assets even for the payment of debts. Countries in the world have a very large number, each country in the world each has a different currency based on a predetermined unity. The problem that often occurs in the general public about the currencies of countries in the world is the difficulty to find information on names the currencies of countries in the world in a fast and precise time. To overcome the above problems, the author builds an application for introducing currency in a mobile-based world by applying the Crochemore-Perrin algorithm to minimize the time needed in the process of finding information about the currencies of each country in the world. The application of the introduction of state currencies in the world based on mobile in this study can be used offline or online and has a display of user experience or interaction that is more convenient and enjoyable so that it can  be  used  easily  anywhere  and  anytime  by  the  general  public  to  find  information  about  the  country's  currency  in  the  world.  The Crochemore-Perrin  algorithm  is  a  string  matching  algorithm  published  by  Maxime  Crochemore  and  Dominique  Perrin  in  1991.  This algorithm factifies the pattern into two parts. The matching phase of this algorithm consists of two parts, first matching the right pattern character from left to right, then matching the left pattern pattern from right to left.
Keywords: Introduction to Currency; String Matching; Crochemore-Perrin; Mobile

## 1. PENDAHULUAN
Uang  adalah  segala  sesuatu  yang  dapat  diterima  oleh  masyarakat  umum  sebagai  alat  tukar  menukar  dalam  lalu  lintas perekonomian. Uang logam dan emas disebut juga sebagai uang penuh (full bodied money) artinya, nilai intrinsiknya (nilai bahan) uang sama dengan nilai nominalnya. Secara umum uang biasa digunakan sebagai alat pembayaran bagi pembelian barang-barang  dan  jasa-jasa  serta  kekayaan  berharga  lainnya  bahkan  untuk  pembayaran  hutang.  Mata  uang  Negara merupakan  symbol  kesatuan uang  yang berlaku  di  suatu  wilayah  negara  di  dunia.Negara  di  dunia  memiliki  jumlah yang sangat banyak, setiap negara yang ada di dunia masing-masing memiliki mata uang yang berbeda berdasarkan kesatuan yang telah ditentukan. Masalah yang sering terjadi pada masyarakat umum mengenai mata uang negara di dunia yaitu sulitnya untuk mencari informasi nama-nama mata uang negara di dunia dalam waktu yang cepat dan tepat.
Untuk  mengatasi  permasalahan  diatas  penulis  merancang  aplikasi  pengenalan mata  uang  negara  di dunia berbasis mobile dengan menerapkan algoritma Crochemore-Perrin guna meminimalisir waktu yang dibutuhkan dalam proses mencari informasi mengenai mata uang setiap negara di dunia. Aplikasi pengenalan mata uang negara di dunia berbasis mobile pada penelitian ini dapat digunakan secara offline ataupun online dan memiliki tampilan user experience atau interaksi yang lebih nyaman dan menyenangkan sehingga dapat digunakan dengan mudah dimana saja dan kapan saja oleh masyarakat umum untuk mencari informasi mengenai mata uang negara yang ada di dunia. Algoritma Crochemore-Perrin merupakan algoritma string  matching yang  dipublikasikan  oleh Maxime  Crochemore dan Dominique  Perrin pada  tahun  1991.  Algoritma  ini memfaktorkan pattern menjadi dua bagian Fase pencocokan pada algoritma ini terdiri dari dua bagian, pertama mencocokkan karakter pattern kanan dari kiri kekanan, lalu mencocokkan karakter pattern kiri dari kanan kekiri[1].

## 2. METODOLOGI PENELITIAN

## 2.1 Uang
Uang secara umum adalah sesuatu yang dapat diterima secara umum sebagai alat pembayaran dalam suatu wilayah tertentu atau sebagai alat pembayaran utang, Dalam  sejarahnya uang terbagai dalam tiga kategori yaitu uang barang, uang kertas, uang kredit atau giro. Sedangkan pada mulanya manusia tidak mengenal uang, tetapi melakukan pertukaran antar barang dan jasa secara barter. Walaupun pada awalnya sistem barter ini sangat mudah dan sederhana, namun perkembangan masyarakat membuat sistem ini menjadi sulit diterapkan dari sinilah muncul uang sebagai solusinya untuk mempermudah transaksi [2].

## 2.3  Crochemore-Perrin
Crochemore-Perrin juga  disebut  algoritma Two  Way  Algorithm ,  atau  Algoritma  Dua  Arah  di  publikasikan Maxime Crochemore dan Dominique Perrin pada tahun 1991. Algoritma ini memfaktorkan pattern menjadi dua bagian pattern kiri, dan pattern kanan sehingga pattern=patternkiripatternkanan . Fase pencocokan pada algoritma ini terdiri dari dua bagian, pertama mencocokkan karakter pattern kanan dari kiri ke kanan, lalu mencocokkan karakter pattern kiri dari kanan ke kiri. Fase inisialisasi pada algoritma ini menghitung faktorisasi yang baik dari pattern atas pattern kiri dan pattern kanan. Jika (u, v) merupakan sebuah faktorisasi dari pattern , maka sebuah pengulangan di (u, v) adalah sebuah kata w , sehingga dua persyaratan ini terpenuhi: 1. w adalah akhiran dari u atau u adalah akhiran dari w 2. w adalah awalan dari v atau v adalah awalan dari w Algoritma crochemore-perrin memilih  faktorisasi  kritis  ( patternkiri,  patternkanan )  sehingga |patternkiri|  <  per(x) dan |patternkiri| mempunyai  nilai  minimal.  Dengan  kata  lain,  kata w muncul  di  kedua  sisi  dari  potongan u dan v dengan kemungkinan overflow di kedua sisi. panjang dari pengulangan terkecil di (u, v) disebut periode lokal, dan dinotasikan dengan r(u, v). Setiap faktorisasi dari (u, v) paling tidak mempunyai satu pengulangan. Dapat dilihat dengan mudah bahwa 1 r(u, v) |x| . faktorisasi (u, v) dari x sehingga r(u, v) = per(x) disebut faktorisasi kritis dari x . jika (u, v) adalah faktorisasi kritis dari x , maka pada posisi pada |u| di x , periode lokal dan periode global akan sama [3]. Berikut  ini  adalah  cara  kerja  dari  algoritma Crochemore-Perrin adalah sebagai berikut :
1. Langkah pertama algoritma Crochemore-Perrin dimulai dengan menentukan pattern kanan dan pattern kiri, sebagai teks acuan pencarian.
2. Algoritma  ini  akan  mencocokan  teks  dengan pattern berdasarkan pattern kanan dan periode :
a. Jika karakter sesuai dengan pattern kanan, beri tanda sebagai periode awal, dan lanjutkan ke karakter selanjutnya, kemudian proses awal pencarian selanjutnya dimulai dari periode terakhir.
b. Jika tidak sesuai gesar karakter satu persatu setiap karakter dan kembali ke kelangkah (a).

## 3. HASIL DAN PEMBAHASAN
Uang  adalah  segala  sesuatu  yang  dapat  diterima  oleh  masyarakat  umum  sebagai  alat  tukar  menukar  dalam  lalu  lintas perekonomian. Secara umum uang biasa digunakan sebagai alat pembayaran bagi pembelian barang-barang dan jasa-jasa serta kekayaan berharga lainnya bahkan untuk pembayaran hutang. Negara di dunia memiliki jumlah yang sangat banyak, setiap  negara  yang  ada  di  dunia  masing-masing  memiliki  mata  uang  yang  berbeda  berdasarkan  kesatuan  yang  telah ditentukan. Masalah yang sering terjadi pada masyarakat umum mengenai mata uang negara di dunia yaitu sulitnya untuk mencari informasi nama-nama mata uang negara di dunia dalam waktu yang cepat dan tepat.
Agar dapat mengatasi masalah kesulitan dalam melakukan pencarian informasi nama-nama mata uang negara di dunia seperti permasalahan yang telah dijelaskan diatas penulis membangun aplikasi pengenalan mata uang negara di dunia berbasis mobile menggunakan editor eclipse juno dan menerapkan algoritma Crochemore-Perrin. Untuk memperoleh hasil pencarian,  algoritma Crochemore-Perrin memfaktorkan pattern menjadi  dua  bagian  dalam  f ase  pencocokan  string  yaitu pertama mencocokkan karakter pattern kanan dari kiri ke kanan, lalu mencocokkan karakter pattern kiri dari kanan ke kiri. Aplikasi pengenalan mata uang negara di dunia berbasis mobile yang dibangun pada penelitian ini dapat digunakan secara offline ataupun online dan memiliki tampilan user experience atau interaksi yang lebih nyaman dan menyenangkan sehingga  dapat  digunkan  dengan  mudah  dimana  saja  dan  kapan  saja  oleh  masyarakat  umum  untuk  mencari  informasi mengenai mata uang negara yang ada di dunia dengan mudah.
Fase inisialisasi pada algoritma Crochemore-Perrin mempunyai kompleksitas waktu dan ruang O (n) , sedang fase pencocokan  dapat  dilakukan  dengan  kompleksitas  waktu O  (m) ,  dan  pada  kasus  terburuk,  algoritma Crochemore-Perrin melakukan 2m-n pencocokan karakter. Contoh kasus pencarian mata uang negara di dunia pada penelitian ini adalah sebagai berikut ini :
Pada contoh kasus pertama pattern ditemukan penulis menggunakan kata INDONESIA sebagai pattern yang akan dicocokkan  dengan Text MATA  UANG  INDONESIA.  Sebelum  melakukan  pencocokan string, terlebih  dahulu  penulis memfaktorkan pattern menjadi dua bagian yaitu pattern kiri dan pattern kanan  sebagai berikut : Text : MATA UANG INDONESIA Pattern kiri =INDO Pattern Kanan =  NESIA
Tabel 1. Percocokan string tahap pertama Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S
I
A
Pada pencocokan string tahap pertama terlihat perbedaan pada spasi, maka dilakukan pergeseran pattern sebanyak 1 langkah.
Tabel 2. Percocokan string tahap kedua Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S I A Pada pencocokan string tahap kedua terlihat perbedaan pada index U, maka dilakukan pergeseran pattern sebanyak 1 langkah.
Tabel 3. Percocokan string tahap ketiga Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S I A Pada pencocokan string tahap ketiga terlihat perbedaan pada index A, maka dilakukan pergeseran pattern sebanyak 1 langkah.
Tabel 4. Percocokan string tahap keempat Text M A T A U A N G I N D O N E S I A Periode 1 2 Pattern I N D O N E S I A Pada  pencocokan string tahap  keempat  terlihat  persamaan  pada index N  dan  perbedaan  pada index G,  maka  dilakukan pergeseran pattern sebanyak 2 langkah.
Tabel 5. Percocokan string tahap kelima Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S I A
Pada  pencocokan string tahap  kelima  terlihat  perbedaan  pada index A,  maka  dilakukan  pergeseran pattern sebanyak  1 langkah.
Tabel 6. Percocokan string tahap keenam Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S I A Pada  pencocokan string tahap  keenam  terlihat  perbedaan  pada index A,  maka  dilakukan  pergeseran pattern sebanyak  1 langkah.
Tabel 7. Percocokan string tahap ketujuh Text M A T A U A N G I N D O N E S I A Periode 1 2 Pattern I N D O N E S I A
Pada  pencocokan string tahap  ketujuh  terlihat  persamaan  pada index N  dan  perbedaan  pada index D,  maka  dilakukan pergeseran pattern sebanyak 2 langkah
Tabel 8. Percocokan string tahap kedelapan
Text M A T A U A N G I N D O N E S I A Periode 1 Pattern I N D O N E S
I A Pada pencocokan string tahap kedelapan terlihat perbedaan pada index O, maka dilakukan pergeseran pattern sebanyak 1 langkah.
Tabel 9. Percocokan string tahap kesembilan Descrip
Rupiah adalah mata uang resmi Indonesia. dicetak dan diatur penggunaannya oleh Bank Indonesia
Text M A T A U A N G I N D O N E S I A Periode 9 8 7 6 1 2 3 4 5 Pattern I N D O N E S I A
Pada pencocokan string tahap kesembilan terlihat persamaan pada index N, E, S, I, A, O, D, N, I maka proses pergeseran pattern diberhentikan.

## 4. KESIMPULAN
Berdasarkan hasil penelitian ini penulis menguraikan kesimpulan proses pencarian mata uang suatu Negara pada aplikasi pengenalan mata uang negara di dunia berbasis mobile . Aplikasi pengenalan mata uang negara di dunia berbasis mobile pada penelitian ini dapat mempermudah untuk mengenal mata uang negara di dunia dengan efektif dan efesien.

## REFERENCES
[1] Boby Halim Lukmana, "Penerapan algoritma crochemore-perrin pada pencarian jurnal berbasis mobile," Jurnal Pelita Informatika, vol. Vol. 17, 2018.
[2] Fince Tinus Waruwu dan Mesran, "Implementasi Algoritma Knuth Morris Pratt Pada Aplikasi Kamus Istilah Latin Flora dan Fauna Berbasis Android," Informasi dan Teknologi Ilmiah, vol. Vol IV, 2014.
[3] Gun Gun Maulana, "pembelajaran dasar algoritma dan pemrograman menggunakan el-goritma berbasis web," Jurnal Teknik Mesin, vol. Vol. 06, 2017.
[4] Hasan  Abdurahman  dan  Asep  Ririh  Riswaya,  "Aplikasi  Pinjaman  Pembayaran  Secara  Kredit  Pada  Bank  Yudha  Bhakti,"  Jurnal Computech & Bisnis, vol. Vol. 8, 2014.
[5] Septi Wulan Sari, "Perkembangan dan Pemikiran Uang Dari Masa Ke Masa," vol. Vol. 03, 2016.
[6] Frieo R. Sudarja, "perbandingan algoritma string matching dan algoritma auto complete pada aplikasi kamus kedokteran dorland berbasis android".
[7] Rancang Bangun Aplikasi Pembelajaran Budaya Indonesia Untuk Anak Sekolah Dasar Berbasis Android.
[8] Ilka  Zufria,  "Pemodelan  Berbasis  UML  (Unified  Modeling  Language)  dengan  Strategi  Teknik  Orientasi  Objek  User  Centered Design(UCD) dalam Sistem Administrasi Pendidikan," 2013.
[9] Adi Nugroho, Rekayasa Perangkat Lunak Berbasis Objek dengan Metode USDP. Jogjakarta: Andi, 2010.
[10]  Rosa dan M. Shalahuddin A.S, Rekayasa Perangkat Lunak. Yogyakarta: Modula, 2011.
[11]  Nasruddin Safaat H, Pemograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android., 2015.
[12]  Alfa Satyaputra dan Eva Maulina Aritonang, Java For Beginners with Eclipse 4.2 Juno. Jakarta: PT Elex Media Komputindo, 2012.