Modul 3 - Brute Force (Minggu 9)
Modul 3 - Brute Force (Minggu 9)
Brute Force
Penjelasan Umum
• Brute force adalah sebuah pendekatan langsung (straightforward)
untuk memecahkan suatu masalah
A[n] x -> 1
i 0 -> 1
while A[i] ≠ x do
-> n-1
i i + 1
endwhile -> 1
if i < n then
return i -> 1
else
-> 1
return -1
endif -> 1
Kompleksitas O(n)
Contoh Kasus - String matching
Terdapat dua buah array.
Array pertama (A[0 .. n-1]) mengandung teks.
Array kedua (B[0 .. m-1]) mengandung pola.
Algoritma StringMatch (A[0 .. n-1], B[0 .. m-1])
{ Implementasi StringMatch dengan BruteForce
Lalu akan dicari bagian teks yang sesuai pola. Input : Array A[0 .. n-1] berisi n karakter sebagai teks
• Jika ditemukan, Array B[0 .. n-1] berisi n karakter sebagai pola
maka indeks teks yang mengawali pola Output : Indeks pertama A[0 .. n-1] yang mengawali string yang
cocok dengan pola. Nilai -1 jika tidak ditemukan. }
ditampilkan.
• Jika tidak ditemukan, for i0 to n – m do
maka nilai -1 ditampilkan. j 0
while j < m AND B[j] = A[i+j] do
j j + 1
endwhile
if j = m then
return i
else
return -1
endif
endfor