Perulangan dengan FOR Loop pada Python
Komputer diciptakan di dunia ini adalah untuk memudahkan pekerjaan manusia. Dengan sifatnya yang tidak pernah bosan, komputer bisa menjalankan perintah yang sama secara berulang kali bahkan tanpa perlu istirahat.
Melakukan kegiatan secara berulang ini disebut dengan perulangan atau looping. Looping ini juga termasuk salah satu struktur kontrol pada bahasa pemrograman.
Dalam bahasa Python terdapat 2 jenis perulangan yaitu for
loop dan while
loop. Kira kira bagaimana implementasinya? Pada kesempatan kali ini kita akan membahas tentang for
loop terlebih dahulu.
FOR Loop, Iterasi, dan Iterable
for
loop merupakan perulangan yang sudah diketahui kapan mulainya dan kapan selesainya. Pada bahasa pemrograman lain seperti Pascal, Java, dan C++, for
loop dilakukan dengan menggunakan counter. Namun pada Python sedikit berbeda, kita akan menggunakan yang namanya iterable.
Perulangan yang menggunakan iterable sebagai subjek datanya sering disebut dengan iterasi.
Iterable meruakan kumpulan data yang dihimpun menjadi satu dan dapat diakses secara berurutan mulai dari kepala hingga ekornya. Hampir semua tipe data yang memuat banyak nilai adalah itaerable. Beberapa yang sudah kita bahas adalah string (memuat banyak karakter) dan list (memuat banyak nilai bebas).
Nah kali ini kita akan menggunakan iterable yang lain yaitu range
. Range adalah data yang berisi banyak angka bulat (integer) berurutan. Untuk membuatnya, kita bisa menggunkan fungsi range()
dengan 1 hingga 3 argumen.
range(<nilai_akhir>)
# atau
range(<nilai_awal>, <nilai_akhir>)
# atau
range(<nilai_awal>, <nilai_akhir>, <step>)
Langsung aja lihat contohnya:
range(10)
= 0, 1, 2, 3, 4, 5, 6, 7, 8, 9range(5, 10)
= 5, 6, 7, 8, 9range(1, 10, 2)
= 1, 3, 5, 7, 9range(5, 0, -1)
= 5, 4, 3, 2, 1
Dari contoh tersebut sepertinya sudah jelas ya bagaimana kegunaan argumennya. Nah sekarang kembali ke tujuan awal, bagaimana cara menggunakan range
ini dalam perulangan for
?
Struktur FOR Loop pada Python
Secara umum struktur perulangan for
pada python adalah seperti ini:
for <variable> in <iterable>:
<perintah>
<variable>
: penampung elemen iterable pada setiap iterasi<iterable>
: nilai yang menjadi subjek iterasi / perulangan<perintah>
: sebuah atau beberapa perintah yang akan dijalankan
Penggunaan FOR Loop
Sekarang kita coba sebuah kasus. Kira-kira bagaimana cara mencetak tulisan "Hello world" sebanyak 5 kali?
Alternatif pertama mungkin cukup dengan memanggul fungsi print("Hello World")
sebangyak 5 kali seperti ini:
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
print("Hello World")
Cara ini tidak salah, tetapi sebagai programmer jika menuliskan hal yang sama berulang-ulang rasanya seperti ada yang kurang pas. Apalagi jika ada sebuah kasus yang mengharuskan kita menjalankan perintah yang sama sebanyak 100 kali atau bahkan 1.000.000 kali — Wadu kalau mau copas bisa pusing 😥.
Disinilah perulangan akan sangat membantu. Lima baris kode Hello World yang tadi sekarang cukup jadi 2 baris kode saja.
for i in range(5):
print("Hello World")
Coba jalankan kode tersebut dan lihat apa yang terjadi.
Selanjutnya coba ganti angka 5 pada range(5)
menjadi angka yang besar seperti 100 dan lihat apa yang terjadi setelah dijalankan — Spoiler: Tulisan "Hello World" akan muncul sebanyak angka pada range
.
Cukup disitu saja? tentu tidak... Ada banyak hal yang bisa kita lakukan dengan perulangan ini. Contoh simpelnya adalah mencetak angka berurutan 1 sampai 10.
for i in range(1, 11):
print(i)
Sekarang coba jalankan kode tersebut, maka kurang lebih outputnya akan seperti ini:
1
2
3
4
5
6
7
8
9
10
Bagaimana kode tersebut bekerja?
Tepat setelah keyword for
, kita mendeklarasikan variable i
sebagai penyimpan value dari range(1, 11)
yang berisi angka 1 sampai 10. Lanjut, iterasi akan dilakukan dengan mengambil nilai dari range(1, 11)
dan dimasukkan ke i
satu per satu mulai dari kepala hingga ekor. Terakhir, pada tiap iterasi akan dipanggil perintah print(i)
untuk mencetak nilai dari variable i
, pemanggilan perintah ini akan dilakukan sebanyak tepat 10 kali.
Ingat, fungsi
range
pada python bersifat ekslusif. Artinya nilai yang akan dihasilkan adalah mulai dari nilai awal hingga nilai akhir dikurangi 1.range(n)
= 0, 1, ..., n-1range(n, m)
= n, n+1, n+2, ..., m-1
Lebih Banyak Lagi Penggunaan FOR Loop
Setelah sebelumnya kita mencetak angka berurutan dari 1 sampai 10, kali ini kita akan coba mencetak deret angka dengan beda 2 dari 1 hingga 10. Kira-kira bagaimana caranya?
Untuk melakukan ini kita perlu mengisikan argumen ke-3 pada fungsi range
. Argumen ini bernama step yang berfungsi sebagai penjumlah tambahan. Ketika argumen ini tidak diisikan maka nilainya adalah 1, oleh karena itulah range
selalu menghasilkan bilangan berurutan.
Sekarang kita modifikasi kode yang sebelumnya sudah kita buat.
for i in range(1, 11, 2):
print(i)
Selanjutnya coba jalankan dan lihat hasilnya. Kurang lebih akan terlihat seperti ini:
1
3
5
7
9
Karena kita mulai dari 1 dengan nilai step 2, maka yang keluar adalah deret bilangan ganjil. Kalau kita ubah range
-nya menjadi range(0, 11, 2)
maka yang keluar adalah bilangan genap dari 0 sampai 10.
Sekarang, bagaimana jika ingin menghitung mundur?
Mudah, kita hanya perlu memasukkan nilai awal yang lebih besar dari nilai akhir, lalu memasukkan angka negatif sebagai nilai step. Contohnya seperti ini:
for i in range(5, 0, -1):
print(i)
Maka outputnya akan seperti ini:
5
4
3
2
1
Menggunakan Iterator Lainnya (string dan list)
Di awal sudah dibicarakan bahwa for
loop pada Python ini menggunakan iterator, dan iterator bukan cuma range
saja tetapi [string](https://invasikode.com/tipe-data-string-python/)
dan [list](https://invasikode.com/tipe-data-list-python/)
juga bisa digunakan.
Untuk membuktikannya coba jalankan kode di bawah ini.
kalimat = "Belajar Python di Invasikode"
kata_kata = ["Belajar", "Python", "di", "Invasikode"]
for huruf in kalimat:
print(huruf)
for kata in kata_kata:
print(kata)
SIlahkan dijalankan dan lihat apa yang terjadi.
Penutup
Sampai di sini semoga kalian dapat konsepnya ehehe. Cukup sekian, dan semoga bermanfaat. Pada kesempatan selanjutnya kita akan membahas tentang perulangan menggunakan WHILE loop pada Python 3.
See ya 😉