Search This Blog

Mendeklarasikan Array - MS. Access - Visual Basic

Array dideklarasikan dengan cara yang sama dengan variabel lain, menggunakan statemen Dim, Static, Private atau Public. Perbedaan antara variabel skalar (yang bukan array) dengan varibel array adalah anda harus menyebutkan ukuran dari array. Sebuah array yang ukurannya tetap disebut fixed-sized array. Array yang ukurannya dapat diubah saat program berjalan disebut dynamic array.

Index dari array mulai dari 0 atau 1 tergantung pada seting dari statemen Option Base. Jika Option Base 1 tidak disebutkan, maka semua index array dimulai dari 0 (nol).

Mendeklarasikan Array

Pada code program berikut, sebuah fixed-size array dideklarasikan sebagai array Integer yang mempunyai 11 baris dan 11 kolom:

Dim MyArray(10, 10) As Integer

Argumen pertama menunjukkan baris; argumen kedua menunjukan kolom.

Sebagaimana deklarasi variabel yang lain, kecuali anda menentukan type data untuk array, tipe data dari elemen pada array akan bertipe Variant. Setiap elemen numeric Variant dari array menggunakan 16 bytes. Setiap string Variant elemen array menggunakan 22 bytes. Untuk menulis kode seefisien mungkin, deklarasikanlah array secara eksplisit menjadi tipe data yang bukan Variant. Kode program berikut membandingkan ukuran beberapa array.

' Integer array menggunakan 22 bytes (11 elemen * 2 bytes).
ReDim MyIntegerArray(10) As Integer

' Double-precision array menggunakan 88 bytes (11 elements * 8 bytes).
ReDim MyDoubleArray(10) As Double

' Variant array menggunakan setidaknya 176 bytes (11 elements * 16 bytes).
ReDim MyVariantArray(10)

' Integer array menggunakan 100 * 100 * 2 bytes (20,000 bytes).
ReDim MyIntegerArray (99, 99) As Integer

' Double-precision array menggunakan 100 * 100 * 8 bytes (80,000 bytes).
ReDim MyDoubleArray (99, 99) As Double

' Variant array menggunakan setidaknya 160,000 bytes (100 * 100 * 16 bytes).
ReDim MyVariantArray(99, 99)

Ukuran maksimal dari array bervariasi, tergantung sistem operasi dan berapa banyak memori yang masih ada. Menggunakan array yang melebihi ukuran RAM pada sistem anda akan memperlambat proses sebab data harus dibaca dari dan ke disk.

Mendeklarasikan Array Dynamic

Dengan mendeklarasikan sebuah array dynamic, anda dapat merubah ukuran array saat program dijalankan. Gunakan statemen Static, Dim, Private, atau Public untuk mendeklarasikan, biarkan tanda kurungnya kosong seperti contoh berikut.

Dim sngArray() As Single

Catatan Anda dapat menggunakan statemen Redim untuk mendeklarasikan array secara implisit di dalam procedure. Hati-hati untuk tidak salah menuliskan nama array ketika anda menggunakan statemen ReDim. Walaupun statemen Option Explicit disertakan/diaktifkan dalam module, array kedua kana dibuat.

Di dalam procedure dengan scope array, gunakan statemen Redim untuk merubah ukuran dimensi array, untuk menentukan jumlah elemen dan untuk menentukan angka tertinggi dan terendah untuk setiap dimensi. Anda dapat menggunakan statemen ReDim untuk merubah array dynamic sebanyak yang diperlukan. Setiap kali anda melakukan ini maka nilai yang ada pada array akan hilang. Gunakan ReDim Preserve untuk merubah ukuran array dengan tetap menyimpan data atau nilai pada elemen yang sudah ada. Sebagai contoh statemen berikut memperbesar array varArray dengan 10 elemen tanpa menghilangkan nilai pada elemen yang telah ada.

ReDim Preserve varArray(UBound(varArray) + 10)

Catatan Ketika anda menggunakan keyword Preserve dengan array dynamic, anda hanya dapat merubah ukuran tertinggi (upper bound) dari dimensi terakhir, tapi anda tidak dapat merubah jumlah dimensi.

No comments: