150 likes | 366 Views
ALGORITMA BRUTE FORCE. Pertemuan 3. Definisi. Brute force adalah sebuah pendekatan yang lempang untuk memecahkan suatu masalah , biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan .
E N D
ALGORITMA BRUTE FORCE Pertemuan3
Definisi • Brute force adalahsebuahpendekatan yang lempanguntukmemecahkansuatumasalah, biasanyadidasarkanpadapernyataanmasalah (problem statement) dandefinisikonsep yang dilibatkan. • Algoritmabrute force memecahkanmasalahdengansangatsederhana, langsungdandengancara yang jelas.
KarakteristikAlgoritmaBrute Force • Algoritmabrute force umumnyatidak “cerdas” dantidakmangkus, karenaiamembutuhkanjumlahlangkah yang besardalampenyelesaiannya. Kadang-kadangalgoritma brute force disebutjugaalgoritmanaiv • Algoritma brute force seringkalimerupakanpilihan yang kurangdisukaikarenaketidakmangkusannyaitu, tetapidenganmencaripola-pola yang mendasar, keteraturan, atautrik-trikkhusus, biasanyaakanmembantukitamenemukanalgoritma yang lebihcerdasdanlebihmangkus.
Untukmasalah yang ukurannyakecil, kesederhanaan brute force biasanyalebihdiperhitungkandaripadaketidakmangkusannya. • Algoritmabrute force seringdigunakansebagai basis bilamembandingkanbeberapaalternatifalgoritma yang mangkus. • Algoritma brute force seringkalilebihmudahdiimplementasikandaripadaalgoritma yang lebihcanggih, dankarenakesederhanaannya, kadang-kadangalgoritma brute force dapatlebihmangkus (ditinjaudarisegiimplementasi).
KonsepBubble Sort /metodegelembung • Metode/algoritmapengurutandengancaramelakukanpenukaran data dengantepatdisebelahnyasecaraterusmenerussampaibisadipastikandalamsatuiterasitertentutidakadalagiperubahan. • Jikatidakadaperubahanberarti data sudahterurut.
Algoritma Bubble Sort • Membandingkandata ke-i dengan data ke-(i+1) (tepatbersebelahan). Jikatidaksesuaimakatukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). • Membandingkandata ke-(i+1) dengan data ke-(i+2). • Selesaisatuiterasi, adalahjikakitasudahselesaimembandingkanantara (n-1) dgn n. Setelahselesaisatuiterasikitalanjutkanlagiiterasiberikutnyasesuaidenganaturan ke-1. mulaidari data ke-1 dgn data ke-2, dst. • Proses akanberhentijikatidakadapertukarandalamsatuiterasi.
Contoh • Misalkandata : 6, 4, 3, 2 daninginmengurutkan data ini (ascending) denganmenggunakan bubble sort. Berikutiniadalah proses yang terjadi: • 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) -> proses selesai
KondisiAverage-Case Jumlahpass ditentukandarielemenmana yang mengalamipenggeserankekiri paling banyak.
KekuatandanKelemahanMetode Brute Force • Kekuatan: • Metodebrute force dapatdigunakanuntukmemecahkanhampirsebagianbesarmasalah. • Metode brute force sederhanadanmudahdimengerti. • Metode brute force menghasilkanalgoritma yang layakuntukbeberapamasalahpentingsepertipencarian, pengurutan, pencocokan string, perkalianmatriks. • Metode brute force menghasilkanalgoritmabaku (standard) untuktugas-tugaskomputasisepertipenjumlahan/perkalian n buahbilangan, menentukanelemen minimum ataumaksimum di dalamtabel (list).
Kelemahan: • Metode brute force jarangmenghasilkanalgoritma yang mangkus. • Beberapaalgoritma brute force lambatsehinggatidakdapatditerima. • Tidaksekontruktif/sekreatifteknikpemecahanmasalahlainnya.
TUGAS • Insertion Sort