07 Array Ms VB 6
07 Array Ms VB 6
Array
Array merupakan struktur dengan data yang seluruh elemennya mempunyi tipe data
sama. Terdiri atas:
Fixed size array (Dim)
Array dengan ukuran/dimensi yang tetap
Dynamic sized array ()
Array yang ukuran/dimensinya bisa berubah saat program berjalan (run-time)
Variabel Array
Menyimpan elemen-elemen dengan tipe data sama
Bisa mempunyai beberapa dimensi (1, 2, atau lebih)
Masing-masing elemen bisa dipanggil berdasarkan alamatnya (indeks)
Bisa ditentukan batas bawah bilangan negatif (-). Secara default batas bawah
adalah nol (0)
Dim cdegrees(-273 to 1000) as Single
Contoh program
Soal
Simpan 4 bilangan bulat (integer) di dalam array x, dan:
▫ Jumlahkan semua nilainya
▫ Cari nilai reratanya
▫ Jumlahkan semua hasil kuadratnya
Contoh program
Private Sub Jumlah_Click()
Dim x(1 To 4), sum, sum2, i As Integer
Dim rerata As Single
x(1) = 5
x(2) = 3
x(3) = 10
x(4) = 21
sum = 0
sum2 = 0
For i = 1 To 4
sum = sum + x(i)
sum2 = sum2 + x(i) * x(i)
Next i
average = sum / 4
op.Print “Jumlah Bilangan = “; sum
op.Print “Jumlah Kuadrat Bilangan = “; sum2
op.Print “Rerata Bilangan = “; rerata
End Sub
Matrik
Sebuah matrik merupakan sekumpulan elemen yang tergabung dalam array (larik) persegi
panjang. Elemen-elemen tersebut dapat berupa variabel atau angka. Sebagai contoh matrik
[A] dapat dinyatakan dengan:
Secara umum matrik memiliki baris dan kolom yang dikenal dengan orde matrik. Pada
keadaan di atas, [A] memiliki m baris dan n kolom sehingga orde matrik [A] adalah mxn. Di
dalam mengakses semua elemen matrik digunakan struktur pengulangan For … Next
Penjumlahan Matrik
Contoh: Jumlahkan dua matrik berikut:
dan
Penyelesaian:
Contoh: selesaikan
dan
untuk mencari matrik [C] pada elemen C12:
selanjutnya dengan cara yang sama semua elemen pada matrik [C] dapat dicari, dan akan
menghasilkan:
Perkalian Matrik
Private Sub KaliMatrik_Click()
Dim i, j, k As Integer
Dim A(1 To 2, 1 To 3) As Integer
Dim B(1 To 3, 1 To 2) As Integer
Dim C(1 To 2, 1 To 2) As Integer
A(1, 1) = 5: A(1, 2) = 2: A(1, 3) = 3
A(2, 1) = 1: A(2, 2) = 2: A(2, 3) = 7
B(1, 1) = 3: B(1, 2) = -2
B(2, 1) = 5: B(2, 2) = -8
B(3, 1) = 9: B(3, 2) = -10
For i = 1 To 2
For j = 1 To 2
For k = i To 3
C(i, j) = C(i, j) + A(i, k) * B(k, j)
Next k
Msflexgrid1.textmatrix(i,j)=C(i,j)
Next j
Next i
End Sub
Dinamik array
Beberapa Alasan
Untuk beberapa aplikasi kadang tidak mungkin untuk menentukan seberapa besar
ukuran array yang harus ditetapkan.
Pengguna mungkin juga ingin adanya kemungkinan untuk mengubah ukuran array pada
saat run-time.
Kelebihan
Dengan dinamik array yang bisa diubah-ubah ukurannya akan membatu dalam efisiensi
memory.
Sebagai contoh, anda bisa memperbesar array sebanyak satu elemen tanpa harus kehilangan
semua elemen yang ada dengan menggunakan function Ubound, contoh:
ReDim Preserve DynArray( Ubound ( DynArray ) + 1 )
Hanya upper bound (bagian batas atas) dari dimensi kerakhir (kolom) di dalam multi-dimensional
array dapat diubah pada saat keyword Preserve dipergunakan. Perubahan pada dimensi yang
lain akan menyebabkan run-time error.
Jika CmdButton merupakan nama yang diberikan untuk control array, maka kode
yang terkait dengan event procedure untuk mengendalikan semua command button
seperti berikut ini.
Control array
Private Sub CmdButton_Click ( Index As Integer )
Select Case Index
Case 0 To 9
Display.Text = Display.Text & Format( Index, "0")
Case 10
Display.Text = ""
Case 11
Display.Text = "Dialing " & Display.Text
End Select
End Sub
SELESAI