Mengenal Array di Visual Basic
Array adalah sekumpulan nilai data yang dikelompokkan
dalam sebuah variabel. Array sendiri digunakan jika ada sebuah nilai data yang
mempunyai tipe sama dan akan mendapatkan perlakukan yang sama. Misalnya kita
mempunyai 100 data dengan tipe yang sama dan akan diperlakukan yang sama pula,
maka lebih mudah menggunakan array dibanding 100 variabel yang berbeda.
Setiap nilai data di dalam array disebut elemen
array dan masing-masing dibedakan dengan nomor indeks. Array sendiri
dideklarasikan dengan cara yang sama dengan variabel, yaitu menggunakan
perintah Dim, kemudian diikuti tanda kurung dan jumlah elemennya dikurangi satu
(karena indeks dimulai dari angka nol)
Menggunakan Array
Sebuah array dideklarasikan dengan cara yang sama dengan variabel,
yaitu menggunakan perintah Dim,
kemudian diikuti dengan tanda kurung dan jumlah elemen arraynya
dikurangi 1 :
Dim nama_array(jumlah_elemen - 1) As tipe_data
Contoh :
Dim NamaSiswa(99) As String Æ array NamaSiswa akan mempunyai
elemen sebanyak 100 dengan
nomer indeks mulai dari 0 s/d 99.
Selanjutnya untuk mengisi nilai data ke dalam array :
nama_array(no_indeks) = nilai_data
Contoh :
NamaSiswa(0) = “umar”
Namasiswa(1) = “fatimah”
…
Untuk “mengosongkan” nilai data, bisa menggunakan struktur kontrol
For…Next :
For i = 0 To 99
NamaSiswa(i) = “”
Next i
Lebih mudah bukan ?
Catatan :
ƒ Agar nomer indeks array dimulai dari 1 (bukan 0), bisa
menggunakan perintah Option Base 1
sebelum perintah Dim-nya, contoh :
Option Base 1
Dim NamaSiswa(100) As String
ƒ Atau bisa juga menggunakan kata To di dalam
penentuan jumlah elemen array, contoh :
Dim NamaSiswa(1 To 100) As String
ƒ Untuk mengetahui berapa jumlah elemen di dalam sebuah
array, bisa menggunakan perintah
Ubound(nama_array), contoh :
Dim NamaSiswa(1 To 100) As String
Dim JmlElemen As Integer
JmlElemen = Ubound(NamaSiswa) Æ hasilnya = 100
Bila jumlah elemen array yang dibutuhkan tidak diketahui atau
ingin bisa diubah-ubah, maka
bagian jumlah_elemen pada perintah Dim tidak perlu diisi, contoh :
Dim NamaSiswa() As String
Teknik ini biasa disebut sebagai array dinamis, biasanya untuk
mengisi data yang berkembang terus, dan
belum bisa ditentukan di awal jumlah elemennya.
ƒ Untuk mengubah jumlah elemen array digunakan perintah
Redim :
Redim [Preserve] nama_array(jumlah_elemen)
Contoh :
Redim NamaSiswa(1 To 150) Æ jumlah elemen array NamaSiswa
menjadi 150 dengan
nomer indeks dari 1 s/d 150.
#Dimensi satu
DIM NAMA VARIABEL (JUMLAH ELEMEN) AS TIPE DATA PUBLIC COBA (JUMLAH ELEMEN) AS TIPT DATA
Contohnya :
Contohnya :
DIM MAHASISWA (10 0) AS INTEGER OPTION BASE 1
DIM SEMENTARA (20) AS NUMERIC
DIM SEMENTARA (20) AS NUMERIC
DIM PENGADAAN (25) AS CURRENCY
Keterangan :
Variabel pengadaan dan sementara Nomor awal indexnya =1, maka jumlah elemen data yang dapat ditampung variable pengadaan sebanyak 20; variable sementara sebanyak 25
Variabel Mahasiswa Nomor awal indexnya 0, maka jumlah elemen data yang dapat ditampung sebanyak 101; Cara lain untuk mengubah awalan index adalah dengan menambahkan batas bawah saat mendeklarasikan variable array. Misalnya :
Variabel pengadaan dan sementara Nomor awal indexnya =1, maka jumlah elemen data yang dapat ditampung variable pengadaan sebanyak 20; variable sementara sebanyak 25
Variabel Mahasiswa Nomor awal indexnya 0, maka jumlah elemen data yang dapat ditampung sebanyak 101; Cara lain untuk mengubah awalan index adalah dengan menambahkan batas bawah saat mendeklarasikan variable array. Misalnya :
–DIM COBA (1 TO 15) AS INTEGER
–PUBLIC COBA (15 TO 46) AS LONG
#Dimensi Dua
DIM NAMA VARIABEL (index1, index2) AS TIPE DATA
•Dengan index yang sama dapat disimpan berupa data yang berlainan •Variabel array dua dimensi dengan sebuah titik pada diagram Cartisius yang memiliki sumbu X dan Y Contohnya :
DIM TESTING (19,19) AS INTEGER Option Base 1
DIM NAMA VARIABEL (index1, index2) AS TIPE DATA
•Dengan index yang sama dapat disimpan berupa data yang berlainan •Variabel array dua dimensi dengan sebuah titik pada diagram Cartisius yang memiliki sumbu X dan Y Contohnya :
DIM TESTING (19,19) AS INTEGER Option Base 1
DIM TESTING1 (10,20) AS INTEGER
Dim k, l as integer DIM TESTING2 (K,L) AS INTEGER
DIM COBA (1 To 15, 1 to 5 ) AS INTEGER PUBLIC COBA1 (15 To 45, 15 To 45) AS LONG
DIM COBA (1 To 15, 1 to 5 ) AS INTEGER PUBLIC COBA1 (15 To 45, 15 To 45) AS LONG
Keterangan :
VARIABEL Testing DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 20X20 =40 Elemen data „Karena Batas bawah 0 (index1 = 0 To 19 dan Index2 = 0 To 19)
VARIABEL Testing1 DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 10X20 = 200 elemen Data „Karena Batas bawah 1 (index1 = 1 To 10 dan Index2 = 1 To 20)
VARIABEL Coba DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 15X5 = 75 elemen Data „Karena Batas bawah 1 (index1 = 1 To 15 dan Index2 = 1 To 5)
VARIABEL coba1 DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 30X30 = 90 Elemen Data „Karena Batas bawah 15 (index1 = 15 To 45 dan Index2 = 15 To 45)
VARIABEL Testing DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 20X20 =40 Elemen data „Karena Batas bawah 0 (index1 = 0 To 19 dan Index2 = 0 To 19)
VARIABEL Testing1 DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 10X20 = 200 elemen Data „Karena Batas bawah 1 (index1 = 1 To 10 dan Index2 = 1 To 20)
VARIABEL Coba DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 15X5 = 75 elemen Data „Karena Batas bawah 1 (index1 = 1 To 15 dan Index2 = 1 To 5)
VARIABEL coba1 DIMENSI-2 maka jumlah elemen yang dapat ditampung Sebesar 30X30 = 90 Elemen Data „Karena Batas bawah 15 (index1 = 15 To 45 dan Index2 = 15 To 45)
#Dimensi Tiga
DIM NAMA VARIABEL (Dimensi, Dimensi2, Dimensi3, …) AS TIPE DATA
•Untuk meningkatkan daya tampung digunakan dimensi tambahan seperti dimensi kedua, dimensi ketiga dan seterusnya disebut multidimensi.
•Contohnya –DIM PENJUALAN (2,3,4) AS CURRENCY Option Base 10 –DIM KOTAK (40,30,20) AS INTEGER
•Keterangan
Variabel Penjualan Dimensi3, maka jumlah elemen yang dapat ditampung Sebesar 3X4X5 = 60 Elemen Data „Karena Batas bawah 0 (index1 = 0 To 2 dan Index2 = 0 To 3 serta index3 = 0 to 4)
Variabel Penjualan Dimensi3, maka jumlah elemen yang dapat ditampung Sebesar 30X20X10 = 6000 Elemen Data „Karena Batas bawah 15 (index1 = 10 To 40 dan Index2 = 10 To 30 serta index3 = 10 to 20)
Variabel Penjualan Dimensi3, maka jumlah elemen yang dapat ditampung Sebesar 3X4X5 = 60 Elemen Data „Karena Batas bawah 0 (index1 = 0 To 2 dan Index2 = 0 To 3 serta index3 = 0 to 4)
Variabel Penjualan Dimensi3, maka jumlah elemen yang dapat ditampung Sebesar 30X20X10 = 6000 Elemen Data „Karena Batas bawah 15 (index1 = 10 To 40 dan Index2 = 10 To 30 serta index3 = 10 to 20)
Jenis-jenis Procedure
Pada VB6 ada 4
jenis procedure, yaitu :
- Procedure Sub – procedure yang tidak
mengembalikan nilai setelah ‘tugas’-nya selesai.
- Procedure
Function –
procedure yang mengembalikan nilai setelah ‘tugas’-nya selesai.
- Procedure Event – procedure untuk suatu event
pada sebuah object. Digunakan di dalam class module.
- Procedure
Property – procedure
untuk mengubah (let) atau mengambil (get) nilai property pada
sebuah object. Digunakan di dalam class module.
Pada bab ini akan
dibahas penggunaan procedure sub dan function. Procedure event dan property
akan dibahas pada bab selanjutnya. Bentuk
penulisan (syntax) procedure sub :
[Public |
Private] Sub <nama_sub> ([<argumen>])
…
<isi procedure>
…
End Sub
…
<isi procedure>
…
End Sub
Sedangkan bentuk
penulisan (syntax) procedure function :
[Public |
Private] Function <nama_function> ([<argumen>]) As
<tipe_data>
…
<isi procedure>
…
End Function Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure. Sebuah procedure dengan scope public bisa digunakan dalam lingkup project. Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup form saja.
<nama_sub> atau <nama_function> dibuat sebagai pengenal procedure saat di-‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama.
<argumen> merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali.
Pernyataan As <tipe_data> pada procedure function menentukan tipe data nilai yang akan dikembalikan (return value) setelah ‘tugas’-nya selesai. Untuk menggunakan sebuah procedure, maka procedure tersebut harus di-‘panggil’ pada bagian tertentu dari kode program. Procedure sub di-‘panggil’ dengan pernyataan :
…
<isi procedure>
…
End Function Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure. Sebuah procedure dengan scope public bisa digunakan dalam lingkup project. Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup form saja.
<nama_sub> atau <nama_function> dibuat sebagai pengenal procedure saat di-‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama.
<argumen> merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali.
Pernyataan As <tipe_data> pada procedure function menentukan tipe data nilai yang akan dikembalikan (return value) setelah ‘tugas’-nya selesai. Untuk menggunakan sebuah procedure, maka procedure tersebut harus di-‘panggil’ pada bagian tertentu dari kode program. Procedure sub di-‘panggil’ dengan pernyataan :
Call
<nama_sub>([<argumen>])
Sedangkan
procedure function bisa di-‘panggil’ langsung dengan menyisipkannya di dalam
kode program yang memanggilnya
#ARRAY DINAMIS (Berubah-berubah)
Seperti yang telah disebutkan diatas yaitu penggunaan array identik dengan jumlah elemen serta sangat berpengaruh kepada kapasitas pemakaian memory dan performance kerja program Teknik pemrograman array dinamis dinamis untuk mendapatkan jumlah elemen sesuai dengan keperluan. Dan Untuk array dinamis deklarasikan array dengan dimensi kosong. Contohnya
-DIM NAMA VARIABEL () Atau : DIM NAMA VARIABEL () As Integer
-Kemudian alokasikan jumlah elemen dengan perintah “Redim “ pada saat digunakan pada suatu prosedur atau fungsi yang akan dilaksanakan, Maka deklarasinya menjadi : Redim NamaVariabel (X, Y)
-Selanjutnya bisa dideklarasikan Array tersebut berulang-ulang dengan ukuran berbeda sesuai kebutuhan
Kelemahan penggunaan “Redim” adalah tiap kali perintah tersebut dipanggil maka semua nilai pada variable sebelumnya akan hilang. Agar semua nilai pada variabelnya tidak hilang Gunakan perintah “PRESERVE” Untuk menambah elemen array tanpa menghapus nilai sebelumnya.
Pemrogramman
Seperti yang telah disebutkan diatas yaitu penggunaan array identik dengan jumlah elemen serta sangat berpengaruh kepada kapasitas pemakaian memory dan performance kerja program Teknik pemrograman array dinamis dinamis untuk mendapatkan jumlah elemen sesuai dengan keperluan. Dan Untuk array dinamis deklarasikan array dengan dimensi kosong. Contohnya
-DIM NAMA VARIABEL () Atau : DIM NAMA VARIABEL () As Integer
-Kemudian alokasikan jumlah elemen dengan perintah “Redim “ pada saat digunakan pada suatu prosedur atau fungsi yang akan dilaksanakan, Maka deklarasinya menjadi : Redim NamaVariabel (X, Y)
-Selanjutnya bisa dideklarasikan Array tersebut berulang-ulang dengan ukuran berbeda sesuai kebutuhan
Kelemahan penggunaan “Redim” adalah tiap kali perintah tersebut dipanggil maka semua nilai pada variable sebelumnya akan hilang. Agar semua nilai pada variabelnya tidak hilang Gunakan perintah “PRESERVE” Untuk menambah elemen array tanpa menghapus nilai sebelumnya.
Pemrogramman
Perintah “PRESERVE” Hanya dapat digunakan mengubah batas atas (UBound) dari array satu dimensi.
Sedangkan untuk array multidimensi yang dapat rubah hanyalah batas atas dimensi terakhirnya saja, dimensi sebelumnya tidak bias dirubah pada saat digunakan dengan dengan perintah PRESERVE”. Lihat contoh berikut nya ini : –REDIM PRESERVE NAMAVARIABEL (10, UBOUND (NAMAVARIABEL,2) + 1 ) Atau : REDIM PRESERVE DataMhs (10, UBOUND (DataMhs,2) + 1 ) REDIM PRESERVE DataMhs2 (10, 10, UBOUND (DataMhs2,3) + 1 )
Atau : Option Base 1 REDIM PRESERVE DataMhs1 (10, UBOUND (DataMhs1,2) + 1 ) REDIM PRESERVE DataMhs2 (10, 10, UBOUND (DataMhs2,3) + 1 )
Dimana : -DataMhs1 dan DataMhs2 Memiliki nilai awal/batas bawah Index1, index2, …) adalah 1 (satu) -(DataMhs1,2) adalah Variabel DataMhs1 memiliki dua dimensi -(DataMhs2,3) adalah Variabel DataMhs2 memiliki tiga dimensi Keterangan :
(10, UBOUND (DataMhs,2) + 1 ) = (Index1, Index2). Index1 = 0 to 10 dan Index2= 0 to UBOUND (DataMhs,2) + 1
Maksud dari :UBOUND (DataMhs,2) + 1 adalah batas atasnya index2. (DataMhs,2) adalah DataMhs dimensi-2, setiap akan dilaksanakan proses otomatis menambah 1 (satu) ruang index2 pada variable DataMhs, untuk menampung data Mahasiswa yang ke sekian (selanjutnya)
Jadi jumlahnya ruang index2 tergantung banyaknya data mahasiswa yang akan diproses.
-Variable DataMhs berdimensi dua. Maka jumlah yang dapat ditampung sebesar 11X tergantung banyaknya data mahasiswa yang akan diproses. Maka segitulah jumlah elemen yang dapat ditampung pada variable DataMhs
Sedangkan untuk array multidimensi yang dapat rubah hanyalah batas atas dimensi terakhirnya saja, dimensi sebelumnya tidak bias dirubah pada saat digunakan dengan dengan perintah PRESERVE”. Lihat contoh berikut nya ini : –REDIM PRESERVE NAMAVARIABEL (10, UBOUND (NAMAVARIABEL,2) + 1 ) Atau : REDIM PRESERVE DataMhs (10, UBOUND (DataMhs,2) + 1 ) REDIM PRESERVE DataMhs2 (10, 10, UBOUND (DataMhs2,3) + 1 )
Atau : Option Base 1 REDIM PRESERVE DataMhs1 (10, UBOUND (DataMhs1,2) + 1 ) REDIM PRESERVE DataMhs2 (10, 10, UBOUND (DataMhs2,3) + 1 )
Dimana : -DataMhs1 dan DataMhs2 Memiliki nilai awal/batas bawah Index1, index2, …) adalah 1 (satu) -(DataMhs1,2) adalah Variabel DataMhs1 memiliki dua dimensi -(DataMhs2,3) adalah Variabel DataMhs2 memiliki tiga dimensi Keterangan :
(10, UBOUND (DataMhs,2) + 1 ) = (Index1, Index2). Index1 = 0 to 10 dan Index2= 0 to UBOUND (DataMhs,2) + 1
Maksud dari :UBOUND (DataMhs,2) + 1 adalah batas atasnya index2. (DataMhs,2) adalah DataMhs dimensi-2, setiap akan dilaksanakan proses otomatis menambah 1 (satu) ruang index2 pada variable DataMhs, untuk menampung data Mahasiswa yang ke sekian (selanjutnya)
Jadi jumlahnya ruang index2 tergantung banyaknya data mahasiswa yang akan diproses.
-Variable DataMhs berdimensi dua. Maka jumlah yang dapat ditampung sebesar 11X tergantung banyaknya data mahasiswa yang akan diproses. Maka segitulah jumlah elemen yang dapat ditampung pada variable DataMhs
Array Satu Dimensi, Multi Dimensi Dengan Visual Basic
Dalam bahasa pemrograman manapun, pasti Anda akan menggunakan Array khususnya Vb. Lalu apa sih yang dimaksud dengan Definisi Array pada Visual Basic?
Array adalah sekumpulan elemen data yang memiliki tipe data yang sama
(meskipun pada akhirnya tidak selalu demikian, seperti penjelasan
berikutnya yang akan Anda temukan). Array mengijinkan Anda untuk
mengaitkan sekumpulan variabel dengan nama yang sama dan menggunakan
angka (index) untuk memisahkan antara elemen yang satu dengan yang
lainnya.
Hal ini membantu Anda dalam menulis kode yang lebih sederhana dan lebih singkat dalam banyak situasi, karena Anda dapat melakukan perulangan secara efisien cukup hanya dengan menggunakan angka index dari array tersebut. Array memiliki batas paling bawah (lower) dan batas paling atas (upper), dan elemen-elemen array berada di antara batas-batas tersebut. Karena dengan Visual Basic mengalokasikan ruang untuk setiap angka index, hindari pendeklarasian sebuah array yang lebih besar dari yang dibutuhkan.
Array yang
sedang kita bahas ini merupakan array dari variabel, yang
dideklarasikan di dalam kode Anda. Array ini berbeda dari array yang
berlaku pada control (control array) yang dapat Anda buat dengan
mengeset nilai property Index milik suatu control pada saat design-time.
Variabel array selalu berdampingan; tidak seperti control array, Anda
tidak dapat memuat dan membebaskan elemen-elemen dari tengah-tengah
array.
Semua elemen di array memiliki tipe data yang sama. Tentu saja, ketika tipe datanya Variant, elemen-elemen secara individu dapat mengandung jenis data yang berbeda (object, String, angka, dan sebagainya). Anda dapat mendeklarasikan sebuah array dari tipe data umum, termasuk user-defined types dan object variables (akan kita bahas pada artikel yang lainnya).
Di Visual Basic, terdapat dua jenis array, yaitu:
1. Array dengan ukuran tetap, yang selalu memiliki ukuran yang sama,
2. Array Dinamis (dynamic array), yang ukurannya dapat diganti pada saat run-time.
Mendeklarasikan Array yang Berukuran Tetap
Ada tiga cara mendeklarasikan array yang berukuran tetap, tergantung pada ruang lingkup yang Anda inginkan untuk array tersebut:
1.
Untuk membuat sebuah array public, gunakan pernyataan Public di bagian
pendeklarasian dari module untuk mendeklarasikan array tersebut.
2.
Untuk membuat array level module, gunakan pernyataan Private di bagian
pendeklarasian dari module untuk mendeklarasikan array tersebut.
3.
Untuk membuat sebuah array level local, gunakan pernyataan Private di
dalam sebuah procedure untuk mendeklarasikan array tersebut.
Jika Anda ingin agar setiap index batas terbawah tidak selalu dimulai dari nol tapi dimulai dari satu, maka cukup tambahkan di bagian paling atas atau di bagian pendeklarasian dari sebuah module, pernyataan berikut:
‘Setiap variabel harus dideklarasikan terlebih dulu
Option Explicit
'Setiap array index terbawah harus dimulai dengan 1
Option Base 1
Dari contoh di sebelumnya, maka untuk menampilkan batas terbawah dan teratas dari array yang bernama countersB, maka kodenya adalah:
Menentukan Batas Bawah dan Batas Akhir
Untuk
mendeklarasikan sebuah array, ikuti nama array dengan batas teratas yang
diapit oleh tanda kurung. Batas teratas tidak boleh melewati range dari
sebuah tipe data Long (-2,147,483,648 sampai dengan 2,147,483,647).
Sebagai contoh, pendeklarasian array-array berikut berada pada bagian
pendeklarasian dari sebuah module:
Dim Counters(14) As Integer ' 15 elemen.
Dim Sums(20) As Double ' 21 elemen
Untuk membuat sebuah array public, cukup ganti kata Dim menjadi Public:
Public Counters(14) As Integer
Public Sums(20) As Double
Pendeklarasian yang sama di dalam sebuah procedure, gunakan kata Dim:
Dim Counters(14) As Integer
Dim Sums(20) As Double
Pendeklarasian
pertama membuat sebuah array dengan 15 elemen, dengan nomor index
dimulai dari 0 sampai 14. Pendeklarasian kedua membuat sebuah array
dengan 21 elemen, dengan nomor index dimulai dari 0 sampai 20.
Default batas
terbawah array adalah 0. Untuk menentukan nilai batas bawah tertentu,
gunakan secara eksplisit (sebagai tipe data Long) dengan menggunakan
kata kunci To:
Dim Counters(1 To 15) As Integer
Dim Sums(100 To 120) As String
Pada
pendeklarasian pertama, nomor index dari Counters dimulai dari 1 sampai
15, dan nomor index dari Sums dimulai dari 100 sampai 120.
Jika Anda ingin agar setiap index batas terbawah tidak selalu dimulai dari nol tapi dimulai dari satu, maka cukup tambahkan di bagian paling atas atau di bagian pendeklarasian dari sebuah module, pernyataan berikut:
Option Base 1
Contoh berikut akan menunjukkan kepada Anda bagaimana menggunakan pernyataan Option Base 1:
Contoh berikut akan menunjukkan kepada Anda bagaimana menggunakan pernyataan Option Base 1:
‘Setiap variabel harus dideklarasikan terlebih dulu
Option Explicit
'Setiap array index terbawah harus dimulai dengan 1
Option Base 1
Private Sub Form_Load()
Dim a(10)
Dim i As Integer
For i = 1 To 10
a(i) = i
MsgBox a(i)
Next i
End Sub
Pada contoh
tersebut, array a memiliki 10 elemen yang dimulai dari index 1 (bukan 0)
sampai dengan 10. Mengapa dimulai dari 1? Karena di bagian
pendeklarasian sudah dinyatakan dengan Option Base 1 yang artinya batas
terbawah dari array dimulai dengan 1.
Array yang Mengandung Array yang Lain
Sangat memungkinkan untuk membuat sebuah array yang tipe datanya berjenis Variant, lalu mengisinya dengan array lain yang memiliki tipe data yang berbeda. Kode berikut ini akan membuat dua buah array, yang satu mengandung Integer dan yang lainnya mengandung String. Setelah itu, mendeklarasikan sebuah array ketiga yang bertipe Variant, dan mengisinya dengan array Integer dan array String tadi.
Sangat memungkinkan untuk membuat sebuah array yang tipe datanya berjenis Variant, lalu mengisinya dengan array lain yang memiliki tipe data yang berbeda. Kode berikut ini akan membuat dua buah array, yang satu mengandung Integer dan yang lainnya mengandung String. Setelah itu, mendeklarasikan sebuah array ketiga yang bertipe Variant, dan mengisinya dengan array Integer dan array String tadi.
Private Sub Command1_Click()
' Deklarasi variabel counter.
Dim intX As Integer
' Deklarasi dan isi sebuah array Integer.
Dim countersA(5) As Integer
For intX = 0 To 4
countersA(intX) = intX
MsgBox countersA(intX)
Next intX
' Deklarasi dan isi sebuah array String.
Dim countersB(5) As String
For intX = 0 To 4
countersB(intX) = "hello-" & intX
MsgBox countersB(intX)
Next intX
' Deklarasi array dengan dua elemen.
Dim arrX(2) As Variant
' Isi array dengan array lain.
arrX(1) = countersA()
arrX(2) = countersB()
' Tampilkan anggota index ke-2 dari array pertama.
MsgBox arrX(1)(2)
' Tampilkan anggota index ke-3 dari array kedua.
MsgBox arrX(2)(3)
End Sub
Seperti yang
sudah kita bahas di awal artikel ini, array memiliki batas terbawah dan
batas teratas, yang masing-masing disebut dengan lower dan upper bound.
Anda bisa menampilkan nilai dari elemen batas terbawah dan teratas tadi
masing-masing dengan menggunakan pernyataan LBound dan UBound.
Dari contoh di sebelumnya, maka untuk menampilkan batas terbawah dan teratas dari array yang bernama countersB, maka kodenya adalah:
MsgBox "LBound = " & LBound(countersB)
MsgBox "UBound = " & UBound(countersB)
Array Multidimensional
Kadang-kadang Anda ingin menyimpan jejak dari informasi yang terkait dalam sebuah array. Sebagai contoh, untuk menyimpan jejak dari setiap pixel di layar komputer Anda, Anda perlu mengaitkan ke koordinat X dan Y. Hal ini dapat dilakukan dengan menggunakan sebuah array multidimensional untuk menyimpan nilai-nilai tersebut.
Kadang-kadang Anda ingin menyimpan jejak dari informasi yang terkait dalam sebuah array. Sebagai contoh, untuk menyimpan jejak dari setiap pixel di layar komputer Anda, Anda perlu mengaitkan ke koordinat X dan Y. Hal ini dapat dilakukan dengan menggunakan sebuah array multidimensional untuk menyimpan nilai-nilai tersebut.
Dengan Visual Basic, Anda dapat mendeklarasikan array yang multi-dimensi. Sebagai contoh, pernyataan berikut mendeklarasikan sebuah array dua dimensi 10-kali-10 di dalam sebuah procedure:
Static MatrixA(9, 9) As Double
Untuk kedua dimensi tersebut, dapat dideklarasikan dengan batas bawah secara eksplisit:
Static MatrixA(1 To 10, 1 To 10) As Double
atau jika Anda ingin menggunakan index 0 untuk batas terbawah:
Static MatrixA(0 To 9, 0 To 9) As Double
Anda dapat memperluas array tersebut sehingga lebih besar dari dua dimensi.
Sebagai contoh:
Sebagai contoh:
Dim MultiD(3, 1 To 10, 1 To 15)
Pendeklarasian
ini membuat sebuah array yang memiliki tiga dimensi dengan ukuran: 4
kali 10 kali 15. Total jumlah elemen hasil dari array tiga dimensi ini,
menjadi = 600 (4 x 10 x 15).
Ketika Anda mulai menambahkan dimensi ke sebuah array, total penyimpanan yang dibutuhkan oleh array naik secara dramatis. Oleh karena itu, gunakanlah array multidimensional dengan hati-hati. Khususnya juga dengan array Variant, karena lebih besar daripada tipe data lainnya.
Ketika Anda mulai menambahkan dimensi ke sebuah array, total penyimpanan yang dibutuhkan oleh array naik secara dramatis. Oleh karena itu, gunakanlah array multidimensional dengan hati-hati. Khususnya juga dengan array Variant, karena lebih besar daripada tipe data lainnya.