Soal Praktikum #3
ITB
Perulangan dan Array
Tim Materi Berpikir Komputasional 2025/2026
al
29 Oktober 2025
ion
Petunjuk
1. Kerjakan modul ini sesuai dengan materi yang diujikan (Perulangan dan Array). Tidak perlu menggu-
nakan materi yang belum diujikan.
tas
2. Perhatikan penamaan file terutama untuk ekstensi file (*.py). File tanpa ekstensi beresiko tidak dapat
dibuka oleh asisten sehingga kode program tidak dapat dikoreksi (nilai 0)
3. Pastikan program lulus compile dan dapat dijalankan.
4. Untuk setiap file source code program berikan identitas, minimum:
pu
# NIM/Nama :
# Tanggal :
# Deskripsi :
m
5. Seluruh file kode program di-compress dengan nama P03 [Link] sebelum dikumpulkan.
6. Kecuali dituliskan secara khusus, Anda dapat menganggap masukan user sesuai dengan kehendak
program.
Ko
7. Penulisan kode sebaiknya menggunakan indentasi yang baik dan menambahkan komentar (kegunaan
sebuah variabel, percabangan, pengulangan, fungsi dan prosedur) sehingga mempermudah proses pen-
carian kesalahan pada program (debugging)
8. Kecurangan berupa copy-paste kode program dari peserta atau sumber lain akan memperoleh sanksi
tegas.
kir
9. Dilarang meng-capture atau menyebarkan sebagian dan/atau seluruh soal ini. Pelanggaran akan dike-
nakan sanksi sesuai SOP yang berlaku.
10. Jika ada perbedaan antara instruksi di sini dan instruksi asisten, ikuti instruksi asisten.
rpi
11. Selamat Mengerjakan!
Be
1
Problem 1
Simpan dengan nama file: P03 NIM [Link].
ITB
Nona Sal sedang bermain game yang mencatat hasil setiap ronde (W=Win, L=Lose). Untuk meningkatkan
performanya, Nona Sal ingin menganalisis hasil permainannya. Bantulah Nona Sal dengan membuat program
yang menerima input jumlah ronde dan hasil setiap ronde, lalu menghitung statistik berikut:
• Win rate (persentase kemenangan)
• Longest winning streak (jumlah kemenangan berturut-turut terpanjang)
al
• Longest losing streak (jumlah kekalahan berturut-turut terpanjang)
• Status ‘on fire’ (apakah pemain sedang dalam streak kemenangan 5+ di akhir permainan)
ion
Test Case 1
Hasil (W/L): WWWLWWWWWLWW
Total ronde : 12
Menang : 10 kali
Kalah : 2 kali
Win rate: 83.33%
Longest winning streak : 5 kali (ronde 5-9)
tas
Longest losing streak : 1 kali
pu
Status : ON FIRE! Sedang winning streak 2 kali berturut -turut di akhir permainan !
Test Case 2
Hasil (W/L): WWLWLWWWWW
m
Total ronde : 10
Menang : 8 kali
Kalah : 2 kali
Ko
Win rate: 80.00%
Longest winning streak : 5 kali (ronde 6 -10)
Longest losing streak : 1 kali
Status : ON FIRE! Sedang winning streak 5 kali berturut -turut di akhir permainan !
kir
Test Case 3
Hasil (W/L): WWWLLLWWLWWWWLW
Total ronde : 15
Menang : 10 kali
rpi
Kalah : 5 kali
Win rate: 66.67%
Longest winning streak : 4 kali (ronde 11 -14)
Longest losing streak : 3 kali (ronde 4-6)
Status : Permainan normal . Tidak sedang ada streak panjang .
Be
2
Problem 2
Simpan dengan nama file: P03 NIM [Link].
ITB
Tuan Vin merasa kurang enak badan karena setiap hari belajar hingga larut malam untuk persiapan UTS. Untuk
mencegah penyakit yang lebih parah, ia memutuskan untuk berkunjung ke dokter. Ia telah memesan antrean
secara online dan sedang menunggu dokter datang. Sambil menunggu, ia memilih untuk duduk selama di
ruang tunggu. Kursi di ruang tunggu dibuat saling berhadapan sebanyak dua baris, baris A dan B, sepanjang
n. Kursi yang telah terisi akan disimbolkan dengan digit 1 dan yang masih kosong akan disimbolkan dengan
digit 0.
al
Tuan Vin adalah orang yang suka berkoneksi, ia ingin mengobrol dengan seluruh pasien lain yang sedang
menunggu juga. Untuk itu, ia akan memilih kursi yang di depan, kiri, ataupun kanannya terdapat orang lain
yang sedang menunggu. Jika seluruh kursi kosong atau penuh, Tuan Vin memilih untuk berdiri.
ion
Bantulah Tuan Vin menentukan banyak kursi yang membuat ia dapat berkoneksi!
Test Case 1
Masukkan n: 3
Masukkan kondisi baris A: 010
Masukkan kondisi baris B: 000
Banyak kursi untuk Tuan Vin adalah 3
Penjelasan Test Case 1:
tas
Jika A1 , A2 , A3 adalah kondisi kursi ke-1 hingga ke-3 pada baris A dan B1 , B2 , B3 adalah kondisi kursi ke-1
pu
hingga ke-3 pada baris B. Tuan Vin dapat duduk di A1 , A3 , B2 sebanyak 3 tempat.
Test Case 2
Masukkan n: 8
Masukkan kondisi baris A: 11001000
m
Masukkan kondisi baris B: 00010001
Banyak kursi untuk Tuan Vin adalah 9
Ko
Penjelasan Test Case 2:
Jika A1 , A2 , . . . , A8 adalah kondisi kursi ke-1 hingga ke-8 pada baris A dan B1 , B2 , . . . , B8 adalah kondisi kursi
ke-1 hingga ke-8 pada baris B. Tuan Vin dapat duduk di A3 , A4 , A6 , A8 , B1 , B2 , B3 , B5 , B7 sebanyak 9 tempat.
Test Case 3
Masukkan n: 4
kir
Masukkan kondisi baris A: 0000
Masukkan kondisi baris B: 0000
Tuan Vin memilih untuk berdiri
rpi
Be
3
Problem 3
Simpan dengan nama file: P03 NIM [Link].
ITB
Tuan Vin menggunakan mesin waktu untuk pergi ke masa depan. Pada masa itu, semua orang bisa menjelajahi
luar angkasa dengan bebas. Tuan Vin kemudian berencana untuk melakukan ekspedisi luar angkasa untuk
meneliti galaksi yang ada di alam semesta ini. Di suatu galaksi nan jauh, terdapat sejumlah planet yang
memiliki suhu yang berbeda-beda. Dalam ekspedisi kali ini, Tuan Vin memiliki tugas untuk menemukan
sekumpulan planet yang inhabitable (bisa hanya 1 atau lebih). Sekumpulan planet dikatakan inhabitable jika
rata-rata suhunya mendekati 15◦ C dan seluruhnya bersebelahan.
al
Jika ada dua atau lebih pilihan kumpulan planet, pilih kumpulan planet dengan banyak planet paling sedikit.
Jika banyaknya masih sama, pilih kumpulan planet paling awal (indeks paling kecil).
Bantulah Tuan Vin menentukan range planet tersebut dan suhu rata-ratanya!
ion
Test Case 1
Masukkan banyak planet : 6
Masukkan suhu planet 1: -51
Masukkan suhu planet 2: 38
Masukkan suhu planet 3: 32
Masukkan
Masukkan
Masukkan
Kumpulan
suhu planet 4: -22
suhu planet 5: 70
suhu planet 6: -20
tas
planet inhabitable adalah planet 3 hingga 6 dengan suhu rata -rata 15.
pu
Penjelasan Test Case 1:
Planet yang paling mendekati suhu 15◦ C adalah kumpulan planet ke-3 hingga ke-6 dengan rata-rata (32 +
(−22) + 70 + (−20))/3 = 15◦ C.
Test Case 2
m
Masukkan banyak planet : 5
Masukkan suhu planet 1: 35
Masukkan suhu planet 2: 31
Ko
Masukkan suhu planet 3: -27
Masukkan suhu planet 4: 35
Masukkan suhu planet 5: 80
Kumpulan planet inhabitable adalah planet 1 hingga 3 dengan suhu rata -rata 13.
Penjelasan Test Case 2:
kir
Planet yang paling mendekati suhu 15◦ C adalah kumpulan planet ke-1 hingga ke-3 dan kumpulan planet ke-2
hingga ke-4 dengan rata-rata (35 + 31 + (−27))/3 = 13◦ C. Namun, kumpulan ke-1 hingga ke-3 memiliki indeks
lebih kecil sehingga kumpulan planet yang dipilih adalah planet ke-1 hingga ke-3.
Test Case 3
rpi
Masukkan banyak planet : 3
Masukkan suhu planet 1: 14
Masukkan suhu planet 2: -20
Masukkan suhu planet 3: 48
Kumpulan planet inhabitable adalah planet 1 dengan suhu rata -rata 14.
Be
Penjelasan Test Case 3:
Meskipun rata-rata suhu planet ke-1 hingga ke-3 sama dengan suhu (kumpulan) planet 1, tetapi banyak
(kumpulan) planet 1 lebih sedikit.