Perulangan dengan WHILE Loop pada Python

Perulangan dengan WHILE Loop pada Python

Berbeda dengan perulangan for yang sudah diketahui kapan mulai dan kapan selesainya, pada perulangan while kita akan menggunakan kondisi boolean sebagai pengendalinya.

Kira-kira apa yang membuat while loop lebih dari for loop? kapan harus menggunakan while loop? dan bagaimana cara membuatnya? Mari kita bahas lebih lanjut.

Ingin tahu konsep while loop dijelaskan tanpa harus ngoding? Silahkan lihat penjelasan tentang Konsep Struktur Kontrol pada Pemrograman.

Struktur WHILE Loop pada Python

Pada umumnya struktur while loop cukup sederhana, bahkan di bahasa pemrograman lain juga. Berikut ini strukturnya pada Python

while <kondisi>:
  <perintah>

Dengan:

  • kondisi: ekspresi boolean yang akan dievaluasi sebagai pengendali perulangan
  • perintah: satu atau beberapa perintah yang akan dijalankan

Bagaimana WHILE Loop Bekerja?

JIka pada for loop jumlah iterasi sudah ditentukan di awal, pada while loop kita tidak perlu mendeklarasikan jumlah iterasinya, sebagai gantinya kita perlu menggunakan kondisi boolean sebagai pengendali perulangan.

Perulangan while akan terus berjalan ketika kondisi bernilai True, dan hanya berhenti ketika kondisi bernilai False atau ada pemanggilan perintah break.

Coba jalankan kode Python di bawah ini:

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

Jika dijalankan maka akan keluar bilangan 1 sampai 5. Kira-kira apa yang terjadi pada kode tersebut? mari kita bahas satu per satu.

  • Pada awalnya variable i bernilai 1. Selanjutnya kita masuk ke while statement yang akan mengevaluasi apakah nilai i saat ini kurang dari sama dengan 5. Karena 1 <= 5 maka kondisi bernilai True sehingga perintah pada baris 3 dan 4 akan dieksekusi. Pada baris ke-3 kita mencetak nilai i, pada baris ke-4 kita menambahkan nilai i dengan 1 sehingga sekarang nilai i adalah 2.
  • Ketika semua perintah dalam loop telah dijalankan maka alur program akan kembali lagi ke pengecekan kondisi while. Sekarang nilai i adalah 2 sehingga kondisi tetap bernilai True dan perintah kembali dijalankan. Nilai i akan dicetak dan ditambah dengan 1 hingga sekarang bernilai 3.
  • Begitu seterusnya sampai i bernilai 6. Ketika i bernilai 6 maka kondisi akan bernilai False karena 6 <= 5 adalah salah. Ketika itu perintah dalam perulangan tidak akan dieksekusi dan looping dinyatakan selesai.

Sekarang bagaimana jika kodenya diubah menjadi begini:

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

Coba jalankan, pasti tidak akan keluar apa-apa. Ini karena pada pengecekan kondisi while yang pertama 10 <= 5 bernilai False sehingga looping dinyatakan selesai bahkan sebelum dimulai.

WHILE Loop dan Infinite Loop

Seperti yang kita tahu bahwa while loop ini dikendalikan oleh kondisi boolean. Nah, apa jadinya jika kondisinya selalu bernilai True? Untuk percobaan, kita akan coba modifikasi kode sebelumnya menjadi seperti ini.

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

Cukup hapus i += 1 lalu jalankan dan lihat apa yang terjadi.

Nanti angka 1 akan tercetak banyak sekali. Keren kan 😎. Sampai kapan akan dicetak?? Selamanya huahaha.

Tenang, untuk menghentikan tinggal pencet ctrl + c atau sekalian close aja programnya hehe.

Inilah yang disebut dengan infinite loop atau perulangan tanpa batas. Penyebabnya adalah kondisi while yang selalu bernilai True yaitu 1 <= 5.

Infinite loop ini bisa menjadi masalah serius kalau terjadi diluar dugaan. Perulangan terus menerus akan menyebabkan program berhenti mengeksekusi kode yang lainnya karena sibuk mengerjakan perulangan.

Walaupun begitu, ada beberapa kasus yang mengharuskan kita menggunakan infinite loop, contohnya ketika membuat game.

WHILE Loop dan List

Ada hal unik pada Python, yaitu jika kita memasukkan List kosong ([]) sebagai nilai boolean maka secara otomatis akan dievaluasi menjadi False. Nah ini bisa kita manfaatkan sebagai kondisi pada while loop.

Mari kita lihat contoh kode berikut:

python
buah = ["apel", "pisang", "jeruk", "semangka", "anggur"]

while buah:
  print("Aku mau makan", buah.pop())

Jika dijalankan maka outputnya akan seperti ini:

Aku mau makan anggur
Aku mau makan semangka
Aku mau makan jeruk
Aku mau makan pisang
Aku mau makan apel

Mengapa bisa begitu? Ini karena kita memanggil method pop() pada list buah untuk setiap iterasinya. Sehingga pada akhirnya list buah menjadi empty list.

Penutup

Cukup sekian untuk kesempatan kali ini, semoga bermanfaat 😁.

Pada kesempatan selanjutnya kita akan membahas tentang perintah break dan continue pada Python 3.

See ya.. 👋

Kirim Pesan Buat Inva

Hak Cipta © 2024 Invasikode
Dibuat dengan ☕ dan ❤ oleh Inva