Secara umum, pernyataan pada bahasa pemrograman akan dieksekusi secara berurutan. Pernyataan pertama dalam sebuah fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya. Tetapi akan ada situasi dimana Anda harus menulis banyak kode, dimana kode tersebut sangat banyak. Jika dilakukan secara manual maka Anda hanya akan membuang-buang tenaga dengan menulis beratus-ratus bahkan beribu-ribu kode. Untuk itu Anda perlu menggunakan pengulangan di dalam bahasa pemrograman Python.
Ada 2 perintah umum yang dipakai untuk melakukan pengulangan dalam Python: While dan For
while Loop
Pengulangan While Loop di dalam bahasa pemrograman Python dieksesusi statement berkali-kali selama kondisi bernilai benar atau True
.
Dibawah ini adalah contoh penggunaan pengulangan While.
# Contoh: Program 1
n = 0
while (n< 9):
print("Baris",n)
n = n + 1
print ("Selesai!")
# Contoh: Program 2
total = 0
while True:
n = input("Data ?")
if n == "0":
break
else:
total = total + int(n)
print()
print("Total =", total)
Pada while True
merupakan perintah pengulangan tanpa menentukan kondisi berhenti. Kontrol pada loop ini dilakukan di dalam, yaitu pada perintah if n == "0"
, jadi jika user input “0” maka perintah break
akan di eksekusi. Perintah break
akan menghentikan loop dan melanjutkan ke baris berikutnya di luar loop.
Tanda kutip ganda pada if n == "0"
diperlukan karena data yang diinput melalui input
akan selalu berupa string. Itu sebabnya juga ketika total = total + int(n)
, fungsi int()
diperlukan untuk mengubah string menjadi integer (angka)
for Loop
Perintah for
di python memiliki peruntukan yang berbeda dengan perintah for
di C++ atau PHP. Pengulangan for
pada lebih diperuntukan untuk pengulagi/traversal item pada struktur data list atau yang sejenisnya.
Dibawah ini adalah contoh penggunaan pengulangan For Loop.
#Contoh pengulangan for sederhana
angka = [1,2,3,4,5]
for x in angka:
print(x)
#Contoh pengulangan for
buah = ["nanas", "apel", "jeruk"]
for makanan in buah:
print ("Saya suka makan", makanan)
Walaupun bukan peruntukannya kita tetap bisa menggunakan for
untuk pengulangan yang bersifat increment seperti di C++ dan PHP dengan bantuan fungsi range()
# contoh mencetak angka 1-10 menggunakan range()
for n in range(1,11):
print(n)
Perintah range(a,b)
akan men-_generate_ list mulai dari bilangan a sampai bilangan b-1. Dengan demikian. range(1,11)
akan menghasilkan list [1,2,3,4,5,6,7,8,9,10]
.
Nested Loop
Bahasa pemrograman Python memungkinkan penggunaan satu lingkaran di dalam loop lain. Bagian berikut menunjukkan beberapa contoh untuk menggambarkan konsep tersebut.
Dibawah ini adalah contoh penggunaan Nested Loop.
# contoh program mencetak "piramida bintang"
y = 1
while y < 6:
x = 1
while x <= y:
print("*", end="")
x += 1
print()
y += 1
Output
*
* *
* * *
* * * *
* * * * *