Design and analysis algorithm
Download
1 / 30

Design and Analysis Algorithm - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

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

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

PowerPoint Slideshow about ' Design and Analysis Algorithm' - quasar


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


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


ad