Algoritma Brute Force.

Slides:



Advertisements
Presentasi serupa
Berapakah jumlah dari n bilangan ganjil positif pertama?
Advertisements

Pertemuan ke 9.
Algoritma Runut-balik (Backtracking)
Design and Analysis of Algorithm Back Track Algorithm
Algoritma Brute Force Oleh: Rinaldi Munir
Outline Definisi Prinsip Induksi Sederhana
Desain dan Analisis Algoritma
Design and Analysis Algorithm
BAB V ALGORITMA DAN BILANGAN BULAT
Algoritma Brute Force Oleh: Rinaldi Munir
Algoritma Brute Force (lanjutan)
Algoritma Brute Force Oleh: Rinaldi Munir
8. BARISAN DAN DERET.
Algoritma Divide and Conquer (Bagian 1) Wahyul Wahidah Maulida, ST., M.Eng.
12-CRS-0106 REVISED 8 FEB 2013 CSG523/ Desain dan Analisis Algoritma Divide and Conquer Intelligence, Computing, Multimedia (ICM)
nilai mutlak dan pertidaksamaan
Algoritma Brute Force Oleh: Muhammad Musta’in ( )
Definisi Induksi matematika adalah :
Algoritma dan Pemrograman – Pertemuan 3 & 4 Sorting (Pengurutan)
Perbandingan Algoritma Brute Force dan Depth First Search (DFS) dalam Kasus Travelling Salesman Problem (TSP) Ervin Yohannes ( )
Algoritma Brute Force.
Pembelajaran 1 F U N G S I Analisis Real 2.
Algoritma Bruteforce Team Fasilkom.
Induksi Matematik.
ALJABAR LINIER WEEK 2. MATRIKS
CSG3F3/ Desain dan Analisis Algoritma
Model Linear dan Aljabar Matriks
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
MATERI PERKULIAHAN ANALISIS ALGORITMA
SISTEM PERSAMAAN LINIER SIMULTAN
Algoritma Divide and Conquer
Sistem Bilangan Real.
Pertemuan ke 9.
Algoritma Bruteforce (disarikan dari diktat Strategi Algoritma, Rinaldi Munir) Team Fasilkom.
Exhaustive Search.
Definisi Induksi matematika adalah :
Pertemuan 4 ALGORITMA lanjutan….
BAB 4 INDUKSI MATEMATIKA.
Induksi Matematika.
Induksi Matematika Sesi
Sistem Bilangan Riil.
FAKULTAS SAINS DAN TEKNOLOGI
Induksi Matematik  .
JENIS - JENIS BILANGAN BULAT
MATRIKS dan DETERMINASI
Desain dan Analisis Algoritma
Pertemuan ke 9.
Kebijaksanaan Hanya dapat ditemukan dalam kebenaran
Induksi Matematika.
Masalah Penugasan (Assignment Problem)
ALGORITMA BRUTE FORCE Pertemuan 3.
Algoritma Brute Force.
1. Bentuk Pangkat, Akar, dan logaritma
Sistem Persamaan Linear
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Berapakah jumlah dari n bilangan ganjil positif pertama?
Aljabar Linier Oleh Ir. Dra. Wartini.
SOAL QUIZ LOGIKA DAN ALGORITMA.
Sistem Bilangan Riil.
Algoritma Divide and Conquer
Induksi Matematik Pertemuan 7 Induksi Matematik.
Algoritma Divide and Conquer
Sistem Bilangan Riil.
Induksi Matematika Sesi
Sistem Bilangan Riil Contoh soal no. 5 susah. Kerjakan juga lat.soal.
Pertemuan ke 9.
Desain dan Analisis Algoritma
Matematika Diskrit Oleh: Taufik Hidayat
Transcript presentasi:

Algoritma Brute Force

Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way).

Contoh-contoh Brute Force Menghitung an (a > 0, n adalah bilangan bulat tak-negatif) an = a x a x … x a (n kali) , jika n > 0 = 1 , jika n = 0 Algoritma: kalikan 1 dengan a sebanyak n kali

2. Menghitung n! (n bilangan bulat tak-negatif) n! = 1 × 2 × 3 × … × n , jika n > 0 = 1 , jika n = 0 Algoritma: kalikan n buah bilangan, yaitu 1, 2, 3, …, n, bersama-sama

3. Mengalikan dua buah matrik yang berukuran n × n. Misalkan C = A × B dan elemen-elemen matrik dinyatakan sebagai cij, aij, dan bij Algoritma: hitung setiap elemen hasil perkalian satu per satu, dengan cara mengalikan dua vektor yang panjangnya n.

Adakah algoritma perkalian matriks yang lebih mangkus daripada brute force?

Menemukan semua faktor dari bilangan bulat n selain dari 1 dan n itu sendiri. Definisi: Bilangan bulat a adalah faktor dari bilangan bulat b jika a habis membagi b.

Adakah algoritma pemfaktoran yang lebih baik daripada brute force?

Mencari elemen terbesar (atau terkecil) Persoalan: Diberikan sebuah himpunan yang beranggotakan n buah bilangan bulat. Bilangan-bilangan bulat tersebut dinyatakan sebagai a1, a2, …, an. Carilah elemen terbesar di dalam himpunan tersebut.

Kompleksitas algoritma ini adalah O(n).

Sequential Search Persoalan: Diberikan n buah bilangan bulat yang dinyatakan sebagai a1, a2, …, an. Carilah apakah x terdapat di dalam himpunan bilangan bulat tersebut. Jika x ditemukan, maka lokasi (indeks) elemen yang bernilai x disimpan di dalam peubah idx. Jika x tidak terdapat di dalam himpunan tersebut, maka idx diisi dengan nilai 0.

Kompleksitas algoritma ini adalah O(n). Adakah algoritma pencarian elemen yang lebih mangkus daripada brute force?

Bubble Sort Apa metode yang paling lempang dalam memecahkan masalah pengurutan? Jawabnya adalah algoritma pengurutan bubble sort. Algoritma bubble sort mengimplementasikan teknik brute force dengan jelas sekali.

Kompleksitas algoritma ini adalah O(n2). Adakah algoritma pengurutan elemen elemen yang lebih mangkus daripada brute force?

8. Uji keprimaan Persoalan: Diberikan sebuah bilangan bilangan bulat positif. Ujilah apakah bilangan tersebut merupakan bilangan prima atau bukan.

Adakah algoritma pengujian bilangan prima yang lebih mangkus daripada brute force?

Menghitung nilai polinom secara brute force Persoalan: Hitung nilai polinom p(x) = anxn + an-1xn-1 + … + a1x + a0 pada titik x = x0.

Kompleksitas algoritma ini adalah O(n2).

Perbaikan (improve): Kompleksitas algoritma ini adalah O(n). Adakah algoritma perhitungan nilai polinom yang lebih mangkus daripada brute force?

Karakteristik Algoritma Brute Force Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus, karena ia membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-kadang algoritma brute force disebut juga algoritma naif (naïve algorithm). Algoritma brute force seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar, keteraturan, atau trik-trik khusus, biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus.

Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang mangkus.

Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).