• Tidak ada hasil yang ditemukan

Handout TIF207 Ch 3 Brute Force and Exhaustive Search

N/A
N/A
Protected

Academic year: 2017

Membagikan "Handout TIF207 Ch 3 Brute Force and Exhaustive Search"

Copied!
9
0
0

Teks penuh

(1)

1-1

Analisis Algoritma:

Fakultas Teknologi dan Desain Program Studi Teknik Informatika

Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rdEdition, Pearson Education, Inc., Addison-Wesley

Bab 3: Brute Force and Exhaustive Search

Agenda.

• Definition

• Selection Sort and Bubble Sort • Sequential Search and Brute-Force Search • Closest-Pair and Convex-Hull Problems • Exhaustive Search

• Depth-First Search and Breath-First Search

Analisis Algoritma | 2

Definition

Brute force: “straightforward approach to solving a problem, usually directly based on the problem statement and definitions of the concepts involved.”

• Force = just do it!

• Konsep brute-force merupakan strategi yang paling mudah untuk diterapkan.

Selection Sort and Bubble Sort

Selection Sort.

• Metode pengurutan (sorting) dengan cara membandingkan setiap elemen yang terdapat dalam sebuah deret untuk dapat

menentukan elemen yang tepat untuk diletakkan pada posisi

yang telah ditentukan. • Operasi selection sort:

1. membandingkan elemen yang diamati dengan elemen berikutnya hingga elemen terakhir;

(2)

Selection Sort and Bubble Sort

Contoh kasus: Selection sort. 89 12 57 16 25

Problem: Tentukan prosedur pengurutan deret secara ascending menggunakan metode sorting selection sort?

Latihan 1.

Kasus: Selection sort.

Problem 1: Berdasarkan deret elemen pada contoh kasus di atas, tentukanlah banyaknya iterasi sortir yang dihasilkan!

Analisis Algoritma | 5

Selection Sort and Bubble Sort

Problem 2: Berdasarkan deret elemen pada contoh kasus di atas, jika urutan elemen deret diubah menjadi 25 57 12 89 16, berapakah banyaknya iterasi sortir yang dihasilkan?

Problem 3: Kemudian, jika urutan elemen deret diubah kembali menjadi 16 25 57 12 89, berapakah banyaknya iterasi sortir yang dihasilkan?

Problem 4: Berdasarkan problem 1, 2, dan 3, tentukanlah persamaan untuk menentukan banyaknya iterasi proses sortir selection sort ketiga deret tersebut, jika �merupakan banyaknya elemen deret!

Analisis Algoritma | 6

Selection Sort and Bubble Sort

Bubble Sort.

• Merupakan sebuah metode pengurutan (sorting) dengan cara membandingkan pasangan elemen-elemen yang saling berdampingan dalam sebuah deret dan saling bertukar posisi ke urutan depan/atas (bubbling up)

• Operasi bubble sort:

1. membandingkan pasangan-pasangan elemen yang diamati dengan elemen berikutnya hingga elemen terakhir;

Selection Sort and Bubble Sort

2. jika ditemukan, kemudian tukarkan posisinya;

Contoh kasus: Bubble sort. 89 12 57 16 25

Problem: Tentukan prosedur pengurutan deret secara ascending menggunakan metode sorting bubble sort?

Latihan 2.

Kasus: Bubble sort.

(3)

Selection Sort and Bubble Sort

Problem 2: Berdasarkan deret elemen pada contoh kasus di atas, jika urutan elemen deret diubah menjadi 25 57 12 89 16, berapakah banyaknya iterasi sortir yang dihasilkan?

Problem 3: Kemudian, jika urutan elemen deret diubah kembali menjadi 16 25 57 12 89, berapakah banyaknya iterasi sortir yang dihasilkan?

Problem 4: Berdasarkan problem 1, 2, dan 3, tentukanlah persamaan untuk menentukan banyaknya iterasi proses sortir bubble sort ketiga deret tersebut, jika �merupakan banyaknya elemen deret!

Analisis Algoritma | 9

Selection Sort and Bubble Sort

Problem 5: Berdasarkan problem 5, tentukanlah persamaan untuk menentukan banyaknya operasi sortir bubble sort deret tersebut, jika � merupakan banyaknya elemen deret!

Analisis Algoritma | 10

Sequential Search and Brute-Force String Matching

Sequential Search.

• Melakukan pengulangan algoritma dengan membandingkan elemen satu dengan lainnya secara terus menerus menggunakan teknik tertentu hingga mendapatakan hasil yang diinginkan (successful search).

• Sebuah algoritma pencarian dikatakan tidak berhasil (unsuccessful search) jika lagortima tidak mencapai hasil yang diinginkan.

Sequential Search and Brute-Force String Matching

Brute-Force String Matching.

• Membandingkan string yang diamati dengan string pembanding untuk menentukan kebenaran string.

Latihan 3.

Kasus: Brute-Force String Matching.

(4)

Sequential Search and Brute-Force String Matching

Problem 2: Berdasarkan prosedur yang telah dibuat, tentukanlah pseudocode untuk menguji kebenaran penulisan string kata “belajr” dari string pembanding “belajar”!

Analisis Algoritma | 13

Closest-Pair and Convex-Hull Problems

Closest-Pair Problem.

• Closest-pair problem digunakan untuk menemukan 2 poin terdekat dari sekumpulan �nilai.

Contoh kasus: Closest-pair problem

Analisis Algoritma | 14

Problem: Perhatikan gambar berikut kemudian tentukan pasangan lokasi terdekat lokasi pengumpulan paket, jika kurir berada pada posisi X dan jarak X ke setiap agen paket secara berturut adalah: (X,A,4), (X,B,7), (X,C,9), (X,D,5), (X,E,8), (X,F,6)

Closest-Pair and Convex-Hull Problems

Latihan 4.

Problem 1: Berdasarkan contoh problem diatas, tentukan prosedur untuk menentukan kedua pasangan poin tersebut!

Closest-Pair and Convex-Hull Problems

Convex-Hull Problem.

(5)

Closest-Pair and Convex-Hull Problems

Convex-Hull Problem.

• Convex hull, adalah himpunan dari sejumlah �poin yang merupakan bagian terkecil dari convex set.

• Contoh convex hull:

Analisis Algoritma | 17

Closest-Pair and Convex-Hull Problems

Contoh kasus: Convex-hull problem

Analisis Algoritma | 18

Problem: Perhatikan struktur poin-poin pada gambar di samping berikut, kemudian tentukan himpunan poin-poin yang merupakan convex-set dan convex-hull!

Closest-Pair and Convex-Hull Problems

Latihan 5.

Problem 1: Diketahui sebuah deret memiliki elemen dari 1 s.d. 15, jika poin-poin pembentuk convex-set adalah himpunan deret elemen bilangan ganjil dan convex-hull himpunan deret elemen bilangan genap, tentukanlah prosedur untuk menentukan himpunan-himpunan pembentuk convex-set dan convex-hull tersebut!

Problem 2: Tentukanlah pseudocode untuk menampilkan himpunan poin-poin convex-set dan convex-hull berdasarkan problem 1!

Exhaustive Search

• Exhaustive search merupakan sebuah pendekatan brute-force untuk menyelesaikan permasalahan kombinatorial. • Kombinatorial digunakan untuk menentukan jumlah cara

pengaturan objek-objek penyusun yang ada, dimana objek tersebut merupakan objek diskrit.

(6)

Exhaustive Search

Traveling Salesman Problem (TSP).

• Merupakan sebuah permasalahan dalam exhaustive search yang menarik bagi banyak peneliti.

• Permasalahan TSP adalah untuk menentukan rute terpendek dari kumpulan kota yang diberikan, dimana setiap kota hanya

diperbolehkan untuk disinggahi tepat satu kali sebelum

kembali ke kota asal.

• Permasalahan ini dapat disajikan dalam bentuk weighted graph.

Analisis Algoritma | 21

Contoh kasus: Traveling Saleman Problem

Problem: Tentukan rute terpendek

pengiriman paket dari kota A ke setiap kota dan kembali ke kota A, dimana setiap kota hanya diperbolehkan disinggahi tepat 1 kali! Jarak antar kota diperlihatkan dalam graph di samping ini.

Exhaustive Search

Analisis Algoritma | 22

Exhaustive Search

Latihan 6.

Problem 1: Lakukan hal yang sama seperti pada problem sebelumnya jika letak kota ditunjukkan seperti 2 gambar graph di bawah ini.

1 3

Exhaustive Search

Problem 3: Perhatikan jumlah jalur terpendek dari setiap graph yang ada. Apakah setiap graph memiliki jalur terpendek yang sama banyak? Jika ya, tentukan formula untuk menentukan banyaknya jalur terpendek untuk sembarang julah node yang saling terhubung dalam sebuah graph!

(7)

Exhaustive Search

Knapsack Problem.

• Sebuah permasalahan lain yang menggunaan exhaustive search yang digunakan untuk menentukan subset yang paling berharga (memiliki weight (beban) tinggi) yang dapat dimuati ke dalam ransel (knapsack).

• Memiliki buah elemen yang masing-masing memiliki we�g�t

: , , , … dan value : , , , … dan sebuah

kapasitas knapsack �

Analisis Algoritma | 25

Exhaustive Search

Contoh kasus: Knapsack problem.

Problem: Tentukan total hasil curian tertinggi dari beberapa lokasi berikut!

Analisis Algoritma | 26

Exhaustive Search

Assignment Problem.

• Contoh permasalahan jenis exhaustive search yang digunakan untuk menentukan nilai paling efisien sebuah kasus. • Memiliki buah elemen yang masing-masing memiliki kaitan

terhadap buah nilai dan sebuah �nilai efisien yang disajikan dalam bentuk matriks 2D �[ , ].

Exhaustive Search

Contoh kasus: Assignment problem.

(8)

Exhaustive Search

Latihan 7.

Problem 1: lakukan hal yang sama seperti problem di sebelumnya jika setiap tugas/job/task yang memiliki biayanya masing-masing seperti tertuang dalam tabel di bawah ini!

Analisis Algoritma | 29

Depth-First Search and Breadth-First Search

Depth-First Search (DFS).

• Merupakan algoritma pencarian dengan melakukan kunjungan (visit) ke setiap node dan menandai node jika telah dikunjungi (visited).

• Node satu dengan node lainnya yang dapat saling terhubung maupun saling lepas.

• Dua buah node dikatakan saling terhubung, apabila node tersebut dihubungkan dengan sebuah garis/line/vertex.

Analisis Algoritma | 30

Depth-First Search and Breadth-First Search

• Kunjungan dapat berujung pada node yang tidak terhubung dengan node lainnya (buntu) .

• Jika kunjungan berujung pada kondisi buntu, maka penelusuran akan kembali satu node diatasnya, kemudian dicatat urutan. • Dengan demikian setiap node akan memiliki 2 buah nilai urutan

kunjungan; (1) nilai urutan kunjungan (x), dan (2) nilai urutan sebuah node ketika kunjungan berujung pada kondisi buntu (y). • Dapat dinotasikan dengan < > ,

Depth-First Search and Breadth-First Search

Contoh kasus: Depth-First Search (DFS).

(9)

Depth-First Search and Breadth-First Search

Analisis Algoritma | 33

Latihan 8.

Problem 1: Perhatikan labirin di samping ini, kemudian:

1. gambarkan tree hubungan setiap node!,

2. tentukan nilai x dan y setiap node jika dilakukan penelusuran menggunakan konsep DFS!,

3. berdasarkan konsep DFS, jika dimisalkan sebuah robot diletakkan di node A dan harus mencari jalan keluar menuju node akhir dalam labirin tersbut, maka tentukan jalur lintasan robot tersebut!,

4. bagaimanakah cara menentukan jalur lintasan robot tersebut?

Depth-First Search and Breadth-First Search

Analisis Algoritma | 34

Depth-First Search and Breadth-First Search

Breadth-First Search (BFS).

• Merupakan algoritma pencarian dengan melakukan kunjungan (visit) ke semua node yang berada pada level teratas, kemudian kunjungan dilakukan ke semua node dibawahnya level per level dan menandai urutan node yang dikunjungi pada setiap levelnya. • Contoh kasus: Breadth-First Search (BFS).

Problem: Berdasarkan problem 1 pada latihan 8 sebelumnya, jelaskan bagaimana bagaimanakah cara menentukan jalur lintasan robot tersebut berdasarkan konsep BSF?

Analisis Algoritma:

Referensi

Dokumen terkait

Penelitian menggunakan 60 ekor ayam pedaging, dua puluh ekor ayam di awal penelitian diambil darahnya untuk pengamatan titer antibodi asal induk terhadap infeksi virus

Setelah melakukan analisis dan penelitian terhadap sistem yang sedang berjalan pada bagian penjualan dan bagian akuntansi pada PT Trisakti Manunggal Jaya

2 Wakil Dekan Bidang I SALINAN TERKENDALI 02 3 Wakil Dekan Bidang II SALINAN TERKENDALI 03 4 Manajer Pendidikan SALINAN TERKENDALI 04 5 Manajer Riset dan Pengabdian

Pengawasan kualitas merupakan alat bagi manajemen untuk memperbaiki kualitas produk bila dipergunakan, mempertahankan kualitas produk yang sudah tinggi dan

`Setelah dilakukan penelitian tentang tingkat ketergantungan pada gadget dengan perilaku siswa SMPN 36 Bulukumba dapat disimpulkan bahwa tingkat ketergantungan pada

Para PNS lingkungan Kecamatan dan Kelurahan wajib apel pagi setiap hari senin di Halaman Kantor Kecamatan Kebayoran Baru, dan akan diberikan teguran kepada yang tidak ikut apel

Sehingga dapat disimpulkan bahwa H 0 ditolak, yang artinya secara simultan perubahan laba bersih, perubahan arus kas operasi, perubahan arus kas investasi, perubahan

Banyaknya konsumen yang menginginkan kebutuhannya terpenuhi dengan mengorbankan sejumlah uangnya , konsumen tidak segan-segan memilih tempat atau rumah makan yang menurutnya