# Design and Analysis Algorithm - PowerPoint PPT Presentation

1 / 30

Design and Analysis Algorithm. Drs. Achmad Ridok M.Kom Fitra A. Bachtiar, S.T., M. Eng Imam Cholissodin , S. Si ., M.Kom Aryo Pinandito , MT. Pertemuan 05. Algoritma Brute Force 1. Definisi Brute Force. Brute force : pendekatan straight forward untuk memecahkan suatu masalah

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

### Download Presentation

Design and Analysis Algorithm

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

## Design and Analysis Algorithm

• Drs. AchmadRidokM.Kom

• Fitra A. Bachtiar, S.T., M. Eng

• ImamCholissodin, S.Si., M.Kom

• AryoPinandito, MT

Pertemuan05

Algoritma Brute Force 1

### Definisi Brute Force

Brute force : pendekatan straight forward untukmemecahkansuatumasalah

Algoritma brute force memecahkanmasalahdengansangatsederhana, langsung, danjelas(obvious way)

### Contoh-contoh(Berdasarkanpernyataanmasalah)

Mencarielementerbesar(terkecil)

Persoalan: Diberikansebuah array yang beranggotakan n buahbilanganbulat(a1, a2, ..., an).Carilahelementerbesardidalam array tersebut.

Algoritma brute force: bandingkansetiapelemen array untukmenemukanelementerbesar

Kompleksitas O(n)

### Contoh-contoh(Berdasarkanpernyataanmasalah)

Mencarielementerbesar (terkecil)

### Contoh-contoh(Berdasarkanpernyataanmasalah)

Pencarianberuntun (Sequential Search)

Persoalan: Diberikan array yang berisi n buahbilanganbulat (a1, a2, ..., an). Carilahnilai x didalam array tersebut. Jika x ditemukan, makakeluarannyaadalahindekselemen array, jika x tidakditemukan, makakeluarannyaadalah 0.

Algoritma brute force (sequential serach): setiapelemen array dibandingkandengan x. Pencarianselesaijika x ditemukanatauelemen array sudahhabisdiperiksa.

Kompleksitas O(n)

### Contoh-contoh(Berdasarkanpernyataanmasalah)

Pencarianberuntun (sequential search)

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitung an(a > 0, n adalahbilanganbulattak-negatif)

Definisi: an= a x a x ... x a (n kali) , jika n>0

= 1, jika n = 0

Algoritma brute force: kalikan 1 dengan a sebanyak n kali

Kompleksitas O(n)

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitungpangkat

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitung n! (n bilanganbulattak-negatif) Definisi: n!=1 ×2×3×...×n, jika n>0

= 1, jika n = 0

Algoritma brute force: kalikan n buahbilangan, yaitu 1, 2, 3, ..., n, bersama-sama

Kompleksitas O(n)

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitungfaktorial

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Mengalikanduabuahmatriks, A dan B

Definisi: Misalkan C = A × B danelemen-elemenmatrikdinyatakansebagaicij, aij, danbij

Algoritma brute force: hitungsetiapelemenhasilperkaliansatuper satu, dengancaramengalikanduavektoryang panjangnya n.

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Mengalikanduabuahmatriks

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menemukansemuafaktordaribilanganbulat n (selaindari1 dan n itusendiri).

Definisi: Bilanganbulata adalahfaktordaribilanganbulat b jikaa habismembagi b.

Algoritma brute force: bagi n dengansetiap i = 2, 3, ..., n – 1. Jika n habismembagii, maka I adalahfaktordari n.

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menemukanfaktorbilanganbulat n

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

UjikeprimaanPersoalan: Diberikansebuahbilanganbilanganbulatpositif. Ujilahapakahbilangantersebutmerupakanbilanganprima ataubukan.

Definisi: bilangan prima adalahbilanganyang hanyahabisdibagioleh1 dandirinyasendiri. Algoritmabrute force: bagi n dengan2 sampai n–1. Jikasemuanyatidakhabismembagi n, maka n adalahbilangan prima

Perbaikan: cukupmembagidengan2 sampai √n saja

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Ujibilangan prima

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

AlgoritmaPengurutan Brute Force, Algoritmaapayang paling lempangdalammemecahkanmasalahpengurutan?

Bubble sort dan selection sort!

Keduaalgoritmainimemperlihatkanteknikbrute force denganjelassekali.

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Bubble Sort

Mulaidarielemenke-n:

1. Jikasn< sn-1, pertukarkan

2. Jika sn-1 < sn-2, pertukarkan ...

3. Jika s2< s1, pertukarkan

1 kali pass

Ulangilagiuntukpass ke-i

Bubble sort

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Selection Sort Pass ke–1:

1.Cari elementerbesarmulaididalams[1..n]

2.Letakkan elementerbesarpadaposisi n (pertukaran)

Pass ke-2:

1.Cari elementerbesarmulaididalams[1..n - 1]

2.Letakkan elementerbesarpadaposisi n - 1 (pertukaran)

Ulangisampaihanyatersisa1 elemen

Selection sort

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Mengevaluasipolinom

Persoalan: Hitungnilaipolinom

p(x)=anxn +an-1xn-1 +...+a1x +a0 untuk x = t.

Algoritma brute force: xi dihitungsecarabrute force (sepertiperhitunganan). Kalikannilai xi denganai, lalujumlahkandengansuku-sukulainnya.

Analisapolinom

### Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Perbaikan (improve)

### KarakteristikAlgoritmaBrute Force

Algoritma brute force umumnyatidak“cerdas” dantidakcepat, karenaiamembutuhkanjumlahlangkahyang besardalampenyelesaiannya.

Kata “force” mengindikasikan “tenaga” ketimbang “otak”

Kadang-kadangalgoritmabrute force disebutjugaalgoritmanaif (naïve algorithm).

### KarakteristikAlgoritmaBrute Force

• Algoritma brute force lebihcocokuntukmasalahyang berukurankecil.

• Pertimbangannya:

• sederhana,

• Implementasinyamudah

• Algoritma brute force seringdigunakansebagaibasis pembandingdenganalgoritmayang lebihcepat.

### KarakteristikAlgoritmaBrute Force

Meskipunbukanmetodeyang cepat, hampirsemuamasalahdapatdiselesaikandenganalgoritma brute force.

Sukarmenunjukkanmasalahyang tidakdapatdiselesaikandenganmetodebrute force. Bahkan, adamasalahyang hanyadapatdiselesaikandenganmetodebrute force.

Contoh: mencarielementerbesardidalam array.

### Tugas

Buatlahalgoritmaberikutdengankompleksitasnya

Pencocokan String (String Matching)

Mencaripasangantitik yang jaraknyaterdekat (Closest pairs)

Travelling Salesman Problem (TSP)

Knapsack Problem

Thank You !

Click to edit subtitle style