algoritma brute force

13
ALGORITMA BRUTE FORCE Pertemuan 3

Upload: cameron-boyer

Post on 03-Jan-2016

120 views

Category:

Documents


11 download

DESCRIPTION

ALGORITMA BRUTE FORCE. Pertemuan 3. Definisi. Brute force adalah sebuah pendekatan yang lempang untuk memecahkan suatu masalah , biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ALGORITMA BRUTE FORCE

ALGORITMA BRUTE FORCE

Pertemuan 3

Page 2: ALGORITMA BRUTE FORCE

Definisi

• Brute force adalah sebuah pendekatan yang lempang 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.

Page 3: ALGORITMA BRUTE FORCE

Karakteristik AlgoritmaBrute Force

• 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 naiv

• Algoritma brute force seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar, keteraturan, atau trik-trik khusus, biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus.

Page 4: ALGORITMA BRUTE FORCE

• 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.

• 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).

Page 5: ALGORITMA BRUTE FORCE

Konsep Bubble Sort / metode gelembung

• Metode/algoritma pengurutan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.

• Jika tidak ada perubahan berarti data sudah terurut.

Page 6: ALGORITMA BRUTE FORCE

Algoritma Bubble Sort procedure BubbleSort (input/output L : TabelInt, input n : integer) { Mengurutkan tabel L[1..N] sehingga terurut menaik dengan metode pengurutan bubble sort.

Masukan : Tabel L yang sudah terdefenisi nilai-nilainya. Keluaran: Tabel L yang terurut menaik sedemikian sehingga L[1] L[2] … L[N]. } Deklarasi

i : integer { pencacah untuk jumlah langkah } k : integer { pencacah,untuk pengapungan pada setiap langkah } temp : integer { peubah bantu untuk pertukaran } Algoritma: for i 1 to n - 1 do for k n downto i + 1 do if L[k] < L[k-1] then {pertukarkan L[k] dengan L[k-1]} temp L[k] L[k] L[k-1] L[k-1] temp endif endfor endfor

Page 7: ALGORITMA BRUTE FORCE

Algoritma Bubble Sort

• Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i).

• Membandingkan data ke-(i+1) dengan data ke-(i+2). • Selesai satu iterasi, adalah jika kita sudah selesai

membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.

• Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.

Page 8: ALGORITMA BRUTE FORCE

Contoh• Misalkan data : 6, 4, 3, 2 dan ingin mengurutkan data ini

(ascending) dengan menggunakan bubble sort.

Berikut ini adalah proses yang terjadi:

• Iterasi ke-1: 4, 6, 3, 2 :: 4, 3, 6, 2 :: 4, 3, 2, 6

(ada 3 pertukaran)

• Iterasi ke-2: 3, 4, 2, 6 :: 3, 2, 4, 6 :: 3, 2, 4, 6

(ada 2 pertukaran)

• Iterasi ke-3: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6

(ada 1 pertukaran)

• Iterasi ke-4: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6

(ada 0 pertukaran) -> proses selesai

Page 9: ALGORITMA BRUTE FORCE

Analisis Algoritma Bubble Sort

Page 10: ALGORITMA BRUTE FORCE

• Kondisi Average-CaseJumlah pass ditentukan dari elemen mana yang mengalami

penggeseran ke kiri paling banyak.

Page 11: ALGORITMA BRUTE FORCE

Kekuatan dan Kelemahan Metode Brute Force

• Kekuatan: Metode brute force dapat digunakan untuk memecahkan

hampir sebagian besar masalah.

Metode brute force sederhana dan mudah dimengerti.

Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks.

Metode brute force menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau maksimum di dalam tabel (list).

Page 12: ALGORITMA BRUTE FORCE

• Kelemahan: Metode brute force jarang menghasilkan algoritma yang

mangkus.

Beberapa algoritma brute force lambat sehingga tidak dapat diterima.

Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya.

Page 13: ALGORITMA BRUTE FORCE

TUGAS

• Insertion Sort