• Tidak ada hasil yang ditemukan

Desain Analisa Algoritma : Brute Force

N/A
N/A
Protected

Academic year: 2018

Membagikan "Desain Analisa Algoritma : Brute Force"

Copied!
24
0
0

Teks penuh

(1)

Desain Analisa Algoritma : Brute Force

Elsen Ronando, S.Si.,M.Si.,M.Sc.

elsen.ronando@untag-sby.ac.id

Teknik Informatika Fakultas Teknik

Universitas 17 Agustus 1945 Surabaya

(2)

Rencana Presentasi

1 Brute Force

Seleksi Pengurutan dan Buble Sort

Pencarian Sekuensial dan Pencocokan String Permasalahan Pasangan Terdekat dan Convex-Hull Pencarian Exhaustive

Travelling Salesman Problem (TSP) Permasalahan Knapsack

Beberapa contoh lainnya

(3)

Brute Force

Definisi

Sebuah pendekatan langsung untuk memecahkan suatu masalah. Biasanya didasarkan pada pernyataan masalahnya.

Adanya keterlibatan definisi konsep.

Karakteristik

Sederhana, jelas, & mudah diimplementasikan.

Mengedepankan tenaga→ tidak cerdas maupun efisien.

Mampu menyelesaikan hampir sebagian besar permasalahan berskala kecil.

(4)

Brute Force (Lanjutan)

Contoh

Perhitunganan, dimanaa>0 dan n adalah bilangan bulat tak negatif.

an=

(

a×...×a jikan >0

0 jikan = 0

Perhitungann!, dimanan adalah bilangan bulat tak negatif.

n! =

(

1×2×3×...×n jikan>0

(5)

Seleksi Pengurutan dan

Buble Sort

Seleksi Pengurutan Cara kerja :

Cari data terkecil dari data pertama hingga ke-n.

Data terkecil tersebut ditukar dengan data pertama (data pertama memiliki nilai terkecil).

Ulangi : Cari data terkecil kembali dari data kedua hingga ke-n.

Data terkecil tersebut ditukar dengan data kedua (data kedua memiliki nilai terkecil).

Ulangi sampai berakhir ke-n.

Misal Posisi Awal :

Ai, ....,Amin, ...,An−1

Posisi Akhir :

(6)

Seleksi Pengurutan dan

Buble Sort

Algoritma Seleksi Pengurutan

Input: sebuah arrayA[0..n−1] elemen random

Output: ArrayA[0..n−1] diurutkan secaraascending

(7)

Seleksi Pengurutan dan

Buble Sort

Buble Sort

Urutan data →perbandingan elemen saat ini dengan elemen

berikutnya.

Jika elemen saat ini lebih besar dari elemen berikutnya, maka elemen tersebut ditukar (kasus ascending).

Jika elemen saat ini lebih kecil dari elemen berikutnya, maka elemen

tersebut ditukar (kasus descending).

Proses ini berakhir ketika seluruh array telah diperiksa dan tidak ada pertukaran lagi.

Misal Posisi Awal :

A0, ....,Aj ↔Aj+1, ...,An−i−1

Posisi Akhir :

(8)

Seleksi Pengurutan dan

Buble Sort

Algoritma Buble Sort

Input: sebuah arrayA[0..n−1] elemen random

Output: ArrayA[0..n−1] diurutkan secaraascending

(9)

Pencarian Sekuensial dan Pencocokan String

Pencarian Sekuensial

Melakukan perbandingan satu per satu secara berurutan dalam kumpulan data dengan data yang dicari hinggi ditemukan atau tidak. Umumnya, pencarian dilakukan secara perulangan dari 1 hingga jumlah data (n).

Setiap perulangan, data ke-i akan dibandingankan dengan data yang dicari.

(10)

Pencarian Sekuensial dan Pencocokan String

Algoritma Pencarian Sekuensial

Input: sebuah array dengannelemen random dan sebuah

data pencarianK

Output: Elemen indeks dari ArrayA[0..n−1] dimana

nilainya sama dengan K atau -1 bila tidak ditemukan

begin

(11)

Pencarian Sekuensial dan Pencocokan String

Pencocokan String

Diberikan teks merupaan string dengan n karakter dan pola

merupakan substring dari teks dengan m karakter (m≤n).

Algoritma brute force mulai mencocokan pola pada teks awal dari kiri

ke kanan per karakter hinga terpenuhi.

(12)

Pencarian Sekuensial dan Pencocokan String

Algoritma Pencocokan String

Input: sebuah arrayT[0,n−1] darinkarakter sebagai teks

sebuah arrayT[0,m−1] darimkarakter sebagai pola

Output: indeks dari karakter pertama dalam teks yang

cocok dengan pola atau−1 bila tidak cocok

begin

Best-Case: Ω(n).

(13)

Permasalahan Pasangan Terdekat dan

Convex-Hull

Permasalahan Pasangan Terdekat

Menyelesaikan permasalahan jarak antara titik koordinat.

Banyak diterapkan dalam bidang geometri untuk menentukan jarak pesawat (agar tidak terjadi tabrakan), pencarian lokasi untuk pembuatan kantor pos, dan beberapa bidang lainnya.

Ada kaitannya dengan proses kluster.

Brute Force : menghitung jarak antara koordinat dan mencari jarak terdekat.

Jarak Euclidean (2 Dimensi)

d(pi,pj) = q

(xi−xj)2+ (yi−yj)2

(14)

Permasalahan Pasangan Terdekat dan

Convex-Hull

Algoritma Pasangan Terdekat

Input: sebuah listPdarin(n≤2) poin

p1(x1,y1), ...,pn(xn,yn)

Output: Jarak terdekat diantara koordinat

(15)

Permasalahan Pasangan Terdekat dan

Convex-Hull

Permasalahan Convex-Hull

Berkaitan erat dengan geometri.

Menghubungkan setiap koordinat titik hingga membentuk bidang tertentu.

Pencarian titik-titik awal dapat dilakukan dengan memilih titik yang memiliki komponen koordinat ekstrim.

Algoritma

1 Memilih titik pertama.

2 Memilih titik berikutnya, berdasarkan definisi :

Jika dibuat garis dengan titik sebelumnya maka seluruh titik lainnya tidak ada yang berada disebelah kiri.

(16)

Permasalahan Pasangan Terdekat dan

Convex-Hull

Contoh Convex-Hull

Kompleksitas Waktu

Best-Case : Ω(mn).

(17)

Pencarian Exhaustive

Definisi

Teknik pencarian solusi secarabrute force untuk menyelesaikan

masalah yang melibatkan pencarian elemen dengan sifat khusus. Biasanya berkaitan erat dengan kombinatorik, seperti permutasi, kombinasi, atau himpunan bagian.

Langkah-langkah :

Enumerasi (list) setiap solusi yang mungkin dengan sistematis. Evaluasi setiap kemungkinan solusi satu per satu. Simpan solusi terbaik dan keluarkan solusi yang tidak layak.

Jika pencarian berakhir, umumkan solusi terbaik.

(18)

Contoh Pencarian Exhaustive

Travelling Salesman Problem (TSP)

Tujuan : mencari jarak (rute) terpendek dari kota asal ke kota tujuan atau kembali ke kota asal (setiap kota hanya dilewati satu kali). Ada kaitannya dengan sirkuit halmiton dengan bobot minimum.

(19)

Contoh Pencarian Exhaustive

Travelling Salesman Problem (TSP)

Darin simpul atau kota, maka diperlukan enumerasi sebanyak

(n−1)! rute yang memungkinkan untuk dianalisa jarak terpendeknya.

Kompleksitas Waktu : banyaknya enumerasi dikali dengan waktu menghitung bobot minimum setiap rute, dimana waktu menghitung

bobot minimum setiap rute adalah O(n). Sehingga, kompleksitas

waktunya adalah O(n.n!)

Dalam permasalahan ini, belum ada algoritma yang lebih baik

daripada pencarianexhaustive.

(20)

Contoh Pencarian Exhaustive

Permasalahan Knapsack

Tujuan : Mencari keuntungan maksimun ketika nilai obyek

dimasukkan kedalam knapsack (K) dengan kapasitas bobot wi dan

total bobot obyeknya tidak boleh melebihi kapasitasknapsack.

Dengan kata lain, mencari himpunan bagian dari keseluruhan obyek

yang muat masuk kedalamknapsack dengan keuntungan yang

maksimal.

Solusi permasalahan ini dalamn-tupel :

x ={x1,x2, ...,xn}

dimana, xi = 1 jika obyek ke-i dimasukkan ke dalam knapsack dan

(21)

Contoh Pencarian Exhaustive

dengan kendala :

n

w4= 5; p4 = 10 dengan kapasitas knapsackK = 16. Tentukan solusi dari

keuntungan maksimumnya ! (2n: himpunan bagian dan total bobot O(n),

(22)

Contoh Pencarian Exhaustive

Beberapa contoh lainnya

Permasalahan tugas→ mencari jumlah minimum waktu seseorang

dalam menyelesaikan beberapa tugasnya, sehingga efisiensi menjadi prioritas utama.

Pencarian DFS (Depth-First Search) →pencarian berdasarkan

kedalamannya.

Pencarian BFS (Breadth-First Search)→ pencarian berdasarkan

penyebarannya (atau levelnya).

Beberapa permasalahan exhaustive tidak dapat diselesaikan secara polinomial, sehingga ini adalah permasalahan NP

(23)

Catatan

Seluruh materi presentasi dapat didownload pada SIAKAD masing-masing atau link berikut :

https://sites.google.com/site/elsenronandosite/teaching Klik .

Apabila ada pertanyaan mengenai desain analisa algoritma dapat

(24)

Referensi

Dokumen terkait

Kadar glukosa darah rata-rata tikus sehat, tikus hasil induksi MLD-STZ dan tikus hasil terapi herbal spray Spirulina sp.. Perlakuan Rata-rata Glukosa

Kesan-kesan buruk lain : Tiada kesan yang penting atau bahaya kritikal yang diketahui.

Kajian Lingkungan Hidup Strategis yang selanjutnya disingkat KLHS adalah proses mengintegrasikan pembangunan berkelanjutan yang berwawasan lingkungan hidup dalam

dilihat pada Tabel 4.2 bahwa ekstrak lengkuas konsentrasi 10% berpengaruh terhadap penurunan jumlah bakteri ikan patin, angka kuman diperoleh hasil 2,01 x 10 3 koloni/g

Majene Provinsi Sulawesi Barat yang diangkat berdasarkan Surat Keputusan Bupati Majene Nomor : 981/HK/KEP-BUP/V/2012, tanggal 30 Mei 2012, mengumumkan pemenang sebagai

Sebuah genre film sering terdiri lebih dari satu genre karena banyak film yang mengabungkan elemen-elemen yang biasa terdapat dalam beberapa genre, atau film

Menurut penelitian yang dilakukan oleh Suyardi, Arifin, (2009) dalam karya tulis ilmiahnya yang berjudul “Gambaran anemia gizi dan kaitannya dengan asupan

Metode inkuiri adalah cara penyajian pelajaran yang memberi kesempatan kepada peserta didik untuk menemukan informasi dengan atau tanpa bantuan guru (Mulyani Sumantri,