11 Nov 2014

Penjelasan & Contoh Program Array & Record Pada QBasic


Array
Array adalah sekumpulan data sejenis/setipe yang disimpan dalam sebuah variabel
berindeks. Tiap indeks atau subskrips menyimpan sebuah nilai. Indeks dapat berbentuk satu
dimensi (one dimensional) atau lebih dari satu dimensi (multi dimensional). Indeks terkecil
dimulai dari 0.
Cara pendeklarasian variabel array sama dengan pendeklarasian variabel pada umumnya,
yaitu dengan statement DIM hanya nama variabelnya diikuti dengan nilai dalam tanda kurung
'( )' yang menunjukkan jangkauan indeksnya.
Misal:

DIM Bil(4) AS INTEGER
DIM Nama(2,2) AS STRING * 15
DIM Matrik(4,3,2) AS SINGLE

Variabel Bil adalah array dimensi satu dengan tipe integer. Variabel Bil ini memiliki 5
indeks/subskrip mulai dari Bil(0) sampai dengan Bil(4) yang masing-masing menyimpan
sebuah nilai integer. Sedangkan Nama berdimensi 2 bertipe string. Indeksnya berjumlah 9
dimulai dari Nama(0,0), Nama(0,1), dst sampai dengan Nama(2,2).
Pengaksesan vaiabel array untuk memanipulasi atau menampilkan nilainya adalah dengan
menyebutkan indeksnya.

Contoh:
DIM Nilai(2) AS SINGLE
Nilai(0) = 70
Nilai(1) = 60
Nilai(2) = (Nilai(0) + Nilai(1)) / 2
PRINT "Nilai-1 = "; Nilai(0)
PRINT "Nilai-2 = "; Nilai(1)
PRINT "Rata-Rata = "; Nilai(2)
END

Record
Record adalah data terstruktur yang mengandung sekumpulan data yang berbeda jenis atau
tipe yang disimpan dalam sebuah tipe data. Sekumpulan data ini kemudian disebut sebagai
field-field dari record. Record adalah tipe data yang bisa dibuat oleh user sendiri. Selanjutnya
tipe data ini digunakan untuk mendeklarasikan variabel sama seperti tipe data yang ada.
Untuk mendeklarasikan tipe record digunakan statement TYPE. Field-fieldnya didefinisikan
setelah TYPE ini tanpa menggunakan DIM.

Bentuk umum statement TYPE :
TYPE usertype
Elemen-1 AS Tipedata
[Elemen-2 AS Tipedata]
….

END TYPE
Usertype adalah tipe data baru yang dicipatakan user. Dalam sebuah tipe record minimal
memiliki satu buah field/elemen. Selanjutnya dapat dideklarasikan variabel bertipe usertype
dengan cara biasa dengan DIM,yaitu:
DIM nama_variabel AS usertype
Pengaksesan nilai elemen dalam record dapat digunakan tanda period/titik (.). Untuk lebih
jelasnya lihat contoh program berikut :

TYPE Dat_Mhs
Nama AS STRING * 15
NPM AS STRING * 8
Kelas AS STRING * 5
END TYPE
DIM Mhs AS Dat_Mhs
CLS
INPUT "Nama : " , Mhs.Nama
INPUT "NPM : " , Mhs.NPM
Page 25
INPUT "Kelas : " , Mhs.Kelas
PRINT
PRINT "Data Mahasiswa yang dimasukkan "
PRINT "Nama : " ; Mhs.Nama
PRINT "NPM : " ; Mhs.NPM
PRINT "Kelas : " ; Mhs.Kelas
END

Output program :

Nama : Budi
NPM : 50499047
Kelas : 1IA01

Data Mahasiswa yang dimasukkan
Nama : Budi
NPM : 50499047
Kelas : 1IA01

Dat_Mhs adalah sebuah tipe data baru berbentuk record yang memiliki elemen-elemen
Nama, NPM, dan Kelas. Kemudian dideklarasikan variabel Mhs bertipe Dat_Mhs sehingga
variabel Mhs secara otomatis juga memiliki elemen-elemen Nama, NPM, dan Kelas.
Sebuah tipe record, elemen-elemennya dapat berupa array atau record itu sendiri berupa
array. Pada contoh sebelumnya menggunakan data mahasiswa tunggal. Untuk data
mahasiswa yang banyak dapat diubah menjadi array. Berikut adalah modifikasi program
sebelumnya dimana vairabel Mhs diubah menjadi array pada baris ke-6:

TYPE Dat_Mhs
Nama AS STRING * 15
NPM AS STRING * 8
Kelas AS STRING * 5
END TYPE

DIM Mhs(2) AS Dat_Mhs
DIM I AS INTEGER

CLS
FOR I=0 TO 2
INPUT "Nama : " , Mhs(I).Nama
INPUT "NPM : " , Mhs(I).NPM
INPUT "Kelas : " , Mhs(I).Kelas
PRINT STRING$("-",20)
NEXT I
PRINT
PRINT "NAMA", "NPM", "KELAS"
FOR I=0 TO 2
PRINT Mhs(I).Nama, Mhs(I).NPM, Mhs(I).Kelas
Next I
END

Output program :
Nama : Budi
NPM : 50499047
Kelas : 1IA01
--------------------
Nama : Budi
NPM : 50499047
Kelas : 1IA01
--------------------
Nama : Budi
NPM : 50499047
Kelas : 1IA01

NAMA NPM KELAS
Budi 50499047 1IA01
Dedi 50499065 1IA01
Irma 50499121 1IA01

0 komentar for "Penjelasan & Contoh Program Array & Record Pada QBasic "

background