Design and Analysis of Algorithm
|
|
- Yohanes Kartawijaya
- 7 tahun lalu
- Tontonan:
Transkripsi
1 Design and Analysis of Algorithm Week 6: Brute Force Algorithm Part 1: Design Strategy Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 43
2 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 43
3 Exercise 1 Tentukanlah kompleksitas waktu asimtotik menggunakan metode karakteristik. Exercise: diberikan relasi rekursi dari masalah Barisan Fibonacci berikut 0, n = 0 T (n) = 1, n = 1 (1.1) T (n 1) + T (n 2), n 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 43
4 Exercise 2 Tentukanlah kompleksitas waktu asimtotik menggunakan metode karakteristik. Exercise: diberikan relasi rekursi berikut 0, n = 0 1, n = 1 T (n) = 2, n = 2 7T (n 1) 15T (n 2) + 9T (n 3), n 3 (1.2) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 43
5 Exercise 3 Tentukanlah kompleksitas waktu asimtotik menggunakan metode karakteristik. Exercise: diberikan relasi rekursi berikut (QUIZ II semster lalu) T (n) = 0, n = , n = 1 49T ( n 7 ) n, n 2 (1.3) Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 43
6 Teorema Master Pembahasan menggunakan metode karakteristik untuk algoritma rekursif pada bab sebelumnya hanya berlaku untuk kasus umum. Kasus khusus yakni untuk strategi Divide & Conquer, Kompleksitas waktu asimtotik dapat dicari menggunakan teorema Master Theorem (Master) Untuk suatu general Divide and Conquer recurrence: ( n ) T (n) = at + f (n) (1.4) b Jika f (n) O(n d ) dengan d 0, dalam persamaan general Divide and Conquer recurrence di atas, maka O(n d ) a < b d T (n) O(n d log n) a = b d (1.5) O(n b log a ) a > b d Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 43
7 Teorema Master Exercise Gunakan Teorema Master untuk mencari kompleksitas waktu asimtotik pada relasi rekursi untuk masalah Minimum dan Maksimum di bawah ini: 0, n = 1 T (n) = 1, n = 2 2T ( (1.6) ) n 2 + 2, n > 2 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 43
8 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 43
9 Introduction Setelah pemaparan analisi algoritma, maka akan dilanjutkan dengan strategi mendesain sutau algoritma. Bab ini ditujukan untuk berbagai macam strategi yang ada pada algoritma tipe Brute Force. Berikut adalah definisi dari Brute Force: Definition (Levitin) Brute force is a straightforward approach to solving a problem, usually directly based on the problem statement and definitions of the concepts involved. Definition (Levitin) Brute force adalah pendekatan yang langsung/lempeng untuk menyelesaikan suatu masalah, biasanya secara langusng sesuai dengan pernyataan masalah dan definisi dari konsep yang ada. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 43
10 Introduction Kata force mempengaruhi definisi strategi yaitu suatu mesin/robot/komputer bukan sesutu yang berbau pintar( intelligent). Just do it! dapat merupakan cara lain untuk mendeskripsikan pengertian dari brute force. dan tentu saja strategi brute-force merupakan strategi yang paling mudah diaplikasikan. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 43
11 Introduction Sebagai contoh, misalkan masalah eksponensial: Hitung a n untuk a R {0} dan n Z +. Meskipun masalah ini terlihat trivial, akana tetapi masalah ini dapat digunakan sebagai ilustrasi dari mendesain strategi suatu algoritma, dalam hal ini bisa dalam brute force. Secara definisi a n = a a a }{{} n kali (2.1) Dari definisi diatas, maka agoritma brute force akan mengalikan a sebanyak n kali. Dan, tentu saja dengan cara ini akan mendapatkan O(n). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 43
12 Introduction Jika tidak menggunakan brute force, maka waktu asimtotiknya dapat diperkecil seperti pada contoh -contoh berikut berikut: Example Bilangan n dapat direpresentasikan menjadi bilangan 2 pangkat sehingga n = 2 k k km a n = a 2k1 + a 2k2 + + a 2km dengan kompleksitas waktu yang digunakan adalah O(log n). Sebagai contoh hitung a 25, maka (25) 10 = (11001) 2 yang dapat direpresentasikan menjadi bilangan biner sehingga: a 25 = a 4 + a a 0. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 43
13 Introduction Example Contoh lain dengan kompleksitas waktu O(log n) adalah { f (x) = a n (a n/2 )(a n/2 ) (n mod 2 = 0), = a(a n 1 2 )(a n 1 2 ) otherwise, Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 43
14 Introduction Example Contoh lain bentuk rekursif dengan kompleksitas waktu O(log n) adalah { f (x) = a n a(a 2 ) n 1 2 if n ganjil, = (a 2 ) n 2 if n genap, Dari contoh di atas dapat kita simpulkan bahwa, brute force, memecahkan masalah dengan sangat sederhana, langsung, dan dengan cara yang jelas (obvious way). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 43
15 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 43
16 Example 1 Menghitung n! untuk n Z + + {0}. Algoritma untuk menghitung faktorial adalah { 1, n = 0 n! = n (n 1) 2 1, n 1 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 43
17 Example 2 Menghitung perkalian dua buah matrix yang berukuran n n. Misalkan C = AB dan elemen-elemen matrik dinyatakan sebagai c ij, a ij, dan b ij c ij = a i1 b 1j + a i2 b 2j + + a in b nj = n a ik b kj Algoritma: hitung setiap elemen hasil perkalian satu persatu, dengan cara mengalikan dua vektor yang panjangnya n. k=1 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 43
18 Example 3 Menemukan semua faktor dari bilangan bulat n selain 1 dan n itu sendiri. int tag ; int f a c t o r s ( int n ) { int a [ ] ; for ( int i =1; i <=n / 2 ; i ++) if ( n%i ==0) a[++tag ]= i ; a[++tag ]=n ; return ( a ) ; } Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 43
19 /* If there are more than one elements, then initialize min and max */ if ( a r r [ 0 ] > a r r [ 1 ] ) { minmax. max = a r r [ 0 ] ; minmax. min = a r r [ 1 ] ; } Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 43 Example 4 Mencari elemen terbesar atau terkecil. struct p a i r getminmax ( int a r r [ ], int n ) { struct p a i r minmax ; int i ; /* If there is only one element then return it as min and max b if ( n == 1) { minmax. max = a r r [ 0 ] ; minmax. min = a r r [ 0 ] ; return minmax ; }
20 Example 4 Cont else { minmax. max = a r r [ 1 ] ; minmax. min = a r r [ 0 ] ; } for ( i = 2 ; i <n ; i ++) { if ( a r r [ i ] > minmax. max ) minmax. max = a r r [ i ] ; } else if ( a r r [ i ] < minmax. min ) minmax. min = a r r [ i ] ; } return minmax ; Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 43
21 Example 5 Sequential Search: Diberikan n buah bilangan bulat yang dinyatakan sebagain {a 1, a 2,, a n }. Carilah apakah x terdapat di dalam himpunan bilangan bulat tersebut. Jika x ditemukan, maka lokasi index elemen yang bernilai x disimpan di dalam peubah idx. Jika x tidak terdapat di dalam himpunan tersebut, maka idx diisi dengan nilai 0. Sequential/Linear Search ( Array A, Value x) Step 1: Set i to 1 Step 2: if i > n then go to step 7 Step 3: if A[i] = x then go to step 6 Step 4: Set i to i + 1 Step 5: Go to Step 2 Step 6: Print Element x Found at index i and go to step 8 Step 7: Print element not found Step 8: Exit Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 43
22 Example 6 Bubble Sort: Apa metode yang paling lempeng dalam memecahkan masalah pengurutan? Jawabannya adalah algoritma bubble sort. Algoritma bubble sort mengimplementasikan teknik brute force dengan jelas sekali Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 43
23 Example 6 Cont b e g i n B u bblesort ( l i s t ) for a l l e l e m e n t s o f l i s t if l i s t [ i ] > l i s t [ i +1] swap ( l i s t [ i ], l i s t [ i +1]) end if end for return l i s t end B u b b l e S o r t Bubble sort sendiri merupakan algoritma pengurutan data yang paling sederhana. Algoritma ini membandingkan elemen bertetanggan dan menukarkannya jika tidak dalam urutan yang benar. Algoritma ini tidak cocok digunakan untuk data set yang besar karena memiliki waktu terburuk (worst case complexity) O(n 2 ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 43
24 Example 7 Uji keprimaan: Persoalan: Diberikan sebuah bilangan bulat positif. Ujilah apakah bilangan tersebut merupakan bilangan prima atau bukan. function is_prime(n) if n 1 return false else if n 3 return true else if n mod 2 = 0 or n mod 3 = 0 return false let i 5 while i * i n if n mod i = 0 or n mod (i + 2) = 0 return false i i + 6 return true Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 43
25 Example 8 Menghitung nilai polinom secara brute force Persolana: Hitung nilai polinom: pada titik x = x 0. p(x) = a n x n + a n 1 x n a 1 x + a 0 Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 43
26 Example 9 Pencocokan string: Persoalan : Diberikan teks ( text ), yaitu ( long ) string yang panjangnya n karakter. 1 pattern, yaitu string dengan panjang m karakter ( m < n ) yang akan dicari di dalam teks. 2 Kemudian, carilah lokasi pertama di dalam teks yang bersesuaian dengan pattern. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 26 / 43
27 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
28 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
29 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
30 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
31 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT 5 NOT r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
32 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT 5 NOT 6 NOT r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
33 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT 5 NOT 6 NOT 7 NOT r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
34 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT 5 NOT 6 NOT 7 NOT 8 NOT r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
35 Example 9 Cont Example (String) Example Pattern : NOT Teks : NOBODY NOTICED HIM 1 NOBODY NOTICED HIM 2 NOT 3 NOT 4 NOT 5 NOT 6 NOT 7 NOT 8 NOT 9 NOT r. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 43
36 Example 10 Mencari pasangan titik terdekat: Diberikan sembarang titik dalam 2D atau 3D, lalu carilah dua pasang titik yang memiliki jarak terkecil. Contoh dalam 2D lihat pada gambar berikut: Figure : Contoh sebaran 6 titik pada domain kartesian. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 43
37 Example 10 Cont Jarak dua buah titik di bidang 2-D dengan P 1 = (x 1, y 1 ) dan P 2 = (x 2, y 2 ) dapat dicari menggunakan rumus Euclidian: d(p 1, P 2 ) = P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 Algoritma brute force: 1. Hitung jarak setiap pasang titik. 2. Pasangan titik yang memepunyai jarak terpendek itulah jawabnnya. Algortma brute force akan menghitung sebanyak C(n, 2) = n (n 1) 2 pasangan titik dan memeilih pasangan titik yang mempunyai jarak terkecil. Kompleksitas waktu algoritma ini adalah O(n 2 ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 43
38 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 43
39 Karakteristik Berikut adalah karakteristik algoritma brute force: Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
40 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
41 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). 2 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. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
42 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). 2 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. 3 Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan dari pada ketidakmangkusannya. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
43 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). 2 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. 3 Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan dari pada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan dengan beberapa alternatif algoritma yang mangkus. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
44 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). 2 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. 3 Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan dari pada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan dengan beberapa alternatif algoritma yang mangkus. 4 Algoritma brute force seringkali lebih mudah diimplementasikan dari pada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
45 Karakteristik Berikut adalah karakteristik algoritma brute force: 1 Algoritma brute force umumnya tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang - kadang algoritma brute force disebut juga algoritma naif ( naive algorithm ). 2 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. 3 Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan dari pada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan dengan beberapa alternatif algoritma yang mangkus. 4 Algoritma brute force seringkali lebih mudah diimplementasikan dari pada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 43
46 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 43
47 Kekuatan Berikut akan diberikan beberapa kekuatan dan kelemahan dari menggunakan algoritma brute force. Kekuatan: Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 43
48 Kekuatan Berikut akan diberikan beberapa kekuatan dan kelemahan dari menggunakan algoritma brute force. Kekuatan: 1 Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah ( wide applicability ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 43
49 Kekuatan Berikut akan diberikan beberapa kekuatan dan kelemahan dari menggunakan algoritma brute force. Kekuatan: 1 Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah ( wide applicability ). 2 Metode brute force sederhana dan mudah dimengerti. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 43
50 Kekuatan Berikut akan diberikan beberapa kekuatan dan kelemahan dari menggunakan algoritma brute force. Kekuatan: 1 Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah ( wide applicability ). 2 Metode brute force sederhana dan mudah dimengerti. 3 Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 43
51 Kekuatan Berikut akan diberikan beberapa kekuatan dan kelemahan dari menggunakan algoritma brute force. Kekuatan: 1 Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah ( wide applicability ). 2 Metode brute force sederhana dan mudah dimengerti. 3 Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks. 4 Metode brute force menghasilkan algoritma baku (standard) untuk tugas - tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau maksimum di dalam tabel ( list ). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 43
52 Kelemahan Sedangkan Kelemhan: 1 Metode brute force jarang menghasilkan algoritma yang mangkus. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 43
53 Kelemahan Sedangkan Kelemhan: 1 Metode brute force jarang menghasilkan algoritma yang mangkus. 2 Beberapa algoritma brute force lambat sehingga tidak dapat diterima. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 43
54 Kelemahan Sedangkan Kelemhan: 1 Metode brute force jarang menghasilkan algoritma yang mangkus. 2 Beberapa algoritma brute force lambat sehingga tidak dapat diterima. 3 Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 43
55 Kelemahan Sedangkan Kelemhan: 1 Metode brute force jarang menghasilkan algoritma yang mangkus. 2 Beberapa algoritma brute force lambat sehingga tidak dapat diterima. 3 Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya. 4 Ken Thompson ( salah seorang penemu Unix) mengatakan : When in doubt, use brute force, faktanya kernel Unix yang asli lebih menyukai algoritma yang sederhana dan kuat ( robust ) daripada algoritma yang cerdas tapi rapuh. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 43
56 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 35 / 43
57 References References 1 Anany, L. (2003). Introduction to the design and analysis of algorithms. Villanova University structures algorithms/bubble sort Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 36 / 43
58 Outline 1 Review 2 Introduction and Definitions Introduction and Definitions 3 Contoh-contoh algoritma brute force Contoh-contoh algoritma brute force 4 Karakteristik algoritma brute force Karakteristik algoritma brute force 5 Advantages and Disadvantages of brute force Algorithm Advantages and Disadvantages of brute force Algorithm 6 References References 7 Homeworks Homeworks Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 37 / 43
59 HM 1 Diberikan n titik pada daerah 2-D Euclidean, yaitu {p 1, p 2, p n }. Buatlah algoritma brute force untuk menentukan titik paling bawah dalam daerah 2-D Euclidean. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 38 / 43
60 HM 2 Consider the problem of counting, in a given text, the number of substrings that start with an A and end with a B. For example, there are four such substrings in CABAAXBYA. 1 Design a brute-force algorithm for this problem and determine its efficiency class. 2 Design a more efficient algorithm for this problem. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 39 / 43
61 HM 3 Word Find A popular diversion in the United States, word find (or word search) puzzles ask the player to find each of a given set of words in a square table filled with single letters. A word can read horizontally (left or right), vertically (up or down), or along a 45 degree diagonal (in any of the four directions) formed by consecutively adjacent cells of the table; it may wrap around the tables boundaries, but it must read in the same direction with no zigzagging. The same cell of the table may be used in different words, but, in a given word, the same cell may be used no more than once. Write a computer program for solving this puzzle. (See for more detail). Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 40 / 43
62 HM 4 1 Design a brute-force algorithm for computing the value of a polynomial p(x) = a n x n + a n 1 x n a 1 x + a 0 at a given point x 0 and determine its worst-case efficiency class. 2 If the algorithm you designed is in Θ(n 2 ), design a linear algorithm for this problem. 3 Is it possible to design an algorithm with a better-than-linear efficiency for this problem? Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 41 / 43
63 HM 5 Alternating disks You have a row of 2n disks of two colors, n dark and n light. They alternate: dark, light, dark, light, and so on. You want to get all the dark disks to the right-hand end, and all the light disks to the left-hand end. The only moves you are allowed to make are those that interchange the positions of two neighboring disks. Design an algorithm for solving this puzzle and determine the number of moves it takes. Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 42 / 43
64 The end of week 6 Thank you for your attention! Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 43 / 43
Design and Analysis of Algorithms CNH2G3- Week 6 Brute Force Algorithm Part 1: Design Strategy
Design and Analysis of Algorithms CNH2G3- Week 6 Brute Force Algorithm Part 1: Design Strategy Dr. Putu Harry Gunawan (PHN) Daftar Isi 1 Introduction and Definitions........................... 2 2 Contoh-contoh
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Lebih terperinciAlgoritma Brute Force
Algoritma Brute Force Deskripsi Materi ini membahas tentang algoritma brute force dengan berbagai studi kasus Definisi Brute Force Straighforward (lempeng) Sederhana dan jelas Lebih mempertimbangkan solusi
Lebih terperinciAlgoritma Brute Force
Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah
Lebih terperinciDesign and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik
Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Dr. Putu Harry Gunawan (PHN Review 1. Tentukan kompleksitas waktu Big-Oh untuk relasi
Lebih terperinciAlgoritma Brute Force (lanjutan)
Algoritma Brute Force (lanjutan) Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long) string yang panjangnya n karakter b. pattern, yaitu string dengan
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 4: Kompleksitas waktu algoritma rekursif part 1 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Lebih terperinciAlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)
AlgoritmaBrute Force Desain dan Analisis Algoritma (CS3024) Definisi Brute Force Brute forceadalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada
Lebih terperinciAlgoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir
Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah
Lebih terperinciAlgoritma Brute Force (lanjutan)
Algoritma Brute Force (lanjutan) Contoh lain Mencari Pasangan Titik yang Jaraknya Terdekat Persoalan: Diberikan n buah titik (2-D atau 3- D), tentukan dua buah titik yang terdekat satu sama lain. y p 5
Lebih terperinciAlgoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik
Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Contoh-contoh lain 1. Pencocokan String (String Matching) Persoalan: Diberikan a. teks (text), yaitu (long)
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 7: Brute Force Algorithm Part 2: Exhaustive Search Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Lebih terperinciStrategi Algoritma Penyelesaian Puzzle Hanjie
Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciAlgoritma Brute Force Oleh: Rinaldi Munir
Algoritma Brute Force Oleh: Rinaldi Munir Bahan Kuliah IF3051 Strategi Algoritma 1 ?? 2 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah Biasanya
Lebih terperinciDesign and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1
Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1 Dr. Putu Harry Gunawan (PHN) Quiz I 1. Tentukan operasi dasar, c op dan C(n) untung masing-masing algoritma
Lebih terperinciPenerapan Algoritma Brute Force di Permainan Nonogram
Penerapan Algoritma Brute Force di Permainan Nonogram Aurelia 13512099 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciAlgoritma Brute Force(lanjutan) Lecture 6 CS3024
Algoritma Brute Force(lanjutan) Lecture 6 CS3024 String Matching Persoalan: Diberikan a. teks (text), yaitu (long) stringyang panjangnya n karakter b. pattern, yaitu string dengan panjang m karakter (m
Lebih terperinciDesign and Analysis Algorithm
Design and Analysis Algorithm Pertemuan 05 Drs. Achmad Ridok M.Kom Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi, S.Kom., M.Kom. Ratih Kartika Dewi, ST, M.Kom 1 Contents 31 1.1 Algoritma Brute Force Exhaustive
Lebih terperinciPenerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan
Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan Widhaprasa Ekamatra Waliprana - 13508080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciPerbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle
Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciPenerapan Algoritma Brute Force pada permainan Countdown Number
Penerapan Algoritma Brute Force pada permainan Countdown Number Farhan Amin (13515043) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10
Lebih terperinciDesign and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search
Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search Dr. Putu Harry Gunawan (PHN) Daftar Isi 1 Pendahuluan..................................... 1 2 Traveling
Lebih terperinciDesign and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 05
Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 05 Contents 31 2 3 Brute Force Algorithm 2 Exhaustive Search Teknik Heuristik 2 Algoritma Brute Force 2 3 Pencocokan String (String
Lebih terperinciAlgoritma Brute Force pada Fluid Particle Engine
Algoritma Brute Force pada Fluid Particle Engine Alfian Ramadhan 13509078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,
Lebih terperinciPenerapan Algoritma Brute Force pada Permainan Kartu 24 (24 game)
Penerapan Algoritma Brute Force pada Permainan Kartu 24 (24 game) Evita Chandra (13514034) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciAnalisis Algoritma Bubble Sort
Analisis Algoritma Bubble Sort Ryan Rheinadi NIM : 13508005 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if18005@students.if.itb.ac.id
Lebih terperinciAlgoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra
Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra Ananta Pandu Wicaksana 13510077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciAdam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching
Adam Mukharil Bachtiar English Class Informatics Engineering 2011 Algorithms and Programming Searching Steps of the Day Definition of Searching Sequential Search Binary Search Let s Start Definition of
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 1: Introduction Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry Gunawan (Telkom University) Design
Lebih terperinciAnalisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc.
Analisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc., Addison-Wesley Bab 3: Brute Force and Agenda. Definition Sequential Search and
Lebih terperinciAnalisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016
Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Apakah algoritma itu? Asal istilah: Al Khwarizmi (± 800 M), matematikawan dan astronomer Persia. Pengertian umum: "suatu urutan langkah-langkah
Lebih terperinciSTRATEGI DIVIDE AND CONQUER
Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah
Lebih terperinciAplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force
Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force Martin Lutta Putra - 13515121 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Lebih terperinciOutline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees
Struktur Data & Algoritme (Data Structures & Algorithms) 2-3 Trees Outline Pengantar Definisi 2-3 Tree Operasi: Search Insert Delete (a,b)-tree Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id)
Lebih terperinciPenerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3
Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3 Dzar Bela Hanifa 13515007 Teknik Informatika Institut Teknologi Bandung Bandung, Indonesia 13515007@std.stei.itb.ac.id Abstract Teka-teki
Lebih terperinciAlgoritma Brute Force
Algoritma Brute Force Oleh: Rinaldi Munir Bahan Kuliah IF2211 Strategi Algoritma Program Studi Informatika Sekolah teknik Elektro dan Informatika, ITB, 2014 1 2 Definisi Brute Force Brute force : pendekatan
Lebih terperinciAlgoritma dan Struktur Data
Algoritma dan Struktur Data Click to edit Master subtitle style Pertemuan 3 Pengantar Analisis Efisiensi Algoritma Analisa efisiensi algoritma bertujuan mengestimasi waktu dan memori yang dibutuhkan untuk
Lebih terperinciDesign and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 07
Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 07 Contents 31 2 3 4 35 Divide and Conguer MinMax Problem Closest Pair Sorting Problem Perpangkatan 2 Algoritma divide and conquer
Lebih terperinciSebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.
Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma
Lebih terperinciPendahuluan. Ukuran input (input s size)
Kompleksitas Algoritma Sesi 14 Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang.
Lebih terperinciDesign and Analysis of Algorithms CNH2G3- Week 8 Greedy Algorithm
Design and Analysis of Algorithms CNH2G3- Week 8 Greedy Algorithm Dr. Putu Harry Gunawan (PHN) Daftar Isi 1 Greedy Algorithm.................................. 1 2 Contoh-contoh Algoritma Greedy........................
Lebih terperinciMENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE
MENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE E.Z. Adnan Kashogi 13505094 Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung
Lebih terperinciDesign and Analysis Algorithm
Design and Analysis Algorithm Pertemuan 02 Drs. Achmad Ridok M.Kom Fitra A. Bachtiar, S.T., M. Eng Imam Cholissodin, S.Si., M.Kom Aryo Pinandito, MT Contents 31 2 Analisis Algoritma Analisis Efisiensi
Lebih terperinciPendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.
Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Algoritma yang efektif diukur dari berapa jumlah waktu dan
Lebih terperinciDecrease and Conquer
Decrease and Conquer Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB 1 Decrease and conquer: metode desain algoritma
Lebih terperinci1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.
Judul TIU TIK Materi Modul Perulangan Ganjil 204/205 Mahasiswa memahami Konsep Perulangan. Mahasiswa mampu menggunakan perintah perulangan For, While do, do While 2. Mahasiswa mampu menggunakan perintah
Lebih terperinciAlgoritma Divide and Conquer (Bagian 2)
Algoritma Divide and Conquer (Bagian 2) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel
Lebih terperinciALGORITMA DIVIDE AND CONQUER
ALGORITMA DIVIDE AND CONQUER By Gapra. Email : ga_pra_27@yahoo.co.id 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan
Lebih terperinciKompleksitas Algoritma
Kompleksitas Algoritma Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa
Lebih terperinciMAKALAH ALGORITMA DIVIDE AND CONQUER
MAKALAH ALGORITMA DIVIDE AND CONQUER Galih Pranowo Jurusan Matematika Ilmu Komputer FAKULTAS SAINS TERAPAN INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 1. Pengertian Algoritma Divide and Conquer merupakan
Lebih terperinciAlgoritma Divide and Conquer. (Bagian 2)
Algoritma Divide and Conquer (Bagian 2) (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel A dibagi (istilahnya: dipartisi) menjadi A1 dan A2 sedemikian
Lebih terperinciAlgoritma Brute Force
Algoritma Brute Force Oleh: Rinaldi Munir Bahan Kuliah IF2211 Strategi Algoritma Program Studi Informatika Sekolah teknik Elektro dan Informatika, ITB, 2014 1 2 Definisi Brute Force Brute force : pendekatan
Lebih terperinciSorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms
1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms Sorting algorithms Metode Insertion, selection dan bubble sort memiliki worst-case performance yang bernilai quadratik
Lebih terperinciPenyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks
Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Luqman Arifin Siswanto - 13513024 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciALGORITMA PENGURUTAN & PENCARIAN
Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan
Lebih terperinciKompleksitas Algoritma
Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah
Lebih terperinciAnalisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016
Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 2: 16 Mei 2016 Teknik rekursif dan iteratif Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri sampai tercapai kondisi yang ditetapkan
Lebih terperinciSORTING (BAGIAN II) Proses kelima
SORTING (BAGIAN II) I. INSERTION SORT Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2
Lebih terperinciAlgoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir
Algoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 5. Penjadwalan Job dengan Tenggat Waktu (Job Schedulling with Deadlines) Persoalan: - Ada n buah job yang akan dikerjakan oleh
Lebih terperinciKompleksitas Algoritma
Kompleksitas Algoritma Bahan Kuliah IF2120 Matematika Disktit Rinaldi M/IF2120 Matdis 1 Rinaldi M/IF2120 Matdis 2 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah
Lebih terperinci2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.
1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi
Lebih terperinciPROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id
PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu
Lebih terperinciAnalisis Kecepatan Sorting Dengan Notasi Big O
Analisis Kecepatan Sorting Dengan Notasi Big O Rama Aulia NIM : 13506023 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : ramaaulia@yahoo.co.id Abstrak Sorting
Lebih terperinciPERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT
PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT Adi Purwanto Sujarwadi (13506010) Program Studi Teknik
Lebih terperinci5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION
5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION Rekursif Ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu obyek secara eksplisit. Mungkin lebih mudah untuk mendefinisikan obyek tersebut
Lebih terperinciANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT
ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT Disusun untuk memenuhi tugas UTS mata kuliah : Analisis Algoritma Oleh : Eka Risky Firmansyah 1110091000043 Program Studi Teknik Informatika
Lebih terperinciEksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack
Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack Muhamad Pramana Baharsyah, Sulistyo Unggul Wicaksono 2, Teguh Pamuji 3, Rinaldi Munir 4 Abstrak Laboratorium
Lebih terperinciBAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI 2.1 Algoritma Algoritma berasal dari nama ilmuwan muslim dari Uzbekistan, Abu Ja far Muhammad bin Musa Al-Khuwarizmi (780-846M). Pada awalnya kata algoritma adalah istilah yang merujuk
Lebih terperinciAnalisis Kompleksitas Algoritma dalam Operasi BigMod
Analisis Kompleksitas Algoritma dalam Operasi BigMod Calvin sadewa / 13512066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Lebih terperinciMatematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.
Matematika Diskrit Kompleksitas Algoritma Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada
Lebih terperinciImplementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa)
Implementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa) Ben Lemuel Tanasale Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10
Lebih terperinciObjectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting
Struktur Data & Algoritme (Data Structures & Algorithms) Objectives Memahami beberapa algoritme sorting dan dapat menganalisa kompleksitas-nya Sorting Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id)
Lebih terperinciPenerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata
Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Arfinda Ilmania /13515137 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciOutline STRUKTUR DATA. VII. Sorting
STRUKTUR DATA VII. Sorting 1 Outline Beberapa algoritma untuk melakukan sorting: Bubble sort Selection sort Insertion sort Shell sort Merge sort Quick sort Untuk masing-masing algoritma: Ide dasar Contoh
Lebih terperinciPENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER
PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER Danang Arief Setyawan NIM : 3559 Program Studi Teknik Informatika Institut Teknologi Bandung e-mail: das_centauri@yahoo.com
Lebih terperinciQuick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati
Quick Sort dan Merge Sort Arna Fariza Yuliana Setiowati Ide Quicksort Tentukan pivot. Bagi Data menjadi 2 Bagian yaitu Data kurang dari dan Data lebih besar dari pivot. Urutkan tiap bagian tersebut secara
Lebih terperinciKompleksitas Algoritma
Kompleksitas Algoritma Pendahuluan Mengapa kita memerlukan algoritma yang mangkus? Waktu komputasi (dalam detik) 10 5 10 4 10 3 10 2 1 0 1 10-1 1 hari 1 jam 1 detik 1 menit 5 1 0 1 5 2 0 10-4 x 2 n 10-6
Lebih terperinciStudi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya
Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : if16092@students.if.itb.ac.id 1. Abstract
Lebih terperinciSorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI
Struktur Data dan Algoritma Sorting Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil Minggu 5 Outline Beberapa
Lebih terperinciDivide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.
Divide and Conquer Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer.
Lebih terperinciSOAL EKSPLORASI. Jawab: (a) Tiga buah (4 4 1, 3 3 3, 4 3 2) Skema penilaian: Satu jawaban benar nilainya 1. Dua jawaban benar nilainya
SOAL EKSPLORASI 1. Kita ingin membuat kerangka berbentuk segitiga yang panjang sisi-sisinya berupa bilangan bulat dari sehelai kawat. Sebagai contoh, dari kawat sepanjang 9 cm kita dapat membuat kerangka
Lebih terperinciAlgoritma Divide and Conquer (Bagian 1)
Algoritma Divide and Conquer (Bagian 1) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang
Lebih terperinciDynamic Programming Matakuliah Desain & Analisis Algoritma (CS 3024) ZK Abdurahman Baizal STT Telkom Bandung
Dynamic Programming Matakuliah Desain & Analisis Algoritma (CS 3024) ZK Abdurahman Baizal STT Telkom Bandung Ditemukan oleh Seorang matematikawan AS, Richard Bellman tahun 1950 Kata Programming lebih mengacu
Lebih terperinciBAB VII ALGORITMA DIVIDE AND CONQUER
BAB VII ALGORITMA DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang
Lebih terperinciPENGGUNAAN ALGORITMA BRUTE FORCE DALAM PERMAINAN PERMAINAN THE LEGEND OF DRUNKEN MAN
PENGGUNAAN ALGORITMA BRUTE FORCE DALAM PERMAINAN PERMAINAN THE LEGEND OF DRUNKEN MAN Wiradeva Ar Kristawarman 13505053 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciImplementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle
Implementasi BFS dan DFS dalam Penyelesaian Token Flip Puzzle Ali Akbar Septiandri - 13509001 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciKompleksitas Algoritma
Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus
Lebih terperinciAturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2
Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik 1. Jika kompleksitas waktu T(n) dari algoritma diketahui, Contoh: (i) pada algoritma cari_maksimum T(n) = n 1 = O(n) (ii) pada algoritma pencarian_beruntun
Lebih terperinciBAB II LANDASAN TEORI
BAB II LANDASAN TEORI Perancangan program aplikasi yang akan dibuat menggabungkan algoritma Brute Force dan algoritma Greedy yang digunakan secara bergantian pada tahap-tahap tertentu. Karena itu, pada
Lebih terperinciANALISIS ALGORITMA BINARY SEARCH
ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana
Lebih terperinciPenggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square
Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square Tahir Arazi NIM : 1350505 Program Studi Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung
Lebih terperinciUNIVERSITAS GUNADARMA
UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik
Lebih terperinciABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha
ABSTRACT In a Rat Race game, there is only one way in and one way out. The objective of this game is to find the shortest way to reach the finish. We use a rat character in this game, so the rat must walk
Lebih terperinciNASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016
NASKAH UJIAN UTAMA MATA UJIAN : LOGIKA DAN ALGORITMA JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN INI TERDIRI DARI 80 SOAL PILIHAN GANDA
Lebih terperinciANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan
ANTIMAGIC PUZZLE Alwi Afiansyah Ramdan 135 08 099 Program Studi Teknik Informatika Institut Teknologi Bandung Jl. Ganesha 10, Bandung e-mail: alfiansyah.ramdan@gmail.com ABSTRAK Makalah ini membahas tentang
Lebih terperinciJARINGAN UNTUK MERGING
SORTING - Merging Definisi: A = {a 1, a 2,..., a r } B = {b 1, b 2,..., b s } merupakan dua deret angka yang terurut naik; merge A dan B merupakan deret C = {c 1, c 2,..., c r+s } yang juga terurut naik,
Lebih terperinciDesign and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 04
Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 04 Contents 31 2 Asymptotic Analysis Brute Force Algorithm 1 2 Asymptotic Analysis Asymptotic Notation Think of n as the number
Lebih terperinciNama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal
Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal Deskripsi Soal Dalam rangka mensukseskan program Visit Indonesia,
Lebih terperinciSorting Algorithms. Buble Sort
1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms 1 Buble Sort Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan
Lebih terperinci