## Journal of Computer System and Informatics (JoSYC)
ISSN 2714-8912 (media online), ISSN 2714-7150 (media cetak) Volume 3, No. 3, May 2022, Page 106 − 109 https://ejurnal.seminar-id.com/index.php/josyc DOI 10.47065/josyc.v3i3.1284

## Implementasi Algoritma Zhu-Takaoka Untuk Pencarian Nama Obat Pada Aplikasi Katalog Obat Berbasis Android

## Sony
Fakultas Ilmu Komputer dan Teknologi Informasi, Prodi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: sonyson@gmail.com
Submitted: 01/02/2022 ; Accepted: 16/05/2022 ; Published: 31/05/2022
Abstrak −Obat adalah suatu benda yang saat ini sangat di perlukan manusia, ada banyak nama obat dengan manfaat yang berbeda-beda sehingga membuat banyak orang kesulitan untuk mencari informasi nama obat serta manfaat dari obat tersebut. Teknologi sangat dibutuhkan demi mempermudah seseorang mencari informasi nama obat serta manfaat dari obat tersebut, oleh sebab itu penulis akan membangun sebuah aplikasi katalog obat berbasis android, Dengan aplikasi katalog obat berbasis android ini penguna dapat dengan mudah melakukan pecarian nama obat dengan memasukan nama obat yang akan dicari pada tabel pencarian, setelah itu akan muncul nama obat dengan manfaat obat tersebut.
Kata Kunci: Obat; Katalog; Android; Algoritma Zhu-Takaoka
Abstract −Medicine is an object that is currently needed by humans, there are many names of drugs with different benefits, making it difficult for many people to find information on the name of the drug and the benefits of the drug. Technology is needed to make it easier for someone to find information on drug names and the benefits of the drug, therefore the author will build an android-based drug catalog application. With this android-based drug catalog application users can easily search for drug names by entering the name of the drug to be searched in the search table, after which the name of the drug with the benefits of the drug will appear.
Keywords : Medicine; Catalog; Android; Zhu-Takaoka Algorithm

## 1. PENDAHULUAN
Obat  adalah zat kimia yang dapat mempengaruhi jaringan biologi. Dalam WHO, obat didefinisikan sebagai  zat yang dapat mempengaruhi aktivitas fisik atau psikis. Obat dapat berupa suatu campuran bahan yang dipergunakan untuk  mengajaga  stabilitas  kesehatan  tubuh  manusia  dalam  menentukan  diagnosis,  mencegah,  mengurangi, menghilangkan, menyembuhkan penyakit atau gejala penyakit, luka atau kelainan badaniah atau rohaniah pada manusia. Kebutuhan manusia akan kesehatan yang layak, setiap hari semakin meningkat. Hal ini berdampak pada usaha-usaha untuk meningkatkan kualitas sumber daya manusia dan kualitas kehidupan manusia.
Dalam  dunia  farmasi  terdapat  banyak  jenis  obat  dengan  nama  yang  berbeda-beda,  setiap  obat  memiliki manfaat  yang  berbeda  sesuai  kualitasnnya  dalam  proses  penyembuhan  sebuah  atau  beberapa  penyakit.  Pada umumnya penulisa nama obat adalah menggunakan penulisan dalam bahasa inggris, dalam hal ini bagi masyarakat umum yang tidak menguasai bahasa inggris hal ini menjadi suatu masalah sehingga menimbulkan kesulitan dalam mencari informasi mengenai nama-nama obat yang dapat digunakan untuk mengobati penyakit yang dialami.
Perkembangan teknologi saat ini telah berkembang sangat cepat sehingga segala aktivitas dapat dilaksanan dengan memanfaatkan media teknologi modern,  oleh sebab itu pada penelitian ini untuk mengatasi permasalahan yang dialami masyarakat dalam mencari informasi mengenai nama-nama obat maka penulis membangun sebuah aplikasi  katalog  obat  berbasis  android  yang  didalamnya  terkandung  informasi  mengenai  nama  obat  dilengkapi dengan  manfaat  atau  kegunaannya.  Agar  dapat  melakukan  pencarian  nama  obat  dengan  mudah  penulis mengimplementasikan  algoritma  Zhu-Takaoka  pada  fitur  pencarian  nama  obat  di  dalam  aplikasi  katalog  yang dirancang dan dibangun.
Zhu Takaoka merupakan modifikasi dari algoritma Algoritma Boyer Moore yang dibuat oleh Boyer R.S dan Moore J.S tahun 1977. Algoritma Zhu Takaoka dipublikasikan dan dikembangkan oleh Zhu Rui  Feng dan Tadao  Takaoka  pada tahun  1986.  Algoritma Zhu Takaoka  melakukan  pencocokan  karakter  dari  sebelah  kanan pattern menggunakan array dua dimensi untuk menghitung nilai pergeseran sehingga mendapatkan informasi yang lebih  banyak  [1].  Pada  penelitian  sebelumnya  oleh  gutman  togatorop  algoritma Zhu-Takaoka  digunakan  untuk menyelesaikan  masalah  pencarian  istilah  musik  pada  kamus  istilah  musik  berbasis  android.  Pada  penelitian  ini disimpulkan bahwa penerapan algoritma zhu takaoka menghasilkan pencarian kata dan kalimat lebih cepat  dan mudah dibandingkan dengan mencari kata pada kamus cetak [2].

## 2. METODOLOGI PENELITIAN

## 2.1 String Matching
String Matching merupakan salah satu algoritma yang digunakan untuk mempercepat proses pencarian kata yang diinginkan. String  matching dibagi  menjadi  dua,  yakni exact  matching dan heuristic atau statistical  matching . Algoritma string  matching telah  sering  digunakan  sebelumnya  seperti contoh  pada  proses  pencocokan string berdasarkan persamaan teks data. Berdasarkan arah pencariannya, algoritma ini diklasifikasikan sebagai algoritma yang membaca string dari kiri ke kanan[3]. String pattern dan string teks terdiri dari sekumpulan karakter yang

## Journal of Computer System and Informatics (JoSYC)
ISSN 2714-8912 (media online), ISSN 2714-7150 (media cetak) Volume 3, No. 3, May 2022, Page 106 − 109 https://ejurnal.seminar-id.com/index.php/josyc DOI 10.47065/josyc.v3i3.1284
disebut  alfabet  yang  dilambangkan  dengan  ∑  (sigma)  dan  mempunyai  ukuran  σ  (tao). String  matching dibagi menjadi  dua,  yakni exact  matching dan heuristic atau statistical  matching . Exact  Matching digunakan  untuk menemukan pattern yang berasal dari satu teks.

## 2.2 Algoritma Zhu-Takaoka
Algoritma Zhu-Takaoka diciptakan oleh R.F.Zhu dan T.Takaoka pada tahun 1989. Algoritma ini menggunakan dua text karakter  untuk  menghitung  pergeseran  karakter  berdasarkan bad-character untuk  mencari ketidakcocokan atau mencari seluruh text menggunakan preprocessing hashing ,  Hal ini efektif untuk pencarian string dua dimensi. Algoritma Zhu-Takaoka menjelaskan bahwa pencarian pattern dilakukan mulai dari tiap baris mulai  dari baris ke 0  dan berakhir pada baris ke n1  – m1. Zhu dan Takaoka merancang sebuah algoritma yang dapat  bekerja  menggunakan  pergeseran  dengan bad-character untuk  dua  karakter text secara  berturut-turut. Selama fase pencarian pencocokan karakter dilakukan dari kanan ke kiri dan ketika proses berada di posisi y[j..j + m-1] dan ketidakcocokan terjadi diantara x[m-k] dan y[j+m-k] ketika x [m – k+1..m-1] = y[j+m-k+1..j+m-1] pergeseran dilakukan dengan pergeseran bad-character untuk text karakter y[j+m-2] dan y[j+m-1]. Tabel good- suffix dari algoritma Boyer-Moore juga digunakan untuk menghitung pergeseran. Pada proses awal sebelum melakukan pencocokan string, algoritma Zhu-Takaoka melakukan preprocessing untuk  menghitung bad  character  shift dan good  suffix dari  algoritma Boyer-Moore [5].  Prosedur  algoritma Zhu Takaoka pada proses pencocokan string adalah sebagai berikut ini : 1. Menjalankan prosedur preZTBc dan preBmGs untuk mendapatkan inisialisasi.
a. Menjalankan prosedur preZTBc . Fungsi dari prosedur ini adalah untuk menentukan berapa besar pergeseran yang dibutuhkan untuk mencapai karakter tertentu pada pattern dari dua karakter pattern terakhir/terkanan. Hasil dari prosedur preZTBc disimpan pada tabel ZTBc . b. Menjalankan prosedur preBmGs . Sebelum menjalankan isi prosedur ini, prosedur suffix dijalankan terlebih dulu pada pattern. Fungsi dari prosedur suffix adalah memeriksa kecocokan sejumlah karakter yang dimulai dari karakter terakhir/terkanan dengan sejumlah karakter yang dimulai dari setiap karakter yang lebih kiri dari karakter terkanan tadi. Hasil dari prosedur suffix disimpan pada tabel suff. Jadi suff[i] mencatat panjang dari suffix yang cocok dengan segmen dari pattern yang diakhiri karakter ke-i.
c. Dengan prosedur preBmGs , dapat diketahui  berapa banyak langkah pada pattern dari  sebeuah segmen ke segmen  lain  yang  sama  yang  letaknya  lebih  kiri  dengan  karakter  di  sebelah  kiri  segmen  yang  berbeda. Prosedur preBmGs menggunakan  tabel suff untuk  mengetahui  pasangan  segmen  yang  sama.  Hasil  dari prosedur preBmGs disimpan pada tabel BmGs .
2. Dilakukan proses pencarian string dengan menggunakan hasil dari prosedur preBmBc dan preBmGs yaitu tabel BmBc dan BmGs [6].

## 3. HASIL DAN PEMBAHASAN
Mengikuti  perkembangan zaman saat  ini penggunaan samrtphone yang didukung sistem operasi android sudah dilakukan  oleh  hampir  semua  masyarakat  umum  di  Indonesia  sebagai  alat  yang  dapat  dimanfaatkan  untuk melaksanakan segala aktivitas. Aplikasi katalog obat yang akan dirancang oleh penulis menggunakan eclipse juno akan sangat bermanfaat untuk membantu masyarakat umum di Indonesia dalam melakukan pencarian informasi mengenai obat dengan mudah dimanapun dan kapanpun karena aplikasi katalog obat yang dirancang oleh penulis dapat dioperasikan secara offline pada smartphone yang didukung sistem operasi android . Aplikasi katalog obat yang  dirancang  oleh  penulis  pada  penelitian  ini  dilengkapi  dengan  fitur  pencarian  yang  didalam  proses pencariannya diterapkan algoritma Zhu-Takaoka. Untuk melakukan pencarian informasi tentang obat pada aplikasi katalog  obat  yang  dibangun  oleh  penulis  yaitu  berdasarkan  kata  kunci  berupa  nama  obat  yang  terdaftar  dalam dunia farmasi. Output daripada hasil pencarian yang dilakukan pada aplikasi kataloh obat yang dibangun penulis yaitu nama obat dilengkapi dengan manfaat, komposisi, dan aturan pemakaian obat.

## 3.1 Penerapan Algoritma Zhu-Takaoka
Pada  tahap  implementasi  algoritma Zhu-Takaoka penulis  melakukan  penyelesaian  masalah  pencocokan string antara  karakter text dengan  karakter pattern .  Karakter text adalah  inialisasi  daripada  data  obat  yang  tersedia, sementara  karakter pattern adalah  inialisasi  nama  obat  sebagai  kata  kunci  dari  proses  pencarian  yang  akan dilakukan.  Sebelum  melakukan  proses  pencarian  menggunakan  algoritma Zhu-Takaoka yang  akan diimplementasikan tahap awal adalah memuat tabel Zhu-Takaoka Bad Character (ZtBc) dan Boyer-Moore Good Suffixes  (BmGs) .  Adapun  proses  implementasi  algoritma Zhu-Takaoka untuk  penyelesaian  contoh kasus  dalam penelitian ini yaitu melakukan pecocokan karakter pattern “ SIRUP“ terhadap karakter text “ACTIFED SIRUP 120 ML” adalah sebagai berikut :
Text
: ACTIFED SIRUP 120 ML Pattern : SIRUP

## Journal of Computer System and Informatics (JoSYC)
ISSN 2714-8912 (media online), ISSN 2714-7150 (media cetak) Volume 3, No. 3, May 2022, Page 106 − 109 https://ejurnal.seminar-id.com/index.php/josyc DOI 10.47065/josyc.v3i3.1284
Tabel 1. Zhu-Takaoka Bad Character Table
ZtBc I P R S U * I 5 5 2 4 5 5 P 5 5 5 4 5 5 R 5 5 5 4 1 55 S 3 5 5 4 5 5 U 5 5 5 4 5 5 * 5 5 5 4 5 5
Tabel ztBc berbentuk array dua  dimensi  yang  baris  dan  kolomnya  diisi  sesuai dengan karakter yang ada pada pattern yang akan dicari. Tabel ini adalah hasil modifikasi dari algoritma boyer moore yang hanya terdiri dari array satu dimensi. Tanda  * berfungsi untuk mewakili setiap karakter  yang tidak  ditemukan  pada pattern yang akan dicari.
Tabel algoritma boyer moore yang memiliki table bad character hanya terdiri dari array satu dimensi atau boyer-moore good suffixes . Dapat dilihat pada tabel berikut :

## Tabel 2. Boyer-Moore Good Suffixes
Indext 0 1 2 3 4 Pattern S I R U P BmGs 4 4 4 4 1
Tahap selanjutnya setelah menentukan tabel ZtBc dan bmGs  yaitu melakukan pencocokan string dengan menggunakan teknik right-to-left scan rule. Langkah-langkah pencocokan string dapat dilihat  pada tabel berikut
Tahap ke- 1
Tabel 3. Tahap Ke-1 Window I * Text A C T I F E D S I R U P 1 2 0 M L Pattern S I R U P I 0 1 2 3 4
Pada tahah ke-1 karakter tidak cocok, pattern tidak ditemukan Ztbc [I][*]=5 Bmgs[4]=1 Pergeseran pattern dilakukan sebanyak 5 langkah Langkah Ke-2
Tabel 4. Langkah Ke-2 Window S I Text A C T I F E D S I R U P 1 2 0 M L Pattern S I R U P I 0 1 2 3 4
Pada tahah ke-2 karakter tidak cocok, pattern tidak ditemukan Ztbc [S][I]=3 Bmgs[4]=1 Pergeseran pattern dilakukan sebanyak 3 langkah Langkah Ke-3
Tabel 5. Langkah ke- 3 Window Text A C T I F E D S I R U P 1 2 0 M L Pattern S I R U P
I 0 1 2 3 4
Semua karakter pada pattern dan Teks sudah cocok, Makan proses pergeseran berhenti.

## 3.2 Implementasi Program
Tampilan pencarian berfungsi untuk melakukan pencarian katalog obat pada aplikasi katalog obat berbasis android yang dibangun ses  uai dengan keinginan user . Adapun hasil screenshoot gambar untuk tampilan pencarian katalog obat pada aplikasi katalog obat berbasis android yang dibangun dapat dilihat pada gambar 1.

## Journal of Computer System and Informatics (JoSYC)
ISSN 2714-8912 (media online), ISSN 2714-7150 (media cetak) Volume 3, No. 3, May 2022, Page 106 − 109 https://ejurnal.seminar-id.com/index.php/josyc DOI 10.47065/josyc.v3i3.1284
Gambar 1. Tampilan Pencarian

## 4. KESIMPULAN
Berdasarkan  hasil  penelitian  yang  telah  dilakukan  penulis  maka  dapat  ditarik  kesimpulan  Pencarian  nama  obat pada aplikasi katalog obat berbasis android dilakukan berdasarkan kata kunci nama obat. Aplikasi katalog obat berbasis android pada  penelitian  ini  dibangun  menggunakan  bahasa  pemrograman android pada  editor eclipse juno .  Implementasi  algoritma Zhu-Takaoka pada  aplikasi  katalog  obat  berbasis android dapat  mempermudah proses pencarian nama obat dengan penggunaan waktu yang minimum

## REFERENCES
[1] Mesran, "Implementasi Algoritma Brute Force Dalam Pencarian Data Katalog Buku Perpustakaan," 2014.
[2] Fince Tinus Waruwu, "Implementasi Algoritma Knuth Morris Pratt Pada Aplikasi Kamus Istilah Latin Flora dan Fauna Berbasis Android," 2014.
[3] Adhi Kusnadi & Braham Khrisnandi Wicaksono, "Perbandingan Algoritma Horspool dan Algoritma Zhu-Takaoka dalam Pencarian String Berbasis Desktop," vol. Vol. IX, 2017.
[4] Dkk Gutman Togatorop, "IMPLEMENTASI ALGORITMA ZHUTAKAOKA PADA APLIKASI KAMUS ISTILAH MUSIK BERBASIS ANDROID," vol. Vol. 5, 2017.
[5] Suhendar, Pedoman Katalogisasi: Cara Mudah Membuat Katalog Perpustakaan. Jakarta: Kencana Prenada Media Group, 2010.
[6] https://www.docdroid.net/gAj5RLd/pengertian-obat.pdf,.
[7] P. P. Widodo, Menggunakan UML untuk Memodelkan Analisis & Desain Sistem Berorientasi. Bandung: Informatika, 2011.
[8] R. A. S and M. Shalahuddin, Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Informatika, 2014.
[9] Nasruddin Safaat H, Pemograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android., 2015.
[10] M. Hilmi Masruri dan Java Creativity, Buku Pintar Android., 2015.
[11] Alfa  Satyaputra  dan  Eva  Maulina  Aritonang,  Java  For  Beginners  with  Eclipse  4.2  Juno.  Jakarta:  PT  Elex  Media Komputindo, 2012.
[12] D.  N.  Sari  and D.  P.  Utomo,  “Implementasi Algoritma  Rabin-Karp  Pada  Pencarian  Quotes Tokoh  Terkenal,”  Pelita Inform. Inf. dan Inform., vol. 9, no. 1, pp. 43–55, 2020.
[13] A. A. B. Ginting and D. P. Utomo, “PERANCANGAN APLIKASI CATALOG WISATA DI SUMATERA UTARA MENGGUNAKAN ALGORITMA RABIN-KARP,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 3, no. 1, pp. 57–63, 2019.