Brute force adalah sebuah pendekatan yang langsung (straightforward) untuk memecahkan suatu
masalah, biasanya didasarkan pada pernyataan 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).
1. Enumerasi (list) setiap solusi yang mungkin dengan cara yang sistematis
2. Evaluasi setiap kemungkinan solusi satu per satu dan simpan solusi yang terbaik yang
ditemukan sampai sejauh ini (the best solusi sound so far)
3. Bila pencarian solusi berakhir, umumkan solusi terbaik (the winner).
Tahapan-tahapan yang dilakukan Algoritma Brute Force pada saat mencocokan string adalah :
Algoritma brute force sebenarnya bukanlah algoritma yang “cerdas” dan mangkus (efisien),
karena ia membutuhkan jumlah langkah yang besar/banyak dalam penyelasaian dan tentu saja
membutuhkan waktu yang berbanding lurus dengan jumlah langkah penyelasaiannya. Kadang-
kadang algoritma brute force disebut juga algoritma naif (naïve algoritmh). Algortima brute force
seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tapi mencari
pola-pola dasar, keteraturan, atau trik-trik khusus, biasanya dapat membantu untuk menemukan
algoritma yang lebih cerdas dan lebih mangkus lagi. Untuk persoalan-persoalan yang kecil,
kesederhananaan brute force lebih diperhitungkan daripada ketidakmangkusannya. Algortima brute
force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang
mangkus. Meskipun brute force bukan merupakan teknik pemecahan masalah yang mangkus,
namun teknik brute force dapat diterapkan pada sebagian besar persoalan.
Kekuatan :
1. Metode brute force dapat digunakan untuk memecahkan hampir sebagian masalah (wide
applicability).
2. Metode brute force sederhana dan mudah dimengerti.
3. Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting
seperti pencarian, pengurutan, pencocokan string, perkalian matriks.
4. Metode brute force menghasilan algoritma baku (standard) untuk tugas-tugas komputasi
seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau
maksimum di dalam tabel (list).
Kelemahan :
Karena merupakan sebuah algoritma yang memecahkan masalah secara jelas, dan melalui
banyak opini atau pilihan, maka algoritma brute force merupakan sebuah metode
pemecahan masalah logis yang memiliki kemampuan untuk memperoleh pemecahan
masalah dengan baik. Dengan mempertimbangkan banyak opsi, metode algoritma brute
force mampu untuk menyaring satu dari sekian banyak solusi atau opsi yang ditawarkan,
sehingga proses pemecahan masalah yang dilakukan akan menjadi lebih baik dan juga lebih
optimal. Hampir semua masalah yang dipecahkan dengan menggunakan metode algoritma
brute force ini berjalan dengan baik.
Namun demikian, meskipun memiliki kelebihan berupa pemecah masalah yang mampu
berjalan dengan baik dan juga sempurna, algoritma brute force sangat sulit untuk digunakan
pada kebutuhan pemecahan masalah yang cepat. Hal ini disebabkan karena algoritma brute
force membutuhkan kumpulan banyak opsi terlebih dahulu sebelum diekesekusi. Hal ini
membuat pertimbangan dalam memilih opsi akan menjadi lebih lambat.