Visual Basic : Prosedur Properti
Property
procedure adalah procedure yang digunakan untuk membuat dan
memanipulasi properties pada suatu class module. Beberapa ketentuan
dalam membuat property procedure diantaranya adalah:
Property procedure dapat digunakan untuk membuat read-only properties terhadap form, standard module, dan class module.
Property procedure sebaiknya digunakan didalam procedure bertype Public.
Procedure | Keterangan |
Property Let | Procedure yang digunakan untuk memberi nilai terhadap suatu property nonobject. |
Property Set | Procedure yang digunakan untuk memberi nilai terhadap suatu property object. |
Property Get | Procedure yang digunakan untuk mengambil nilai terhadap suatu property (baik object maupun nonobject). |
Syntax untuk mendeklarasikan Property procedure adalah:
[Public | Private] [Static] Property {Get | Let | Set} nama_property_ [(arguments)] [As
type]
type]
‘ …Kode Anda.
End Property
Property
procedure biasanya digunakan secara berpasangan. Property Let digunakan
secara berpasangan dengan Property Get. Property Set digunakan secara
berpasangan dengan Property Get. Mendeklarasikan Property Get secara
sendiri adalah seperti membuat suatu deklarasi property read-only. Oleh
karena itu, menggunakan tiga property diatas secara bersama-sama sangat
berguna untuk penggunaan variable Variant, karena memang variable
Variant dapat mendeklarasikan variable lebih dari satu type informasi,
bahkan ia dapat mendeklarasikan suatu object. Property Set digunakan
untuk object, sedangkan Property Let sebaliknya.
Argument yang wajib diisi didalam property procedure diataranya adalah:
Procedure | Syntax Deklarasi |
Property Get | Property Get propname(1, …, n) As type |
Property Let | Property Let propname(1, …,,,, n, n+1) |
Property Set | Property Set propname(1, …, n, n+1) |
Argument yang pertama s/d argument seterusnya (1,…, n) harus mempunyai nama yang sama dengan semua data type pada semua properties, begitu juga nama property nya. Contoh:
Property Let Names(intX As Integer, intY As Integer, varZ As Variant)
‘ …Kode Anda.
End Property
Property Get Names(intX As Integer, intY As Integer) As Variant
‘ …Kode Anda.
End Property
Untuk
lebih jelasnya, penulis mencoba memberikan sample yang lebih detail
lagi untuk masing-masing property diatas pada penjelasan dibawah ini.
Contoh berikut ini menggunakan statement Property Let untuk mendefinisikan suatu procedure yang mana memberi suatu nilai terhadap property colour.
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3
‘ Code dibawah ini menset property warna pulpen-
‘ untuk suatu kemasan alat gambar.
‘ Variable module-level CurrentColor diset ke-
‘ nilai numeric yang mengindikasikan warna yang digunakan.
Property Let PenColor(ColorName As String)
Select Case ColorName ‘ Check nama warnanya (String).
Case “Red”
CurrentColor = RED ‘ Memberi nilai untuk warna merah.
Case “Green”
CurrentColor = GREEN ‘ Memberi nilai untuk warna hijau.
Case “Blue”
CurrentColor = BLUE ‘ Memberi nilai untuk warna biru.
Case Else
CurrentColor = BLACK ‘ Memberi nilai untuk warna hitam.
End Select
End Property
‘ Code dibawah ini digunakan untuk menset property warna pulpen-
‘ untuk suatu kemasan alat gambar
‘ Cara menggunakan procedurenya adalah:
PenColor = “Red”
Contoh berikut ini menggunakan Property Get
untuk mendefinisikan property procedure yang mana mengambil suatu nilai
dari property colour. Property colour yang digunakan mempunyai type
data string.
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3
‘ Mengambil warna yang sedang digunakan dari suatu pulpen kedalam string.
Property Get PenColor() As String
Select Case CurrentColor
Case RED
PenColor = “Red”
Case GREEN
PenColor = “Green”
Case BLUE
PenColor = “Blue”
End Select
End Property
‘ Code dibawah ini mengambil warna dari suatu pulpen
‘ Cara menggunakan procedurenya adalah:
ColorName = PenColor
Contoh berikut ini menggunakan Property Set untuk mendefiniskan suatu property procedure yang menset suatu referensi terhadap suatu object.
Property Set Pen(P As Object)
Set CurrentPen = P ‘ Menset Pulpen kedalam type data object.
End Property
Contoh-contoh
diatas dapat dijalankan jika Anda telah mengetahui cara memanggil
procedure diatas. Berikut ini adalah table yang memuat syntax untuk
memanggil property procedure:
Property Procedure | Syntax |
Property Let | [object.]propname(arguments)] = argument |
Property Get | varname = [object.]propname(arguments)] |
Property Set | Set [object.]propname[.(arguments)] = varname |
Ketika Anda memanggil procedure Property Let ataupun Property Set, suatu argument selalu disertakan pada sebelah kanan tanda sama dengan (=). Ketika Anda mendeklarasikan procedure Property Let ataupun Property Set dengan argument lebih dari satu, maka VBA akan mengambil argument pada sisi paling kanan Property Let ataupun Property Set sebagai argument pada saat pemanggilan procedure. Untuk mudahnya, diagram dibawah ini menggambarkan illustrasi bagaimana suatu Property procedure memanggil suatu argument didalam deklarasi Property Let.
Gambar Diagram penggunaan argument yang lebih dari satu pada property procedure
Property procedure yang mempunyai argument lebih dari satu umumnya digunakan dalam membuat suatu properties pada array.