Flowchart MinShift Flowchart MatchShif dan AdaptedGs Flowchart QsBc

3.4.1. Flowchart MinShift

Nilai minShift merupakan nilai pencarian pola dalam teks dengan cara pola di cari dari karakter yang memiliki nilai minShift terbesar hingga nilai minShift yang terkecil pada Algoritma Maximal Shift. Berikut adalah flowchart mencari nilai minShift pada Gambar 3.5. Start Input: x : pattern m : leng x i = 0 i m ? j = i - 1 j = 0 ? x [i] = = xj] ? minShift [i]= i - j ++i Output: minShift End yes yes yes --j No yes No No Gamabar 3.5 Flochart mencari nilai minShift pada Algoritma Maximal Shift. Universitas Sumatera Utara

3.3.2. Flowchart MatchShif dan AdaptedGs

MatchShift adalah nilai untuk mencari nilai adaptedGs. AdaptedGs adalah yang menghitung nilai pada tiap posisi dan kemudian nilai inilah yang kemungkinan akan digunakan untuk pergeseran pada pola. Berikut adalah flowchart dari matchShift yang dapat dilihat pada Gambar 3.6. No Input: x : pattern m : leng x Lshift = 1 Ploc = 1 i m ? i = ploc -- i = 0 ? j = pat[i].loc - lshift 0 ? ++lshift Return lshift yes No yes Pat[i].c = x[j] ? i 0 ? yes No yes AdaptaedGsploc = lshift No yes Yes Start Gambar 3.6 Flowchart matchshift pada Algoritma Maximal Shift. Universitas Sumatera Utara Setelah mendapatkan hasil nilai matchShift akan diteruskan untuk mencari nilai adaptedGs. Berikut adalah flowchart adapetedGs dapat dilihat dari Gambar 3.7. Start Input: x : pattern m : leng x Lshift = 1 Ploc = 1 Ploc = m ? ++ploc i 0 || Pat[ploc].c = x[i] ? Lshift = adaptedGs [ploc] end Ploc = m? Lshift m? adaptedGs [0]= lshift = 1 Ploc = 1 Lshift= matchshift x,m,ploc,lshift, pattern, pat adaptedGs[ploc]= lshift Ploc = 0 i = pat[ploc].loc - lshift ++ploc ++lshift Lshift = matchshift 0utput: adaptedGs[ploc] = lshift yes No yes yes yes No No No Gambar 3.7 Flowchart mencari nilai adaptedGs pada Algoritma Maximal shift. Universitas Sumatera Utara

3.4.3. Flowchart QsBc

Quick search bad-character qsBc adalah nilai pada karakter yang selanjutnya nilai tersebut kemungkinan akan digunakan untuk pergeseran pola dengan cara menentukan posisi karakter dalam pola dari kanan ke kiri dan jika ada karakter sama dalam pola maka posisi karakter yang pertama ditemukan yang dicatat. Berikut adalah flowchart mencari nilai preqsBc pada Algoritma Maximal Shift dan Algoritma Quick Search yang dapat dilihat pada Gambar 3.8. Start Input: x : pattern m : leng x i = 0 i ASIZE ? qsBc[i]= m+1 i m ? qsBc[x[i]] m - i ++i Output: QsBc[i] End yes yes No i++ i = 0 No Gambar 3.8 Flowchart mencari nilai preQsBc pada Algoritma Maximal Shift dan Algoritma Quick Search. Universitas Sumatera Utara

3.4.4. Flowchart Maximal Shift