Cara menggunakan looping pada python

Seperti yang telah disinggung pada pertemuan sebelumnya, terdapat beberapa pendekatan atau metode perulangan pada python, di antaranya:

  1. Perulangan for
  2. Perulangan while
  3. Fungsi rekursif

Setelah membahas perulangan pada python dengan for, sekarang kita insyaallah akan mempelajari perulangan dengan metode while pada python.

Apa Itu Perulangan While Pada Python?

Perulangan while pada python adalah proses pengulangan suatu blok kode program selama sebuah kondisi terpenuhi [1].

Singkatnya, perulangan while adalah perulangan yang bersifat indefinite alias tidak pasti, atau bahkan tidak terbatas [2].

Sebuah blok kode akan dilakukan terus-menerus selama suatu kondisi terpenuhi. Jika suatu kondisi ternyata tidak terpenuhi pada iterasi ke 10, maka perulangan akan berhenti. Jika kondisi yang sama pada saat yang berbeda ternyata berhenti pada iterasi ke 100, maka perulangan akan berhenti pada jumlah tersebut.

Penulisan Sintaks While

Kita bisa menulis sintaks while dengan cara berikut:

while <kondisi>:
  # blok kode yang akan diulang-ulang

Terdapat 3 komponen utama:

  1. Yang pertama adalah keyword
    while (1 + 2 == 3):
      print('Halo dunia!')
    
    7, ini harus kita isi.
  2. Yang kedua adalah
    while (1 + 2 == 3):
      print('Halo dunia!')
    
    8: ini bisa berupa variabel boolean atau ekspresi logika.
  3. Dan yang terakhir adalah blok (atau kumpulan baris) kode yang akan diulang-ulang kondisi terpenuhi.

Kita langsung pada contohnya saja.

Perulangan Tanpa Batas

Perulangan while sangat berkaitan dengan variabel boolean, atau logical statement. Karena penentuan kapan suatu blok kode akan diulang-ulang ditinjau dari

while (1 + 2 == 3):
  print('Halo dunia!')
9 or
...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
0 dari suatu pernyataan logika.

Sehingga jika suatu kondisi itu selalu benar, maka perulangannya pun akan selalu di eksekusi.

Perhatikan contoh berikut:

while (1 + 2 == 3):
  print('Halo dunia!')

Jika dieksekusi, sistem akan mencetak tulisan “Halo dunia!” berkali-kali tanpa henti.

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...

Kita bisa memaksanya berhenti dengan menekan tombol

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
1 jika menggunakan CLI, atau dengan cara menekan tombol stop jika menggunakan IDE atau sejenisnya.

Kenapa perulangan di atas dieksekusi terus menerus?

Karena kita memerintahkan komputer untuk menulis “Hello World” selama satu ditambah dua sama dengan tiga.

Pertanyaannya: apakah satu ditambah dua sama dengan tiga terus-menerus atau tidak?

Jawabannya iya! Oleh karena itu sistem melakukan iterasi tak terbatas.

Contoh perulangan while seperti for + range

Nah, timbul pertanyaan.

Lalu bagaimana caranya agar kita bisa memberhentikan perulangan while?

Caranya gampang, kita buat kondisinya bersifat dinamis (alias bisa berubah-ubah).

Di dalam contoh berikut, kita akan menampilkan angka 1 sampai dengan angka 5 menggunakan perulangan while.

i = 1

while i <= 5:
  print(i)
  i += 1

Kode program di atas akan menghasilkan output seperti berikut:

1
2
3
4
5

Penjelasan

Pada kode program di atas, kita menginstruksikan sistem untuk:

  1. Melakukan perulangan selama variabel
    ...
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    ...
    
    2 kurang dari atau sama dengan
    ...
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    ...
    
    3.
  2. Setiap kali iterasi, sistem akan menampilkan nilai dari
    ...
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    ...
    
    2.
  3. Dan yang terakhir, pada setiap iterasi, sistem akan menambahkan nilai
    ...
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    ...
    
    2 dengan angka
    ...
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    Halo dunia!
    ...
    
    6.

Kalian bisa memodifikasi kode program di atas misalkan untuk:

  • menampilkan bilangan prima dari 1 sampai 100
  • menampilkan angka kelipatan 4 dari 1 sampai 100
  • menampilkan angka ganjil dari 1 sampai 27
  • dan sebagainya

Contoh perulangan while untuk list

Untuk menampilkan semua item pada list, cara yang paling clean adalah dengan menggunakan metode for seperti yang telah kita bahas sebelumnya.

Meskipun begitu, kita tetap bisa menggunakan perulangan while untuk bermain-main dengan list.

Perhatikan contoh berikut:

listKota = [
  'Jakarta', 'Surabaya', 'Depok', 'Bekasi', 'Solo',
  'Jogjakarta', 'Semarang', 'Makassar'
]

# bermain index
i = 0
while i < len(listKota):
  print(listKota[i])
  i += 1

Jika dijalankan, hasilnya akan terlihat seperti ini:

Jakarta
Surabaya
Depok
Bekasi
Solo
Jogjakarta
Semarang
Makassar

Kita juga bisa menggunakan fungsi

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
7. Perhatikan kode program berikut:

# bermain pop
while listKota:
  print(listKota.pop(0))

Kode program di atas juga akan menghasilkan output yang sama seperti yang kita lakukan dengan pendekatan indeks.

Contoh perulangan while dengan inputan

Kita juga bisa menggunakan while dengan inputan.

Perhatikan contoh di bawah. Pada contoh ini kita akan meminta user untuk memasukkan angka ganjil lebih dari 50. Jika user justru memasukkan nilai genap atau nilai yang kurang dari 50, maka sistem akan meminta user untuk menginputkan kembali.

a = int(input('Masukkan bilangan ganjil lebih dari 50: '))

while a % 2 != 1 or a <= 50:
  a = int(input('Salah, masukkan lagi: '))

print('Benar')

Contoh Output:

Masukkan bilangan ganjil lebih dari 50: 1
Salah, masukkan lagi: 2
Salah, masukkan lagi: 3
Salah, masukkan lagi: 10
Salah, masukkan lagi: 50
Salah, masukkan lagi: 52
Salah, masukkan lagi: 54
Salah, masukkan lagi: 55
Benar

Contoh perulangan while dengan continue

Sama dengan perulangan

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
8, kita juga bisa menggunakan perintah
...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
9 pada perulangan
while (1 + 2 == 3):
  print('Halo dunia!')
7.

Apa itu perintah

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
9?

Perintah

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
9 berfungsi untuk men-skip iterasi sekarang ke iterasi selanjutnya.

Contoh:

while (1 + 2 == 3):
  print('Halo dunia!')
0

Output:

while (1 + 2 == 3):
  print('Halo dunia!')
1

Pada output di atas, ketika

...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
2-nya adalah bilangan genap yang lebih dari satu, perintah
i = 1

while i <= 5:
  print(i)
  i += 1
4 tidak dieksekusi dan justru di-skip.

Contoh perulangan while dengan break

Kita juga bisa menggunakan perintah

i = 1

while i <= 5:
  print(i)
  i += 1
5 pada perulangan
while (1 + 2 == 3):
  print('Halo dunia!')
7.

Perintah

i = 1

while i <= 5:
  print(i)
  i += 1
5 itu sebenarnya mirip dengan perintah
...
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
Halo dunia!
...
9.

Bedanya:

Ketika perintah

i = 1

while i <= 5:
  print(i)
  i += 1
5 dipanggil, maka perulangan akan dihentikan secara paksa.

Perhatikan contoh berikut:

while (1 + 2 == 3):
  print('Halo dunia!')
2

Contoh output:

while (1 + 2 == 3):
  print('Halo dunia!')
3

while … else

Sama seperti for, kita juga bisa menggunakan blok kode

1
2
3
4
5
0 pada perulangan
while (1 + 2 == 3):
  print('Halo dunia!')
7.

Tugasnya pun sama: yaitu untuk mendefinisikan suatu tugas yang akan dieksekusi ketika perulangan telah selesai secara natural tanpa dihentikan secara paksa.

Kita coba ubah program pencarian kota di atas dengan menambahkan blok kode

1
2
3
4
5
0 seperti berikut:

while (1 + 2 == 3):
  print('Halo dunia!')
4

Coba eksekusi lalu masukkan kota yang tidak ada pada variabel

1
2
3
4
5
3.

Berikut ini contoh output yang saya dapatkan:

while (1 + 2 == 3):
  print('Halo dunia!')
5

Berbeda jika misal kota yang saya cari adalah kotak “Depok”:

while (1 + 2 == 3):
  print('Halo dunia!')
6

Di sini perintah yang ada di blok kode

1
2
3
4
5
0 tidak dieksekusi oleh sistem. Kenapa? Karena perulangannya diberhentikan secara paksa dengan perintah
i = 1

while i <= 5:
  print(i)
  i += 1
5, bukan karena berhenti secara natural.

Kapan harus menggunakan for, dan kapan harus menggunakan while?

Sekarang, mungkin masih ada satu pertanyaan lagi yang belum terjawab, yaitu:

Kapan kita seharusnya menggunakan for? Dan kapan seharusnya menggunakan while?

Sebenarnya tidak ada acuan yang sangat baku, karena banyak sekali kasus-kasus yang bisa diselesaikan dengan menggunakan keduanya.

Tapi, kalau memang ingin sebuah jawaban:

  • Kalian bisa menggunakan for untuk kasus-kasus yang berkaitan dengan data sequence pada python, atau untuk kasus yang sudah jelas jumlah perulangannya berapa.
  • Dan kalian bisa menggunakan while jika memang perulangannya tidak jelas akan dilakukan berapa banyak.

Kode program lengkap

Seperti biasa, di akhir tutorial ini akan ada link kode program lengkapnya.

Jika memang kalian mendapati error, problem, atau bingung pada step tertentus, bisa langsung melihat kode program lengkapnya pada repository github python-dasar.

Jangan lupa kasih star ya!⭐🌟

Pertemuan Selanjutnya

Insyaallah pada pertemuan berikutnya kita akan membahas tentang perulangan bertingkat atau perulangan bersarang pada python.

Apa itu looping pada Python?

Perulangan atau juga sering dikenal dengan looping merupakan pernyataan atau instruksi yang diberikan kepada komputer agar ia mau melakukan sesuatu entah itu memproses data, menampilkan data, atau yang lainnya secara berulang.

Apa saja statement Loop yang disediakan oleh Python?

Di dalam bahasa pemrograman Python pengulangan dibagi menjadi 3 bagian, yaitu :.
While Loop..
For Loop..
Nested Loop..

Apa itu while loop Python?

1.While Loop. Ekspresi yang dimaksud merupakan suatu kondisi atau keadaan yang kita buat. Selama nilai yang diulang masih sesuai dengan ekspresi yang sudah ditetapkan yang berarti True dan tidak bernilai 0 maka while akan terus berjalan.

Apa fungsi dari perintah looping?

Loop berguna saat kita ingin melakukan sebuah perintah yang perlu dijalankan berulang-ulang seperti melakukan perhitungan maupaun melakukan visualisasi terhadap banyak variabel secara serentak. Hal ini tentu saja membantu kita karena kita tidak perlu menulis sejumlah sintaks yang berulang-ulang.