## JEPIN
(Jurnal Edukasi dan Penelitian Informatika)
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741

## Implementasi Algoritma Aho-Corasick pada Pencarian di Aplikasi Lost and Found
Naufal Ferdy Sulaeman #1 , Murnawan *2
# Program Studi Sistem Informasi, Fakultas Teknik, Universitas Widyatama Jl. Cikutra No. 204A Kota Bandung, Jawa Barat
1 naufal.ferdy@widyatama.ac.id
2 murnawan@widyatama.ac.id
Abstrak — Pencarian  informasi  yang  efisien  dan  akurat merupakan  tantangan  dalam  pengembangan  aplikasi  Lost and  Found.  Penelitian  ini  mengeksplorasi  implementasi algoritma  Aho-Corasick  pada  sistem  pencarian  di  aplikasi Lost  and  Found.  Algoritma  Aho-Corasick,  sebuah  algoritma pencarian  string  efisien,  digunakan  untuk  meningkatkan kinerja  dan  ketepatan  pencarian  objek  yang  hilang. Penelitian  ini  berfokus  pada  desain  dan  implementasi algoritma Aho-Corasick dalam pengembangan fitur pencarian  di  aplikasi  Lost  and  Found.  Pertama,  studi dilakukan  untuk  memahami  prinsip  kerja  algoritma  Aho- Corasick  serta  keunggulan  dalam  konteks  aplikasi  ini. Selanjutnya,  algoritma  tersebut  diimplementasikan  dalam lingkungan  pengembangan aplikasi  dan disesuaikan  dengan kebutuhan  fitur  pencarian  yang  diinginkan.  Aplikasi  ini diciptakan  dengan  menggunakan  sistem  backend  (API)  dan frontend,  sehingga  API  (Application  Programming  Interface) dari aplikasi ini dapat digunakan dalam devices yang berbeda pada  pengembangan  selanjutnya.  Metode  pengujian  yang digunakan  melibatkan  sejumlah  skenario  pencarian  yang berbeda  untuk  mengukur  kinerja  algoritma  Aho-Corasick. Parameter  yang  diukur  meliputi  waktu  respons  pencarian, ketepatan  hasil  pencarian,  dan  penggunaan  sumber  daya sistem. Berdasarkan hasil pengujian, algoritma Aho-Corasick yang menghasilkan waktu total 145.68 ms terbukti memiliki waktu  pemrosesan  yang  lebih  cepat  300%  dibandingkan dengan  metode  pencocokan  kata  kunci  pencarian  dengan laporan  yang  tersimpan  dalam  database  yang  mencatatkan waktu total 459.93 ms.
Kata kunci — Pencarian, Algoritma, Aho-Corasick, API, Lost and Found

## I. P ENDAHULUAN
Aplikasi Lost  and  Found adalah  sebuah  aplikasi  yang dirancang  untuk  membantu  pengguna  dalam  mencari  dan melacak  barang  yang  hilang. Aplikasi  ini  memungkinkan pengguna  untuk  membuat  laporan  tentang  barang  yang hilang  dan  juga  memungkinkan  orang  lain  untuk memberikan  informasi  jika  mereka  menemukan  barang yang  hilang  tersebut.  Namun,  salah  satu  tantangan  yang dihadapi  oleh  aplikasi  ini  adalah  meningkatkan  efisiensi dan  kecepatan  dalam  melakukan  pencarian  yang  akurat terhadap laporan dan informasi yang ada.
Permasalahan  yang  dihadapi  adalah  bahwa  pencarian pada  aplikasi Lost  and  Found saat  ini  mungkin  belum optimal. Saat pengguna melakukan pencarian barang yang hilang,  aplikasi  harus  mencocokkan  kata  kunci  pencarian dengan  laporan  yang  tersimpan  dalam database .  Namun, jika jumlah laporan dan informasi yang ada sangat besar, proses pencarian menjadi lambat dan memakan waktu.
Penelitian  ini  akan  menggunakan  landasan  teori  dan konsep utama dari algoritma Aho-Corasick yang meliputi pemahaman tentang mekanisme kerja algoritma, penggunaan  struktur  data,  dan  prinsip  pencarian pola [1]. Konsep-konsep ini menjadi dasar yang akan diimplementasikan dalam konteks pencarian pada aplikasi Lost and Found . Aplikasi Lost  and  Found dapat  dibangun  dengan menggunakan  algoritma Brute  Force [2],  [3].  algoritma Boyer-Moore [3],  [4]  dan  algoritma Knuth-Morris-Pratt [5].
Pada  aplikasi  yang  dibangun  ini,  penulis  memilih algoritma Aho-Corasick dikarenakan  menurut  penelitian sebelumnya belum adanya aplikasi pencarian barang atau orang  yang  hilang  menggunakan  algoritma Aho-Corasick sebagai implementasi pencarian string -nya dan dikarenakan algoritma Aho-Corasick merupakan salah satu algoritma  terbaik  dalam multiple  string  matching [6]. Algoritma Aho-Corasick digunakan untuk mengklasifikasi hasil input pencarian [7].
Algoritma Aho-Corasick
merupakan algoritma pencocokan string yang efisien dalam mencari banyak pola dalam sebuah teks [8]. Dengan menerapkan algoritma ini dalam pencarian pada aplikasi Lost and Found , diharapkan dapat  meningkatkan  kecepatan  dan  efisiensi  pencarian dengan  mencocokkan  kata  kunci  dengan  laporan  dan informasi yang ada secara cepat dan akurat [9]. Hal ini akan meningkatkan pengalaman pengguna dalam menggunakan aplikasi  serta  meningkatkan  peluang  untuk  menemukan barang yang hilang dengan cepat [8].
Algoritma Aho-Corasick telah  terbukti  efektif  dalam pencarian  teks  dan  pemrosesan string [9].  Dengan mengimplementasikan  algoritma  ini  dalam  aplikasi Lost and Found , memiliki potensi untuk meningkatkan kinerja pencarian  dengan  mengurangi  waktu  pencarian  dan
meningkatkan  akurasi  dalam  menemukan  barang  yang hilang  [10].  Hal  ini  akan  memberikan  manfaat  langsung bagi pengguna aplikasi tersebut.
Oleh  karena  itu,  penelitian  ini  bertujuan  untuk menerapkan algoritma Aho-Corasick dalam pencarian pada aplikasi Lost  and  Found guna  meningkatkan  akurasi  dan kecepatan  pencarian  [11],  sehingga  membantu  pengguna menemukan  barang  yang  hilang  dengan  lebih  efektif  dan cepat.

## II. M ETODOLOGI

## A. Metode Penelitian
Metode  penelitian  yang  digunakan  pada  penelitian  ini adalah metode Design and Creation , yang dijelaskan dalam buku Researching  Information  Systems  and  Computing . Menurut  penjelasan  dalam  buku  tersebut, Design  and Creation menggabungkan  metodologi  penelitian  dengan metodologi pengembangan aplikasi. Vaishnavi & Kuechler menjelaskan  bahwa  Metode Design  and  Creation mempunyai lima proses iteratif [12], yaitu:
1) Awareness : Merupakan tingkat kesadaran dan analisis terhadap  suatu  masalah,  yang  dapat  diperoleh  melalui berbagai  sumber  penelitian  terkait  dan  melalui  studi literatur  [12]. Awareness pada  penelitian  ini  adalah peneliti  melakukan  analisis  fenomena  yang  terdapat dalam masyarakat yang menghasilkan: a. Tahap menetapkan rangkuman latar belakang
Rangkuman dari latar belakang penelitian ini adalah aplikasi Lost and Found dirancang untuk membantu pengguna  melacak  barang  hilang.  Pengguna  dapat membuat laporan dan orang lain dapat memberikan informasi jika mereka menemukan barang tersebut. Namun,  aplikasi  ini  menghadapi  tantangan  dalam meningkatkan  efisiensi  dan  kecepatan  pencarian. Saat ini, proses pencarian memerlukan waktu lama karena  harus  mencocokkan  kata  kunci  dengan database .  Untuk mengatasi  masalah  ini,  penelitian ini  menerapkan  algoritma Aho-Corasick dalam pencarian agar lebih cepat dan akurat [11], sehingga membantu  pengguna  menemukan  barang  yang hilang dengan efektif dan cepat.
b. Tahap awareness menetapkan rumusan masalah
Rumusan  masalah  yang  dihasilkan  dari  hasil analisis  metode  penelitian  adalah  “Bagaimana perancangan  dan  pembuatan  aplikasi Lost  and Found untuk  pencarian  barang  dan  orang  hilang dengan menggunakan implementasi algoritma Aho- Corasick pada  pencariannya?”  dan  “Bagaimana kinerja  implementasi  Algoritma Aho-Corasick dalam  pencarian  pada  aplikasi Lost  and  Found dibandingkan dengan metode pencarian lainnya?”.
c. Tahap awareness menetapkan batasan masalah Batasan masalah yang dihasilkan dari hasil analisis metode penelitian adalah penulis akan membangun aplikasi  berbasis  website  dan  pengembangan aplikasi Lost and Found
menggunakan
implementasi algoritma Aho-Corasick pada pencariannya.
2) Suggestion :  Merupakan  langkah  penting  dalam menyelesaikan  suatu  permasalahan  dalam  penelitian [12].  Pada  penelitian  ini,  langkah suggestion yang dilakukan penulis adalah meninjau jurnal dan penelitian terdahulu.  Setelah  meninjau  jurnal  dan  penelitian terdahulu  tersebut,  diperoleh  bahwa  Algoritma Aho- Corasick adalah algoritma yang tepat untuk digunakan pada aplikasi Lost and Found [13] .
3) Development :  Merupakan  proses  pengembangan aplikasi  berdasarkan  ide  yang  telah  ditetapkan sebelumnya [12]. Tahapan ini melibatkan pembangunan  produk  teknologi  informasi  mulai  dari perancangan  hingga  implementasi.  Metode  yang digunakan  dalam  pengembangan  aplikasi  ini  adalah metode Extreme  Programming .  Metode extreme programming menghasilkan beberapa tahapan [14].
a. Menetapkan rangkuman planning
Tahapan  planning  pada  perancangan  aplikasi Lost and  Found adalah  menentukan requirement yang dibutuhkan  berdasarkan  pertimbangan  pada  tahap awareness dalam  metode  penelitian Design  and Creation . b. Menetapkan rangkuman design
Tahap ini dilakukan analisis yang meliputi analisis data  dan  analisis  sistem.  Hasil  dari  tahapan  ini adalah  kebutuhan  fungsional,  kebutuhan  non- fungsional, entity  relationship  diagram,  use  case diagram,  use  case  scenario,  activity  diagram dan design tampilan. c. Menetapkan implementasi coding
Tahap coding adalah  tahap  implementasi  kode berdasarkan requirement pada  tahap planning & analisis pada tahap design . d. Menetapkan testing Tahap testing adalah  tahap  pengujian  dari  aplikasi yang telah dibangun. Pengujian pada penelitian ini menggunakan Black box testing .
4) Evaluation :  Melakukan  pengecekan  sejauh  mana penelitian sesuai dengan tujuan yang telah ditetapkan. Pada  penelitian  ini,  evaluasi  dilakukan  dengan  klien (dalam hal ini dosen pembimbing) yang dapat memberi masukan,  saran  serta  aspirasi  dalam  pengembangan aplikasi Lost and Found . 5) Conclusion :  Merupakan  tahap  akhir  dari  sebuah penelitian  di  mana  hasilnya  dievaluasi  untuk menentukan  sejauh  mana  kesesuaiannya  dengan rencana  awal.  Kesimpulan  dari  penelitian  ini  adalah penelitian menunjukkan bahwa implementasi Algoritma Aho-Corasick di  aplikasi Lost  and  Found dapat  meningkatkan  kecepatan  dan  akurasi  dalam mencari barang atau orang yang hilang. Algoritma ini memungkinkan pencarian pola yang responsif terhadap input pengguna  dengan  waktu  pemrosesan  yang  lebih optimal. Pengujian menunjukkan bahwa algoritma Aho- Corasick memiliki waktu pemrosesan 300% lebih cepat daripada metode pencocokan kata kunci pada database.

## B. Algoritma Aho-Corasick
Diperkenalkan  pada  tahun 1975  pada paper  r  Efficient String  Matching:  An  Aid  to  Bibliographic  Search.  Aho- Corasick adalah sebuah algoritma pencocokan string yang dikembangkan  oleh  Alfred  V.  Aho  dan  Margaret  J. Corasick  [15].  Algoritma  ini  dirancang  khusus  untuk menemukan  kejadian  pola  ganda  dalam  sebuah  teks, dengan  kemampuan  melakukan  pencocokan  tepat  dari
pola-pola tersebut. Aho-Corasick merupakan pengembangan  dari  algoritma Knuth-Morris-Pratt ,  yang merupakan  algoritma  pertama  yang  mengatasi  pola-pola pencocokan [16].
Algoritma Aho-Corasick mampu menemukan pola-pola multipel  dalam  waktu  linier  dengan  menggunakan pendekatan  automata  [17].  Algoritma Aho-Corasick banyak digunakan sebagai dasar untuk berbagai perangkat dalam sistem UNIX. Algoritma ini terdiri dari dua bagian utama.  Bagian  pertama  adalah  pembentukan  mesin pencocokan pola, di mana kumpulan kata kunci atau pola dimasukkan.  Bagian  kedua  adalah  proses  pencocokan string,  di  mana  teks  input  diperiksa  terhadap  pola-pola tersebut..
Algoritma Aho-Corasick dibagi  menjadi  tiga  langkah besar:
1. Go (buka fungsi utama dan setel titik dan root utama)
2. Output (Hasil atau hasil setelah kondisi cocok dan ketersediaan cocok)
3. Failure (Jika kata kunci tidak cocok maka gagal dihitung) [18].
Contoh  dari  penggunaan  Algoritma Aho-Corasick adalah diberikan data pattern : he, she, his, hers. Penjelasan dari tiap tahap langkah besar penggunaan Algoritma Aho- Corasick berdasarkan pattern tersebut  adalah  sebagai berikut:
1. Tahap  awal:  Membentuk  pohon  ( trie )  dengan bantuan  kata  kunci  yang  disediakan  dan  data sebagai pola yang dapat dikenali. Digambarkan pada Gambar 2.
Gambar 2. Trie tahap awal
2. Tahap failure :  Mencari  transformasi  mundur untuk  mendapatkan  lampiran  kata  kunci  yang sesuai  didasarkan  pada  pola  yang  paling panjang. Digambarkan pada Gambar 3.
Gambar 3. Tahap failure dengan failure links
3. Tahap output :  Mencari  semua  kata  yang berakhir pada keadaan tertentu.
Algoritma Aho-Corasick memerlukan  penggunaan ruang atau memori yang bisa sangat besar, tergantung pada jumlah dan panjang dari setiap pola yang ada dalam set pola yang  digunakan  [19].  Namun,  proses  pencocokan  itu sendiri  hanya  melibatkan  pergerakan  karakter input satu per  satu  dan  memeriksa  kecocokan  pola-pola.  Setiap langkah dalam mesin pencocokan pola ini dapat dilakukan dalam  waktu  konstan.  Oleh  karena  itu,  matcher Aho- Corasick selalu  beroperasi  dalam  waktu  O(n),  dimana  n adalah panjang dari string input . [20]
Oleh karena itu, algoritma ini digunakan secara luas di banyak aplikasi seperti deteksi plagiarisme, deteksi intrusi, forensik  digital,  penambangan  teks  dan  bioinformatika. Algoritma Aho-Corasick dieksekusi  satu  kali  untuk menemukan  semua  kejadian  yang  diketahui  pola  dalam string input yang diberikan [21].

## C. Extreme Programming
Extreme  programming (XP)  adalah  salah  satu  metode agile yang  umum  digunakan,  khususnya  dalam  proyek pengembangan  aplikasi  dalam  skala  kecil.  Metode  ini mendapatkan  popularitas  karena  pendekatan  yang sederhana  dan  ringkas,  sambil  tetap  menerapkan  prinsip- prinsip agile yang dianggap inovatif dalam meningkatkan efisiensi  dan  efektivitas  pengembangan  perangkat  lunak. XP sangat cocok digunakan dalam situasi di mana terdapat ketidakjelasan  dalam  kebutuhan  atau  terjadi  perubahan yang  cepat  [22].  Ada  empat  kerangka  kegiatan  yang merupakan tahapan dalam pelaksanaan extreme programming .  Empat  tahapan  tersebut  adalah planning, design, coding, dan testing [14]

## III. H ASIL DAN P EMBAHASAN

## A. Penerapan Algoritma Aho-Corasick
Dalam  implementasi  menggunakan  Algoritma Aho- Corasick, contoh  gambaran  langkah  kerja  penerapan algoritma Aho-Corasick :
Text 1: ARDI Text 2: NARDI Text 3: RICHARD Pattern yang dimasukan: HARD Step 1 Pattern H A R D Index 1 2
3 4 5 6 7 Text 1
A R D
I Text 2
N A R D
I Text 3
R I C H A R
D
Langkah  ke-1:  Pada  langkah  pertama,  dalam  proses pencarian  pencocokan  string  yang  dimasukkan  (HARD) dengan  teks  tidak  ditemukan  adanya  kecocokan  pada
indeks  pertama.  Langkah  selanjutnya  adalah  melakukan pergeseran satu karakter ke indeks ke 2.
Step 2 Pattern H A R D Index 1 2 3 4 5 6 7 Text 1 A R D I Text 2 N A R D I Text 3 R I C H A R D
Langkah  ke-2:  Pada  langkah  kedua,  dalam  proses pencarian  pencocokan  string  yang  dimasukkan  (HARD) dengan  teks  tidak  ditemukan  adanya  kecocokan  pada indeks  kedua.  Langkah  selanjutnya  adalah  melakukan pergeseran satu karakter ke indeks ke 3.
Step 3 Pattern H A R D Index 1 2 3 4 5 6 7 Text 1 A R D I Text 2 N A R D I Text 3 R I C H A R D
Langkah  ke-3:  Pada  langkah  ketiga,  dalam  proses pencarian  pencocokan  string  yang  dimasukkan  (HARD) dengan  teks  tidak  ditemukan  adanya  kecocokan  pada indeks  ketiga.  Langkah  selanjutnya  adalah  melakukan pergeseran satu karakter ke indeks ke 4.
Step 4 Pattern H A R D Index 1 2 3 4 5 6 7 Text 1 A R D I Text 2 N A R
D I Text 3 R I C H A R D
Langkah  ke-4:  Pada  langkah  keempat,  dalam  proses pencarian  pencocokan string yang  dimasukkan  (HARD) dengan  teks  ditemukan  adanya  kecocokan  pada  indeks keempat  pada  teks  RICHARD.  Maka  didapatlah  hasil ‘RICHARD’  pada  hasil  pencarian string .  Maka  hasilnya adalah input ‘HARD’ terdapat pada teks ke-3 pada index ke 4.
Berikut  merupakan  tahap-tahap  penggunaan  Algoritma Aho-Corasick  untuk  pattern  ‘HARD’  yang  terdapat  dari beberapa  teks,  yaitu:  ‘ARDI’,  ‘NARDI’,  ‘RICHARD’. Tahap  awal  adalah  penentuan  trie  yang  terdapat  pada Gambar 4.
Tahap  selanjutnya  adalah  tahap failure ,  tahap  yang kembali  ke  keadaan  di  mana  kemungkinan  kecocokan didasarkan  pada  pola  yang  paling  panjang.  Tahap  ini digambarkan pada Gambar 5.
Gambar 5. Automata tahap failure
Penjelasan dari automata node terhadap failure terdapat pada Tabel 1.
TABEL I H ASIL F AILURE DAN N ODE
Tahap  selanjutnya  adalah  tahap  output,  tahap  output adalah daftar string yang cocok dan indeksnya dalam string input .  Daftar  tersebut  mungkin  menyertakan  entri  kamus yang  sama  beberapa  kali  jika  ditemukan  di  beberapa indeks. Digambarkan pada Gambar 6.
Gambar 6. Automata tahap output
B. Tampilan antarmuka pencarian di aplikasi Lost and Found menggunakan algoritma Aho-Corasick.
Pengujian pencarian  data dengan implementasi algoritma Aho-Corasick adalah user harus sudah login dan
masuk ke halaman yang akan diuji yaitu halaman ‘Daftar Orang Hilang’.

## Gambar 7. Halaman daftar orang hilang
Untuk  pengujian  pertama,  masukkan keyword ‘Surya’ pada search  box .  Jika  implementasi  berhasil,  hasil  dari daftar  orang  hilang  akan  tersaring  menjadi  data  orang hilang  yang  memiliki  nama  sesuai  dengan  pencarian keyword yaitu  ‘Surya’.  Pengujian  dapat  dilihat  pada Gambar 8.
Gambar 8. Hasil pencarian dengan keyword ‘Surya’
Untuk pengujian kedua, masukkan keyword ‘Andi’ pada search  box .  Jika  implementasi  berhasil,  hasil  dari  daftar orang hilang akan tersaring menjadi data orang hilang yang memiliki  nama  sesuai  dengan  pencarian keyword yaitu ‘Andi’. Pengujian dapat dilihat pada Gambar 9.
Gambar 9. Hasil pencarian dengan keyword ‘Andi’

## C. Komparasi performance
Pada  tahap  ini,  penulis  melakukan  perbandingan performance antara menggunakan pencarian dengan query
Node Failure 0 0 1 0 2 10 3 0 4 11 5 0 6 1 7 2 8 3 9 4 10 0 11 0 12 0 13 0 14 6 15 7 16 8
pencarian  PostgreSQL  dengan  pencarian  menggunakan algoritma Aho-Corasick .
Perbandingan  dilakukan  dengan  1000  data dummy (contoh)  dengan  pada  setiap data  berisi id,  photo,  name, last_seen_place, last_seen_time, color, characteristic_features, condition, created_id, dan created_at . Perbandingan dilakukan dengan menggunakan aplikasi Postman.
Postman adalah sebuah perangkat lunak yang digunakan sebagai platform kolaboratif untuk menguji, mengembangkan, dan mendokumentasikan RESTful API. Dengan Postman, pengguna dapat dengan mudah mengirim permintaan  HTTP  ke  API,  memeriksa  dan  menguji respons,  serta  melakukan  pemecahan  masalah  dan debugging. Postman menyediakan antarmuka yang intuitif dan  lengkap,  memungkinkan  pengguna  untuk  mengatur, mengelola,  dan  mengotomatisasi  proses  pengujian  API dengan  fitur-fitur  yang  kuat  seperti  pengujian  otomatis, lingkungan, dan pembuatan dokumentasi API.
Untuk langkah perbandingan performance menggunakan  algoritma Aho-Corasick dengan tools pengujian aplikasi Postman adalah sebagai berikut:
1) Aplikasi  melakukan  eksekusi query get  all  data (mengambil  semua  data)  dari  tabel  sesuai  dengan halaman  yang  dipilih.  Contoh:  jika  halaman  daftar orang hilang, maka mengambil semua data dari tabel Lost_person.
2) User memasukkan  kata  kunci  sesuai  dengan  yang ingin dicari. Contohnya adalah ‘Andi’.
3) Aplikasi  melakukan  pemrosesan  sesuai  dengan implementasi algoritma Aho-Corasick .
4) Aplikasi Postman akan generate hasil pengetesan yang terdiri  dari Socket  Inizialitation,  DNS  lookup,  TCP handshake, transfer start, download dan total time . Sedangkan  untuk  langkah  perbandingan performance menggunakan query PostgreSQL  dengan tools pengujian aplikasi Postman adalah sebagai berikut:
1) Aplikasi akan melakukan eksekusi query get all data (mengambil  semua  data)  dari  tabel  sesuai  dengan halaman  yang  dipilih.  Contoh:  jika  halaman  daftar orang hilang, maka mengambil semua data dari tabel lost_person.
2) User memasukkan kata kunci sesuai dengan yang ingin dicari. Contohnya adalah ‘Andi’.
3) Aplikasi  akan  melakukan  pemrosesan  sesuai  dengan implementasi query sebagai berikut:
SELECT
* FROM lost_person WHERE
name LIKE ‘%Andi%';
4) Aplikasi Postman akan generate hasil pengetesan yang terdiri  dari Socket  Inizialitation,  DNS  lookup,  TCP handshake, transfer start, download dan total time .
Dari perbandingan performance menggunakan algoritma Aho-Corasick dan  perbandingan performance menggunakan query PostgreSQL didapatkan data:
TABEL II H ASIL P ERBANDINGAN P ERFORMANCE Aho-Corasick Query PostgreSQL Prepare 13.19 ms 7.73 ms Socket Inizialitation 1.77 ms 1.7 ms DNS Lookup 0.32 ms 0.35 ms TCP Handshake 0.47 ms 0.54 ms Transfer Start 126.2 ms 443.7 ms Download 3.52 ms 5.8 ms Process 0.24 ms 0.15 ms Total 145.68 ms 459.93 ms
Dari  hasil  tersebut  dapat  disimpulkan  bahwa  menurut waktu  total, Aho-Corasick menghasilkan  waktu  sedikit untuk  memproses  pemrosesan  data  dibandingkan  dengan query pencarian manual pada PostgreSQL (Lihat Tabel 2).

## IV. K ESIMPULAN
Implementasi Algoritma Aho-Corasick dalam pencarian pada  aplikasi Lost  and  Found memiliki  peluang  untuk meningkatkan kecepatan dan akurasi pencarian barang atau orang yang hilang. Penggunaan algoritma ini memungkinkan  pencocokan  pola  yang  efisien  dan responsif terhadap input pengguna.
Implementasi  Algoritma Aho-Corasick memfasilitasi pengguna  dalam  melakukan  pencarian string yang  dapat meningkatkan  pengalaman  pengguna  dalam  hal  waktu pemrosesan  yang  lebih  optimal.  Berdasarkan  hasil pengujian,  algoritma Aho-Corasick yang  menghasilkan waktu total 145.68 ms terbukti memiliki waktu pemrosesan yang  lebih  cepat  300%  dibandingkan  dengan  metode pencocokan  kata  kunci  pencarian  dengan  laporan  yang tersimpan  dalam database yang  mencatatkan  waktu  total 459.93  ms.  Parameter  yang  digunakan  pada  pengujian diantaranya socket  Inizialitation,  DNS  lookup,  TCP handshake, transfer start, download dan total time .

## R EFERENSI
[1] E. Owen, “Aho-Corasick Algorithm in Pattern Matching,” 2014.
[2] M. Raihan Azis et al., “PENGGUNAAN ALGORITMA BRUTE FORCE STRING MATCHING DALAM PENCARIAN ORANG HILANG PADA WEBSITE TEMUKANDIA.COM,” JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika), vol. 06, no. 02, pp. 205–212, 2021.
[3] C. Irawan and M. Riyan Pratama, “Perbandingan Algoritma Boyer- Moore  dan  Brute  Force  pada  Pencarian  Kamus  Besar  Bahasa Indonesia Berbasis Android,” BIOS : Jurnal Teknologi Informasi dan Rekayasa Komputer, vol. 1, no. 2, 2020.
[4] M.  A.  Setiawan,  S.  Andryana,  and  A.  Gunaryati,  “Penerapan Algoritma  Boyer  Moore  Dalam  Pencarian  Barang  Hilang  pada Aplikasi  FindIt  Berbasis  Android,”  JURNAL  MEDIA
INFORMATIKA BUDIDARMA, vol. 5, no. 3, p. 945, Jul. 2021, doi: 10.30865/mib.v5i3.3093.
[5] M.  Ilham  and  A.  H.  Mirza,  “PENERAPAN  ALGORITMA KNUTH  MORRIS  PRATT  DALAM  FITUR  PENCARIAN PENGARSIPAN  DOKUMEN  PADA  SMA  PLUS  NEGERI  17 PALEMBANG,”  Bina  Darma  Conference on  Computer  Science, pp. 219–227, 2020.
[6] M.  Equebal  Hussain  and  R.  Hussain  Professor,  “Real  time  Aho- Corasick Implementation of String Matching technique suitable for smart  IOT,” 2021  International  Conference on  Smart  Generation Computing, Communication and Networking (SMART GENCON), 2021.
[7] R.  Shobana  and  M.  Suriakala,  “Bypassing  Two  Factor Authentication  Based  On  Classification  Using  Aho-Corasick Matching Algorithm For Nosql Databases,” 2021.
[8] V. N. SAHARA, “STUDI PERBANDINGAN DAN
IMPLEMENTASI  ALGORITMAAHO-CORASICK  STRING
MATCHING  DENGAN  ALGORITMA  INTERPOLATION SEARCHPADA APLIKASI KAMUS KEDOKTERAN
BERBASIS MOBILE,” MALANG, 2014.
[9] A. Kusnadi and T. Prawisuda, “Rancang Bangun Plugin WordPress Penghitung Kepadatan Kata Kunci,” ULTIMA  Infosys, vol.  VII, no. 2, pp. 94–99, Dec. 2016.
[10] S. Shanivan, N. Safriadi, and Yulianti, “Rancang Bangun Aplikasi Game  Edukasi  Shiritori  Bahasa  Indonesia  dengan  Algoritma Ahocorasick  Berbasis  Web,”  Jurnal  Sistem  dan  Teknologi Informasi (JUSTIN), vol. 05, no. 01, pp. 7–11, 2017.
[11] H. I. Sahib, N. H. A. Rahman, A. K. Al-Qaysi, and M. L. Attiah, “Comparison  of  data  recovery  techniques  on  master  file  table between  Aho-Corasick  and  logical  data  recovery  based  on efficiency,” Telkomnika (Telecommunication Computing Electronics and Control), vol. 19, no. 1, pp. 73–78, Feb. 2021, doi: 10.12928/TELKOMNIKA.V19I1.16276.
[12] B. J. Oates, Researching Information Systems and Computing, 1st ed.  London,  Thousand  Oaks,  New  Delhi:  SAGE  Publications, 2006.
[13] C. Situmorang, A. S. Sembiring, and R. Limbong, “PERANCANGAN  APLIKASI  ARSIP  DIGITAL  PENCARIAN SURAT MASUK DAN SURAT KELUAR DENGAN METODE AHO-CORASICK  PADA  POLTEKKES  KEMENKES  RI MEDAN,” 2018.
[14] M.  Prabowo,  METODOLOGI  PENGEMBANGAN  SISTEM INFORMASI. Salatiga: LP2M Press IAIN Salatiga, 2020.
[15] A. V Aho and M. J. Corasick, “Efficient String Matching: An Aid to Bibliographic Search,” 1975.
[16] M.  Abusafiya,  “Automata-based  Algorithm  for  Multiple  Word Matching,” 2021. [Online]. Available: www.ijacsa.thesai.org
[17] C.  A.  R,  G.  Sunil  Kumar,  and  M.  B.  Swamy,  “Survey  and Comparison of String Matching Algorithms,” 2021.
[18] D.  Regeciova,  D. Kolar,  and  M. Milkovic, “Pattern Matching  in YARA: Improved Aho-Corasick Algorithm,” IEEE Access, vol. 9, pp. 62857–62866, 2021, doi: 10.1109/ACCESS.2021.3074801.
[19] U. Trivedi, “An Optimized Aho-Corasick Multi-Pattern Matching Algorithm  for  Fast  Pattern  Matching,”  in  2020  IEEE  17th  India Council  International  Conference,  INDICON  2020,  Institute  of Electrical  and  Electronics  Engineers  Inc.,  Dec.  2020.  doi: 10.1109/INDICON49873.2020.9342041.
[20] Nuraisyah, G. Leonarde Ginting, and E. Hatmi, “IMPLEMENTASI ALGORITMA  AHO-CORASICK  PADA  PENCARIAN  ARTI ISTILAH BAHASA GAUL,” 2018.
[21] V.  Thambawita,  R.  G.  Ragel,  and  D.  Elkaduwe,  “An  optimized Parallel  Failure-less  Aho-Corasick  algorithm  for  DNA  sequence matching,” Nov. 2018, doi: 10.1109/ICIAFS.2016.7946533.
[22] A. Supriyatna, “METODE EXTREME PROGRAMMING PADA PEMBANGUNAN  WEB  APLIKASI  SELEKSI  PESERTA PELATIHAN  KERJA,”  JURNAL  TEKNIK  INFORMATIKA, vol. 11, no. 1, pp. 1–18, May 2018, doi: 10.15408/jti.v11i1.6628.