Pert 5 - Collection
Pert 5 - Collection
Collection
Objektif :
Page 65
COLLECTION
Class Collection adalah class-class yang digunakan untuk manajemen sturktur data,
mulai dari menyimpan data hingga proses indexing, sorting dan lain-lain.
1. ArrayList
2. Stack
3. Queue
4. Array
5. Dynamic Array / Array Dinamis
6. List
ARRAYLIST
ArrayList adalah salah satu struktur data yang paling fleksibel dari VB.NET. Dengan
ArrayList Anda bisa menambahkan elemen ke dalam Array Dinamis yang Anda miliki dan
ArrayList ini menerima nilai kosong sebagai nilai yang valid dan mengizinkan elemen
dengan nilai sama atau duplikat. Class Collection memungkinkan Anda untuk mengakses
item baik menggunakan indeks numeric atau kunci String, tapi ArrayList memungkinkan
hanya indeks numeric. ArrayList fleksibel karena dapat menambahkan item tanpa informasi
ukuran.
Untuk menggunakan ArrayList, kita terlebih dahulu harus membuat variable yang
menjadi ArrayList. Deklarasi variable tidak harus disertai dengan ukuran dimensinya. Kita
cukup menuliskan perintah ArrayList seperti pada contoh dibawah ini :
Page 66
variable.Capacity = 100
Kita dapat menghitung jumlah item yang berada didalam ArrayList, seperti contoh dibawah
ini :
variable.Capacity = 10
variable.Add("a")
variable.Add("b")
variable.Add("c")
variable.Add("d")
variable.Add("e")
Pada kode program diatas output yang dihasilkan pada MsgBox adalah 5.
ArrayList memiliki sifat seperti Array tetapi perbedaan utamanya adalah ArrayList
bersifat dinamik dalam arti kita dapat memperbesar kapasitas secara otomatis apabila
diperlukan. ArrayList lebih unggul dari Array biasa karena selain dapat memperbesar
kapasitas secara otomatis, kita dapat menyisipkan dan menghapus elemen berdasarkan
valuenya.
1. Add
Menambahkan items ke dalam ArrayList
Syntax : ArrayList.Add(item)
2. Insert
Memasukkan item ke posisi tertentu dalam sebuah ArrayList
Syntax : ArrayList.Insert(index,item)
3. Remove
Menghapus item dari ArrayList
Syntax : ArrayList.Remove(item)
Page 67
4. RemoveAt
Menghapus item dari posisi tertentu pada ArrayList
Syntax : ArrayList.RemoveAt(index)
5. Sort
Mengurutkan item dalam ArrayList
Syntax : ArrayList.Sort()
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button pada form tersebut, seperti
gambar berikut :
Kemudian double klik pada Button tersebut dan tambahkan kode program berikut :
Dim i As Integer
Dim ArrayList As New ArrayList()
ArrayList.Add("Item5")
ArrayList.Add("Item3")
ArrayList.Add("Item4")
ArrayList.Add("Item1")
ArrayList.Add("Item2")
MsgBox("Shows Adde Items")
For i = 0 To ArrayList.Count - 1
MsgBox(ArrayList.Item(i))
Next
'menambahkan sebuah item
ArrayList.Insert(3, "Item6")
Page 68
'mengurutkan item dalam arraylist
ArrayList.Sort()
STACK (Tumpukan)
Stack adalah salah satu VB.NET Collection yang mudah digunakan. Stack
menggunakan operasi push dan pop, dimana kita bisa Push/menambahkan item ke dalam
stack dan Pop/mengeluarkannya. Stack menggunakan Algoritma Last In First Out (LIFO).
Item yang ditambahkan ke dalam stack dapat diambil kembali dengan urutan terbalik. Item
yang terakhir masuk adalah item yang pertama kali keluar, begitu juga sebaliknya.
1. Push
Menambahkan sebuah item ke dalam stack
Syntax : Stack.Push(Object)
2. Pop
Mengambil atau mengeluarkan item terakhir yang di masukkan ke dalam stack
Syntax : Stack.Pop()
3. Contains
Memeriksa apakah objek berada dalam stack
Syntax : Stack.Contains(Object)
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Page 69
Dim Stack As New Stack
Stack.Push("Sun")
Stack.Push("Mon")
Stack.Push("Tue")
Stack.Push("Wed")
Stack.Push("Thu")
Stack.Push("Fri")
Stack.Push("Sat")
If Stack.Contains("Wed") Then
MsgBox(Stack.Pop())
Else
MsgBox("not exist")
End If
QUEUE (Antrian)
Queue adalah struktur data lain dari VB.NET Collection. Queue bekerja menggunakan
Algoritma First In First Out (FIFO). Item yang pertama kali masuk ke dalam Queue adalah
item yang pertama kali keluar dari Queue. Kita bisa menambahkan item ke dalam Queue
dan menghapus/mengeluarkan item dari Queue. Dan kita bisa melihat/mendapatkan item
pertama yang ditambahkan pada Queue.
1. Enqueue
Menambahkan sebuah item ke dalam queue
Syntax : Stack.Enqueue(Object)
2. Dequeue
Mengambil atau mengeluarkan item pertama yang di masukkan ke dalam queue
Syntax : Stack.Dequeue()
3. Peek
Melihat atau mendapatkan item pada posisi pertama dalam queue
Syntax : Stack.Peek()
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Page 70
Dim Queue As New Queue
Queue.Enqueue("Sun")
Queue.Enqueue("Mon")
Queue.Enqueue("Tue")
Queue.Enqueue("Wed")
Queue.Enqueue("Thu")
Queue.Enqueue("fri")
Queue.Enqueue("Sat")
MsgBox(Queue.Dequeue())
MsgBox(Queue.Peek())
If Queue.Contains("Sun") Then
MsgBox("Contains Sun ")
Else
MsgBox("Not Contains Sun ")
End If
ARRAY
Array digunakan untuk menyimpan data yang memiliki tipe data yang sama sebagai
satu unit tersendiri. Data di dalam Array dapat di akses sesuai dengan index yang
ditentukan dan kita dapat menginisialisasikan Array dengan data. Kita dapat mengakses
elemen di dalam Array dengan menggunakan index numerik. Index pada Array dimulai
dari 0. Data pertama pada Array adalah data dengan index 0.
Variable Array merupakan variable yang dapat menampung banyak data, tetapi jenis
datanya harus mempunyai tipe data yang sama. Untuk membedakan satu data dengan yang
lain, variable Array diberi indeks. Array digunakan karena variable Array menggunakan
memori lebih sedikit dibandingkan dengan variable biasa. Variable Array juga menyimpan
data lebih efisien.
Ada beberapa cara untuk mendeklarasikan dan menginisialisasi variable Array, antara lain :
Page 71
Bentuk umum : Dim <nama_var_array> (<batas atas)> As Integer
Keterangan :
Mendeklarasikan variable Array dengan nama Gaji sebanyak 100 elemen (data)
dengan tipe data Integer. Indeks dimulai dari 0-99.
Keterangan :
Medeklarasikan variable Array dengan nama Gaji dan tipe data Integer
Bentuk umum 1 :
Bentuk umum 2 :
Variable array juga dapat berbentuk dua dimensi yang terdiri atas kolom dan baris.
Variable Array juga dapat memiliki dimensi lebih dari 2. Bentuk umum deklarasi,
inisialisasi, serta mengakses array dua dimensi, sebagai berikut :
Page 72
Bentuk umum 1 :
Bentuk umum 2 :
Bentuk umum 3 :
Contoh :
• Integer Array
array(0) = 10
array(1) = 20
array(2) = 30
array(3) = 40
Pada kode di atas kita mendeklarasikan sebuah Integer Array dengan banyak elemen
sebanyak 4. Kemudian kita memberikan nilai pada masing-masing index Array dari 0-3.
Kita bisa mengambil nilai-nilai dari Array dengan menggunakan perulangan for.
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Page 73
MessageBox.Show(array(i))
Next
Kita juga bisa mendeklarasikan dan menginisialisasi sebuah Array dalam satu statement
Perhatikan bahwa pada kode di atas kita tidak menentukan panjang Array. Untuk
mendapatkan panjang sebuah array dapat menggunakan method Length().
array.Length()
• String Array
Maksud atau arti dari kode program diatas adalah kita mendeklarasikan seubah Array
dengan nama “week” dengan tipe data “String” dan dengan banyak elemen data sebanyak
7.
week(0) = "Sunday"
week(1) = "Monday"
Pada statement di atas, kita menginisialisasikan nilai ke dalam String Array. week(0) =
"Sunday" berarti, kita menginisialisasikan bahwa nilai pertama dari Array adalah “Sunday”.
Kita dapat mengakses elemen Array dengan menggunakan indeks numerik, pada
statement di atas kita mengakses nilai data kedua dalam Array. Sehingga nilai yang akan
kita dapatkan adalah “Monday”.
Pada statement sebelumnya kita telah mendeklarasikan sebuah Array dengan nama
“week” dan dengan banyak elemen data sebanyak 7 nilai dengan tipe data String dan
element-elemen tersebut merupakan nama hari dalam seminggu. Selanjutnya adalah untuk
mendapatkan kembali atau memanggil elemen-elemen dari Array menggunakan perulangan
for.
Page 74
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Dim i As Integer
Dim week(6) As String
week(0) = "Sunday"
week(1) = "Monday"
week(2) = "Tuesday"
week(3) = "Wednesday"
week(4) = "Thursday"
week(5) = "Friday"
week(6) = "Saturday"
For i = 0 To week.Length - 1
MsgBox(week(i))
Next
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
sArray(0) = "A"
sArray(1) = "B"
sArray(2) = "C"
sArray(3) = "D"
sArray(4) = "E"
Page 75
Next
Array.Resize(sArray, 3)
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Kita dapat mengurutkan elemen Array secara ascending maupun descending. Kita dapat
menggunakan method Sort() untuk mengurutkan elemen pada Array. Method Sort() hanya
dapat digunakan pada Array 1 dimensi.
Page 76
For Each str As String In ArrStr
MsgBox(str)
Next
Array Dinamis dapat mengubah ukuran kapasitas dari Array pada saat Runtime. Jika
kita tidak mengetahui secara pasti jumlah elemen-elemen yang akan disimpan di dalam
Array pada saat membuat program maka kita dapat menggunakan Array Dinamis ini.
ReDim scores(1)
Jika kita ingin menjaga item yang telah ada pada Array untuk tetap ada, maka kita dapat
menggunakan keyword “Preserve”
Page 77
Dalam kasus ini Array Dinamis mengalokasikan 1 atau lebih nilai String dan tetap menjaga
nilai yang telah ada.
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
Dim i As Integer
Dim scores() As Integer
ReDim scores(1)
scores(0) = 100
scores(1) = 200
For i = 0 To scores.Length - 1
MsgBox(scores(i))
Next
scores(2) = 300
For i = 0 To scores.Length - 1
MsgBox(scores(i))
Next
LIST
List adalah implementasi umum dari ArrayList. List hanya dapat menyimpan satu tipe
dari object yang telah disediakan parameternya. Class pada List di definisikan pada class
System.Collections.Generic dan mempunyai method dan property seperti class Collection
lainnya seperti Add, Insert, Remove, Search dan lain-lain.
iList.Add(2)
Page 78
iList.Add(3)
iList.Add(5)
iList.Add(7)
numbers.Add("One")
numbers.Add("Two")
numbers.Add("Three")
Kita dapat menghitung jumlah elemen yang berada di dalam List. Untuk menghitung
jumlah elemen yang berada di dalam List kita dapat menggunakan statement berikut :
numbers.Count
Kita dapat memanggil atau mendapatkan kembali nilai yang berada di dalam List dengan
menggunakan perulangan “foreach” dan perulangan “for”
- Foreach
- For
Page 79
Untuk memasukkan sebuah item ke dalam List sesuai dengan index yang di tentukan dapat
menggunakan method Insert(index,item)
numbers.Insert(1, "zero")
Pada statement di atas kita memasukkan value/nilai string “zero” ke dalam List pada posisi
index 1.
numbers.Remove(1, "zero")
Method Contains() dapat digunakan untuk memeriksa keberadaan sebuah item di dalam
List.
If (numbers.Contains("Two")) Then
{
MessageBox.Show("Number Two exist in the list")
}
strArr(0) = "Red"
strArr(1) = "Blue"
strArr(2) = "Green"
Method Clear() digunakan untuk menghapus semua item yang berada di dalam List.
Page 80
arrlist.Clear()
Sebagai contoh, buat sebuah form dan tambahkan sebuah Button seperti gambar pada
contoh sebelumnya. Double klik pada Button tersebut kemudian tambahkan kode program
berikut :
If numbers.Contains("Two") Then
MessageBox.Show("Number two exist in the list")
Else
MessageBox.Show("Not exist")
End If
Page 81
For Each str As String In arrlist
MessageBox.Show(str)
Next
MessageBox.Show(arrlist.Count.ToString())
Page 82