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