Statement Bersyarat dan 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 fahami 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

Leave a Reply

%d bloggers like this: