Menggunakan Object Collection dan Generic (VB) Part 1

Pada .NET disediakan banyak class collection yang dapat digunakan. Jika anda menggunakan .NET 1.1 object collection yang disediakan belum typed-safe karena belum ada metode Generic misal: anda dapat mencampurkan tipe data string dan integer pada object dictionary / ArrayList.

Dengan munculnya Generic di .NET 2.0 (VB2005) maka penggunaan object collection di .NET sudah typed-safe sehingga meningkatkan performance dari program yang anda buat.

Adapun object-object collection pada .NET 2.0 yang disediakan adalah:

  • Array
  • List
  • Dictionary
  • Sorted Dictionary
  • Quee
  • Stack

Array

Cara yang paling umum digunakan untuk membuat object collection adalah array. Array adalah object collection yang mempunyai index.

Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda

Contoh Penggunaan Array di VB:

Untuk deklarasi array-nya:

'cara pendeklarasian array di VB
        Dim strArr(5) As String

Kemudian untuk mengisi arraynya menggunakan cara :

'cara untuk isi array
        'index array pada vb dimulai dari 0
        'jika kita mendeklarasikan array yang kapasitasnya 5
        'maka berarti kita memesan 6 tempat yaitu dari (0-5)
        strArr(0) = "erick"
        strArr(1) = "budi"
        strArr(2) = "djoni"
        strArr(3) = "jacky"
        strArr(4) = "benny"
        strArr(5) = "jimmy"

Ada alternatif untuk mendeklarasikan array dengan cara:

'deklarasi array langsung
        Dim intNumber() As Integer = {3, 5, 6, 7, 2}

Untuk menampilkan array-nya :

'Mencetak array menggunakan for
       For i As Integer = 0 To strArr.Length - 1
           Console.WriteLine("Array(" & i & "):" & strArr(i))
       Next

Selain menggunakan for dapat juga menggunakan for each jika jumlah array belum diketahui pasti

'mencetak array menggunakan for each
       For Each i As Integer In intNumber
           Console.WriteLine(i)
       Next

Untuk menambahkan kapasitas array kita bisa menggunakan cara:

'untuk menambah kapasitas array dapat digunakan perintah redim
        'jika hanya menggunakan redim maka isi array yang lama akan kosong
        ReDim strArr(8)
        strArr(6) = "bams"
        strArr(7) = "rexs"
        strArr(8) = "moons"

        For i As Integer = 0 To strArr.Length - 1
            Console.WriteLine(strArr(i))
        Next

Agar nilai array yang lama tidak hilang bisa menggunakan cara:

'jika ingin datanya masih ada maka anda harus menggunakan keyword Redim Preserve
        ReDim Preserve strArr(8)
        strArr(6) = "bams"
        strArr(7) = "rexs"
        strArr(8) = "moons"

        For i As Integer = 0 To strArr.Length - 1
            Console.WriteLine(strArr(i))
        Next

Menggunakan Array 2D pada VB

Untuk mendeklarasikan array 2D pada VB

'deklarasi matrix 2D (membuat matrix 3x3) 3 baris 3 kolom
       Dim Matrix(,) As Integer = New Integer(2, 2) {}

Untuk mengisi nilai kedalam array 2D digunakan cara:

  'mengisi matrix 2D
        For b As Integer = 0 To 2 'baris
            For k As Integer = 0 To 2 'kolom
                Console.Write("Masukan Matrix(" & b & "," & k & ") : ")
                Matrix(b, k) = CInt(Console.ReadLine())
            Next
        Next

Untuk menampilkan nilai dari array 2D digunakan cara:

'Menampilkan Matrix
       For b As Integer = 0 To 2
           For k As Integer = 0 To 2
               Console.Write(Matrix(b, k) & " ")
           Next
           Console.WriteLine()
       Next

Pada artikel yang selanjutnya saya akan mencoba membahas tentang object collection yang lain yaitu List

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s