Menggunakan Pengulangan - Do While / Loop - Do / Loop While - While / Wend Dosen : Ega Hegarini
DoWhile/Loop Sintaks : Inisialisasi Do While (Kondisi) ...’statemen Pernyataan DoWhile /Loop digunakan untuk pengulangan yang akan dilakukan selama kondisinya terpenuhi. Inisialisasi nilai counter harus dilakukan terlebih dahulu sebelum struktur pengulangan dan iterasi ditulis dalam blok didepan perintah Loop. Sintaks : Inisialisasi Do While (Kondisi) ...’statemen Iterasi Loop
1. Macro berikut menampilkan angka 1 sampai 10 dengan menggunakan Do while/Loop. Sub LatihDoWhile () Dim = As Integer a = 1 ‘inisialisasi Do While (a <= 10) Debug.Print a; a = a + 1 ‘ iterasi Loop End Sub
2. Tulislah satu macro untuk menghitung nilai faktorial dari suatu bilangan (misalnya faktorial 3, yaitu 3! = 3x2x1 = 6) Sub HitungFaktorial () Dim Bilangan As Integer, hasil As Integer, i As Integer bilangan = InputBox (“masuk bilangan ingin: “) Hasil = i : i = bilangan Debug.Print bilangan & “ = “; Do While (i >= 1) Debug.Print i; If (i <> 1) Then Debug.Print “ x “; Else Debug.Print “ = “; End If Hasil = hasil * i : i = i – 1 Loop Debug.Print hasil End Sub
Do /Loop While Pengulangan Do/Loop While mempunyai bentuk yang sama dengan DoWhile/Loop namun perbedaannya dengan DoWhile/Loop adalah pengulangan ini dijalankan minimal satu kali karena evaluasi kondisi tidak dilakukan pada awal pengulangan tetapi baru dilakukan pada akhir pengulangan tersebut. Sintaks Inisialisasi Do .....”Statemen Iterasi Loop While (Kondisi)
Macro berikut menampilkan angka 1 sampe 10 dengan menggunakan Do/Loop While Sub LatihDoLoop () Dim = As Integer a = 1 ‘inisialisasi Do Debug.Print a; a = a + 1 ‘iterasi Loop While (a <= 10) End Sub
While/wend Pengulangan While/Wend mempunyai bentuk yang sama dengan Do While/Loop dan akan mengulang pada bagian pengulangan (Loop) selama kondisinya terpenuhi. Kita tidak perlu mengetahui berapa kali pengulangannya dilakukan, yang penting selama kondisi pada pengulangan While/Wend dipenuhi, maka pernyataan pada bagian pengulangan akan diulang. Inisialisasi nilai counter dilakukan sebelum struktur pengulangan dan iterasi ditulis dalam blok didepan perintah Wend. Sintaks : Inisialisasi While (Kondisi) ...”Statemen Iterasi Wend
Latihan: Macro berikut akan terus berulang kecuali user input pada pesan “ingin coba lagi (Y/N)” bukan lagi “Y” sehingga kondisi yang dievaluasi akan menjadi FALSE karena tidak lagi memenuhi syarat, yaitu Jwb = “Y” atau “y”. Sub LatihWhileWend () Dim a As Integer, Jwb As String * 1 A = 1 : Jwb = “Y” While (Jwb = “Y” or Jwb = “N”) Debug.Print “Loop ke- “ & a a = a + 1 Jwb = InputBox (“Ingin coba lagi (Y/N)”) Wend End Sub