
Belajar Python 5
Perulangan dalam Python
oleh: Suryo Adhy Chandra, ST
Perulangan adalah cara untuk menjalankan perintah berkali-kali tanpa menulis kode yang sama terus-menerus. Misalnya kita ingin mencetak angka 1 sampai 5, kita tidak perlu menulis print() lima kali.
Komputer unggul dalam satu hal yang membuat manusia cepat bosan: mengerjakan pekerjaan yang sama berulang-ulang tanpa lelah dan tanpa salah. Bayangkan guru menyuruhmu menulis kalimat "Saya tidak akan terlambat" sebanyak seratus kali. Manusia akan pegal, sedangkan komputer cukup diberi dua baris perintah. Itulah alasan perulangan adalah salah satu konsep terpenting dalam pemrograman, dan hampir setiap program yang pernah kamu pakai menggunakannya, dari menampilkan daftar pesan sampai memutar lagu satu per satu.
Python menyediakan dua jenis perulangan: for dan while. Keduanya bisa menyelesaikan pekerjaan yang sama, tetapi masing-masing punya situasi yang paling cocok. Setelah mempelajari bab ini, kamu akan bisa mengatur jarak hitungan dengan range(), menjumlahkan deretan angka, menghentikan perulangan di tengah jalan, dan menghindari perulangan yang tidak pernah berakhir.
1. Perulangan for
for dipakai ketika jumlah perulangannya jelas, misalnya mengulang dari angka 1 sampai 5 atau membaca isi list.
2. Perulangan while
while dipakai selama sebuah kondisi masih benar. Jika kondisinya salah, perulangan berhenti.
3. Bagaimana dengan do while?
Di Python tidak ada perintah do while seperti beberapa bahasa pemrograman lain. Tetapi konsepnya bisa dibuat dengan while True, lalu dihentikan memakai break.
for cocok untuk jumlah data yang jelas, while cocok untuk mengulang selama syarat masih terpenuhi, dan konsep do while di Python biasanya dibuat dengan while True.4. Mengenal range() lebih jauh
Fungsi range() menerima satu sampai tiga angka. Dengan satu angka, hitungan dimulai dari 0 dan berhenti sebelum angka itu. Dengan dua angka, hitungan dimulai dari angka pertama dan berhenti sebelum angka kedua. Angka ketiga adalah langkah (loncatan) yang boleh negatif untuk menghitung mundur.
Baris pertama mencetak lima angka dari 0 sampai 4; angka 5 tidak ikut. Baris kedua mencetak bilangan genap dari 2 sampai 10 karena langkahnya 2. Baris ketiga menghitung mundur dari 5 sampai 1 karena langkahnya -1. Perintah print() kosong hanya dipakai untuk pindah baris setelah deretan angka selesai.
5. Menjumlahkan angka dengan perulangan
Pola yang sangat sering dipakai adalah menyiapkan variabel penampung, misalnya total = 0, lalu menambahkan isinya setiap kali perulangan berjalan. Seperti celengan: awalnya kosong, lalu terisi sedikit demi sedikit.
Pada putaran pertama total berubah dari 0 menjadi 1. Putaran kedua menambah 2 sehingga menjadi 3, dan seterusnya sampai 1+2+3+4+5 = 15. Baris print("Hasil akhir:", total) tidak menjorok, jadi hanya dijalankan sekali setelah perulangan selesai.
6. Menghentikan dan melewati putaran
Perintah break menghentikan seluruh perulangan seketika. Perintah continue hanya melewati putaran yang sedang berjalan lalu lanjut ke putaran berikutnya.
Angka 4 dilewati oleh continue sehingga tidak tercetak. Ketika angka mencapai 7, break memutus perulangan sehingga angka 7 sampai 10 tidak pernah diproses.
7. while dengan hitung mundur
Baris hitung -= 1 adalah singkatan dari hitung = hitung - 1. Tanpa baris ini, nilai hitung tidak pernah menjadi 0 sehingga perulangan tidak akan pernah berhenti.
8. Kesalahan yang sering terjadi
for i in range(3) tanpa titik dua di ujung menghasilkan SyntaxError: expected ':'.for tidak diberi jorokan, muncul IndentationError: expected an indented block after 'for' statement on line 1.range(2.5) menghasilkan TypeError: 'float' object cannot be interpreted as an integer. Argumen range harus bilangan bulat.while, jika nilai yang diperiksa tidak pernah berubah, program akan berputar selamanya. Hentikan paksa dengan menekan Ctrl + C di terminal, lalu periksa kembali apakah ada baris yang mengubah variabel kondisinya.9. Ringkasan
fordipakai bila jumlah putaran sudah jelas;whiledipakai selama syarat masih benar.range(awal, akhir, langkah)berhenti sebelum angka akhir.- Variabel penampung seperti
total = 0dipakai untuk mengumpulkan hasil dari tiap putaran. breakmenghentikan perulangan,continuemelewati satu putaran.
10. Latihan
- Cetak bilangan 10, 20, 30, sampai 100, masing-masing di baris baru.
Lihat jawaban
for angka in range(10, 101, 10): print(angka)Angka akhir ditulis 101 karena range berhenti sebelum angka itu. - Cetak tabel perkalian 3 dari 3 x 1 sampai 3 x 5.
Lihat jawaban
for kali in range(1, 6): print("3 x", kali, "=", 3 * kali)Baris pertama keluaran3 x 1 = 3dan baris terakhir3 x 5 = 15. - Hitung jumlah semua angka dari 1 sampai 100.
Lihat jawaban
total = 0 for angka in range(1, 101): total += angka print(total)Keluarannya5050. - Cetak segitiga bintang tiga baris: satu bintang, dua bintang, lalu tiga bintang.
Lihat jawaban
for baris in range(1, 4): print("*" * baris)Keluarannya*,**, lalu***masing-masing di baris sendiri.