Variable memiliki scope (jangkauan), yang mengindikasikan variable dapat dikenali atau digunakan dibagian mana pada suatu program.
Menurut scope nya variable dibagi menjadi dua bagian umum yaitu local variable dan module level variable.
1. Local Variable
Variable local terbagi lagi menjadi 2 yaitu procedure level dan block level.
Semua variable yang dideklarasikan di dalam fuction, sub procedure, event procedure, atau property merupakan local variable procedure level. Variable tersebut hanya dapat diakses dan digunakan pada rutin tersebut, dan lifetime nya adalah selama rutin tersebut berjalan.
Contoh:
Public Sub HitungJumlah()
Dim intA As Integer = 5
Dim intB As Integer = 4
Dim intTotal As Integer
intTotal = intA + intB
End Sub
intTotal, intA, dan intB merupakan variable local procedure level, yang hanya dapat diakses dalam sub procedure HitungJumlah, dengan lifetime selama sub procedure tersebut berjalan saja.
Sementara block level mencakup block code seperti if..then, for..next, with..end with, dan sejenisnya.
Contoh:
Public Sub HitungJumlah()
Dim intA As Integer = 5
Dim intB As Integer = 4
Dim intTotal as Integer
intTotal = intA + intB
If intTotal > 6 Then
Dim strMessage As String = "Lulus"
msgbox strMessage
End If
End Sub
Variable strMessage erupakan variable local block level, yang hanya dapat diakses dalam block level diantara if dan end if yang bersangkutan dengan lifetime selama code block antara if dan end if dijalankan.
Local variable dapat memperpanjang waktu penggunaan nya dengan medeklarasikan nya menggunakan Static (bukan Dim)
Static intLonger As Integer = 0
2. Module Level Variable
Variable yang dideklarasikan pada sebuah class (atau struktur, atau module) diluar prosedure apapun yang ada di class tersebut dapat diakses dimanapun pada class tersebut. Selain dalam class itu sendiri ada variable yang dapat dipanggil/digunakan di scope yang lebih luas lagi tergantung setting Access Level.
Access Modifier | Keterangan | Contoh Deklarasi |
Public | Variable yang dapat diakses secara luas meskipun dari project, aplikasi, ataupun komponen yang berbeda. | Public I As Integer |
Protected | Protected variable hanya dapat digunakan dalam class yang bersangkutan, tidak bisa diakses dari luar class. Tipe Access ini hanya diimplementasikan pada class saja, tidak pada module ataupun structures. | Protected I As Integer |
Friend | Variable ini dapat diakses dimanapun selama masih dalam 1 assembly dan dapat diterapkan pada class, structure, maupun module | Friend I As Integer |
Protected Friend | Variable yang menggabungkan fasilitas yang didapatkan oleh protected dan Friend. Dapat diakses dalam class dan inherited class, di dalam satu assembly yang sama. Tipe access ini hanya dapat diimplementasikan pada class saja. | Protected Friend I As Integer |
Private | Dapat diakses dimanapun selama dalam class, structure, atau module yang bersangkutan saja. Variable ini juga tersembunyi dari inherited class. | Private I As Integer |
Click here if you like this article.
0 Comments