Statement Bersyarat dan Looping
Pada bab ini Anda akan mempelajari:
· Statement Bersyarat
· Statement Looping
Penggunaan alur percabangan (statement bersyarat) dan struktur pengulangan (statement looping) seringkali kita butuhkan didalam VBA kita. Karena itu, memahami statement bersyarat dan statement looping harus Anda pahami secara baik.
Statement Bersyarat
Statement bersyarat seringkali mengacu pada dua nilai, yaitu apakah ia True atau False, atau kondisi-kondisi lainnya yang telah ditentukan didalam statement kita. Kode yang digunakan didalam statement bersyarat adalah:
· If Then Else
· Select Case
If Then Else
Bentuk Syntaknya:
If Kondisi1 Then
Pernyataan1
ElseIf Kondisi2 Then
Pernyataan2
Else
Pernyataan3
End If
Penjelasan : Jika yang terjadi adalah kondisi1 maka program akan menjalankan Pernyataan1, jika yang terjadi kondisi2, maka program akan menjalankan Pernyataan2, jika yang terjadi selain kondisi1 dan kondisi2, maka program akan menjalankan Pernyataan3. Contoh program:
Function Bonus(performance, salary)
If performance = 1 Then
Bonus = salary * 0.1
ElseIf performance = 2 Then
Bonus = salary * 0.09
ElseIf performance = 3 Then
Bonus = salary * 0.07
Else
Bonus = 0
End If
End Function
Select Case
Bentuk Syntaknya:
Select Case expresi_penguji
Case 1
Pernyataan1
Case 2
Pernyataan2
Case Else
Pernyataan3
End Select
Penjelasan: Jika yang terjadi adalah expresi penguji = 1 maka yang dijalankan adalah Pernyataan1, jika yang terjadi adalah expresi penguji = 2 maka yang akan dijalankan adalah Pernyataan2, dan jika expresi penguji selain 1 atau 2 maka yang akan dijalankan adalah Pernyataan3. Sebenarnya expresi penguji ini dapat berupa string atau yang lainnya, tidak harus berupa angka. Semua itu tergantung dari type ekpresi penguji itu sendiri. Ini hanya sample untuk memudahkan Anda dalam memahami model pemrograman Select Case. Contoh program:
Function Bonus(performance, salary)
Select Case performance
Case 1
Bonus = salary * 0.1
Case 2, 3
Bonus = salary * 0.09
Case 4 To 6
Bonus = salary * 0.07
Case Is > 8
Bonus = 100
Case Else
Bonus = 0
End Select
End Function
Statement Looping
Looping membuat program yang Anda buat menjadi dapat mengulang suatu proses berkali-kali sesuai dengan yang Anda kehendaki. Proses looping ini tidak akan berhenti kecuali ia sudah mendapati kondisi yang Anda tentukan agar looping berhenti, misalnya saat kondisi menjadi True, False, atau kondisi-kondisi lainnya yang telah Anda tentukan.
Beberapa statement looping yang ada di VBA adalah:
· Do Loop
· For Next
· For Each Next
Do Loop
Bentuk syntaknya:
Do While/Until kondisi
Pernyataan
Exit Do
Pernyataan
Loop
Atau Anda dapat menggunakan metode Do Loop lainnya, seperti:
Do
Pernyataan1
Exit Do
Pernyataan2
Loop While/Until kondisi
Penjelasan: Selama program tidak mendapati kondisi yang berada di kondisi, maka akan terus dilakukan Pernyataan1, kecuali jika program telah mendapati Pernyataan2, maka program akan berhenti. Penggunaan While/Until tidak boleh bersama-sama, cukup salah satu saja. Kalau sudah mengetik While, maka jangan lagi mengetik Until, begitupun sebaliknya. Contoh program:
Sub Do_Loop_Example()
counter = 0
myNum = 9
Do Until myNum = 10
myNum = myNum - 1
counter = counter + 1
If myNum < 10 Then Exit Do
Loop
MsgBox "The loop made " & counter & " repetitions."
End Sub
For Next
Bentuk syntaknya adalah:
For pencacah = mulai To akhir Step jumlah_lompatan
Pernyataan1
Exit For
Pernyataan2
Next pencacah
Penjelasan:
- Pencacah adalah suatu variable bertype number yang telah dideklarasikan sebelumnya.
- Mulai adalah suatu number yang menyatakan start suatu proses looping
- Akhir adalah suatu number yang menyatakan finish suatu proses looping
- Jumlah_lompatan adalah suatu number yang membuat looping akan melakukan pengulangan berdasarkan mulai + jumlah_lompatan. Contoh, jika mulai = 1, lalu jumlah_lompatan = 2 dan akhir = 10, maka program akan melakukan pengulangan sebanyak 5 kali saja, karena urutannya adalah : 2, 4, 6, 8,10.
- Pernyataan1 adalah suatu procedure yang akan dilakukan oleh program selama program belum mencapai Akhir
- Pernyataan2 adalah suatu keadaan yang membuat sistem looping akan langsung berhenti jika program mendapai kondisi ini
Contoh program:
Sub TwosTotal()
For j = 2 To 10 Step 2
total = total + j
Next j
MsgBox "The total is " & total
End Sub
For Each Next
Khusus untuk statement For Each Next, hanya digunakan untuk melooping suatu kelompok pernyataan untuk masing-masing elemen dalam suatu kelompok (array).
Bentuk syntaknya adalah:
For Each elemen In kelompok
pernyataan1
Exit For
pernyataan2
Next elemen
Penjelasan:
- elemen, adalah suatu variable bertype object yang telah dideklarasikan sebelumnya.
- kelompok, adalah suatu nama object yang menyatakan kumpulan object (array)
- pernyataan1, adalah suatu prosedur yang akan dilakukan oleh program selama mendapati kondisi tersebut.
- pernyataan2, adalah suatu prosedur yang akan dilakukan oleh program ketika tidak mendapati kondisi tersebut.
Contoh program:
Sub TestForNumbers()
For Each myObject In MyCollection
If IsNumeric(myObject.Value) = False Then
MsgBox "Object contains a non-numeric value."
Exit For
End If
Next c
End Sub
Tidak ada komentar:
Posting Komentar