0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan5 halaman

Praktikum Fungsi dan Prosedur ITB 2024

Diunggah oleh

wanderingfedora001
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan5 halaman

Praktikum Fungsi dan Prosedur ITB 2024

Diunggah oleh

wanderingfedora001
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Soal Praktikum #3

ITB
Fungsi dan Prosedur

Tim Materi Berpikir Komputasional 2024/2025

al
22 November 2024

ion
Petunjuk

1. Kerjakan modul ini sesuai dengan materi yang diujikan (Fungsi dan Prosedur). 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
Tuan Leo sedang membuka toko online dan ingin membuat promo spesial berupa pembulatan harga barang
yang dibeli oleh pelanggan.

Buatlah dua buah subprogram untuk membantu Tuan Leo dalam membuat promo spesialnya:

• Subprogram bulatkanHarga yang menerima masukan harga barang dan mengembalikan harga yang
sudah dibulatkan sesuai dengan ketentuan berikut:

al
– Jika harga barang di atas 999, maka harga akan dibulatkan ke ratusan terdekat.
– Jika harga barang di bawah 1000, maka harga akan dibulatkan ke puluhan terdekat.

ion
– Jika digit terakhir yang dibulatkan adalah 5, maka harga akan dibulatkan ke atas.
• Subprogram cetakHarga yang menerima masukan harga barang dan satuan mata uang, lalu mencetak
harga yang sudah dibulatkan. Contoh format output: ”Harga setelah pembulatan adalah 1050 IDR”.

Tuliskan juga apakah masing-masing subprogram merupakan fungsi atau prosedur.

tas
Catatan: Kedua fungsi dan prosedur yang diminta harus digunakan dalam penyelesaian soal.

Test Case 1
Masukkan harga barang : 123
pu
Masukkan satuan mata uang: IDR
Harga yang harus dibayar adalah 120 IDR

Test Case 2
m

Masukkan harga barang : 1150


Masukkan satuan mata uang: Dollar
Harga yang harus dibayar adalah 1200 Dollar
Ko

Test Case 3
Masukkan harga barang : 999
Masukkan satuan mata uang: Rupiah
Harga yang harus dibayar adalah 1000 Rupiah
kir
rpi
Be

2
Problem 2

Simpan dengan nama file: P03 NIM [Link].

ITB
Nona Sal baru saja mendapat pekerjaan baru sebagai moderator seorang streamer yang bertugas untuk mem-
oderasi pesan-pesan yang masuk ke dalam kolom pesan streamer tersebut. Karena banyaknya pesan yang
masuk, Nona Sal ingin membuat program yang dapat memoderasi pesan-pesan yang masuk. Program terse-
but akan meminta kata-kata yang dilarang, jumlah limit kata, dan pesan yang ingin dimoderasi. Program akan
mengganti kata-kata yang dilarang dengan tanda bintang (***) sebanyak 3 kali. Jika panjang pesan melebihi
limit kata, maka program akan memotong pesan tersebut dan menambahkan pesan peringatan ”[Peringatan:
Pesan ini telah dimoderasi]”.

al
Tugas Anda adalah untuk membuat program tersebut dengan menggunakan subprogram untuk memastikan
jika di masa mendatang terdapat penambahan atau perubahan aturan di kolom pesan, Nona Sal dapat dengan
mudah menambahkan atau mengubah aturan tersebut.

ion
Catatan: format masukan kata yang dilarang tidak harus sama persis dengan contoh kasus.

Test Case 1
Masukkan kata yang dilarang ( dipisahkan koma): jahat, jelek
Masukkan jumlah limit kata: 30

Masukkan pesan: tas


video ini jelek sekali ya, streamernya juga terlihat sangat jahat. aku tidak suka konten ini!

Pesan yang telah dimoderasi :


pu
video ini *** sekali ya , strea ... [ Peringatan : Pesan ini telah dimoderasi ]

Test Case 2
Masukkan kata yang dilarang ( dipisahkan koma): bepsi, funta, [Link]
m

Masukkan jumlah limit kata: 100

Masukkan pesan:
kenapa ya streamer ini malah mempromosikan kola, bukannya produk bepsi, funta, dan [Link] lebih enak ya?
Ko

Pesan yang telah dimoderasi :


kenapa ya streamer ini malah mempromosikan kola , bukannya produk ***, ***, dan *** lebih
enak ya? [ Peringatan : Pesan ini telah dimoderasi ]
kir

Test Case 3
Masukkan kata yang dilarang ( dipisahkan koma): give away, free, giveaway
Masukkan jumlah limit kata: 60

Masukkan pesan: kak kpn ada give away pelis mau barang free, mana give awaynya. mau ga pls
rpi

Pesan yang telah dimoderasi :


kak kpn ada *** pelis mau barang ***, mana *** nya. mau ga pl ... [ Peringatan : Pesan ini
telah dimoderasi ]
Be

3
Problem 3

Simpan dengan nama file: P03 NIM [Link].

ITB
Nona Deb dan Nona Sal memutuskan untuk bermain kartu di teras rumah. Masing-masing dari mereka
memegang 4 kartu dengan nilai tertentu. Permainan ini akan dimenangkan oleh pemain pertama yang
memiliki total nilai kartu yang mencapai atau melebihi skor target yang telah ditentukan.

Permainan akan dimulai dengan Nona Deb. Pada setiap gilirannya, seorang pemain dapat memilih satu dari
dua tindakan: mereka bisa menambahkan 1 poin ke salah satu kartu yang mereka miliki, atau mereka dapat
mencoba keberuntungan dengan menukar salah satu kartu mereka dengan kartu milik lawan yang berada di

al
posisi yang sama. Posisi kartu diatur dari 0 hingga 3, sesuai urutan di tangan masing-masing pemain.

Tugas Anda adalah membuat sebuah program menggunakan fungsi dan prosedur yang akan memproses
perubahan kartu di setiap giliran, serta memeriksa apakah ada pemain yang sudah mencapai skor target.

ion
Berikan keterangan apakah subprogram yang Anda buat merupakan fungsi atau prosedur, beserta alasannya.

Test Case 1
Masukkan Target Poin: 21
Kartu Nona Deb: 3645
Kartu Nona Sal: 1537
Giliran 1 ( tambah / tukar): tambah
Pada posisi kartu ke: 1
Giliran 2 ( tambah / tukar): tukar
Pada posisi kartu ke: 3
tas
Nona Deb Memenangkan permainan .
pu
Penjelasan Test Case 1:
m

Giliran Kartu Nona Deb Kartu Nona Sal


0 [3, 4, 6, 5] [1, 5, 3, 7]
1 [3, 5, 6, 5] [1, 5, 3, 7]
2 [3, 5, 6, 7] [1, 5, 3, 5]
Ko

Nona Deb telah mencapai skor target, sehingga permainan dihentikan.

Test Case 2
Masukkan Target Poin: 11
Kartu Nona Deb: 1234
kir

Kartu Nona Sal: 4321


Giliran 1 ( tambah / tukar): tukar
Pada posisi kartu ke: 0
Giliran 2 ( tambah / tukar): tukar
Pada posisi kartu ke: 3
Giliran 3 ( tambah / tukar): tambah
rpi

Pada posisi kartu ke: 2


Nona Deb Memenangkan permainan .
Be

4
Test Case 3
Masukkan Target Poin: 20
Kartu Nona Deb: 3781
Kartu Nona Sal: 1237

ITB
Giliran 1 ( tambah / tukar): tambah
Pada posisi kartu ke: 3
Giliran 2 ( tambah / tukar): tukar
Pada posisi kartu ke: 1
Giliran 3 ( tambah / tukar): tukar
Pada posisi kartu ke: 0
Nona Sal Memenangkan permainan .

al
ion
tas
m pu
Ko
kir
rpi
Be

Anda mungkin juga menyukai