Prosedur preBmBc Pengembangan Cara Kerja Umum Algoritma Boyer-Moore

46

4.3.1.1. Prosedur preBmBc

Prosedur preBmBc memiliki tiga nilai penting, diantaranya : 1. Pattern, sebagai subjek pencocokan terhadap teks. 2. Karakter, sebagai karakter-karakter yang terdapat pada pattern. 3. Occurence Heuristic OH, sebagai nilai pergeseran yang diperoleh ketika menemukan ketidakcocokan karakter. 4. Pergeseran, sebagai nilai yang dicapai ketika melakukan pergeseran dari kanan ke kiri pattern. Langkah-langkah pelaksanaan prosedur : 1. Create atau berikan nilai kosong ke stack iBmBc. 2. Lakukan perhitungan terhadap panjang pattern. Jika panjang tidak lebih dari satu, maka hentikan proses dengan menambahkan langsung nilai OH dan karakter ke dalam stack iBmBc. Jika tidak, maka lanjutkan ke proses selanjutnya. 3. Cacahan karakter pattern mulai dari karakter ke-2 paling kanan. 4. Bandingkan setiap karakter yang dicacah terhadap stack iBmBc, jika karakter yang dicacah tidak ditemukan di dalam stack, maka tambahkan karakter tersebut ke dalam stack dimana OH sama dengan jumlah pergeseran karakter yang telah dilakukan. 5. Lakukan langkah-4 kembali, dengan melakukan perpindahan 1 karakter ke kiri hingga mencapai karakter paling kiri secara terus menerus. 6. Jika telah mencapai karakter paling kiri, cacah karakter paling kanan lalu kembali ke langkah-4. 47 Berikut representasi prosedur preBmBc dengan menggunakan flowchart : Gambar 4.4 Flowchart pengembangan prosedur preBmBc Contoh kasus, Pattern : MANAMAN Penyelesaian : 48 Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 1 Nilai OH Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 2 Nilai OH 1 Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 3 Nilai OH 1 2 Stack BmBc Patt rn M A N A M A N Karakte A M N Pergeseran 4 Nilai OH 1 2 Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 5 Nilai OH 1 2 4 Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 6 Nilai OH 1 2 4 Stack BmBc Pattern M A N A M A N Karakter A M N Pergeseran 7 Nilai OH 1 2 4 Gambar 4.5 Penyelesaian contoh kasus Prosedur preBmBc Pada gambar di atas, terlihat bahwa karakter yang ditunjuk akan ditambahkan ke dalam stack BmBc jika tidak ditemukan pada stack BmBc dengan nilai OH yang berkesesuaian dengan nilai pergeseran.

4.3.1.2. Prosedur preBmGs