Data tipe array adalah data dengan nama variabel satu tetapi mempunyai nilai lebih dari satu. Bayangkan jika anda harus mencetak lima data, dan masing-masing data harus disimpan dengan lima data variabel. Pyuh...membosankan.
Hari_Senin = 1
Hari_Selasa = 2
Hari_Rabu = 3
Hari_Kamis = 4
Hari_Jumat = 5
Hari_Sabtu = 6
Hari_Minggu = 7
Print Hari_Senin
Print Hari_Selasa
Print Hari_Rabu
Print Hari_Kamis
Print Hari_Jumat
Print Hari_Sabtu
Print Hari_Minggu
Tipe array membuat hal membosankan diatas lebih simpel. Mulai-mula kita deklarasikan sebuah variabel bertipe array
Dim Hari() as Integer
Lantas definisikan jumlah data yang ingin diberikan
ReDim Hari(1 to 7) as Integer
Kemudian isikan
Hari(1) = 1
Hari(2) = 2
Hari(3) = 3
Hari(4) = 4
Hari(5) = 5
Hari(6) = 6
Hari(7) = 7
Sehingga sekarang kita memakai looping untuk mencetak isinya:
Dim i as Integer
For i = 1 to 7
Print Hari(i)
Next
Nah sekarang lebih praktis. Ada beberapa pernak-pernik lagi yang berhubungan dengan tipe array, yaitu LBound dan UBound. Buat apa ini?
Sekarang kita lihat lagi kode ini
For i = 1 to 7
Print Hari(i)
Next
Jika Anda ingat jumlah item dalam array, maka kode program diatas tidak berbahaya. Tapi bagaimana jika program Anda sudah sangat panjaaaaaaanggg.....sehingga Anda tidak ingat. LBound akan menghasilkan index terendah pada suatu variabel array, sedangkan UBound akan memberikan index tertinggi. Sehingga kode program diatas dapat diganti dengan:
For i = LBound(hari) to UBound(hari)
Print hari(i)
Next
Contoh-contoh diatas mengasumsikan jumlah array sudah pasti. Bagaimana jika jumlah array tidak diketahui ketika program pertama kali dijalankan dan baru diketahui jumlahnya setelah perhitungan? Untuk mengatasi hal ini, kita membutuhkan perintah ReDim Preserve. Kata ReDim akan membuat array akan didefinisikan ulang, sedangkan Preserve membuat nilai sebelumnya tidak hilang.
Sekarang kita praktekkan dengan membuat sebuah program untuk mencetak bilangan genap dari 1 sampai batas yang didefinisikan oleh user.
Option Explicit
Function DaftarGenap(Batas As Integer) As Integer()
Dim i As Integer, Hasil() As Integer
Dim JumlahArray As Integer
JumlahArray = 0
For i = 1 To Batas
If i Mod 2 = 0 Then
JumlahArray = JumlahArray + 1
ReDim Preserve Hasil(1 To JumlahArray)
Hasil(JumlahArray) = i
End If
Next
DaftarGenap = Hasil
End Function
Private Sub Command1_Click()
Dim i As Integer, cetakHasil() As Integer
i = CInt(Text1.Text)
cetakHasil = DaftarGenap(i)
For i = LBound(cetakHasil) To UBound(cetakHasil)
Print cetakHasil(i)
Next
End Sub
*Bahasa Program Visual Basic 6
**Sistem operasi saat praktek Windows XP
0 komentar:
Posting Komentar