MODUL 4
VARIABEL ARRAY
Array adalah sekumpulan data yang menggunakan nama variabel yang
sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki
index. Setiap elemen array adalah sebuah variabel juga.
Menciptakan Variabel Array
Untuk menciptakan variabel array dapat menggunakan perintah :
DIM variable[(subscripts)] [AS type]
Contoh :
DIM A(20) As Integer
Akan menciptakan variabel array yang bernama A yang memiliki 20
elemen (mulai dari index 0 s/d 19), yang masing-masing dapat
menampung data integer, dan memiliki nilai awal 0 (nol).
Menggunakan Variabel Array
Penggunakan Variabel Array sama saja dengan variabel biasa, cuma
kita perlu menyebutkan nomor index elemen yang diinginkan.
Contoh :
A(0) = 100
A(1) = 200
A(2) = 300
Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua,
dan 300 ke elemen ketiga.
Catatan : Elemen pertama dari array dimulai dengan nomor index 0
Contoh lain :
For I = 0 To 19 Step 1
Input "Masukkan Nilai :",A(I)
Next I
Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d
elemen keduapuluh.
Contoh lain :
Total = 0
For I = 0 To 19 Step 1
Total = Total + A(I) 'A(0), A(1), ..., A(19)
Next I
Print "Total :",Total
Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke
variabel total.
Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni
dynamic array dan static array. Static array dapat kita bentuk
tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10
saja tanpa dipengaruhi jumlah dimensi.
Contoh :
For I = 0 To 10 Step 1
Input "Masukkan Nilai :",B(I)
Next I
Total = 0
For I = 0 To 10 Step 1
Total = Total + B(I)
Next I
Print "Total :",Total
Program diatas dapat dijalankan tanpa kesalahan walaupun variabel
array B tidak dideklarasikan sebagai variabel array. Hal ini
karena kita menggunakan Static array yang otomatis disediakan
oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10
saja.
Pada defaultnya index awal dari variabel array adalah dimulai
dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1.
Contoh :
OPTION BASE 1
DIM A(30)
For I = 1 To 30
Input "Masukkan Nilai :",A(I)
Next I
Index awal dari variabel array dapat juga ditentukan pada saat
deklarasi.
Contoh :
DIM C(5 To 15)
For I = 5 To 15 Step 1
Input "Masukkan Nilai :",A(I)
Next I
Akan menghasilkan variabel array C, dengan elemen pertama
memiliki nomor index 5, dan elemen terakhir memiliki nomor index
15.
Anda dapat juga menggunakan fungsi LBound dan UBound untuk
mendapatkan index awal dan index akhir dari suatu array.
Contoh :
DIM C(5 To 15)
For I = LBound(C) To UBound(C) Step 1
Input "Masukkan Nilai :",A(I)
Next I
Static Array dan Dynamic Array
Pada QBasic, semua array yang dideklarasikan dengan numerik
adalah Static Array, dan array yang dideklarasikan dengan
variabel adalah Dynamic Array.
Contoh :
DIM D(30)
D adalah variabel Static Array
E = 30
DIM F(E)
F adalah variabel Dynamic Array, karena jumlah elemennya
ditentukan dengan menggunakan variabel E, dalam hal ini 30.
Perbedaan Static Array dan Dynamic Array :
1. Memory Static Array dialokasikan oleh QBasic pada awal
eksekusi program dimulai, sedangkan Memory Dynamic Array
dialokasikan secara dinamis pada saat eksekusi program
berlangsung.
2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic
Array dapat dideklarasikan ulang dengan perintah REDIM
Contoh :
DIM A(10)
REDIM A(20)
Akan terjadi kesalahan, karena variabel A adalah Static Array.
B = 10
DIM C(B)
REDIM C(30)
Tidak terjadi kesalahan.
Catatan : REDIM akan menghapus isi array, dan mendimensi ulang
jumlah elemennya.
3. Static Array tidak dapat dihapus dari memory, sedangkan
Dynamic Array dapat dihapus dari memory dengan perintah ERASE.
OPTION BASE 1
DIM A(3)
A(1) = 1
A(2) = 2
A(3) = 3
ERASE A
Print A(1) ' akan tercetak 0
Print A(2) ' akan tercetak 0
Print A(3) ' akan tercetak 0
Karena perintah Erase hanya mereset isi variabel Static Array ke
0 (jenis numeric) atau "" (Null) (jenis string), sedangkan
Variabel dan dimensinya tetap dipertahankan.
Contoh Lain :
OPTION BASE 1
B = 3
DIM C(B)
C(1) = 1
C(2) = 2
C(3) = 3
ERASE C
Print C(1) ' terjadi kesalahan subscript out of range
Karena variabel array C telah dihapus dari memory.
Variabel Array Multi Dimensi
Anda dapat membentuk variabel array 2 atau 3 dimensi dengan
perintah dim.
Contoh :
DIM A(10,10)
Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10)
(121 elemen)
Cara pemakaian array Multi Dimensi sama saja dengan array 1
dimensi yaitu perlu disebutkan nomor indexnya masing-masing.
Contoh :
A(2,2) = 5
Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua
dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan
OPTION BASE 1)
Bahan Latihan
1. Susun sebuah program dengan ketentuan berikut :
- program menanyakan jumlah data
- program menerima data sesuai dengan jumlah data satu persatu
- program mengurut data tersebut secara ascending
- program menghitung :
1. data terbesar
2. data terkecil
3. rata-rata
4. median
2. Buatlah program faktur sederhana dengan ketentuan :
- program menanyakan Tanggal dan Penjual
- program menanyakan
1. Jumlah
2. Satuan
3. Nama barang
secara berulang sampai jumlah yang dimasukkan 0 (nol)
- hasil menghasilkan tampilan faktur berikut :
FAKTUR PENJUALAN
Tanggal : 01-Jan-1995
Penjual : Budianto
--------------------------------------------------------
No. Jlh Satuan Nama Barang Harga @ Jumlah
========================================================
1. 30 Kotak Diskette 3M 15,000.00 450,000.00
2. 10 Buah Pita printer 7,000.00 70,000.00
========================================================
Total : 520,000.00
--------------------------------------------------------