Pada Materi kali ini kita akan bahas tentang pengulangan dengan menggunakan Do While Loop.
Seperti yang sudah dijelaskan pada materi sebelumnya, pengulangan adalah salah satu konsep dasar dalam pemrograman yang memungkinkan program untuk menjalankan blok kode berulang kali sampai kondisi tertentu terpenuhi.
VBA (Visual Basic for Applications) menyediakan beberapa jenis perulangan, termasuk do while loop, yang memungkinkan program untuk menjalankan blok kode berulang kali selama kondisi tertentu terpenuhi.
Do While loop pada VBA adalah salah satu jenis perulangan yang memungkinkan program untuk menjalankan blok kode berulang kali selama kondisi tertentu terpenuhi.
Sintaks dasar dari do while loop adalah sebagai berikut:
Do While kondisi ' kode yang akan diulang Loop
atau
Do While kondisi ' kode yang akan diulang Loop
Di sini, kondisi
adalah suatu kondisi boolean yang akan dievaluasi sebelum menjalankan blok kode yang ditandai dengan pernyataan ‘kode yang akan diulang’.
Jika kondisi tersebut bernilai benar, maka blok kode akan dijalankan.
Setelah blok kode dijalankan, program akan kembali ke pernyataan ‘Do While’ dan mengevaluasi kondisi lagi.
Jika kondisi masih bernilai benar, maka blok kode akan dijalankan lagi. Proses ini akan terus berlanjut sampai kondisi bernilai salah,
setelah kondisi salah program akan keluar dari loop dan melanjutkan eksekusi kode.
Berikut adalah contoh sederhana penggunaan do while pada VBA:
Sub DoWhileExample() 'Deklarasi Variable Dim i As Integer 'Isi I dengan 1 sebagai Nilai awal i = 1 'Lakukan pengulangan selama i dibawah atau samadengan 5 Do While i <= 5 'Tampilkan Pesan i MsgBox i 'Tambah variable dengan i 'Bagian ini penting, agar Do While bisa berhenti i = i + 1 Loop End Sub
Dalam contoh ini,
program akan menampilkan pesan dialog dengan nilai variabel i
pada setiap iterasi loop, yang akan berjalan selama i
kurang dari atau sama dengan 5.
Ketika i
mencapai nilai 6, kondisi tidak lagi memenuhi syarat dan loop akan berhenti.
Perhatikan bahwa nilai variabel i
ditambah 1 pada setiap iterasi loop.
Tanpa peningkatan nilai ini, loop akan menjadi loop tak terbatas (infinity loop), karena kondisi akan selalu bernilai benar.
Jadi hati-hati dalam menggunakan pengulangan ini karena bisa berkakibat program mengulang tanpa batas dan bisa mengakibatkan komputer hang.
Penyataan while bisa disimpan diatas ataupun dibawah
perbedaan penulisannya bisa dilihat pada script dibawah ini
Do While kondisi ' kode yang akan diulang Loop
dengan
Do ' kode yang akan diulang Loop While kondisi
Kedua script diatas sama-sama bisa melakukan pengulangan dengan menggunakan kondisi While (selama logika terpenuhi).
Tetapi, apakah ada perbedaan penulisan akan berbeda hasilnya?
Tentu saja!.
Pada Script pertama dimana While
letakan disamping do, maka,
“kode yang akan diulang” tidak akan dijalankan jika kondisi tidak terpenuhi.
Ini artinya pengecekan kondisi dilakukan diawal sebelum menjalankan perintah dibawahnya.
Sedangkan pada script yang kedua, while
diletakan disamping loop, maka,
“kode yang akan diulang” akan dijalankan minimal sekali sebelum pengecekan kondisi.
Ini artinya Script dijalankan terlebih dahulu baru dilakukan pengecekan kondisi, jika kondisi benar maka script akan diulang, dan jika kondisi salah, maka script akan dilanjutkan kebawah.
Untuk lebih jelasnya bisa dilihat perbedaanya pada Flowchart dibawah ini