Abstract - String matching algorithm is a logic to search a word / phrase in a text based pattern. String
matching algorithm is used to obtain information quickly and efficiently, as a search on the search
application surah and verse in the Qur'an. One string matching algorithm is Knuth-Morris-Pratt, or
commonly abbreviated KMP. This algorithm is a string matching algorithms that perform the
comparison of text characters and character of the pattern (pattern). This algorithm is how to utilize
patterns known character in the text to incompatibility to shift. This journal is written to implement the
algorithm KMP in the process of text search in the surah and verse Qur'an. Finally, this
implementation String Matching algorithm web based for the result is make peoples easily to find
words or statements in Al-qur’an translate.
Keywords: String Matching, Knuth-Morris-Pratt, Quran.
Abstrak - Algoritma pencocokan string adalah logika untuk mencari kata / kalimat dalam pola berbasis
teks. algoritma pencocokan string digunakan untuk memperoleh informasi secara cepat dan efisien,
sebagai pencarian pada surah aplikasi pencarian dan ayat dalam Al-Qur'an. Salah satu algoritma
pencocokan string adalah Knuth-Morris-Pratt, atau biasa disingkat KMP. Algoritma ini adalah
pencocokan string algoritma yang melakukan perbandingan karakter teks dan karakter pola (pattern).
Algoritma ini adalah bagaimana memanfaatkan pola dikenal karakter dalam teks ketidakcocokan
bergeser. jurnal ini ditulis untuk menerapkan algoritma KMP dalam proses pencarian teks dalam surah
dan ayat Al-Qur'an. Akhirnya, pelaksanaan String ini algoritma Matching web berbasis hasilnya adalah
membuat orang mudah untuk menemukan kata-kata atau pernyataan dalam Al-¬qur'an
menerjemahkan.
Kata Kunci: String Matching, Knuth-Morris-Pratt, Quran.
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017
Wahana (2011:15) MySQL adalah salah popular digunakan pada editor teks
satu perangkat lunak untuk sistem (menu find), search engine, analisis citra,
manajemen database SQL. MySQL dan sebagainya. Search engine atau
diciptakan oleh David Axmark, Allan Larson, mesin pencari adalah program komputer
dan Michel Widenius. MySQL juga yang dirancang untuk membantu
merupakan perangkat lunak gratis di bawah seseorang menemukan file-file yang
lisensi GNU General public Lisence, tetapi disimpan dalam komputer, misalnya
lisensi MySQL juga dijual untuk kasus- dalam sebuah server umum di web atau
kasus tertentu karena penggunaannya dalam komputer sendiri. Mesin pencari
tidak cocok dengan penggunaan perangkat memungkinkan kita untuk meminta
GPL. Dapat disimpulkan bahwa MySQL content media dengan kriteria yang
adalah suatu software yang berguna untuk spesifik (biasanya yang berisi kata atau
manajemen database menggunakan frasa yang kita tentukan) dan
bahasa SQL yang dapat digunakan siapa memperoleh daftar file yang memenuhi
saja secara gratis. kriteria tersebut. Mesin pencari biasanya
d) String Matching menggunakan 3 indeks (yang sudah
String dalam ilmu komputer dapat diartikan dibuat sebelumnya dan dimutakhirkan
dengan sekuens dari karakter. Walaupun secara teratur) untuk mencari file
sering juga dianggap sebagai data abstrak setelah pengguna memasukkan kriteria
yang menyimpan sekuens nilai data, atau pencarian.nAlgoritma Knuth Morris Pratt
biasanya berupa bytes yang mana (KMP) dikembangkan oleh D. E. Knuth,
merupakan elemen yang digunakan bersama dengan J. H. Morris dan V. R.
sebagai pembentuk karakter sesuai dengan Pratt. Untuk pencocokan string dengan
encoding karakter yang disepakati seperti menggunakan algoritma Brute Force,
ASCII, ataupun EBCDIC. Algoritma string setiap kali ditemukan ketidakcocokan
matching adalah suatu metode yang pattern dengan teks, maka pattern akan
digunakan untuk menemukan suatu digeser satu karakter ke kanan.
keakuratan atau hasil dari satu atau Sedangkan pada algoritma KMP, kita
beberapa pola teks yang diberikan. String memelihara informasi yang digunakan
matching merupakan pokok bahasan yang untuk melakukan jumlah pergeseran.
penting dalam ilmu komputer karena teks Algoritma menggunakan informasi
merupakan bentuk utama dari pertukaran tersebut untuk membuat pergeseran
informasi antar manusia, misalnya pada yang lebih jauh, tidak hanya satu
literatur, karya ilmiah, halaman web dan karakter seperti halnya pada algoritma
sebagainya (Hulbert-Helger, 2007). Brute Force. Secara sistematis,
Pencocokan string juga dapat digunakan langkah-langkah yang dilakukan
untuk mencari pola bit dalam sejumlah algoritma Knuth-Morris-Pratt pada saat
besar file binary. dalam algoritma string mencocokkan string:
matching, teks diasumsikan berada di (a) Algoritma Knuth-Morris-Pratt mulai
dalam memory, sehingga bila kita mencari mencocokkan pattern pada awal teks.
string di dalam sebuah teks, maka semua (b) Dari kiri ke kanan, algoritma ini akan
isi teks perlu dibaca terlebih dahulu mencocokkan karakter per karakter
kemudian disimpan didalam memory. String pattern dengan karakter di teks yang
matching fokus pada pencarian satu, atau bersesuaian, sampai salah satu
lebih umum, semua kehadiran sebuah kata kondisi berikut dipenuhi:
(lebih umum disebut pattern) dalam sebuah (1) Karakter di pattern dan di teks
teks. Semua algoritma yang akan dibahas yang dibandingkan tidak cocok
mengeluarkan semua kehadiran pola dalam (missmatch).
teks. Pola dinotasikan sebagai x = x[0..m-1]; (2) Semua karakter di pattern cocok.
m adalah panjangnya. Kemudian algoritma akan
e) Algoritma Knuth-Morris-Pratt (KMP) memberitahukan penemuan di
1) Pengertian dan Cara kerja algoritma posisi ini.
KMP (3) Algoritma kemudian menggeser
Algoritma pencocokan string (pattern) pattern berdasarkan table, lalu
yang mempunyai kinerja bagus adalah mengulangi langkah 2 sampai
KnuthMorris-Pratt (KMP) dan Algoritma pattern berada di ujung teks.
Boyer-Moore. Kedua algoritma ini Algoritma ini menemukan semua
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017
b) Flowchart
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017
ijns.org Indonesian Journal on Networking and Security - Volume 6 No 2 – 2017