Python For Loop (Iterables)

Reno Iqbalsah

11/05/2023

Bagian ini membahas penggunaan for loop untuk mengiterasi tipe-tipe data berbasis objek yang termasuk iterables dalam bahasa pemrograman Python.

Ketika membahas tentang tipe data pada bahasa pemrograman Python, kita sudah menyebutkan beberapa tipe data merupakan iterables, atau dapat dilakukan iterasi. Misalnya adalah tipe data string, list, tuple, dan set. Maksut dari iterables di sini adalah bahwa pada tipe data tersebut dapat dilakukan loop atas elemen-elemen di dalamnya.

Iterasi pada list / tuple / set

Contoh iterasi pada list

    
list1 = ["kucing", "sapi", "kambing"] for i in list1: print(i) # output : # kucing # sapi # kambing

Untuk mengiterasi sebuah tipe data iterable, kita hanya perlu mengganti fungsi range() pada for loop menjadi objek yang akan kita iterasikan, maka nilai i akan menjadi urutan dari nilai dalam objek tersebut. Contoh di atas menggunakan tipe data list sebagai objek yang diiterasikan, tapi tipe data tuple maupun set juga dapat diiterasikan dengan cara yang sama persis dengan kode di atas.

Untuk menambah readability atau keterbacaan kode kita, kita dapat mengubah nama variabel-variabel di atas menjadi seperti ini

    
peternakan = ["kucing", "sapi", "kambing"] for hewan in peternakan: print(hewan)

Kode tersebut akan menghasilkan output yang sama persis dengan kode di atasnya.

Iterasi pada str

Kita juga dapat mengiterasi tipe data string dengan metode sama persis dengan cara di atas. Hanya saja, nilai variabel iterasi akan menyesuaikan dengan masing-masing karakter pada objek yang diiterasikan.

    
for char in "kucing": print(char) # output: # k # u # c # i # n # g

Pada kode di atas, seluruh karakter pada kata “kucing” akan dikeluarkan sebagai output, dan dapat dilihat bahwa kita tidak harus menyimpan value “kucing” ke dalam sebuah variabel untuk dilakukan iterasi.

Kita coba sekali lagi, dengan mengubah seluruh huruf “a” pada kaliman “aku suka belajar programming” menjadi huruf “i”.

    
kalimat = "aku suka belajar programming" for char in kalimat: if char == a: print("i", end="") else: print(char, end="") # output : iku suki belijir progrimming

Perbandingan dengan Fungsi range()

Bagaimana kita bisa melakukan iterasi terhadap objek dengan cara yang sama persis dengan for loop menggunakan fungsi range()?

Jawabannya sangatlah mudah, karena kedua loop tersebut menggunakan prinsip yang sama. Lihat pada kode di bawah ini, dan cobalah jalankan sendiri.

    
print(range(5)) # output : [0, 1, 2, 3, 4]

Apa output yang dihasilkan dari kode tersebut? Benar sekali, fungsi range(n) adalah fungsi yang menghasilkan sebuah list dengan elemen di dalamnya berupa angka dari 0 sampai n-1. Sehingga, ketika kita melakukan for loop menggunakan range(), sebenarnya kita sedang melakukan iterasi pada list yang dihasilkan oleh fungsi tersebut.

Challange: Suara Hewan

Buatlah sebuah list berisi 5 hewan, yang termasuk di dalamnya kucing dan sapi (3 hewan lainnya bebas). Kemudian tulislah kode di mana ketika hewan yang terpilih adalah kucing, maka keluarkan output “meong” sedangkan jika sapi, keluarkan output “moo”, jika hewan lain maka keluarkan output “hmmmm”.

Jawaban Challenge Suara Hewan

    
binatang = ["kucing", "kambing", "rubah", "sapi", "singa"] for hewan in binatang: if hewan == "kucing": print("meong") elif hewan == "sapi": print("moo") else: print("hmmmm")