Membuat Keputusan dan Pengulangan · Pelajaran 7 dari 11
Perulangan for dan while
9 menit baca · BelajarCode
Perulangan for dengan range
range(awal, akhir, langkah) menghasilkan deret angka dari awal sampai sebelum akhir.
1for i in range(1, 6):2 print("Putaran ke-", i, sep="")Putaran ke-1 Putaran ke-2 Putaran ke-3 Putaran ke-4 Putaran ke-5
| Ekspresi | Angka yang dihasilkan |
|---|---|
range(5) | 0, 1, 2, 3, 4 |
range(2, 7) | 2, 3, 4, 5, 6 |
range(0, 20, 5) | 0, 5, 10, 15 |
range(10, 0, -2) | 10, 8, 6, 4, 2 |
for juga bisa mengambil karakter dari string satu per satu:
1for huruf in "KODE":2 print(huruf)K O D E
Perulangan while
while mengulang selama syaratnya benar. Cocok dipakai saat kita tidak tahu berapa kali harus mengulang.
1tabungan = 02minggu = 03while tabungan < 100000:4 tabungan += 150005 minggu += 16print(f"Butuh {minggu} minggu, tabungan Rp{tabungan}")Butuh 7 minggu, tabungan Rp105000
break dan continue
breakmenghentikan perulangan saat itu juga.continuemelompati sisa isi perulangan dan langsung ke putaran berikutnya.
1for angka in range(1, 11):2 if angka % 3 == 0:3 continue4 if angka > 8:5 break6 print(angka, end=" ")7print()1 2 4 5 7 8
Angka yang habis dibagi 3 dilewati, dan perulangan berhenti begitu bertemu angka lebih dari 8. end=" " membuat print tidak pindah baris.
Perulangan bersarang
Perulangan di dalam perulangan berguna untuk data berbentuk tabel.
1for baris in range(1, 4):2 for kolom in range(1, 4):3 print(baris * kolom, end="\t")4 print()1 2 3 2 4 6 3 6 9
"\t" adalah karakter tab, untuk membuat kolom sejajar.
Mengulang sampai masukannya benar
1sandi = ""2while sandi != "rahasia":3 sandi = input("Masukkan kata sandi: ")4print("Akses diterima")Masukkan kata sandi: halo Masukkan kata sandi: Rahasia Masukkan kata sandi: rahasia Akses diterima
Jangan lupa mengubah syarat
Pada while, pastikan ada perintah yang membuat syaratnya suatu saat salah. Kalau tidak, program terjebak dalam perulangan tak berujung. Di Playground, tekan tombol Hentikan untuk menghentikannya.
Cek pemahaman
Berapa kali print dijalankan pada for i in range(2, 11, 2): print(i)?
Latihan
Jumlah bilangan genap
Hitung jumlah semua bilangan genap dari 1 sampai 100 dengan perulangan. Coba buat dengan dua cara: memakai if di dalam perulangan, dan memakai langkah range.
Pembahasan
1jumlah = 02for i in range(1, 101):3 if i % 2 == 0:4 jumlah += i5print("Cara 1:", jumlah)67jumlah = 08for i in range(2, 101, 2):9 jumlah += i10print("Cara 2:", jumlah)Cara 1: 2550 Cara 2: 2550
Cara kedua lebih efisien karena hanya mengulang 50 kali, bukan 100 kali.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.