Page 256 - Modul Ajar Informatika SMA XII
P. 256
Membuat Skema Masukan Program
Jawaban dari pertanyaan-pertanyaan adalah:
1. Skema pengkodean untuk permasalahan pada Tabel 2 adalah:
6
3 8 5 4 10 8
6 4 5 6 5 10
25
2. Deskripsi permasalahan untuk pengkodean pada Contoh masukan 2 adalah:
Diberikan 8 buah barang pada tabel berikut:
Tentukan nilai maksimal yang dapat diperoleh dengan kapasitas maksimal 35 kg!
3. Deskripsi pengkodean: “Masukan dimulai dengan satu buah angka N yang menunjukkan
banyaknya barang. Kemudian diikuti dengan 2 buah baris masing-masing terdiri dari N buah
angka. Baris pertama menunjukkan bobot dari masing-masing barang, sedangkan baris
kedua menunjukkan nilai-nilai dari masing-masing barang. Masukan diakhir dengan satu
buah baris berisi satu buah angka yang menunjukkan kapasitas maksimal”.
4. Sebuah representasi data yang diberikan bisa saja tidak valid. Misalnya: sebuah pengkodean
masalah dimana terjadi ketidak-konsistenan antara banyaknya nilai N yang menunjukkan
banyaknya barang, dan banyaknya angka yang menunjukkan bobot-bobot barang, atau
antara banyaknya angka yang menunjukkan bobot barang dan banyaknya angka yang
menunjukkan nilai barang.
Membaca Masukan dan Menyimpan Data
Untuk menjawab permasalahan kedua, yaitu membaca dan merepresentasikan masukan kode
permasalahan knapsack, dapat digunakan program seperti berikut:
/* Membaca dan menyimpan data permasalahan knapsack */
#include <vector>
#include <algorithm>
int main()
{
int n;
scanf(“%d”, &n);
std::vector<float> bobot;
std::vector<float> nilai;
float kapasitas;
// Membaca daftar bobot barang
for(int i=0; i<n; i++)
{
float bobot_sekarang;
scanf(“%f”, &bobot_sekarang);
bobot.push_back(bobot_sekarang);
}
// Membaca daftar nilai barang
for(int i=0; i<n; i++)