Hasil Praktikum Algoritma Dan Pemrograman
Hasil Praktikum Algoritma Dan Pemrograman
PRAKTIKUM
ALGORITMA
DAN
PEMROGRAMAN
oleh Kelompok 7
The Crew
Kelompok 7 Kelas A
S1-IF / FIK’20 UPNVJ
Pak Dengklek ingin menggunakan nilai median dari nilai-nilai kualitas produksi tahun sebelumnya sebagai indikator
keberhasilan pada tahun ini. Nilai median adalah nilai yang berada tepat di tengah data setelah data diurutkan. Jika
banyaknya data adalah genap, maka nilai median dari data tersebut adalah rata-rata kedua bilangan yang ada di tengah.
Bantulah Pak Dengklek untuk membuat program yang dapat menentukan nilai median dari data produksi tahun
sebelumnya, sehingga dapat langsung digunakan untuk indikator keberhasilan produksi tahun ini.
MASALAH 1 : KUALITAS BAJU
FORMAT MASUKAN FORMAT KELUARAN
Baris pertama berisi sebuah bilangan bulat N. N Sebuah baris berisi nilai median, dalam ketelitian tepat satu
baris berikutnya masing-masing berisi sebuah nilai angka di belakang koma.
kualitas baju.
CONTOH MASUKAN Contoh keluaran
5
1
1
3.0
3
4
6
02
ALGORI
TMA 1
Langkah-langkah Penyelesaian Masalah
“Kualitas Baju”
LANGKAH-LANGKAH
Step 5 Step 6
Dalam fungsi median: Jika N = ganjil, maka pencarian nilai tengan
Jika N = genap, cari nilai tengah pada list dilakukan dengan cara
nKualitas dengan cara pembagian floor division →
untuk mengetahui data pada index berapa yang nKualitas[(N-1)//2]
merupakan 2 nilai tengah
→ Hasil yang didapatkan merupakan nilai median
(nKualitas[N//2] + nKualitas[N//2-1])/2 dan dimasukkan ke variabel result, lalu
dikembalikan ke fungsi utama untuk dicetak
IMPLE
MENTA
SI KE
dalam
KODE
PROGR
KODE PROGRAM (PYTHON 3)
OUTPUT
03
DESKRIPSI
MASALAH 2
Topik: Dynamic Programming
MASALAH 2 : KNAPSACK
Anda memasuki gua yang mengandung K batu mulia. Batu-batu dinomori dari 1 sampai dengan K. Batu ke-i
memiliki berat Wi kg dan harga jual Hi rupiah.
Anda membawa sebuah tas dengan kapasitas N kg. Batu-batu harus dimasukkan ke tas ini untuk dibawa keluar,
dan tentu saja tas ini tidak bisa muat batu-batu dengan total berat lebih dari N kg. Sebuah batu juga tidak boleh
dipecah dan diambil sebagian saja.
Tentukan batu mana saja yang perlu dibawa, supaya total harga jual dari batu-batu yang dibawa dengan tas
semaksimal mungkin. Anda boleh saja membawa sejumlah batu, sedemikian sehingga total beratnya masih
kurang dari N kg.
MASALAH 2 : KNAPSACK
FORMAT MASUKAN FORMAT KELUARAN
Baris pertama berisi dua buah bilangan bulat Cetak nomor batu-batu yang perlu dibawa supaya total harga jualnya maksimal dan total
dipisahkan spasi, yaitu N dan K. beratnya tidak lebih dari N, satu nomor pada satu baris. Cetak nomor-nomor ini terurut
dari kecil ke besar.
K baris berikutnya berisi dua bilangan, yang
menyatakan deskripsi dari suatu batu. Kedua bilangan Jika ada lebih dari satu cara pengambilan batu yang optimal, cetak cara pengambilan batu
pada baris kei ini adalah Wi dan Hi. yang meminimalkan beratnya.
Jika masih ada lebih dari satu cara, utamakan batu dengan nomor lebih kecil.
Step 9 Step 10
Backward looping kedua dilakukan sebanyak K Selanjutnya, gunakan fungsi sort untuk
kali, yakni untuk mendapatkan nilai i sebagai mengurutkan data secara ascending pada list
output nomor batu yang dimasukan ke batu yang telah diperoleh. Setelah list selesai
knapsack. Jika nilai pada tabel[i][x] != tabel[i- diurutkan, maka lakukan looping untuk
1][x], maka nilai i dimasukkan ke list batu. mencetak nomor batu. Hasil yang tercetak
Kemudian mengurangi nilai variabel x dengan adalah dari angka yang lebih kecil ke yang lebih
dengan berat[i - 1] yakni berat batu yang telah besar.
masuk ke knapsack.
IMPLE
MENTA
SI KE
dalam
KODE
PROGR
KODE PROGRAM (PYTHON 3)
OUTPUT
Thanks!