Anda di halaman 1dari 15

Praktikum PAA

Pertemuan 3
ALGORITMA BRUTE FORCE

LAPORAN PENDAHULUAN
( Pertemuan 4 )
1.Apa yang kalian ketahui tentang
DFS(Depth first search) dan BFS(Breadth
first search)!!
2. tuliskan algoritma dari DFS dan BFS!!

PENGERTIAN
Brute force adalah sebuah pendekatan
yang lempang (straightforward) untuk
memecahkan suatu masalah, biasanya
didasarkan pada pernyataan masalah
(problem statement) dan definisi konsep
yang dilibatkan.

1. Menghitung an (a > 0, n adalah bilangan bulat taknegatif)


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

TEKNIK PENCARIAN PADA


BRUTE FORCE
BUBLE SORT
EXHAUSTIVE SEARCH
PATTERN MATCHING

BUBLE SORT
Bubble sort (metode gelembung) adalah metode/algoritma
pengurutan dengan dengan cara melakukan penukaran data
dengan tepat disebelahnya secara terus menerus sampai
dipastikan dalam satu iterasi tertentu tidak ada lagi
perubahan.
Teknik bubble sort mengimplementasikan algoritma brute
force
Kelemahan buble sort adalah pada saat mengurutkan data
yang sangat besar akan mengalami kelambatan luar biasa,
atau dengan kata lain kinerja memburuk cukup signifikan
ketika data yang diolah jika data cukup banyak.
Kelemahan lain adalah jumlah pengulangan akan tetap sama
jumlahnya walaupun data sesungguhnya sudah cukup terurut.
Hal ini disebabkan setiap data dibandingkan dengan setiap
data yang lain untuk menentukan posisinya.

ALGORITMA BUBLE SORT


Algoritma buble sort:
Algoritma dimulai dari elemen paling ujung.2 buah
elemen pertama dari list dibandingkan.

Jika elemen pertama lebih besar dari elemen


kedua,dilakukan pertukaran.
Langkah 2 dan 3 dilakukan lagi terhadap elemen kedua
dan ketiga, seterusnya sampai ke ujung elemen.
Bila sudah sampai ke ujung dilakukan lagi ke awal
sampai tidak ada terjadi lagi pertukaran elemen.
Bila tidak ada pertukaran elemen lagi, maka list elemen
sudah terurut.

CONTOH BUBLE SORT


Ada data seperti ini: 6, 4, 3, 2
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)

EXHAUSTIVE SEARCH
Exhaustive search adalah teknik pencarian
solusi secara brute force pada masalah yang
melibatkan pencarian elemen dengan sifat
khusus, biasanya di antara objek-objek
kombinatorik seperti permutasi, kombinasi,
atau himpunan bagian dari sebuah himpunan.
contoh masalah yang sering diasosiasikan
dengan exhaustive search atau brute force
adalah masalah Travelling Salesperson Problem
(TSP).

Langkah-langkah metode exhaustive search:

1. Enumerasi (list) setiap solusi yang mungkin dengan cara


yang sistematis.
2. Evaluasi setiap kemungkinan solusi satu per satu,
mungkin saja beberapa kemungkinan solusi yang tidak
layak dikeluarkan, dan simpan solusi terbaik yang
ditemukan sampai sejauh ini (the best solusi found so
far).
3. Bila pencarian berakhir, tentukan solusi terbaik (the
winner)

CONTOH EXHAUSTIVE SEARCH

10
d

12
5

b
9

15

Rute perjalananan terpendek adalah


acbda
adbca
dengan bobot = 32.

8
c

PATTERN MATCHING

Persoalan:
Diberikan
a. teks (text), yaitu (long) string yang
panjangnya n karakter
b. pattern, yaitu string dengan panjang m
karakter (m < n) yang akan dicari di
dalam teks.

Algoritma brute force:


1. Mula-mula pattern dicocokkan pada awal teks.
2. Dengan bergerak dari kiri ke kanan, bandingkan setiap
karakter di dalam pattern dengan karakter yang
bersesuaian di dalam teks sampai:
semua karakter yang dibandingkan cocok atau sama
(pencarian berhasil), atau
dijumpai sebuah ketidakcocokan karakter (pencarian
belum berhasil)
3. Bila pattern belum ditemukan kecocokannya dan teks
belum habis, geser pattern satu karakter ke kanan dan
ulangi langkah 2.

CONTOH PATTERN MATCHING


Contoh 1:
Pattern: INFO
Teks: LABORATORIUM INFORMATIKA
LABORATORIUM INFORMATIKA
1 INFO
2 INFO
3
INFO
4
INFO

Karakteristik brute 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 naif (nave algorithm).

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.

Untuk masalah yang ukurannya kecil, kesederhanaan brute force


biasanya lebih diperhitungkan daripada ketidakmangkusannya.

Anda mungkin juga menyukai