Perulangan dengan FOR Loop pada Python

baca 4 menit
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, 9
  • range(5, 10)= 5, 6, 7, 8, 9
  • range(1, 10, 2)= 1, 3, 5, 7, 9
  • range(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:

python
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.

python
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.

python
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-1
range(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.

python
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:

python
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](/tipe-data-string-python) dan [list](/tipe-data-list-python) juga bisa digunakan.

Untuk membuktikannya coba jalankan kode di bawah ini.

python
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 😉