A.9. Perulangan Python ➜ for & range
Perulangan atau loop merupakan teknik untuk mengulang-ulang eksekusi suatu blok kode, atau mengiterasi elemen milik tipe data kolektif (contohnya: list). Chapter ini membahas tentang penerapannya di Python.
A.9.1. Keyword for
dan fungsi range()
Perulangan di Python bisa dibuat menggunakan kombinasi keyword for
dan fungsi range()
.
- Keyword
for
adalah keyword untuk perulangan, dalam penerapannya diikuti dengan keywordin
. - Fungsi
range()
digunakan untuk membuat object range, yang umumnya dipakai sebagai kontrol perulangan.
Agar lebih jelas, silakan perhatikan dan test kode berikut:
for i in range(5):
print("index:", i)
Penjelasan:
Statement
print("index:", i)
muncul 5 kali, karena perulangan dilakukan dengan kontrolrange(5)
dimana statement tersebut menghasilkan object range dengan isi deret angka sejumlah5
dimulai dari angka0
hingga4
.Statement
for i in range(5):
adalah contoh penulisan perulangan menggunakanfor
danrange()
. Variabeli
berisi nilai counter setiap iterasi, yang pada konteks ini adalah angka0
hingga4
.Statement
print("index:", i)
wajib ditulis menjorok ke kanan karena merupakan isi dari blok perulanganfor i in range(5):
.
◉ Fungsi list()
Fungsi range()
menghasilkan object sequence, yaitu jenis data yang strukturnya mirip seperti list (tapi bukan list) yang kegunaan utamanya adalah untuk kontrol perulangan.
Object sequence bisa dikonversi bentuk list dengan cara dibungkus menggunakan fungsi list()
.
r = range(5)
print("r:", list(r))
- Pembahasan detail mengenai list ada di chapter List
- Pembahasan detail mengenai type conversion ada di chapter Konversi Tipe Data
A.9.2. Penerapan fungsi range()
Statement range(n)
menghasilkan data range sejumlah n
yang isinya dimulai dari angka 0
. Syntax range(n)
adalah bentuk paling sederhana penerapan fungsi ini.
Selain range(n)
ada juga beberapa cara penulisan lainnya:
Menggunakan
range(start, stop)
. Hasilnya data range dimulai daristart
dan hinggastop - 1
. Sebagai contoh,range(1, 4)
menghasilkan data range[1, 2, 3]
.Menggunakan
range(start, stop, step)
. Hasilnya data range dimulai daristart
dan hinggastop - 1
, dengan nilai increment sejumlahstep
. Sebagai contoh,range(1, 10, 3)
menghasilkan data range[1, 4, 7]
.
Agar lebih jelas, silakan perhatikan kode berikut. Ke-3 perulangan ini ekuivalen, menghasilkan output yang sama.
|
|
|
Tambahan contoh penerapan for
dan range()
:
|
|
A.9.3. Iterasi element data kolektif
Perulangan menggunakan for
bisa dilakukan pada beberapa jenis tipe data (seperti list, string, tuple, dan lainnya) caranya dengan langsung menuliskan saja variabel atau data tersebut pada statement for
.
Tipe data yang bisa digunakan pada keyword
for
bisasa disebut dengan tipe iterator. Lebih detailnya dibahas pada chapter Iterator.
Contoh penerapannya bisa dilihat di bawah ini:
◉ Iterasi data list
messages = ["morning", "afternoon", "evening"]
for m in messages:
print(m)
◉ Iterasi data tuple
numbers = ("twenty four", 24)
for n in numbers:
print(n)
◉ Iterasi data string
Penggunaan keyword for
pada tipe data string akan mengiterasi setiap karakter yang ada di string.
for char in "hello python":
print(char)
◉ Iterasi data dictionary
Penggunaan keyword for
pada tipe data dict
(atau dictionary) akan mengiterasi key-nya. Dari key tersebut value bisa diambil dengan mudah menggunakan notasi dict[key]
.
bio = {
"name": "toyota camry",
"year": 1993,
}
for key in bio:
print("key:", key, "value:", bio[key])
◉ Iterasi data set
numbers = {"twenty four", 24}
for n in numbers:
print(n)
A.9.4. Perulangan bercabang / nested for
Cara penerapan nested loop adalah cukup dengan menuliskan statement for
sebagai isi dari statement for
atasnya. Contoh:
max = int(input("jumlah bintang: "))
for i in range(max):
for j in range(0, max - i):
print("*", end=" ")
print()
◉ Parameter opsional end
pada fungsi print()
Fungsi print()
memiliki parameter opsional bernama end
, kegunaannya untuk mengubah karakter akhir yang muncul setelah data string di-print. Default nilai paramter end
ini adalah \n
atau karakter baris baru, itulah kenapa setiap selesai print pasti ada baris baru.
Statement print("*", end=" ")
akan menghasilkan pesan *
yang di-akhiri dengan karakter spasi karena nilai parameter end
di-set dengan nilai karakter spasi (atau
).
Pembahasan detail mengenai fungsi dan parameter opsional ada di chapter berikut:
◉ Fungsi print()
tanpa parameter
Pemanggilan fungsi print()
argument/parameter menghasilkan baris baru.
Catatan chapter 📑
◉ Source code praktik
github.com/novalagung/dasarpemrogramanpython-example/../for-range