Belajar Python 5
Perulangan dalam Python

oleh: Suryo Adhy Chandra, ST

Ilustrasi perulangan Python

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.

for angka in range(1, 6): print(angka)

2. Perulangan while

while dipakai selama sebuah kondisi masih benar. Jika kondisinya salah, perulangan berhenti.

angka = 1 while angka <= 5: print(angka) angka = angka + 1

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.

while True: jawaban = input("Ketik stop untuk berhenti: ") if jawaban == "stop": break
Intinya: 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.

for i in range(5): print(i, end=" ") print() for i in range(2, 11, 2): print(i, end=" ") print() for i in range(5, 0, -1): print(i, end=" ") print()
0 1 2 3 4 2 4 6 8 10 5 4 3 2 1

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.

total = 0 for angka in range(1, 6): total = total + angka print("angka", angka, "total", total) print("Hasil akhir:", total)
angka 1 total 1 angka 2 total 3 angka 3 total 6 angka 4 total 10 angka 5 total 15 Hasil akhir: 15

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.

for angka in range(1, 11): if angka == 4: continue if angka == 7: break print(angka, end=" ") print()
1 2 3 5 6

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

hitung = 3 while hitung > 0: print(hitung) hitung -= 1 print("Selesai!")
3 2 1 Selesai!

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

Lupa titik dua. Menulis for i in range(3) tanpa titik dua di ujung menghasilkan SyntaxError: expected ':'.
Lupa menjorok. Jika baris di bawah for tidak diberi jorokan, muncul IndentationError: expected an indented block after 'for' statement on line 1.
range dengan angka desimal. Menulis range(2.5) menghasilkan TypeError: 'float' object cannot be interpreted as an integer. Argumen range harus bilangan bulat.
Perulangan tanpa akhir. Pada 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

10. Latihan

  1. 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.
  2. 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 keluaran 3 x 1 = 3 dan baris terakhir 3 x 5 = 15.
  3. Hitung jumlah semua angka dari 1 sampai 100.
    Lihat jawaban
    total = 0 for angka in range(1, 101): total += angka print(total)
    Keluarannya 5050.
  4. 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.
← Kembali Ke Daftar Pelajaran Python #1