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.
- Dim namaVariabel = {value1, value2, value3}
- Dim namaVariabel as TipeData() = {value1, value2, etc}
- 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.
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 yaitunamaVariabel(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"
Posting Komentar