![]() |
| https://pin.it/6jJcZzm5y |
ALGORITMA BRUTE FORCE
Kasus : Memilih barang ke tas (Knapsack)
Kamu punya tas dengan kapasitas 10kg. Ada 5 barang dengan berat dan nilai yang berbeda. Kamu ingin membawa barang dengan total nilainya paling besar, tapi tidak boleh lebih dari total 10kg.
Data barang (berat, nilai):
• Barang 1: (6 kg, 30)
• Barang 2: (3 kg, 14)
• Barang 3: (4 kg, 16)
• Barang 4: (2 kg, 9)
• Barang 5: (5 kg, 20)
Tujuan : Pilih barang apa saja yang dibawa agar total nilainya paling besar.
PENYELESAIAN :
1. Pahami Masalah
- Kapasitas = 10kg
- Barang = Ada 5 buah, masing-masing punya berat dan nilai
- Tujuan = pilih barang yang totalnya 10kg dengan nilai maksimal
-
{1} → berat = 6kg, nilai = 30
-
{2} → berat = 3kg, nilai = 14
-
{3} → berat = 4kg, nilai = 16
-
{4} → berat = 2kg, nilai = 9
-
{5} → berat = 5kg, nilai = 20
-
{1,2} → berat = 9kg, nilai = 44
-
{1,3} → berat = 10kg, nilai = 46
-
{1,4} → berat = 8kg, nilai = 39
-
{1,5} → berat = 11
-
{2,3} → berat = 7kg, nilai = 30
-
{2,4} → berat = 5kg, nilai = 23
-
{2,5} → berat = 8kg, nilai = 34
-
{3,4} → berat = 6kg, nilai = 25
-
{3,5} → berat = 9kg, nilai = 36
-
{4,5} → berat = 7kg, nilai = 29
-
{2,3,4} → berat = 9kg, nilai = 39
-
{2,3,5} → berat = 12
-
{2,4,5} → berat = 10kg, nilai = 43
-
{3,4,5} → berat = 11kg
-
{1,2,3} → berat = 13kg
-
{1,2,4} → berat = 11kg
-
{1,3,4} → berat = 12kg
-
{1,2,5} → berat = 14kg
-
dst (masih ada kombinasi tapi banyak yang lebih dari 10kg)
{1,2} → berat = 9kg, nilai = 44
{1,3} → berat = 10kg, nilai = 46
{1,4} → berat = 8kg, nilai = 39
{2,5} → berat = 8kg, nilai = 34
{2,3,4} → berat = 9kg, nilai = 39
{2,4,5} → berat = 10kg, nilai = 43
PSEUDOCODE :
-
Kita punya daftar barang, setiap barang ada beratnya dan nilainya.
-
Kita juga punya tas dengan kapasitas tertentu (maksimal 10 kg).
-
Tujuannya: cari kombinasi barang yang masuk tas supaya total nilainya paling besar, tapi beratnya tidak melebihi kapasitas.
Langkah-langkah:
-
Hitung jumlah barang.
-
Bayangkan semua kemungkinan cara memilih barang.
-
Setiap barang ada 2 pilihan: diambil atau tidak diambil.
-
Kalau ada 5 barang → total ada
-
-
Untuk setiap kemungkinan:
-
Hitung total berat barang-barang yang diambil.
-
Hitung juga total nilai barang-barang itu.
-
-
Kalau total berat ≤ kapasitas tas:
-
Bandingkan nilai total dengan nilai terbaik yang sudah ada.
-
Kalau lebih besar, simpan kombinasi ini sebagai kombinasi terbaik.
-
-
Setelah semua kemungkinan dicoba, lihat kombinasi terbaik yang tersimpan.
-
Tampilkan:
-
Barang apa saja yang dipilih.
-
Total berat barang tersebut.
-
Total nilainya.
-




Komentar
Posting Komentar