Selasa, 17 April 2012

[belajar-access] On Request: Looping di dalam VBA

 

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

 
Teman2 ada yg hendak memberi tambahan, dipersilahkan.
 
Wassalaamu'alaikum Warahmatullahi Wabarakatuh,
Sofyan Efendi
http://imopi.wordpress.com/

__._,_.___
Recent Activity:
SPAM IS PROHIBITED
.

__,_._,___

Tidak ada komentar:

Posting Komentar