17/07/2015

Array dan Record pada Bahasa BASIC (QBASIC)

Array dan Record pada Bahasa BASIC (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.
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
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 : Cucok
NPM : 1234567
Kelas : 1BD01

Data Mahasiswa yang dimasukkan
Nama : Cucok
NPM : 1234567
Kelas : 1BD01

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
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 : Cucok
NPM : 1234567
Kelas : 1BD01
--------------------
Nama : Aduh
NPM : 7654321
Kelas : 1AL09
--------------------
Nama : Adoh
NPM : 7470123
Kelas : 1HK40

NAMA NPM KELAS
Cucok 1234567 1BD01
Aduh 7654321 1AL09
Adoh 7470123 1HK40

Soal Laporan Pendahuluan untuk pertemuan selanjutnya:
1. Jelaskan bentuk umum dan penggunaan statement untuk menyeleksi kondisi/ percabangan pada bahasa basic !
2. Jelaskan bentuk umum dan penggunaan statement untuk perulangan pada bahasa basic !
3. Jelaskan perbedaan DO WHILE..LOOP dan  DO UNTIL..LOOP.
4. Buat contoh program menggunakan perulangan dan percabangan pada bahasa basic

NB: Untuk Jawaban Laporan Pendahuluan (LP) di atas, lihat di Soal dan Jawaban Laporan Pendahuluan (LP) Praktikum Lab. TI Dasar Minggu ke-4

0 komentar :

Post a Comment