Tutorial Belajar Python Part 26: Perulangan While Bahasa Python

Dalam bahasa Python terdapat 2 buah struktur perulangan atau looping, yakni perulangan while dan perulangan for. Dalam tutorial kali ini kita akan bahas perulangan while terlebih dahulu.


Pengertian Struktur Perulangan While Bahasa Python

Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi kode program yang bertujuan untuk mengulang beberapa baris perintah.

Dalam merancang perulangan, kita setidaknya harus mengetahui 3 komponen:

  1. Kondisi awal perulangan.
  2. Kondisi pada saat perulangan.
  3. Kondisi yang harus dipenuhi agar perulangan berhenti.

Berikut format dasar struktur perulangan while dalam bahasa Python:

start;
while condition:
  # kode program yang akan diulang
  # kode program yang akan diulang
  increment

Di bagian start biasanya berupa perintah inisialisasi variabel counter, misalnya i = 0. Di bagian condition terdapat kondisi yang harus dipenuhi agar perulangan berjalan, misalnya i < 5. Kemudian perintah increment di dalam block perulangan yang di pakai untuk menaikkan nilai variabel counter, misalnya dengan perintah i = i +1.

Mari kita lihat contoh prakteknya.

Berbeda dengan bahasa pemrograman turunan C (seperti C++, Java, PHP maupun JavaScript), di dalam Python tidak dikenal operator increment seperti i++ atau i--. Untuk menaikkan angka counter looping, kita bisa menggunakan perintah i = i +1 atau menggunakan operator assignment gabungan seperti i += 1.

Contoh Kode Program Perulangan While Bahasa Python

Sebagai praktek pertama, berikut kode program perulangan While untuk menampilkan teks "Duniailkom" sebanyak 5 kali:

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

Hasil kode program:

Duniailkom
Duniailkom
Duniailkom
Duniailkom
Duniailkom

Di baris 1 terdapat perintah untuk menginput angka 1 ke dalam variabel i. Nantinya, variabel i ini akan menjadi variabel counter yang dipakai untuk menentukan jumlah perulangan.

Proses perulangan di mulai di baris 2. Perintah while i <= 5 artinya, selama nilai variabel i kurang atau sama dengan 5, maka jalankan perulangan.

Di dalam blok perulangan terdapat perintah print('Duniailkom') di baris 3. Ini dipakai untuk menampilkan teks "Duniailkom". Kemudian di baris 4 terdapat perintah increment, yakni i += 1. Perintah merupakan penulisan singkat dari i = i + 1, yang berfungsi untuk menaikkan nilai variabel i sebanyak 1 angka dalam setiap perulangan.

Perulangan while di atas akan di ulang sebanyak 5 kali, mulai dari i = 1, i = 2, i = 3, i = 4, hingga i = 5. Ketika nilai variabel counter i sudah mencapai 6, maka kondisi while i <= 5 tidak terpenuhi lagi (False), sehingga perulangan berhenti.

Salah satu hal yang harus selalu diingat ketika membuat perulangan while adalah, jangan lupa membuat perintah increment. Jika tidak, kondisi akhir tidak akan pernah terpenuhi dan perulangan akan berjalan terus menerus. Ini dikenal dengan istilah infinity loop. Berikut contohnya:

i = 1
while i <= 5:
  print('Duniailkom')

Jika anda menjalankan kode program di atas, teks "Duniailkom" akan ditampilkan terus menerus, tidak pernah selesai. Penyebabnya karena kondisi while i <= 5 akan selalu bernilai True. Di dalam blok perulangan tidak ada perintah yang bisa mengubah nilai variabel i agar kondisi while i <= 5 bernilai False.

Untuk menghentikan infinity loop, tekan kombinasi CTRL + C. dari dalam jendela hasil. Atau bisa juga dengan tutup paksa aplikasi IDLE Python.

Cara menghentikan infinity loop Python

Cara menghentikan infinity loop Python

Di dalam Python, kita juga harus hati-hati dengan penggunaan spasi, karena itu adalah penanda blok perulangan. Kode program di bawah ini juga akan jadi infinity loop:

i = 1
while i <= 5:
  print('Duniailkom')    #infinity loop  
i += 1

Alasannya karena perintah increment di baris 4 bukan lagi berada di dalam blok perulangan, tapi berada setelah perulangan.

Di dalam blok perulangan, kita juga bisa mengakses nilai dari variabel counter i:

i = 1
while i <= 5:
  print('Duniailkom', i)
  i += 1

Hasil kode program:

Duniailkom 1
Duniailkom 2
Duniailkom 3
Duniailkom 4
Duniailkom 5

Bagaimana dengan perulangan menurun? tidak masalah. Kita tinggal mengatur kondisi awal, kondisi akhir, serta proses decrement:

i = 10
while i > 5:
  print('Duniailkom', i)
  i -= 1

Hasil kode program:

Duniailkom 10
Duniailkom 9
Duniailkom 8
Duniailkom 7
Duniailkom 6

Di sini saya mengisi nilai awal variabel counter i dengan angka 10. Kondisi perulangan adalah while i > 5, artinya selama nilai variabel i di atas 5, jalankan perulangan. Dan karena kita ingin membuat perulangan menurun, maka dipakai perintah decrement i -= 1 atau sama dengan i = i - 1 yang akan mengurangi nilai variabel i sebanyak 1 angka dalam setiap iterasi.

Sebagai latihan, bisakah anda rancang kode program perulangan While untuk membuat deret kelipatan 3 dari 3 sampai dengan 99?

Kuncinya ada di kondisi perulangan serta proses increment:

i = 3
while i < 100:
  print(i)
  i = i + 3

Hasil kode program:

3
6
9
...
...
93
96
99

Di baris 1, variabel counter i saya mulai dari angka 3, kemudian selama kondisi i < 100 bernilai True, yakni selama isi variabel i kurang dari 100, ulangi blok kode program.

Di baris 3, terdapat perintah print(i) yang dipakai untuk menampilkan isi dari variabel i. Kemudian di baris 4 terdapat perintah i = i + 3. Artinya, dalam setiap perulangan, nilai variabel counter i akan langsung di tambah 2 angka. Inilah yang membuat nilai variabel i "lompat" dengan kelipatan 3.

Sebelum menutup tutorial ini, saya ingin membuat tantangan lain. Tanpa menjalankan kode program di bawah ini, bisakah menebak hasilnya?

i = 10
while i <= 5:
  print('Duniailkom', i)
  i -= 1

Berapa kali teks "Duniailkom" tampil?

Yup, jawabannya: Tidak ada. Alasannya karena kondisi awal perulangan while sudah langsung tidak terpenuhi.

Di baris 1 saya mengisi variabel i dengan angka 10. Kemudian terdapat blok perulangan while dengan perintah while i <= 5. Artinya, selama nilai variabel i kurang dari 5, jalankan perulangan. Masalahnya, nilai variabel i saat ini adalah 10, sehingga 10 <= 5 sudah langsung False. Dengan demikian, blok perulangan tidak akan pernah dijalankan.


Pada tutorial kali ini kita telah mempelajari cara penggunaan perulangan while atau while loop dalam bahasa pemrograman Python. Selanjutnya akan dibahas tentang perulangan kedua, yakni Perulangan For Python.

 

One Response

  1. Aurie Isakh
    23 Oct 20

Add Comment