Cara Kerja Algoritma Knuth-Morris-Pratt KMP Pada Pencarian Word Flowchart Algoritma Knuth-Morris-Pratt KMP Pada Pencarian Word

3.7.1. Cara Kerja Algoritma Knuth-Morris-Pratt KMP Pada Pencarian Word

Suggestion 1. Menentukan Pattern dan Teks Algoritma Knuth-Morris-Pratt adalah algoritma pencocokan string yang juga tediri dari dua komponen utama, yaitu pattern dan teks, dan untuk penentuan pattern dan teks untuk analisa data diambil dari analisa percobaan Algoritma Brute Force, yaitu pada Tabel 3.4. 2. Proses Pencarian Word Suggestion Setelah pattern dan teks terbentuk maka proses selanjutnya adalah melakukan pencocokan karakter. Berbeda dengan algoritma Brute Force, algoritma Knuth Morris-Pratt ini dapat memelihara informasi yang digunakan untuk melakukan jumlah pergeseran. Algoritma Knuth-Morris-Pratt menggunakan informasi tersebut untuk membuat pergeseran yang lebih jauh, tidak hanya satu karakter Adapun cara kerja algoritma dalam melakukan pencarian word suggestion adalah sebagai berikut : 1. Algoritma Knuth-Morris-Pratt mulai mencocokkan pattern pada awal teks. 2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi: 3. Karakter di pattern dan di teks yang dibandingkan tidak cocok mismatch. 4. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini. 5. Algoritma kemudian menggeser pattern berdasarkan tabel, lalu mengulangi langkah 2 sampai pattern berada di ujung teks Soleh, 2011 Universitas Sumatera Utara

3.7.2. Flowchart Algoritma Knuth-Morris-Pratt KMP Pada Pencarian Word

Suggestion Pada gambar 3.9 merupakan penjelasan dari algoritma Knuth Morris Pratt, flowchart ini menjelaskan bagaimana metode Knuth Morris Pratt mendapatkan output yang berupa posisi karakter yang cocok. Terlihat pada gambar, metode knuth Morris Pratt menyimpan nilai pergeseran dalam variable i, pergeseran dilakukan sebanyak nilai i itu sendiri. Gambar 3.9 Flowchart Cara Kerja Algoritma Knut-Morris-Pratt pada pencarian Word Suggestion End Input text pattern match mismatch tidak ya ya Int n = text.lengthT Int m = pattern.length p T = text.char P = pattern.char i = 0 j = 0 i n i = i + 1 j = j + 1 return i – m + 1 j 0 Start tidak ya P[j] = T[i] ya j = fail [ j – i ] i = i + 1 tidak Universitas Sumatera Utara

3.7.3. Hasil Analisis Algoritma Knuth-Morris-Pratt KMP Pada Pencarian Word