Anda di halaman 1dari 3

Tugas Kelompok ke-3

Week 8

1. Carilah jalur terpendek dengan metode dynamic programming, dari kota A


mengunjungi kota B, C, dan D dan kembali ke A jika diketahui jarak antar kota
seperti table berikut

Dari kota Ke kota Jarak (km)


A B 9
A C 4
B A 6
B D 7
C A 5
C B 4
C D 6
D A 8
D C 5

2. Terdapat uang koin pecahan dengan nominal 1, 5, 10, 25, 50 dan 100. Dengan uang nominal
269, hitunglah menggunakan metode dynamic programming untuk mencari:
a. Jumlah minimum koin untuk membentuk 269.
Jawab : Untuk mencari jumlah minimum koin yang digunakan untuk membentuk
nominal uang 269, kita dapat menggunakan metode dinamis programming dengan
cara sebagai berikut:

Buat sebuah array dengan panjang sama dengan jumlah nominal uang yang akan
dibentuk (269 dalam kasus ini) dan isi dengan nilai infiniti.
Set nilai array pada index 0 dengan 0 karena jumlah koin yang digunakan untuk
membentuk nominal 0 adalah 0.
Kemudian, mulai dari 1 hingga 269, untuk setiap index i, lakukan perulangan untuk
setiap jenis koin yang tersedia (1, 5, 10, 25, 50, dan 100 dalam kasus ini).
Dalam perulangan, bandingkan nilai array pada index i dengan nilai array pada index
i - nilai koin yang sedang diperiksa + 1. Jika nilai array pada index i lebih besar dari
hasil perbandingan tersebut, maka ganti nilai array pada index i dengan hasil
perbandingan tersebut.
Setelah perulangan selesai, nilai array pada index 269 akan menyimpan jumlah
minimum koin yang digunakan untuk membentuk nominal uang 269.
Note: Pastikan untuk mengecek apakah nilai-nilai koin yang diperiksa >=0 sebelum
melakukan perbandingan. Jika tidak, akan terjadi kesalahan.

Algorithm Design and Analysis


Berikut PseudoCode menggunakan Bahasa C:
int minimumCoins(int coins[], int n, int total) {
int ans[total + 1];
ans[0] = 0;

for (int i = 1; i <= total; i++) {


ans[i] = INT_MAX;
}

for (int i = 1; i <= total; i++) {


for (int j = 0; j < n; j++) {
if (i >= coins[j]) {
int sub_res = ans[i - coins[j]];
if (sub_res != INT_MAX && sub_res + 1 < ans[i])
ans[i] = sub_res + 1;
}
}
}
return ans[total];
}
b. Banyak kombinasi koin untuk membentuk 269

3. Dengan menggunakan metode dynamic programming (Backward) Carilah jalur


terpendek pada multistage graph sebagai berikut!

4. Buatlah graph coloring dari denah berikut serta Tentukan Warna dan Bilangan
Kromatisnya menggunakan algoritma Welsh and Powell.

Algorithm Design and Analysis


Algorithm Design and Analysis

Anda mungkin juga menyukai