Senin, 14 Januari 2019

ALGORITMA DAN KOMPLEKSITAS (Brute Force)

DEFINISI
 Brute force : pendekatan yang lurus (straightforward) untuk memecahkan suatu masalah
 Biasanya didasarkan pada:
    *pernyataan masalah (problem statement)
    *definisi konsep yang dilibatkan.
 Algoritma brute force memecahkan masalah dengan
    *sangat sederhana,
    *langsung,
    *jelas (obvious way).
 Just do it

IMPLEMENTASI (Berdasarkan Kasus)

 Mencari elemen terbesar (terkecil) 
*Persoalan: Diberikan sebuah senarai yang beranggotakan n buah bilangan bulat (a1, a2, …, an). Carilah elemen terbesar di dalam senarai tersebut.
*Algoritma brute force: bandingkan setiap elemen senarai untuk menemukan elemen terbesar


 Kompleksitas waktu algoritma: O(n).


 Pencarian beruntun (Sequential Search) 
    * Persoalan: Diberikan senarai yang berisi n buah bilangan bulat (a1, a2, …, an). Carilah nilai x di dalam senara tersebut. Jika x ditemukan, maka keluarannya adalah indeks elemen senarai, jika x tidak ditemukan, maka keluarannya adalah 0.
    * Algoritma brute force (sequential serach): setiap elemen senarai dibandingkan dengan x. Pencarian selesai jika x ditemukan atau elemen senarai sudah habis diperiksa.


 Kompleksitas waktu algoritma: O(n).
 Adakah algoritma pencarian elemen yang lebih mangkus daripada brute force?


IMPLEMENTASI (Berdasarkan Konsep Yang Terlibat)
 Menghitung a^n (a > 0, n adalah bilangan bulat tak-negatif) 


 Kompleksitas waktu algoritma: O(n).
 Adakah algoritma perpangkatan yang lebih mangkus daripada brute force?

 Menghitung n! (n bilangan bulat tak-negatif) 

 Mengalikan dua buah matriks, A dan B 



 Adakah algoritma perkalian matriks yang lebih mangkus daripada brute force


 Menemukan semua faktor dari bilangan bulat n (selain dari 1 dan n itu sendiri)



 Adakah algoritma pemfaktoran yang lebih baik daripada brute force?


 Algoritma Pengurutan Brute Force 
* Algoritma apa yang memecahkan masalah pengurutan secara brute force?
▪ Bubble sort dan selection sort!
 * Kedua algoritma ini memperlihatkan teknik brute force dengan jelas sekali.


Tidak ada komentar:

Posting Komentar