Belajar Python Dasar : Perulangan While


01. Apa Itu Perulangan While Pada Python?

  • Perulangan while adalah proses pengulangan suatu blok kode program selama sebuah kondisi terpenuhi. 
  • Perulangan ini bersifat indefinite atau tidak terbatas di mana jumlah perulangan tidak diketahui pasti. Artinya, perulangan akan terus berjalan selama kondisi yang diberikan bernilai True (terpenuhi) dan akan berhenti ketika kondisi tersebut bernilai False (tidak terpenuhi).
  • Oleh karena itu, perulangan while harus ditangani dengan hati-hati untuk mencegah infinite loop atau perulangan tak terbatas.

02. Sintaks Perulangan While

Cara menulis sintaks while dengan cara berikut:


Terdapat 3 komponen utama:
  • Yang pertama adalah keyword while, ini harus kita isi.
  • Yang kedua adalah <kondisi>: ini bisa berupa variabel boolean atau ekspresi logika.
  • Dan yang terakhir adalah blok (atau kumpulan baris) kode yang akan diulang-ulang kondisi terpenuhi.

Contoh Perulangan Tanpa Batas

Perhatikan contoh berikut:


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

Hal itu karena kita memerintahkan komputer untuk menulis “Hello World” selama satu ditambah dua sama dengan tiga, di mana satu ditambah dua akan terus-menerus sama dengan tiga (kondisi akan terus terpenuhi atau bernilai true).

Kita bisa memaksanya berhenti dengan menekan tombol Ctrl + C jika menggunakan CLI, atau dengan cara menekan tombol stop jika menggunakan IDE atau sejenisnya.

Contoh perulangan while seperti for + range

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


Pada kode program di atas, kita menginstruksikan sistem untuk:
  • Melakukan perulangan selama variabel i kurang dari atau sama dengan 5.
  • Setiap kali iterasi, sistem akan menampilkan nilai dari i.
  • Dan yang terakhir, pada setiap iterasi, sistem akan menambahkan nilai i dengan angka 1.

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:


Kita juga bisa menggunakan fungsi list.pop() untuk menampilkan semua item pada list. 

Perhatikan kode program berikut:


Contoh perulangan while dengan inputan

Perhatikan contoh berikut :


Pada contoh di atas, 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.

Contoh perulangan while dengan continue

Apa itu perintah continue?

Perintah continue berfungsi untuk men-skip iterasi sekarang ke iterasi selanjutnya.

Perhatikan contoh berikut :


Pada output di atas, ketika i-nya adalah bilangan genap yang lebih dari satu, perintah print(listKota[i]) tidak dieksekusi dan justru di-skip.

Contoh perulangan while dengan break

Kita juga bisa menggunakan perintah break pada perulangan while. Perintah break itu sebenarnya mirip dengan perintah continue.

Bedanya, ketika perintah break dipanggil, maka perulangan akan dihentikan secara paksa.

Perhatikan contoh berikut:


Contoh menggunakan while … else

Sama seperti for, kita juga bisa menggunakan blok kode else pada perulangan while.

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 else seperti berikut:


Coba eksekusi lalu masukkan kota yang tidak ada pada variabel listKota. Hasilnya akan berbeda jika kota yang kita cari ada pada variabel listKota, misalya kota Depok.

Jika kita masukkan kota Depok misalnya, perintah yang ada di blok kode else tidak dieksekusi oleh sistem. Kenapa? Karena perulangannya diberhentikan secara paksa dengan perintah break, bukan karena berhenti secara natural.

Kapan harus menggunakan for, dan kapan harus 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:
  • Kita bisa menggunakan for untuk kasus-kasus yang berkaitan dengan data sequence pada python, atau untuk kasus yang sudah jelas jumlah perulangannya berapa.
  • Dan kita bisa menggunakan while jika memang perulangannya tidak jelas akan dilakukan berapa banyak.

Sumber :
https://jagongoding.com/python/dasar/perulangan-while/