Algoritma Brute Force Definisi Brute Force Brute force
![Algoritma Brute Force Algoritma Brute Force](https://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-1.jpg)
Algoritma Brute Force
![Definisi Brute Force �Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu Definisi Brute Force �Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-2.jpg)
Definisi 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 Brute Force 1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif) Contoh-contoh Brute Force 1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif)](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-3.jpg)
Contoh-contoh Brute Force 1. Menghitung an (a > 0, n adalah bilangan bulat tak-negatif) an = a x … x a (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 2. Menghitung n! (n bilangan bulat tak-negatif) n! = 1 × 2 × 3](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-4.jpg)
2. Menghitung n! (n bilangan bulat tak-negatif) n! = 1 × 2 × 3 × … × n =1 , jika n > 0 , 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 3. Mengalikan dua buah matrik yang berukuran n × n. Misalkan C = A](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-5.jpg)
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? Adakah algoritma perkalian matriks yang lebih mangkus daripada brute force?](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-6.jpg)
Adakah algoritma perkalian matriks yang lebih mangkus daripada brute force?
![4. � Menemukan semua faktor dari bilangan bulat n selain dari 1 dan n 4. � Menemukan semua faktor dari bilangan bulat n selain dari 1 dan n](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-7.jpg)
4. � Menemukan semua faktor dari bilangan bulat n selain dari 1 dan n itu sendiri. Definisi: Bilangan bulat a adalah faktor dari bilangan bulat b jika a habis membagi b.
![Adakah algoritma pemfaktoran yang lebih baik daripada brute force? Adakah algoritma pemfaktoran yang lebih baik daripada brute force?](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-8.jpg)
Adakah algoritma pemfaktoran yang lebih baik daripada brute force?
![5. Mencari elemen terbesar (atau terkecil) Persoalan: Diberikan sebuah himpunan yang beranggotakan n buah 5. Mencari elemen terbesar (atau terkecil) Persoalan: Diberikan sebuah himpunan yang beranggotakan n buah](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-9.jpg)
5. Mencari elemen terbesar (atau terkecil) Persoalan: Diberikan sebuah himpunan yang beranggotakan n buah bilangan bulat. Bilangan-bilangan bulat tersebut dinyatakan sebagai a 1, a 2, …, an. Carilah elemen terbesar di dalam himpunan tersebut.
![Kompleksitas algoritma ini adalah O(n). Kompleksitas algoritma ini adalah O(n).](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-10.jpg)
Kompleksitas algoritma ini adalah O(n).
![6. Sequential Search Persoalan: Diberikan n buah bilangan bulat yang dinyatakan sebagai a 1, 6. Sequential Search Persoalan: Diberikan n buah bilangan bulat yang dinyatakan sebagai a 1,](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-11.jpg)
6. Sequential Search Persoalan: Diberikan n buah bilangan bulat yang dinyatakan sebagai a 1, a 2, …, an. Carilah apakah x terdapat di dalam himpunan bilangan bulat tersebut. Jika x ditemukan, maka lokasi (indeks) elemen yang bernilai x disimpan di dalam peubah idx. Jika x tidak terdapat di dalam himpunan tersebut, maka idx diisi dengan nilai 0.
![Kompleksitas algoritma ini adalah O(n). Adakah algoritma pencarian elemen yang lebih mangkus daripada brute Kompleksitas algoritma ini adalah O(n). Adakah algoritma pencarian elemen yang lebih mangkus daripada brute](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-12.jpg)
Kompleksitas algoritma ini adalah O(n). Adakah algoritma pencarian elemen yang lebih mangkus daripada brute force?
![7. • • Bubble Sort Apa metode yang paling lempang dalam memecahkan masalah pengurutan? 7. • • Bubble Sort Apa metode yang paling lempang dalam memecahkan masalah pengurutan?](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-13.jpg)
7. • • Bubble Sort Apa metode yang paling lempang dalam memecahkan masalah pengurutan? Jawabnya adalah algoritma pengurutan bubble sort. Algoritma bubble sort mengimplementasikan teknik brute force dengan jelas sekali.
![Kompleksitas algoritma ini adalah O(n 2). Adakah algoritma pengurutan elemen yang lebih mangkus daripada Kompleksitas algoritma ini adalah O(n 2). Adakah algoritma pengurutan elemen yang lebih mangkus daripada](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-14.jpg)
Kompleksitas algoritma ini adalah O(n 2). Adakah algoritma pengurutan elemen yang lebih mangkus daripada brute force?
![8. Uji keprimaan Persoalan: Diberikan sebuah bilangan bulat positif. Ujilah apakah bilangan tersebut merupakan 8. Uji keprimaan Persoalan: Diberikan sebuah bilangan bulat positif. Ujilah apakah bilangan tersebut merupakan](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-15.jpg)
8. Uji keprimaan Persoalan: Diberikan sebuah bilangan bulat positif. Ujilah apakah bilangan tersebut merupakan bilangan prima atau bukan.
![Adakah algoritma pengujian bilangan prima yang lebih mangkus daripada brute force? Adakah algoritma pengujian bilangan prima yang lebih mangkus daripada brute force?](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-16.jpg)
Adakah algoritma pengujian bilangan prima yang lebih mangkus daripada brute force?
![9. Menghitung nilai polinom secara brute force Persoalan: Hitung nilai polinom p(x) = anxn 9. Menghitung nilai polinom secara brute force Persoalan: Hitung nilai polinom p(x) = anxn](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-17.jpg)
9. Menghitung nilai polinom secara brute force Persoalan: Hitung nilai polinom p(x) = anxn + an-1 xn-1 + … + a 1 x + a 0 pada titik x = x 0.
![Kompleksitas algoritma ini adalah O(n 2). Kompleksitas algoritma ini adalah O(n 2).](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-18.jpg)
Kompleksitas algoritma ini adalah O(n 2).
![Perbaikan (improve): Kompleksitas algoritma ini adalah O(n). Adakah algoritma perhitungan nilai polinom yang lebih Perbaikan (improve): Kompleksitas algoritma ini adalah O(n). Adakah algoritma perhitungan nilai polinom yang lebih](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-19.jpg)
Perbaikan (improve): Kompleksitas algoritma ini adalah O(n). Adakah algoritma perhitungan nilai polinom yang lebih mangkus daripada brute force?
![Karakteristik Algoritma Brute Force 1. 2. Algoritma brute force umumnya tidak “cerdas” dan tidak Karakteristik Algoritma Brute Force 1. 2. Algoritma brute force umumnya tidak “cerdas” dan tidak](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-20.jpg)
Karakteristik Algoritma Brute Force 1. 2. Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus, karena ia membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-kadang algoritma brute force disebut juga algoritma naif (naïve algorithm). Algoritma brute force seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar, keteraturan, atau trik khusus, biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus.
![3. Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. 3. Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya.](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-21.jpg)
3. Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang mangkus.
![4. Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan 4. Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan](http://slidetodoc.com/presentation_image_h/8b6d01072732ef55d206ca207d555585/image-22.jpg)
4. Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).
- Slides: 22