Anda di halaman 1dari 11

TUGAS PERTEMUAN 5

Desain dan Analisis Algoritma

Oleh:
Habibie Salim Tadjo
219 280 188
Teknik Informatika F
Universitas Muhammadiyah Pare-Pare
- Algoritma Brute
Force,
- Selection sort,
- Buble Sort,
- String Matching.
Definisi Brute Force

▪ Brute force : pendekatan yang lempang


(straightforward) untuk memecahkan suatu
masalahBiasanya didasarkan pada:pernyataan
masalah (problem statement)definisi konsep yang
dilibatkan.Algoritma brute force memecahkan
masalah dengansangat sederhana,langsung,jelas
(obvious way).
 Cara Kerja Algoritma Brute
Force

▪ Enumerasi (list) setiap solusi yang mungkin dengan


cara yang sistematis.Evaluasi setiap kemungkinan
solusi “satu per satu” dan simpan solusi terbaik
yang ditemukan sampai sejauh ini (the best solusi
found so far).Bila pencarian solusi berakhir,
umumkan solusi terbaik (the winner)
Contoh Brute Force

▪ Menghitung an (a > 0, n adalah bilangan bulat tak-


negatif)an = a × a × … × a (n kali) , jika n > 0= , jika n
= 0Algoritma: kalikan 1 dengan a sebanyak n kali
Selection sort

▪ Pendahuluan Selection sort adalah cara


pengurutan dengan menelusuri dan mencari
elemen yang terkecil / terbesar dari seluruh elemen
yang ada dan menempatkannya di posisi pertama
sampai semua elemen terurut dengan
pengulangan.
Contoh Proses Pengurutan
Menaik

▪ (untuk posisi pertama) ● 1 < 8, 1 dijadikan elemen


terkecil ● Bandingkan dengan elemen-elemen
berikutnya (1 dengan 4) ● Karena 1 < 4 , elemen
terkecil tetap 1 dan lanjutkan perbandingan 8 1 4 2
637059
Buble Sort

▪ Bubble sort merupakan sebuah teknik pengurutan


data dengan cara menukar dua data yang
bersebelahan jika urutan dari data tersebut salah.
Algorithma ini dapat mengurutkan data dari besar
ke kecil (Ascending) dan kecil ke besar
(Descending). Algoritma ini tidak cocok untuk set
data dengan jumlah besar karena kompleksitas
dari algorithma ini adalah Ο() di mana n adalah
jumlah item.
implementasi Bubble Sort

▪ 1st Cycle:
(70, 60, 30, 50, 40,20) -> (70, 60, 30, 50, 20,40)
(70, 60, 30, 50, 20, 40) -> (70, 60, 30, 20, 50, 40)
(70, 60, 30, 20,50, 40) -> (70, 60, 20, 30,50, 40)
(70, 60, 20,30,50, 40) -> (70, 20, 60,30,50, 40)
(70, 20,60,30,50, 40) -> (20, 70,60,30,50, 40)
(20,70,60,30,50, 40)
String Matching

▪ Algoritma string matching (pencocokan string)


adalah algoritma untuk melakukan pencarian
semua kemunculan string pendek (pattern) yang
muncul dalam teks. Pettern yaitu string dengan
panjang m karakter ( m < n ).
 contoh

▪ Pattern : hari
▪ Teks : hari kemerdekaan Indonesia

▪ Pattern : apa
▪ Teks : siapakah penemu lampu?

Anda mungkin juga menyukai