1 / 30

Design and Analysis Algorithm

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

quasar
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design and Analysis Algorithm • Drs. AchmadRidokM.Kom • Fitra A. Bachtiar, S.T., M. Eng • ImamCholissodin, S.Si., M.Kom • AryoPinandito, MT Pertemuan05

  2. Algoritma Brute Force 1

  3. Definisi Brute Force Brute force : pendekatan straight forward untukmemecahkansuatumasalah Algoritma brute force memecahkanmasalahdengansangatsederhana, langsung, danjelas(obvious way)

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

  5. Contoh-contoh(Berdasarkanpernyataanmasalah) Mencarielementerbesar (terkecil)

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

  7. Contoh-contoh(Berdasarkanpernyataanmasalah) Pencarianberuntun (sequential search)

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

  9. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Menghitungpangkat

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

  11. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Menghitungfaktorial

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

  13. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Mengalikanduabuahmatriks

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

  15. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Menemukanfaktorbilanganbulat n

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

  17. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Ujibilangan prima

  18. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) AlgoritmaPengurutan Brute Force, Algoritmaapayang paling lempangdalammemecahkanmasalahpengurutan? Bubble sort dan selection sort! Keduaalgoritmainimemperlihatkanteknikbrute force denganjelassekali.

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

  20. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Bubble sort

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

  22. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Selection sort

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

  24. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Analisapolinom

  25. Contoh-contoh (Berdasarkandefinisikonsep yang terlibat) Perbaikan (improve)

  26. KarakteristikAlgoritmaBrute Force Algoritma brute force umumnyatidak“cerdas” dantidakcepat, karenaiamembutuhkanjumlahlangkahyang besardalampenyelesaiannya. Kata “force” mengindikasikan “tenaga” ketimbang “otak” Kadang-kadangalgoritmabrute force disebutjugaalgoritmanaif (naïve algorithm).

  27. KarakteristikAlgoritmaBrute Force • Algoritma brute force lebihcocokuntukmasalahyang berukurankecil. • Pertimbangannya: • sederhana, • Implementasinyamudah • Algoritma brute force seringdigunakansebagaibasis pembandingdenganalgoritmayang lebihcepat.

  28. KarakteristikAlgoritmaBrute Force Meskipunbukanmetodeyang cepat, hampirsemuamasalahdapatdiselesaikandenganalgoritma brute force. Sukarmenunjukkanmasalahyang tidakdapatdiselesaikandenganmetodebrute force. Bahkan, adamasalahyang hanyadapatdiselesaikandenganmetodebrute force. Contoh: mencarielementerbesardidalam array.

  29. Tugas Buatlahalgoritmaberikutdengankompleksitasnya Pencocokan String (String Matching) Mencaripasangantitik yang jaraknyaterdekat (Closest pairs) Travelling Salesman Problem (TSP) Knapsack Problem

  30. Thank You ! Click to edit subtitle style

More Related