Anda di halaman 1dari 4

Wardaya Innovation and Science Education Center

Week 4 – Branchings and Iterations: If


Conditionals, For and While Loops
CS100 Introduction to Computing
July 2021

Pengantar
Di minggu ke-3 yang lalu kita sudah mengenal bagaimana cara menulis program yang baik dengan
Python. Jika minggu lalu kita hanya belajar memroses data dari input user untuk dihitung menjadi
sesuatu yang dapat membantu user mendapatkan suatu informasi (volume tabung, BMI, dll), kali ini
kita masih melakukan hal yang sama. Namun, kita akan membagi program kita ke dalam beberapa
kondisi atau mengulang beberapa bagian dalam program kita menjadi sebuah iterasi.

Kita akan mempelajari topik-topik sebagai berikut:

 Ekspresi Boolean
 Logika If, If-Else, If-Elif
 Pengendalian Exceptions
 Iterasi Variabel
 Logika While
 Loop Berhingga dan Tak Hingga
 Penerapan Loop dalam Program

Setelah mempelajari bab ini, diharapkan Anda mampu:

 Membedakan operasi logika menggunakan and dan or


 Menggunakan if, else, dan else if dengan tepat sesuai konteks dan program
 Mengetahui cara menangani exception input
 Memahami cara meng-update nilai dalam sebuah variabel
 Menggunakan while dengan tepat agar tidak terjadi loop tak hingga
 Membedakan cara menggunakan for dan while dalam program

Instruksi Belajar

1. Saksikan video 4.1 dan 4.2 / Baca slide 1-19


2. Kerjakan latihan soal no. 1-3
3. Saksikan video 4.3 dan 4.4 / Baca slide 20-31, 35-43
4. Kerjakan latihan soal no. 4-6
5. Saksikan video 4.5 dan 4.6 / Baca slide 44-60
6. Kerjakan latihan soal no. 7-8

wardayacollege.com | wardayaonline.com WISE CS100


Week 4

Tugas Chapter 4
Instruksi:

1) Tugas ini untuk dikerjakan selama maksimal 4 jam.


2) Tata cara pengumpulan:
 Jika Anda mengerjakan tugas ini menggunakan Spyder, silakan salin code yang Anda
buat beserta dengan eksekusinya dalam file word, kumpulkan dengan format:
TugasCh4_[Nama Anda].docx. Contoh: TugasCh4_MikhaKristofer.docx
 Jika Anda mengerjakan tugas ini menggunakan Jupyter Notebook, silakan jawab dalam 1
file ipynb (tidak perlu pindah file, cukup pindah cell), kumpulkan dengan format:
TugasCh4_[Nama Anda].ipynb. Contoh: TugasCh4_MikhaKristofer.ipynb
3) Jika Anda menemukan error dalam program Anda, silakan terlebih dahulu cari tahu
penyebabnya kemudian coba diperbaiki. Jika Anda tidak tahu bagaimana cara
memperbaikinya atau menuliskan code yang benar, silakan cari di Google.
4) Silakan kumpulkan tugas Anda (baik dalam format docx atau ipynb), dalam link google drive
yang sudah diberikan. Jika sampai saat ini Anda belum mendapatkan link google drive beserta
dengan CS100 Journal, silakan hubungi pengajar di 087886602015 (Mikha Kristofer)

1. Buatlah sebuah program yang menghitung pajak berdasarkan penghasilan seseorang.


Penghasilan Pajak
<$750 1% dari penghasilan
$750 - $2,250 $7.50 + 2% dari penghasilan
$2,250 - $3,750 $37.50 + 3% dari penghasilan
$3,750 - $5,250 $82.50 + 4% dari penghasilan
$5,250 - $7,000 $142.50 + 5% dari penghasilan
>$7,000 $230.00 + 5% dari penghasilan

Masukkan penghasilan Anda (dalam $): 3500


Pajak yang Anda harus bayarkan adalah $142.50

2. Buatlah sebuah program yang mengubah jam dengan format 24 jam menjadi jam dengan
format 12 jam dan menggunakan AM atau PM.
Masukkan jam (format 24 jam): 15
Masukkan menit: 36
Jam 15:36 sama dengan 3:36 PM dalam format 12 jam.
Catatan: Hati-hati dengan tidak menampilkan 12.00 sebagai jam 0.00

3. Buatlah sebuah program untuk menghitung apakah tahun yang diinput user adalah tahun
kabisat atau bukan.
Tahun kabisat adalah tahun yang habis dibagi empat dan tidak habis dibagi 100. Namun, tahun
yang bisa dibagi 400 adalah tahun kabisat. Misalnya, tahun 2000 adalah tahun kabisat (karena
bisa dibgai 400 walaupun jika habis dibgai 100). Sedangkan tahun 2100 bukan merupakan
tahun kabisat walaupun bisa dibagi 4. Keluarkan pesan error jika input dari user merupakan
tahun sebelum 1582 (tahun dimana kalender Gregorian diterapkan)
Masukkan tahun: 2015
Tahun 2015 bukan merupakan tahun kabisat

wardayacollege.com | wardayaonline.com WISE CS100


Week 4

4. Buatlah sebuah program tebak-tebakan agar user menebak bilangan antara 1-100 yang
digenerasikan secara acak oleh Python.
o Tampilkan pesan “sedikit lagi, bilangan lebih besar daripada yang Anda tebak” jika
selisih antara bilangan yang dimasukkan dengan bilangan yang digenerasikan adalah
5-20 dan bilangan yang dimasukkan lebih kecil daripada bilangan yang digenerasikan.
o Tampilkan pesan “masih jauh, bilangan lebih besar daripada yang Anda tebak” jika
selisih bilangan yang dimasukkan dengan bilangan yang digenerasikan lebih dari 20
dan bilangan yang dimasukkan lebih kecil daripada bilangan yang digenerasikan.
o Tampilkan pesan “sedikit lagi, bilangan lebih kecil daripada yang Anda tebak” jika
selisih antara bilangan yang dimasukkan dengan bilangan yang digenerasikan adalah
5-20 dan bilangan yang dimasukkan lebih besar daripada bilangan yang digenerasikan
o Tampilkan pesan “masih jauh, bilangan lebih kecil daripada yang Anda tebak” jika
selisih bilangan yang dimasukkan dengan bilangan yang digenerasikan lebih dari 20
dan bilangan yang dimasukkan lebih besar daripada bilangan yang digenerasikan
o Jika user sudah berhasil bilangan acak tersebut dengan benar, keluarkan pesan
“Selamat, Anda benar, bilangan tersebut adalah (bilangan yang digenerasikan)”

Masukkan sebuah bilangan: 38


Masih jauh, bilangan lebih besar daripada yang Anda tebak
Masukkan sebuah bilangan: 89
Masih jauh, bilangan lebih kecil daripada yang Anda tebak
Masukkan sebuah bilangan: 50
Sedikit lagi, bilangan lebih besar daripada yang Anda tebak
Masukkan sebuah bilangan: 65
Sedikit lagi, bilangan lebih kecil daripada yang Anda tebak
Masukkan sebuah bilangan: 61
Selamat, Anda benar, bilangan tersebut adalah 61.
Referensi: https://www.w3schools.com/python/ref_random_randint.asp

5. Buatlah sebuah program yang membiarkan user memasukkan sebanyak-banyaknya bilangan


sampai user memasukkan bilangan 0. Tampilkan bilangan yang terbesar di akhir program.
Masukkan sebuah bilangan: 95
Masukkan sebuah bilangan: 327
Masukkan sebuah bilangan: 176
Masukkan sebuah bilangan: 306
Masukkan sebuah bilangan: 15
Masukkan sebuah bilangan: 0
Bilangan terbesar adalah 327

6. Buatlah sebuah program yang meminta user memasukkan sebanyak-banyaknya bilangan


sampai user memasukkan “selesai”. Ketika user memasukkan “selesai”, tampilkan total dari
bilangan-bilangan yang dimasukkan, jumlah input, dan rata-rata. Jika user memasukkan tipe
data lain selain suatu bilangan, deteksilah kesalahan user menggunakan try dan except,
tampilkan pesan error dan lompat ke bilangan selanjutnya.
Masukkan sebuah bilangan: 4
Masukkan sebuah bilangan: 5
Masukkan sebuah bilangan: tidak baik
Input invalid
Massukan sebuah bilangan: 7
Masukkan sebuah bilangan: selesai
16 3 5.33333333333

wardayacollege.com | wardayaonline.com WISE CS100


Week 4

7. Buatlah sebuah program yang memberikan kesempatan sebanyak 3 kali bagi user untuk
menebak apakah sebuah bilangan muncul dalam suatu list bilangan. Jika setelah 3 kali user
gagal untuk menebak, keluarkan pesan “Maaf, Anda belum beruntung saat ini”.
Catatan: karena Anda belum belajar cara menambahkan elemen dalam list, maka silakan
inisialisasi list bilangan sesuka Anda. Contoh: bilangan = [-6, 10, 2, 8, -7, 5]
Masukkan sebuah bilangan: 10
Maaf, bilangan tersebut tidak muncul dalam list yang kami punya.
Masukkan sebuah bilangan: 7
Maaf, bilangan tersebut tidak muncul dalam list yang kami punya.
Masukkan sebuah bilangan: -6
Selamat, bilangan yang Anda masukkan ada dalam list kami, [-6, 10, 2, 8, -7, 5]

8. Membandingkan beragam jumlah pinjaman dengan beragam nilai bunga


Buatlah sebuah program yang memintakan kepada user untuk memasukkan jumlah pinjaman
dan lama pinjaman dalam tahun serta menampilkan pembayaran bulanan dan total untuk
setiap nilai bunga dimulai dari 5% hingga 8%, dengan increment (penambahan) 1/8.
Masukkan jumlah pinjaman: $10000
Masa pinjaman (tahun): 5
Bunga Pembayaran Bulanan Pembayaran Total
5.000% 188.71 11322.74
5.125% 189.29 11357.13
5.250% 189.86 11391.59
... ... ...
7.875% 202.17 12129.97
8.000% 202.76 12165.84

Catatan: Memang kita tidak bisa menampilkan tabel, tetapi kita bisa menggunakan tab untuk
memisahkan bunga, pembayaran bulanan, dan pembayaran total.

wardayacollege.com | wardayaonline.com WISE CS100

Anda mungkin juga menyukai