05 Perulangan Menggunakan While

AUT: BanditHijo | PUB: 2018/03/31 | UPD: 2018/10/29

banner

Intro

Kamu pernah merasa jenuh untuk melakukan pekerjaan yang berulang-ulang ? Untungnya dalam bahasa pemrograman kita dapat membuat proses perulangan itu berjalan secara otomatis. Pada dasarnya, kita hanya perlu mengatur dan menentukan kapan perulangan itu dimulai dan kapan harus berhenti berulang, bahkan kita bisa menentukan pola perulangannya.

Penerapan

Misalnya kita ingin menampilkan nama-nama pemain basket yang ada di dalam tim inti.

timInti = ['Irvan', 'Ichsan', 'Wisnu', 'Cebe', 'Bly']

print(timInti[0])
print(timInti[1])
print(timInti[2])
print(timInti[3])
print(timInti[4])
Irvan
Ichsan
Winsu
Cebe
Bly

Ini adalah cara menampilkan isi dari variable Python list dengan cara manual. Dapat kita lihat bersama, bahwa kita melakukan print() function sebanyak lima kali.

Dalam bahasa pemrograman Python, teradapat dua cara perulangan (loop) yang dapat kita gunakan untuk menyelesaikan masalah mengenai perulangan. while dan for. Kedua-duanya memiliki tujuan akhir yang sama, yaitu untuk menyelesaikan masalah perulangan. Keduanya juga dapat dipakai secara bergantian. Tergantung pada preferensi masing-masing dari programmer atau efisiensi. Pada umumnya for loop selalu lebih efisien dibandingkan dengan while loop, namun tidak selalu.

Pada topik ini, kita akan terlebih dahulu membahas mengenai while loop.

Ide dari while loop adalah, ketika sesuatu kondisi sesuai dengan fakta yang ada, lakukan sesuatu sesuai dengan yang telah ditentukan.

umurBalita = 1                             # fakta

while umurBalita <= 5:                     # kondisi
    print('Umur Balita =',umurBalita)     # pernyataan 1
    umurBalita += 1                        # pernyataan 2
Umur Balita = 1
Umur Balita = 2
Umur Balita = 3
Umur Balita = 4
Umur Balita = 5

Bongkar Kode

Ayo kita breakdown kode di atas sama-sama.


Untuk baris pertama,

umurBalita = 1

Pasti kamu sudah paham maksud dari baris ini adalah kita mendeklarasikan / memberikan nilai sebesar 1 (tipe data: integer) kepada variable umurBalita.


Untuk baris kedua,

while umurBalita <= 5:

Ini adalah bentuk sebuah kondisi perbandingan. Mungkin, kita dapat membacanya seperti ini, saat umurBalita kurang dari sama dengan 5, maka ?.

Kemudian, kita sudah mempunya variable umurBalita yang bernilai 1 yang akan dibandingkan dengan kondisi pada baris kedua umurBalita <= 5.

Apakah 1 <= 5 ?

Apakah perbandingan ini bernilai benar ?

Benar! 1 lebih kecil daripada 5.

Apabila kondisi yang menjadi syarat bernilai benar / True, maka pernyataan yang ada di dalam kondisi tersebut akan di jalankan.


Untuk baris ketiga dan keempat,

...
...
    print('Umur Balita =',umurBalita)
    umurBalita += 1

Nah, ini adalah dua buah pernyataan yang ada di dalam blok while loop pada baris kedua. Pada baris sebelumnya sudah menghasilkan kondisi yang bernilai True, maka kedua baris ini akan di jalankan secara berurutan dimulai dari atas.

print('Umur Balita =',umurBalita)

Teman-teman pasti sudah paham baris ini digunakan untuk apa dan akan menghasilkan output seperti apa. Ya, print() digunakan untuk menampilkan output ke dalam console.

Kemudian, pernyataan kedua,

umurBalita += 1

Ini adalah bentuk pendeklarasian variable yang mengandung proses di dalamnya. Seperti yang sudah disinggung pada materi tentang variable pada post sebelumnya. Bentuk operasi penjumlahan seperti di atas, dapat kita uraikan menjadi bentuk seperti ini.

umurBalita = umurBalita + 1

Pada awal dari kode, variabel umurBalita sudah di deklarasikan bernilai 1. Yang berarti variable ini adalah variable dengna tipe data integer. Sehingga dapat kita baca seperti ini.

1 = 1 + 1

Maka setelah melewati pernyataan ini, variabel umurBalita akan berubah nilainya, dari semula bernilai 1, akan berubah menjadi 2.

Kemudian, setelah semua pernyataan yang ada di dalam blok kode_ while loop_ telah habis di baca oleh Python interpreter, maka pembacaan akan di mulai kembali ke baris yang menyatakan perulangan, yaitu baris yang mengandung sintaks while loop.

Pada saat ini, variable umurBalita sudah berubah nilainya menjadi 2. Kemudian, akan dibandingkan dengan kondisi yang telah ditentukan, umurBalita <= 5, hasil dari perbandingna ini adalah True, maka pernyataan di dalam blok kode while loop akan di jalankan persis sama seperti sebelumnya.

Proses yang berulang ini akan berhenti sampai, kondisi yang sudah ditentukan oleh while loop mendapatkan nilai False. Yaitu, dimana variable umurBalita sudah mencapai nilai 6. Maka tahap ini, kondisi akan bernilai False. Apabila telah mencapai kondisi yang salah, maka pernyataan di dalam blok kode while loop, tidak akan dijalankan.

Untuk memudahkan kita melihat apa yang dilakukan oleh Python interpreter dalam melakukan proses perulangan, mungkin kita bisa buatkan tabel perulangannya.

Tabel Perulangan

umurBalita print(‘Umur Balita =’,umurBalita) umurBalita += 1
1 Umur Balita = 1 2
2 Umur Balita = 2 3
3 Umur Balita = 3 4
4 Umur Balita = 4 5
5 Umur Balita = 5 6
6 - -

Nah, gimana kalo dengan tabel perulangan seperti di atas ?

Dengan menggunakan tabel perulangan seperti ini akan lebih mudah untuk kita mendapatkan gambaran bagaimana proses perulangan dari kode perulangan seperti while loop dan for loop.


Contoh kasus lain

While loop juga akan dapat membantu dalam kasus-kasus seperti ini, misalkan, kalian memiliki sebuah alat, robot, atau mesin yang dapat mendeteksi sesuatu, misalkan hujan.

while diluarHujan:
    print('Di luar hujan! Segera angkat Jemuran !')

Jadi, rumus dari while loop, dapat kita tuliskan secara sederhana seperti ini.

while True:
    do something

Kode di atas akan menghasilkan perulangan tanpa batas (infinite loop). Kalo kamu terjebak dalam kondisi seperti ini di console, kamu dapat menghentikan proses perulangan ini dengan menekan kombinasi tombol Ctrl + C.

Kita juga dapat mengatur kapan perulangan harus dimulai, berhenti, dan bagaimana cara berulangnya. Saya akan mengambil contoh kode perulangan umur balita di atas.

umurBalita = 1                          # awalan

while umurBalita <= 5:                  # akhiran (kondisi)
    print('Umur Balita =',umurBalita)
    umurBalita += 1                     # langkah

Apabila kita tidak menentukan awalan, maka perulangan tidak akan berjalan.

Apabila kita tidak menentukan kondisi, maka perulangan tidak akan berjalan.

Apabila kita tidak mengatur langkah dari perulangan, maka perulangan tidak akan pernah berhenti karena kondisi selalu bernilai True.

Ketentuan di atas sangat tergantun dari kebutuhan perulangan yang akan kita buat. Jadi tidak harus selalu seperti contoh di atas.


Saya rasa, untuk saat ini, pembahasa perulangan menggunakan while cukup seperti ini dulu.

Lisensi

logo_cc-by-nc-sa