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.

Ketika Anda membuat suatu property procedure, maka secara otomatis hal itu mengakibatkan terbentuknya property baru terhadap suatu object yang didefinisikan didalam module VBA. VBA mempunyai tiga macam property procedure, yaitu Property Let, Property Get, dan Property Set dimana penggunaan semua property tersebut diakhiri dengan statement End Property.

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]
‘ …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.

Property Let

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”

Property Get

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

Property Set

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 

Memanggil Property Procedure

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.

Postingan populer dari blog ini

M1 dengan Arsitektur ARM pengganti Intel di MacBook

Saham Bukalapak Pada Pasar Modal

Mengenai Saham GoTo (Gojek, Tokopedia)