Python While Loop
Reno Iqbalsah
18/04/2023
Bagian ini membahas penggunaan while loop dalam bahasa pemrograman Python.
While loop, merupakan salah satu loop dalam Python. While loop akan menjalankan sebuah kode secara berulang selama suatu kondisi terpenuhi.
i = 0
while i < 5:
print(i, end=" ")
i += 1
# output = 0 1 2 3 4
Dalam kode di atas, nilai i
yang mulanya bernilai 0
akan dikeluarkan sebagai output. Begitu pula seterusnya, interpreter
akan mengecek apakah nilai i
lebih kecil dari 5
. Ketika nilai i
mencapai nilai 5
, maka interpreter akan menghentikan
loop tersebut.
Catatan: While loop akan mengecek terlebih dahulu suatu kondisi yang diberikan, dan kemudian baru menjalankan program, apabila kondisi tidak terpenuhi sejak awal, maka program tidak akan berjalan.
Mengambil Input Secara berulang
Kita juga dapat menggunakan while loop untuk mengambil input secara berulang. Misalnya kita mengambil input beberapa angka, dan menghasilkan output jumlah dari angka-angka yang diinput. Program akan dihentikan apabila user memasukkan angka 0.
Mari berkenalan dengan salah satu library dalam Python bernama time
. Library ini memungkinkan kita untuk menggunakan fungsi yang berhubungan dengan waktu. Kita akan
menggunakan fungsi time.sleep()
untuk memberikan jeda antar input yang dilakukan user. Untuk menggunakan library ini, kita harus terlebih dahulu meng-import time
ke
dalam kode kita.
import time # mengimport library time
user_input = 1 # angka random selain 0, agar while loop berjalan
jumlah = 0 # jumlah awal
while user_input != 0:
user_input = int(input("Masukkan angka: "))
jumlah += user_input
print("Jumlah: ", jumlah)
time.sleep(3) # menjeda program selama 3 detik
Dalam kode di atas ada tanda #
yang merupakan comment, seluruh tulisan di belakang tanda #
tidak akan dibaca dan dieksekusi oleh interpreter. Penggunaan
comment yang tepat sangatlah bermanfaat, untuk kita menjelaskan bagaimana suatu program bekerja, baik kepada orang lain maupun untuk kita baca lagi di lain waktu.
Perhatian: Menghindari Infinite Loop
Dalam menjalanka while loop, perlu diperhatikan bahwa kita harus memastikan bahwa syarat program berhenti akan terpenuhi. Apabila syarat ini tidak terpenuhi, maka program akan terus berjalan dan dapat membebani memori. Misalnya pada kode di bawah ini:
i = 10
while i > 5:
print(i)
i += 1
Pada kode di atas, program akan terus mengeluarkan output 10 11 12 13 ...
dan seterusnya. Karena kondisi i > 5
akan selalu terpenuhi sebab nilai i
malah akan semakin
besar. Pastikan hal ini tidak terjadi karena program yang kita buat akan “terjebak” dalam sebuah loop yang tidak berujung.
Challenge: Aplikasi Timer
Mari coba kita buat sebuah aplikasi timer sederhana. Dengan ketentuan:
- Program akan mengambil angka dari user, angka ini merupakan jumlah berapa lama program akan berjalan dalam detik.
- Program akan mengeluarkan output berupa countdown dari nilai timer yang dimasukkan.
- Gunakan fungsi
time.sleep()
untuk membuat interval antar countdown menjadi 1 detik.
Buka jawabannya di sini: