Tipe data Array, List dan Dictonary di VB.Net



Tipe data Array, List dan Dictonary di VB.Net - Yoshaaa Selamat Malam sobs-sobs, semoga sobs-sobs masih dalam keadaan sehat walafiat dan diberikan kenikmatan untuk menikmati seutas gorengan.

Oke pada kesempatan kali ini gua akan bahas topik fundamental dari bahasa pemrograman Vb.Net. adapun materi pembahasan yaitu tipe data Array, List dan Dictonary.

sebelum mulai gua akan setup project terlebih dahulu sobs.sobs, oh iya gua akan setup project di visual studio 2022 comunity edition.




1.    Setup project


Jika sudah setup project maka tampilan akan seperti dibawah ini.



2.    Array

Tipe data ini merupakan tipe data yang dapat teridiri dari beberapa element, dan setiap element bisa kita set untuk tipe datanya sobs-sob. sekarang kita mulai menambahkan button ke Windows Form, kita ubah text button menjadi 'Array' jika sudah kita klik dua kali button tesebut.


untuk medefinisikan array adapun dengan format-format seperti dibawah ini sobs.

  1. Dim namaVariabel = {value1, value2, value3}
  2. Dim namaVariabel as TipeData() = {value1, value2, etc}
  3. Dim namaVariabel as TipeData(totalElement)

Ketiga format diatas valid sobs, tergantung sobs-sobs maunya yang mana, disini gua akan pakai format yang kedua aja ya sobs.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim daftarHewan As String() = {"Kerbau", "Ayam", "Ular"}
        MsgBox(daftarHewan(0))
        MsgBox(daftarHewan(1))
        MsgBox(daftarHewan(2))
    End Sub
End Class


Contoh diatas kita mendefinisikan array dengan variabel daftarHewan dan semua element array kita set berupa String sobs. selanjutnya kita akan menampilkan array dengan msgbox, caranya kita akses index dari array, nilai index selalu dimulai dengan 0, contoh akses nilai array yaitu namaVariabel(index).
Silahkan sobs-sobs jalankan projectnya seperti dibawah ini.


Sekarang pertanyaannya bagaimana kalau kita membuat array tidak hanya satu tipe data saja ???
Oh tentu bisa sobs-sobs. kita hanya perlu mengganti tipe datanya menjadi Object, seperti contoh dibawah ini.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}
        MsgBox(myArray(0))
        MsgBox(myArray(1))
        MsgBox(myArray(2))
    End Sub
End Class


Silahkan jalankan kembali projectnya sobs.
untuk memastikan tipe datanya kita coba cek dan tampilkan didalam msgbox dengan menggunakan class helper TypeName, untuk kodenya akan seperti dibawah ini.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}
        MsgBox(TypeName(myArray(0)))
        MsgBox(TypeName(myArray(1)))
        MsgBox(TypeName(myArray(2)))
    End Sub
End Class


Jika kita jalankan project kita.




lalu bagaimana kalau kita ingin mengubah value array index tertentu? caranya cukup mudah, adapun formatnya.
namaVariabel(indexArray) = valueBaru

contoh kodenya dibawah ini.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}
        MsgBox(myArray(0))
        myArray(0) = "Ganteng Banget"
        MsgBox(myArray(0))
    End Sub
End Class


Oh iya untuk operasional di tipe data array ini kita diperbolehkan hanya mengubah value atau edit elementnya saja, untuk menambahkan element dan menghapus kita tidak bisa sobs.

Sekarang kita bahas property didalam array.

2.1    Property Length

Property ini digunakan untuk mendapatkan jumlah element didalam array, property ini akan mengembaliakan angka dengan tipe data integer sehingga kita bisa tampung kedalam sebuah variabel.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}
        Dim jumlahArray = myArray.Length
        MsgBox(jumlahArray)
    End Sub
End Class


jika kita ingin menampilkan semua element menggunakan perulangan caranya cukup mudah sobs-sobs. yaitu dengan menggunakan property length.

2.2    Property First dan Last

dari katanya saja tentunya property first untuk mengambil value element pertama, sedangkan last untuk mengambil value element terakhir.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        MsgBox(myArray.First)
        MsgBox(myArray.Last)
    End Sub
End Class


Oke sebenarnya masih banyak lagi property dan method untuk array, sobs-sobs bisa membaca dokumentasi resmi. sekarang kita ke tahap selanjutnya yaitu perulangan untuk array.

2.3    Perulangan


Ada dua cara jika kita ingin melakukan perulangan untuk menampilkan semua element array. 
cara pertama yaitu dengan For.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For i = 0 To myArray.Length - 1
            MsgBox(myArray(i))
        Next
    End Sub
End Class

silahkan ya sobs-sobs dipahami.

dan cara kedua dengan For Each.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub
End Class

Selanjutnya kita akan beralih ke tipe data selanjutnya yaitu List.

3.    List

Tipe data ini sebenarnya sama seperti list hanya saja yang membedakan didalam list kita bisa menambahkan, dan menghapus element. sekarang gua akan tambahkan satu buah button lagi sobs ke dalam windows form app, dan gua berikan nama List setelah itu klik dua kali tombol list.



untuk mendeklarasikan sebuah list dengan cara format seperti ini sobs:
Dim namaVariabel new List(Of tipeData)({value1, value2, value3})

untuk contohnya seperti dibawah ini (fokus ke button list saja):


Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})
        MsgBox(myList(0))
        MsgBox(myList(1))
        MsgBox(myList(2))
    End Sub
End Class

Kode diatas kita mendefinisikan sebuah list dengan variabel myList dimana list tersebut setiap elemennya bertipe data string. untuk mengakses value list sama seperti array yaitu namaVariabel(index) untuk mencobanya silahkan jalankan programnya sobs.


untuk perulangan serta property first dan last sama seperti array, sedangkan untuk property length seperti array diganti dengan property count. selanjutnya sekarang kita fokus ke operasi pada list sobs.

3.1    Menambahkan element

untuk menambahkan element pada list ada beberapa cara.

cara pertama yaitu method Add, method ini digunakan untuk menambahkan element ke posisi terkahir pada list.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})
        'cek banyak element list sebelum ditambahkan
        MsgBox(myList.Count)

        'tambahkan element list pada urutan terkahir
        myList.Add("empat")

        'cek banyak element list sesudah ditambahkan
        MsgBox(myList.Count)

        'cek element terakhir list
        MsgBox(myList.Last)
    End Sub
End Class

silahkan sobs-sobs jalankan projectnya.

cara kedua dengan metode insert, untuk metode ini parameter pertama adalah index, dan parameter kedua adalah valuenya.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})
        myList.Insert(1, "sruputkode")
        MsgBox(myList(1))
    End Sub
End Class

3.2    Update element

sama seperti array untuk update atau mengganti value pada element tertentu di list penulisannya sama yaitu : namaVariabel(index) = valueBaru

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})
        MsgBox(myList(0))
        myList(0) = "sepuluh"
        MsgBox(myList(0))
    End Sub
End Class

berikutnya menghapus element di List.

3.3    Hapus element

Untuk menghapus element dilist kita menggunakan method removeAt dimana parameternya diisikan index list yang ingin kita hapus, seperti contoh dibawah ini sobs.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})
        MsgBox(myList(1))
        myList.RemoveAt(1)
        MsgBox(myList(1))
    End Sub
End Class

selanjutnya adalah kita menggunakan metode remove dimana parameter untuk metode ini adalah value yang ingin kita hapus, seperti contoh kode dibawah ini sobs.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub
End Class

penjelasan dimana gua menggunakan method contains untuk mengecek apakah ada value tertentu didalam suatu list, jika ada maka true dan jika tidak ada maka false sobs.

4.    Dictonary

Tipe data ini merupakan tipe data yang terdiri dari key, dan value. dimana jika sebelumnya kita mengakses suatu value di array atau list kita menggunakan index, di dictonary key ini pengganti indexnya sobs-sobs.

sekarang kita tambahkan satu button lagi ke dalam windows form kita. dan kita ganti text buttonnya menjadi dictonary.



untuk format pembuatan sebuah dictonary yang gua gunakan seperti dibawah ini sobs.

Dim namaVariabel as New Dictonary(Of tipeDataKey, tipeDataValue) From {{key1, value1}, {key2, value2}}

untuk contohnya seperti dibawah ini sobs (fokus button dictonary).

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}
        MsgBox(myDictonary("nama"))
        MsgBox(myDictonary("email"))
    End Sub
End Class

untuk mengakses value didalam dictonary seperti yang sudah dijelaskan sebelumnya yaitu
namaVariabel(key) contoh diatas jika kita akses myDictonary("nama") maka kita akan dapat value sruputkode.


untuk mengubah suatu value didictonary caranya cukup mudah yaitu seperti format dibawah ini
namaVariabel(key) = valueBaru

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}
        MsgBox(myDictonary("nama"))
        myDictonary("nama") = "kiko enak lohh"
        MsgBox(myDictonary("nama"))
    End Sub
End Class

selanjutnya adalah proses menambahkan element ke dictonary.

4.1    Tambah element

untuk menambahkan element baru caranya cukup mudah yaitu
namaVariabel(keyBaru) = valueBaru

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}
        myDictonary("alamat") = "pluto"
        MsgBox(myDictonary("alamat"))
    End Sub
End Class

oke gas next pembahasan.

4.2    Hapus element

untuk menghapus element dictonary caranya yaitu dengan menggunakan method remove dimana parameter untuk method ini adalah keynya, method ini mengembalikan nilai boolean True jika element dictonary dengan key berhasil dihapus, dan False jika gagal dihapus biasanya nilai false ini karena element dengan key tidak ada. ada pun format penulisannya seperti dibawah ini

namaVariabel.Remove(key)

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}

        MsgBox(myDictonary("email"))

        'hapus dictonary dengan key email
        myDictonary.Remove("email")

        'error
        MsgBox(myDictonary("email"))

    End Sub
End Class

Jika kita jalankan project diatas pada saat kita klik tombol dictonary akan error, kenapa ? karena dictonary dengan key yang ingin kita akses sudah tidak ada artinya sudah terhapus sobs.


lalu bagaimana untuk mengatasi kemungkinan error kaya gitu bang ? caranya cukup tambah blok try catch sobs-sobs.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}
        Try
            MsgBox(myDictonary("email"))
            myDictonary.Remove("email")
            MsgBox(myDictonary("email"))
        Catch ex As Exception
            MsgBox("error guys")
            MsgBox(ex.Message)
        End Try

    End Sub
End Class

jika dijalankan maka tampilannya seperti dibawah ini sobs.



4.3    Perulangan

oke kenapa gua tambah pembahasan perulangan dictonary karena perulangan di dictonary berbeda dengan array atau list.

Pertama jika kita ingin melakukan perulangan dan hanya mengambil key nya kita bisa melakukannya dengan for each dengan menggunakan property keys seperti contoh dibawah ini sobs.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}

        'Looping hanya keynya saja
        For Each key In myDictonary.Keys
            MsgBox(key)
        Next

    End Sub
End Class

dan jika kita ingin hanya valuenya kita gunakan properti values. seperti contoh dibawah ini.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}

        'Looping hanya valuenya saja
        For Each value In myDictonary.Values
            MsgBox(value)
        Next

    End Sub
End Class

selanjutnya gimana bang kalo mau dua-duanya yaitu key sama valuenya. et tenang bisa kok, kita gunakan class KeyValuePair. untuk contohnya seperti dibawah ini.

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim myArray As Object() = {"sruputkode", True, 20.22}

        For Each isiArray In myArray
            MsgBox(isiArray)
        Next
    End Sub

    'Button List
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim myList As New List(Of String)({"satu", "dua", "tiga"})

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'True

        'hapus element list yang mengandung value 'dua'
        myList.Remove("dua")

        'cek apakah list mengandung value 'dua'
        MsgBox(myList.Contains("dua")) 'False
    End Sub

    'Button Dictonary
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim myDictonary As New Dictionary(Of String, String) From {{"nama", "sruputkode"}, {"email", "sruputkode@outlook.co.id"}}

        'Looping key dan value 
        For Each pair As KeyValuePair(Of String, String) In myDictonary
            MsgBox($"Key : {pair.Key} | value : {pair.Value}")
        Next

    End Sub
End Class

coba kita jalankan projectnya.


untuk mengakses key nya kita menggunakan attribute key, sedangkan valuenya kita gunakan atributte value.


Nah mungkin itu saja sobs-sobs pembahasan pada materi kali ini. semoga dapat bermanfaat, dan jika sobs-sobs masih kurang puas silahkan mencari refrensi ditempat lain.

Sekian dan terimakasih sobs-sobs.

See you next time.


Posting Komentar untuk "Tipe data Array, List dan Dictonary di VB.Net"

www.domainesia.com
Web Hosting
www.domainesia.com