Anda di halaman 1dari 5

Modul 5: Algoritma Divide-and-Conquer

5.1 Tujuan

Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:


1. Memahami bagaimana menerapkan contoh algoritma divide-and-conquer menggunakan
bahasa pemrograman python
2. Memecahkan masalah menggunakan pendekatan divide-and-conquer dan
mengimplementasikan ke dalam kode program python

5.2 Dasar Teori

5.2.1 Algoritma Brute Force

Divide-and-Conquer mungkin merupakan teknik umum desain algoritma yang paling terkenal.
Walaupun mungkin ketenarannya berhubungan dengan namanya yang cukup menarik, hanya
sedikit algoritma yang sangat efisien termasuk dalam implementasi khusus dari strategi umum
ini. Teknik divide-and-conquer membagi masalah menjadi 2 atau lebih masalah yang lebih kecil
atau sederhana, lalu digabungkan lagi untuk menyelesaikan masalah yang sebenarnya.

Algoritma divide-and-conquer bekerja sesuai dengan rencana umum berikut ini:


1. Sebuah permasalahan dibagi menjadi beberapa
bagian yang lebih sederhana dari permasalahan yang
sama, idealnya dengan ukuran yang sama.
2. Bagian yang lebih sederhana diselesaikan terlebih
dahulu (biasanya secara rekursif).
3. Jika diperlukan, solusi-solusi yang didapat dari
bagian-bagian yang lebih sederhana digabungkan
lagi untuk mendapat penyelesaian masalah yang
sebenarnya.

4.2.2 Contoh Algoritma Divide-and-Conquer

Beberapa contoh algoritma yang menerapkan pendekat divide-and-conquer adalah:


• Algoritma Merge Sort
• Algoritma Quick Sort
• Algoritma Binary Search
5.3 Latihan

5.3.1 Latihan 1 – Merge Sort


5.3.2 Latihan 2 – Quick Sort

5.3.3 Latihan 3 – Binary Search (Non-Rekursif)


5.3.4 Latihan 4 – Binary Search (Rekursif)
5.4 Tugas

Buatlah kode program untuk mencari nilai maksimal, minimal, dan rata-rata dari data di
bawah ini menggunakan pendekatan algoritma divide-and-conquer dan algoritma brute-
force.

45 55 81 90 95 67 88 95 56 67

Kemudian, lakukan analisis perbandingan hasil pada kedua pendekatan algoritma.

Anda mungkin juga menyukai