2 Cara Bermain Dengan Array dalam Visual Basic .Net

Posted: Mei 11, 2008 in VB 6

VB .Net menghadirkan dua jenis array, yang pertama array normal yang kita dapat dengan mendeklarasikan sebuah variable menggunakan tanda (), yang kedua dengan cara membuat array objek dari class Array yang dibawa oleh VB.Net. Class Array menyediakan beberapa metode spesial untuk memanipulasi array seperti reversing, sorting dan searching.

Berikut adalah cara pertama yaitu dengan mendeklarasikan variable myArray dengan menambahkan karakter () dibelakang variable.

Private Sub firstArray()
 Dim myArray(10) As Integer
 For i As Integer = 0 To 10
  myArray(i) = i * i
 Next
 
 Dim txt As String = ""
 For i As Integer = 0 To 10
  txt &= myArray(i) & vbCrLf
 Next
 MsgBox(txt)
End Sub

Berikut adalah cara kedua yaitu dengan membuat objek myArray dari Class Array melalui method CreateInstance.

Private Sub secondArray()
 Dim myArray As Array = Array.CreateInstance(GetType(Integer), 11)</span>

<span style="font-size: 12pt; font-family: Arial;"> For i As Integer = 0 To 10
  myArray.SetValue(i * i, i)
 Next</span>

<span style="font-size: 12pt; font-family: Arial;"> Dim txt As String = ""
  For i As Integer = 0 To 10
  txt &= myArray.GetValue(i).ToString & vbCrLf
 Next
 MsgBox(txt)
End Sub

Untuk cara diatas jika Option Strict Off, kita dapat memberi nilai array dengan cara myArray(i) = i * I, tetapi jika Option Strict On kita harus menggunakan myArray.SetValue(i * i, i). Begitu pula dengan pengambilan nilai jika Option Strict Off, pengambilan nilai array dapat dilakukan dengan myArray(i).ToString, tetapi jika Option Strict On, maka pengambilan nilai harus melalui myArray.GetValue(i).ToString

 

Resizing

Untuk mengubah ukuran array normal kita dapat menggunakan keyword ReDim dan tambahkan keyword Preserve jika kita ingin mempetahankan nilai yang sudah ada.

Contoh :

Dim myArray(100) As Integer

 

Untuk mengubah ukuran menjadi 200 tetapi tidak ingin mempetahankan nilai yang sudah ada.

ReDim myArray(200) As Integer

 

Untuk mengubah ukuran menjadi 200 tetapi nilai yang sudah ada akan dipertahankan.

ReDim Preserve myArray(200) As Integer

 

Sedangkan untuk array objek kita tidak dapat merubah ukurannya yang sudah diset pada saat deklarasi, akan tetapi dapat diakali dengan cara mengcopy objek array ke objek array yang baru dengan catatan destination objek array length tidak lebih kecil dari pada source objek array.

Contoh :

Dim myArray As Array = Array.CreateInstance(GetType(Integer), 100)

Dim myArray1 As Array = Array.CreateInstance(GetType(Integer), 200)

myArray.CopyTo(myArray1, 0)

 

Speed

Dengan beberapa keunggulan yang dimiliki array objek seperti adanya reserving, sorting dan searching, mungkin kita akan lebih senang menggunakan array ini dari pada menggunakan array normal, akan tetapi sebelum menentukan pilihan akan lebih bijak jika kita mengetahui sedikit tentang kecepatan yang dimiliki oleh masing-masing jenis array.

 

Untuk masalah kecepatan, array dari variabel akan lebih cepat dari pada array objek, namun jika aplikasi anda mengolah array yang panjangnya hanya sampai ribuan, perbedaan kecepatan mungkin tidak berarti, tetapi akan berbeda jika panjang array yang anda olah sudah sampai jutaan, diposisi ini anda harus mempertimbangkan lebih baik menggunakan array variable dari pada array object.

 

Dari salah satu sumber yang pernah saya baca, untuk membuat 10 juta array 1-D dan 2-D, array normal membutuhkan waktu sekitar 0,1092 baik untuk array 1-D maupun array 2-D, sedangkan array objek membutuhkan waktu 1,2636 untuk array 1-D dan 1,4508 untuk array 2-D.

 

 

 

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s