Design and analysis algorithm
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

Design and Analysis Algorithm PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on
  • Presentation posted in: General

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

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

Presentation Transcript


Design and analysis algorithm

Design and Analysis Algorithm

  • Drs. AchmadRidokM.Kom

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

  • ImamCholissodin, S.Si., M.Kom

  • AryoPinandito, MT

Pertemuan05


Design and analysis algorithm

Algoritma Brute Force 1


Definisi brute force

Definisi Brute Force

Brute force : pendekatan straight forward untukmemecahkansuatumasalah

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


Contoh contoh berdasarkan pernyataan masalah

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 berdasarkan pernyataan masalah1

Contoh-contoh(Berdasarkanpernyataanmasalah)

Mencarielementerbesar (terkecil)


Contoh contoh berdasarkan pernyataan masalah2

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 berdasarkan pernyataan masalah3

Contoh-contoh(Berdasarkanpernyataanmasalah)

Pencarianberuntun (sequential search)


Contoh contoh berdasarkan definisi konsep yang terlibat

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 berdasarkan definisi konsep yang terlibat1

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitungpangkat


Contoh contoh berdasarkan definisi konsep yang terlibat2

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 berdasarkan definisi konsep yang terlibat3

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menghitungfaktorial


Contoh contoh berdasarkan definisi konsep yang terlibat4

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 berdasarkan definisi konsep yang terlibat5

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Mengalikanduabuahmatriks


Contoh contoh berdasarkan definisi konsep yang terlibat6

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 berdasarkan definisi konsep yang terlibat7

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Menemukanfaktorbilanganbulat n


Contoh contoh berdasarkan definisi konsep yang terlibat8

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 berdasarkan definisi konsep yang terlibat9

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Ujibilangan prima


Contoh contoh berdasarkan definisi konsep yang terlibat10

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

AlgoritmaPengurutan Brute Force, Algoritmaapayang paling lempangdalammemecahkanmasalahpengurutan?

Bubble sort dan selection sort!

Keduaalgoritmainimemperlihatkanteknikbrute force denganjelassekali.


Contoh contoh berdasarkan definisi konsep yang terlibat11

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


Contoh contoh berdasarkan definisi konsep yang terlibat12

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Bubble sort


Contoh contoh berdasarkan definisi konsep yang terlibat13

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


Contoh contoh berdasarkan definisi konsep yang terlibat14

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Selection sort


Contoh contoh berdasarkan definisi konsep yang terlibat15

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.


Contoh contoh berdasarkan definisi konsep yang terlibat16

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Analisapolinom


Contoh contoh berdasarkan definisi konsep yang terlibat17

Contoh-contoh (Berdasarkandefinisikonsep yang terlibat)

Perbaikan (improve)


Karakteristik algoritma brute force

KarakteristikAlgoritmaBrute Force

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

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

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


Karakteristik algoritma brute force1

KarakteristikAlgoritmaBrute Force

  • Algoritma brute force lebihcocokuntukmasalahyang berukurankecil.

  • Pertimbangannya:

    • sederhana,

    • Implementasinyamudah

  • Algoritma brute force seringdigunakansebagaibasis pembandingdenganalgoritmayang lebihcepat.


Karakteristik algoritma brute force2

KarakteristikAlgoritmaBrute Force

Meskipunbukanmetodeyang cepat, hampirsemuamasalahdapatdiselesaikandenganalgoritma brute force.

Sukarmenunjukkanmasalahyang tidakdapatdiselesaikandenganmetodebrute force. Bahkan, adamasalahyang hanyadapatdiselesaikandenganmetodebrute force.

Contoh: mencarielementerbesardidalam array.


Tugas

Tugas

Buatlahalgoritmaberikutdengankompleksitasnya

Pencocokan String (String Matching)

Mencaripasangantitik yang jaraknyaterdekat (Closest pairs)

Travelling Salesman Problem (TSP)

Knapsack Problem


Click to edit subtitle style

Thank You !

Click to edit subtitle style


  • Login