Algoritma Brute Force
• Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan.
• Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way).
Contoh-contoh masalah yang dipecahkan secara brute force:
1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif)
an = a × a × … × a (sebanyak n kali) , jika n > 0
= 1 , jika n = 0
Algoritma: kalikan 1 dengan a sebanyak n kali
2. Menghitung n! (n bilangan bulat tak-negatif)
n! = 1 × 2 × 3 × … × n , jika n > 0
= 1 , jika n = 0
Algoritma: kalikan n buah bilangan, yaitu 1, 2, 3, …, n, bersama-sama
3. Mengalikan dua buah matrik yang berukuran n × n.
Misalkan C = A × B dan elemen-elemen matrik dinyatakan sebagai cij, aij, dan bij
Algoritma: hitung setiap elemen hasil perkalian satu per satu, dengan cara mengalikan dua vektor yang panjangnya n.
Adakah algoritma perkalian matriks yang lebih mangkus daripada brute force?
4. Menemukan semua faktor dari bilangan bulat n selain dari 1 dan n itu sendiri. Definisi faktor dari sebuah bilangan adalah sebagai berikut:
Definisi: Bilangan bulat a adalah faktor dari bilangan bulat b jika a habis membagi b.
Adakah algoritma pemfaktoran yang lebih baik daripada brute force?