Array

Seperti yang sudah dipelajari di materi sebelumnya, bahwa variable bisa menyimpan sebuah nilai, Misalnya sebuah variable apel diisi dengan nilai 100.

Jika mempunyai 6 apel, maka jika mengunakan typedata primitif seperti yang sudah dipelajari dimateri typedata,

maka notasi deklarasi variable ditulis seperti dibawah ini

Dim Apel1 as long, Apel2 as long, Apel3 as long, Apel4 as long, Apel5 as long, Apel6 as long

Pertanyannya adalah bagaimana jika membutuhkan 100 variable untuk Apel, dari Apel1 sampai Apel100 ?

Disinilah munculnya type data Array.

Array adalah sebuah struktur data yang mampu menyimpan sejumlah nilai atau elemen data yang serupa, yang memiliki nomor atau indeks.

Hal ini memungkinkan untuk menyimpan sekelompok nilai dalam satu variabel tunggal dan mengaksesnya menggunakan indeks yang tepat.

Array dapat memiliki satu dimensi (array tunggal), dua dimensi (array dua dimensi), atau lebih.

Deklarasi Array

Ada beberapa cara untuk mendeklarasikan Array dalam VBA, lebih tepatnya ada 3 cara untuk membuat Array.

Deklarasi Array Dinamis, Array Statis dan Array. Berikut ini adalah contoh-contoh dalam mendeklarasikan Array.

Contoh deklarasi Array Dinamis dalam VBA:

Dim arr() As Integer

Contoh deklarasi Array Statis:

Dim arr(5) As Integer          'Array 1 Dimensi
Dim arr(4,7) As Integer        'Array 2 Dimensi
Dim arr(2 to 6) As Integer     'Array 1 Dimensi dimulai dari 2 sampai 6

Contoh deklarasi Array dengan “Array”

Dim arr as Variant
arr = Array("Apel","Semangka","Jeruk")

Assigment Array

Untuk mengisi sebual nilai kedalam array sama seperti cara memasukan nilai ke variable biasa, yang berbeda Array ini memiliki nilai index.

Jika kita deklarasikan sebuah Array Variant statis, maka isi dari Array tersebut bisa diisi dengan berbagai type data.

Dibawah ini adalah contoh pengisian Array dengan berbagai type data

Private Sub ArrayExample()
   Dim arr(5)

   arr(0) = "150"         'Number Sebagai String
   arr(1) = "Andi Setiadi"    'String
   arr(2) = 100           'Number
   arr(3) = 2.45          'Decimal Number
   arr(4) = #10/07/2023#  'Date
   arr(5) = #12.45 PM#    'Time

   Msgbox "Nilai di Array index 1: " &  arr(1)
End Sub

Array diisi dengan cara menyebutan NamaVariable nya dan juga Indexnya didalam kurung, misalnya Apel(9) = 20000 maka ini artinya mengisi variable Array Apel ke 10 dengan Nila 20000.

Untuk mengisi Array statis dua dimensi caranya tetap sama yaitu dengan menentukan posisi Index arraynya.

contoh:

Private Sub ArrayExample()
   Dim Arr(1,2) as String      
   'Array memiliki 2 Baris and 3 columns

   Arr(0,0) = "Apple" 
   Arr(0,1) = "Orange"
   Arr(0,2) = "Anggur"           
   Arr(1,0) = "Jambu"           
   Arr(1,1) = "Semangka"           
   Arr(1,2) = "Durian"           
         
   Msgbox "Nilai di Array index 0,2 : " &  arr(0,2)
End Sub

Sedangkan untuk mengisi Array dinamis atau yang tidak ditentukan ukurannya saat deklarasi maka perlu ditambahkan ReDim sebelum digunakan.

Pernyataan ReDim digunakan untuk mendeklarasikan variabel array dinamis dan mengalokasikan atau mengalokasikan kembali ruang penyimpanan.

Sintak ReDim

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]

  • Preserve adalah Parameter opsional yang digunakan untuk menyimpan data dalam array yang ada saat ini, saat mengubah ukuran dimensi Array.
  • varname adalah Nama Variable Array yang akan di ReDim
  • subscripts adalah jumlah dimensi ukuran Array

Contoh penggunannya bisa dilihat dibawah ini

Private Sub ArrayExample()
   Dim Arr() As String
  
   ReDim Arr(2)
   Arr(0) = "Apel"
   Arr(1) = "Semangka"
   Arr(2) = "Jeruk"
   
   ReDim Preserve Arr(5)
   Arr(3) = "Jambu"
   
   'Disini Array berisi apel, Semangka, jeruk, Jambu
   
   ReDim Arr(6)
   Arr(4) = "Durian"
 
   'Disini Array Hanya berisi Durian
End Sub

Array Methods

Ada berbagai fungsi bawaan dalam VBA yang membantu untuk menangani array secara efektif. Semua metode yang bisa digunakan untuk menangani Array bisa dilihat dibawah ini

  • LBound dan UBound

Lower Bound dan Upper Bound adalah fungsi yang menghasilkan Index bawah dan index tertinggi dari Array.

Contoh

For i=Lbound(Arr) to Ubound(Arr)
  • Split

Split adalah sebuah fungsi yang bisa menghasilkan Array dari sebuah Text atau String dengan cara memotong text tersebut sesuai dengan delimiter atau pemisah yang ditentukan.

Contoh :

Sub Example()
Dim Str as String, Arr as Variant

Str = "Apel-Semangka-Jeruk-Durian"
Arr = Split(Str,"-")
End Sub
  • Join

Ini kebalikan dari Split, fungsi Join adalah untuk menggabungkan Array menjadi Text atau String

Contoh :

Sub Example()
Dim Str As String, Arr(2) As String

Arr(0) = "Apel"
Arr(1) = "Semangka"
Arr(2) = "Durian"

Str = Join(Arr)
MsgBox Str        'Ini menghasilkan "Apel Semangka Durian"

Str = Join(Arr, "-")
MsgBox Str        'Ini menghasilkan "Apel-Semangka-Durian"
End Sub
  • IsArray

Fungsi yang digunakan untuk mengecek apakah Variable yang di cek ini bertype Array atau bukan

Contoh :

Private Sub Example()
   Dim a,b as Variant
   a = array("Apel","Semangka","Durian")
   b = "12345"
  
   msgbox "Apakah Array : " & IsArray(a)  'True
   msgbox "Apakah Array : " & IsArray(b)  'False
End Sub
  • Erase

Fungsi untuk menghapus array dan membersihkannya dari memory.

contoh

Sub Example()
Dim DynamicArray()

ReDim DynamicArray(9)   'Alokasi Memory

Erase DynamicArray      'reinitialized.
End Sub
List Tutorial
Apa yang sedang kamu cari?

Temukan beberapa kata kunci yang diinginkan.

Search