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)
Cara menggunakan array
Dim
nama_array(jumlah_elemen - 1) As tipe_data
Contoh:
Dim mahasiswa(99) As String --> array mahasiswa akan mempunyai elemen
sebanyak 100 dimulai nomor 0 s/d 99
Berikut adalah cara mengisi nilai data pada array
mahasiswa(0) = "Maman"
mahasiswa(1) = "Nana"
dst...
Kita dapat mengisi atau mengosongkan elemen
array dengan menggunakan kontrol perulangan For...Next seperti
berikut (cara mengosongkan elemen array)
For i = 0 to 99
mahasiswa(i) = ""
Next i
Note:
1. Secara default indeks elemen array dimulai
dari 0 (nol) tetapi kita dapat mengubah nilai awal dari angka 1 (satu)
menggunakan perintah Option Base 1 sebelum perintah Dim-nya
Option Base 1
Dim mahasiswa (100) As String
2. Selain menggunakan cara no. 1 diatas dapat juga menggunakan kata TO seperti contoh berikut
Dim mahasiswa (1 to 100) As String
3. Untuk mengetahui jumlah elemen array, kita
dapat menggunakan perintah Ubound(nama_array)
Dim mahasiswa (1 to 100) As String
Dim JumlahElemen As Integer
JumlahElemen = Ubound(mahasiswa) --> 'akan menghasilkan JumlahElemen=100
4. Jika kita tidah tahu berapa jumlah elemen
yang akan digunakan maka kita dapat menggunakan array dinamis yaitu dengan cara
mengosongkan jumlah elemen pada data array
Dim mahasiswa() As String
5. Dapat juga kita mengubah jumlah elemen array
dengan menggunakan perintah Redim
Redim [preserve] nama_array(JumlahElemen)
Contoh:
Redim mahasiswa(88) --> 'Jumlah elemen akan berubah menjadi 89
elemen dimuali dari 0 s/d 88
Apa itu Procedure?
Procedure adalah blok kode program yang berisi perintah-perintah untuk mengerjakan tugas tertentu. Bila di dalam kode program yang kita buat ada perintah-perintah untuk melakukan tugas yang sama di beberapa tempat, maka akan lebih baik perintah-perintah tersebut dibuat dalam sebuah procedure. Kemudian, procedure itu bisa di-‘panggil’ bila diperlukan. Penggunaan procedure sangat menghemat penulisan kode program, karena kode-kode program yang sama dibeberapa tempat cukup dibuat pada satu bagian saja. Selain itu, procedure akan memudahkan perbaikan kode program bila terjadi perubahan atau kesalahan, karena perbaikan cukup dilakukan pada satu bagian saja.
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 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.