Modul 4: Iterabel dan Pengulangan
Capaian Pembelajaran Mata Kuliah
Mampu menggunakan elemen-elemen pemrograman, yaitu variabel, percabangan, dan pengulangan untuk membuat algoritma sederhana.
Materi
Iterabel
Kita sudah mengenal berbagai macam tipe data, misalnya
int, float, dan string.
Setiap data tersebut menampung hanya satu value.
Ada juga data yang menampung banyak value sekaligus.
Contohnya adalah list, tuple, set, dan dictionary.
Berikut contohnya.
Di modul ini, kita tidak membahas detail tipe-tipe data tersebut. Kita hanya menunjukkan data tersebut dalam kaitannya sebagai sebuah iterabel. Iterabel adalah
- Data yang dapat menampung banyak value
- Yang setiap datanya dapat dibaca satu per satu atau dengan kata lain kita dapat melakukan iterasi ke setiap data di dalamnya.
list, tuple, set, dan dictionary adalah iterabel.
Tapi selain itu, ada juga satu iterabel penting, yaitu
data yang dihasilkan fungsi range().
range() adalah fungsi yang dapat menerima tiga argumen.
range(awal, akhir, step) -> ini akan menghasilkan urutan yang
dimulai dari awal,
berakhir di bilangan sebelum akhir,
dan loncat sebesar step.
Sebagai contoh:
Hasilnya adalah
Kita juga bisa hanya memasukkan satu atau dua argumen ke
dalam range
yang masing-masing hasilnya adalah sebagai berikut.
Coba
-
Berikut adalah program untuk mencetak hasil dari fungsi
range.Buatlah agar program tersebut menghasilkan urutan-urutan bilangan berikut. Ubah kode hanya di dalam kurung fungsi
range. -
Buatlah iterabel menggunakan fungsi
range()dengan ketentuan sebagai berikut.- Terdiri dari 10 elemen (awal, akhir, dan step bebas)
- Terdiri dari 8 elemen, awal di -2, dan loncat 3
- Terdiri dari 10 elemen, mulai dari 9, mundur 1 step = [9, 8, ...]
Pengulangan
Perhatikan kode berikut.
Program tersebut, menuliskan kata Budi sebanyak 10 baris.
Ada cara yang lebih baik untuk itu, yaitu dengan
menggunakan pengulangan.
Pengulangan Menggunakan for
Jika kita ingin mengulang-ulang suatu baris kode dalam Python, kita
harus 'membungkusnya' dalam suatu blok pengulangan.
Di kode berikut, print("Budi") diulang 10 kali.
Secara umum, sintaks untuk pengulangan menggunakan for
adalah:
Secara detail, proses pengulangan adalah sebagai berikut.
Catatan
Setelah statement for <variabel> in <iterabel>:
Python mewajibkan kita menuliskan kode yang akan diulang.
Jika tidak, program akan error.
Jika kita belum mau menuliskan kode namun
ingin mencoba menjalankan program yang kita buat,
gunakan kata kunci pass yang artinya perintah
kosong (tidak melakukan apa-apa).
Coba
-
Tulis kode berikut dan jalankan. Apa yang terjadi?
-
Oleh karena
Sebagai contoh:listadalah iterabel, sintaks berikut valid. -
Contoh iterabel yang sudah pernah kita temui namun belum kita sebutkan sebagai iterabel adalah
string. Perhatikan kode berikut.Bandingkan dengan kode berikut.
Pengulangan Menggunakan while
Selain menggunakan perintah for, pengulangan dalam Python
juga dapat menggunakan while.
Sintaks pengulangan menggunakan while adalah sebagai berikut.
Catatan
Tanda kurung dalam (<ekspresi boolean>)
adalah opsional.
Berikut adalah contoh pengulangan menggunakan while.
Program tersebut akan terus-terusan menuliskan bintang. Untuk menghentikannya, tekan Ctrl-c.
Tidak seperti pengulangan menggunakan for, pengulangan menggunakan while
tidak memiliki kendali jumlah pengulangan.
Akan tetapi, kita dapat membuat sebuah variabel kendali
untuk menentukan jumlah pengulangan menggunakan while.
Perhatikan kode berikut.
Dalam kode tersebut, variabel pengulangan akan terus bertambah 1
setiap iterasi melalui baris
Pengulangan akan berhenti ketika variabel pengulangan
mencapai 10. Mengapa? Karena ketika variabel pengulangan mencapai
10, ekspresi boolean pengulangan < 10 menjadi False sehingga
pengulangan berhenti.
Coba
-
Kode berikut mencetak angka 1-10, ke samping menggunakan
fordanwhile. Mana yang kamu pilih? -
Jalankan kode berikut dan pahami kodenya.
Kata Kunci break dan continue
Salah satu kata kunci penting dalam pengulangan
adalah break dan continue.
breakdigunakan untuk keluar dari loop.continuedigunakan untuk lanjut ke iterasi selanjutnya dalam loop dengan mengabaikan kode di sisa loop.
Kode ini akan menghasilkan output:
Sementara kode ini:akan menghasilkan output:
Pengulangan di Dalam Pengulangan
Jika diperlukan, kita bisa membuat suatu pengulangan di dalam pengulangan.
Contoh lain adalah sebagai berikut.
Kode ini akan menghasilkan output sebagai berikut.
Output yang sama bisa didapatkan dengan memanfaatkan operator* pada string.
Coba
Jalankan kode-kode berikut dan pahami algoritmanya.
Kerjakan
-
Buat program yang outputnya seperti berikut:
-
Cetak kalimat
Saya senang belajar pemrogramansebanyaknkali dengannadalah angka yang dimasukkan oleh user. Gunakan kerangka program berikut dan hanya ubah kode di bagian bertanda#. -
Buat program menebak angka acak antara 1–100. User boleh menebak secara berulang-ulang. Setiap kali menebak, program memberi respon Terlalu besar! atau Terlalu kecil!. Jika benar, program mengeluarkan pesan Tepat!. Berikut adalah kerangka programmnya. Ubah kode di bagian yang ditandai tanda
#. -
Tambahkan di kode berikut sehingga di setiap baris terdapat nomor barisnya.
-
Lengkapi program berikut sehingga outpunya seperti berikut. Lengkapi dengan menghapus
passdan menggantinya dengan blok kode yang benar.