SlideShare a Scribd company logo
ANALISIS ALGORITMA
Strategi Algoritma: Brute Force
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Setelah memahami kompleksitas
suatu algoritma maka kita bisa
mengusahakan agar kompleksitas
tersebut lebih efisien.
Untuk bisa memahami efisiensi
kompleksitas maka kita harus
memahami strategi algoritma
terlebih dahulu.
Ada beberapa strategi algoritma yang
digunakan pada algoritma dan salah
satunya adalah brute force.
Brute Force:
Sebuah pendekatan yang lempang (straightforward) untuk
memecahkan masalah yang didasarkan pada pernyataan
masalah dan definisi konsep yang dilibatkan.
Karakteristik:
1 Umumnya tidak cerdas dan tidak mangkus (terkadang disebut sebagai
Naïve Algorithm).
2 Seringkali dijadikan landasan untuk mencari strategi lain yang lebih
efisien dan optimal.
3 Mudah untuk diimplementasikan karena kesederhanaannya.
(+):
1 Dapat digunakan untuk memecahkan sebagian besar masalah.
2 Sederhana dan mudah dimengerti.
3 Menghasilkan algoritma yang layak untuk beberapa masalah penting
seperti pencarian, pengurutan, pencocokan string, dan perkalian matriks
3 Menghasilkan algoritma baku untuk tugas-tugas komputasi seperti
penjumlahan/perkalian n buah bilangan, menentukan elemen
minimum/maximum pada suatu list.
(-):
1 Jarang menghasilkan algoritma yang mangkus.
2 Beberapa algoritmanya lambat dan tidak bisa diterima.
3 Tidak sekreatif strategi lainnya.
Untuk bisa melihat strategi algoritma
Brute Force mari kita lihat beberapa
contoh penerapannya.
Untuk bisa melihat strategi algoritma
Brute Force mari kita lihat beberapa
contoh penerapannya.
Kasus 1: Menghitung operasi aritmatika
Problem:
Menghitung !"
(a>0, n adalah bilangan bulat tak negative)
Pola Pikir:
Kalikan 1 dengan a sebanyak n kali
!"
= !. !. !. … . ! (n kali), jika & > 0
= 1, jika & = 0
Problem:
Menghitung !! (n adalah bilangan bulat tak negative)
Pola Pikir:
Kalikan n buah bilangan, yaitu 1, 2, 3, … ,n bersama-sama
!! = 1 % 2 % 3 % … % !, jika ! > 0
= 1, jika ! = 0
Problem:
Menghitung perkalian dua matriks berukuran n x n
Pola Pikir:
Hitung setiap elemen hasil perkalian satu-persatu, dengan cara
mengalikan dua vektor yang panjangnya n
!"# = %"&'&# + %")')# + … + %"+'+#
= ∑-.&
+
%"-'-#
Analisis Algoritma - Strategi Algoritma Brute Force
Problem:
Mencari bilangan terbesar pada suatu himpunan bilangan
Pola Pikir:
Anggap bilangan pertama adalah yang terbesar kemudian
bandingkan dengan bilangan lain satu-persatu, apabila lebih
besar bilangan lain maka jadikan bilangan tersebut bilangan
terbesar.
Analisis Algoritma - Strategi Algoritma Brute Force
Kasus 2: Sequential Search
Given an array to be processed:
Number
Data that want to be sought : 9
• Number[1] = 9?
• Number[2] = 9?
• Number[3] = 9?
Result: 9 is found in number[3]
5 1 9 4 2
[1] [2] [3] [4] [5]
FOUND ß FALSE
FOUND ß FALSE
FOUND ß TRUE (STOP SEARCH)
Ada yang lebih
mangkus daripada
Brute Force?
Kasus 3: Bubble Sort
Array: 5 3 7 9 2 3 6 4 3 1
L. 1 3 5 7 2 3 6 4 3 1 9
L. 2 3 5 2 3 6 4 3 1 7 9
L. 3 3 2 3 5 4 3 1 6 7 9
L. 4 2 3 3 4 3 1 5 6 7 9
L. 5 2 3 3 3 1 4 5 6 7 9
L. 6 2 3 3 1 3 4 5 6 7 9
L. 7 2 3 1 3 3 4 5 6 7 9
L. 8 2 1 3 3 3 4 5 6 7 9
L. 9 1 2 3 3 3 4 5 6 7 9
Analisis Algoritma - Strategi Algoritma Brute Force

More Related Content

PDF
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
PDF
Analisis Algoritma - Strategi Algoritma Greedy
PDF
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
PDF
Analisis Algoritma - Teorema Notasi Asimptotik
PDF
Analisis Algoritma - Notasi Asimptotik
PDF
Analisis Algoritma - Pengantar Kompleksitas Algoritma
DOC
Greedy knapsack
PPT
Algoritma penjadwalan proses
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Greedy knapsack
Algoritma penjadwalan proses

What's hot (20)

PDF
Analisis Algoritma - Strategi Algoritma Divide and Conquer
PDF
Pertemuan 9 Representasi Pengetahuan
PPTX
Efisiensi algoritma
DOCX
Caesar cipher adalah algoritma cipher
PPTX
Perbandingan algoritma brute force , divide and conquer
DOCX
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
PDF
Matematika Diskrit - 03 himpunan - 05
PPT
Algoritma brute force
PDF
Interaksi Manusia dan Komputer : Conceptual Model
PDF
Analisis Algoritma - Strategi Algoritma Dynamic Programming
PPTX
Data mining
PPTX
Tipe data abstract
PPT
Analisa algoritma paralel
PPTX
Algoritma Greedy (contoh soal)
PPTX
Deadlock pada sistem operasi
PPT
Teori bilangan
PDF
Pertemuan 12 Algoritma Greedy
PDF
Algoritma Apriori
PDF
Makalah I Rancangan Database CDM dan PDM
PDF
Algoritma greedy
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Pertemuan 9 Representasi Pengetahuan
Efisiensi algoritma
Caesar cipher adalah algoritma cipher
Perbandingan algoritma brute force , divide and conquer
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika Diskrit - 03 himpunan - 05
Algoritma brute force
Interaksi Manusia dan Komputer : Conceptual Model
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Data mining
Tipe data abstract
Analisa algoritma paralel
Algoritma Greedy (contoh soal)
Deadlock pada sistem operasi
Teori bilangan
Pertemuan 12 Algoritma Greedy
Algoritma Apriori
Makalah I Rancangan Database CDM dan PDM
Algoritma greedy
Ad

Similar to Analisis Algoritma - Strategi Algoritma Brute Force (20)

PPTX
Algoritma divide-and-conquer mesti bener aku garap dewe.pptx
PDF
Analisis Algoritma - Langkah Desain Algoritma
PPTX
informatika 2.pptx
DOC
Algoritma
PPTX
Desain dan analisis algoritma
PDF
Cepat mahir dengan matlab
PPT
Materi Kelas 10 Tentang Berpikir Komputasional.ppt
PDF
Diktat Panduan Matlab
PDF
Dasar dasar matlab
PDF
Tutorial Matlab
DOC
Wirman algoritma
PDF
Praktik matlab
PPTX
Kelompok 1 Brute Force - PPT.pptx
PDF
Tutorial Praktis Belajar Matlab Teguh W
PPT
BERPIKIR KOMPUTESIONAL 3.ppt
PPTX
BAB. 2 BERPIKIR kompu KOMPUTASIONAL.pptx
PPTX
1. Pengantar Strategi Algoritma.pptx
PDF
Panduan matlab
PDF
Mat lab
Algoritma divide-and-conquer mesti bener aku garap dewe.pptx
Analisis Algoritma - Langkah Desain Algoritma
informatika 2.pptx
Algoritma
Desain dan analisis algoritma
Cepat mahir dengan matlab
Materi Kelas 10 Tentang Berpikir Komputasional.ppt
Diktat Panduan Matlab
Dasar dasar matlab
Tutorial Matlab
Wirman algoritma
Praktik matlab
Kelompok 1 Brute Force - PPT.pptx
Tutorial Praktis Belajar Matlab Teguh W
BERPIKIR KOMPUTESIONAL 3.ppt
BAB. 2 BERPIKIR kompu KOMPUTASIONAL.pptx
1. Pengantar Strategi Algoritma.pptx
Panduan matlab
Mat lab
Ad

More from Adam Mukharil Bachtiar (20)

PDF
Materi 8 - Data Mining Association Rule.pdf
PDF
Clean Code - Formatting Code
PDF
Clean Code - Clean Comments
PDF
PDF
Clean Code and Design Pattern - Meaningful Names
PDF
Model Driven Software Development
PDF
Scrum: How to Implement
PDF
Pengujian Perangkat Lunak
PDF
Data Mining Clustering
PPTX
Data Mining Klasifikasi (Updated 30 Desember 2020)
PDF
Activity Diagram
PDF
UML dan Use Case View
PDF
Validasi ide Menggunakan Javelin Board (Idea Validation)
PDF
Analisis Algoritma - Pengantar Analisis Algoritma
PDF
Mini Google Design Sprint
PDF
Scrum: How to Implements (Update)
PDF
Business Model Canvas: Cara Pengisian
PDF
SCRUM: How to implements
PDF
Tugas Besar RPL 1
PDF
RPL 1 (Lama) - Pengujian Perangkat Lunak
Materi 8 - Data Mining Association Rule.pdf
Clean Code - Formatting Code
Clean Code - Clean Comments
Clean Code and Design Pattern - Meaningful Names
Model Driven Software Development
Scrum: How to Implement
Pengujian Perangkat Lunak
Data Mining Clustering
Data Mining Klasifikasi (Updated 30 Desember 2020)
Activity Diagram
UML dan Use Case View
Validasi ide Menggunakan Javelin Board (Idea Validation)
Analisis Algoritma - Pengantar Analisis Algoritma
Mini Google Design Sprint
Scrum: How to Implements (Update)
Business Model Canvas: Cara Pengisian
SCRUM: How to implements
Tugas Besar RPL 1
RPL 1 (Lama) - Pengujian Perangkat Lunak

Analisis Algoritma - Strategi Algoritma Brute Force

  • 1. ANALISIS ALGORITMA Strategi Algoritma: Brute Force Pemateri: Adam Mukharil Bachtiar adam@email.unikom.ac.id
  • 2. Setelah memahami kompleksitas suatu algoritma maka kita bisa mengusahakan agar kompleksitas tersebut lebih efisien.
  • 3. Untuk bisa memahami efisiensi kompleksitas maka kita harus memahami strategi algoritma terlebih dahulu.
  • 4. Ada beberapa strategi algoritma yang digunakan pada algoritma dan salah satunya adalah brute force.
  • 5. Brute Force: Sebuah pendekatan yang lempang (straightforward) untuk memecahkan masalah yang didasarkan pada pernyataan masalah dan definisi konsep yang dilibatkan.
  • 6. Karakteristik: 1 Umumnya tidak cerdas dan tidak mangkus (terkadang disebut sebagai Naïve Algorithm). 2 Seringkali dijadikan landasan untuk mencari strategi lain yang lebih efisien dan optimal. 3 Mudah untuk diimplementasikan karena kesederhanaannya.
  • 7. (+): 1 Dapat digunakan untuk memecahkan sebagian besar masalah. 2 Sederhana dan mudah dimengerti. 3 Menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, dan perkalian matriks 3 Menghasilkan algoritma baku untuk tugas-tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum/maximum pada suatu list.
  • 8. (-): 1 Jarang menghasilkan algoritma yang mangkus. 2 Beberapa algoritmanya lambat dan tidak bisa diterima. 3 Tidak sekreatif strategi lainnya.
  • 9. Untuk bisa melihat strategi algoritma Brute Force mari kita lihat beberapa contoh penerapannya. Untuk bisa melihat strategi algoritma Brute Force mari kita lihat beberapa contoh penerapannya.
  • 10. Kasus 1: Menghitung operasi aritmatika
  • 11. Problem: Menghitung !" (a>0, n adalah bilangan bulat tak negative) Pola Pikir: Kalikan 1 dengan a sebanyak n kali !" = !. !. !. … . ! (n kali), jika & > 0 = 1, jika & = 0
  • 12. Problem: Menghitung !! (n adalah bilangan bulat tak negative) Pola Pikir: Kalikan n buah bilangan, yaitu 1, 2, 3, … ,n bersama-sama !! = 1 % 2 % 3 % … % !, jika ! > 0 = 1, jika ! = 0
  • 13. Problem: Menghitung perkalian dua matriks berukuran n x n Pola Pikir: Hitung setiap elemen hasil perkalian satu-persatu, dengan cara mengalikan dua vektor yang panjangnya n !"# = %"&'&# + %")')# + … + %"+'+# = ∑-.& + %"-'-#
  • 15. Problem: Mencari bilangan terbesar pada suatu himpunan bilangan Pola Pikir: Anggap bilangan pertama adalah yang terbesar kemudian bandingkan dengan bilangan lain satu-persatu, apabila lebih besar bilangan lain maka jadikan bilangan tersebut bilangan terbesar.
  • 18. Given an array to be processed: Number Data that want to be sought : 9 • Number[1] = 9? • Number[2] = 9? • Number[3] = 9? Result: 9 is found in number[3] 5 1 9 4 2 [1] [2] [3] [4] [5] FOUND ß FALSE FOUND ß FALSE FOUND ß TRUE (STOP SEARCH)
  • 19. Ada yang lebih mangkus daripada Brute Force?
  • 21. Array: 5 3 7 9 2 3 6 4 3 1 L. 1 3 5 7 2 3 6 4 3 1 9 L. 2 3 5 2 3 6 4 3 1 7 9 L. 3 3 2 3 5 4 3 1 6 7 9 L. 4 2 3 3 4 3 1 5 6 7 9 L. 5 2 3 3 3 1 4 5 6 7 9 L. 6 2 3 3 1 3 4 5 6 7 9 L. 7 2 3 1 3 3 4 5 6 7 9 L. 8 2 1 3 3 3 4 5 6 7 9 L. 9 1 2 3 3 3 4 5 6 7 9