File random di BASIC adalah file yang pada OPENnya bisa digunakan untuk menulis
maupun membaca sekaligus. Untuk menulis digunakan perintah PUT, sedangkan untuk membaca digunakan
perintah GET. Setiap field (atribut) harus ditentukan
panjangnya.
Contoh
Membuat File Random
CLS
TYPE DataTeman
nama AS STRING * 25
alamat AS STRING * 40
notelp AS STRING * 7
END TYPE
DIM simpan AS DataTeman
OPEN "TEMAN.DAT" FOR RANDOM AS #1 LEN = LEN(simpan)
FOR i = 1 TO 10
INPUT
"Nama : "; simpan.nama
INPUT
"Alamat : "; simpan.alamat
INPUT
"No.Telp : "; simpan.notelp
PUT
#1, i, simpan
NEXT
CLOSE #1
Catatan
:
1.
TYPE dapat dikatakan sebagai pendeklarasian sebuah
record, yang setiap fieldnya didefinisikan jenisnya
(berada di antara TYPE dan END TYPE).
2.
AS STRING *
n adalah pendefinisian sebuah field yang dinyatakan sebagai string dan panjangnya n karakter.
Jenis lainnya adalah : integer,
long, single, dan double
(lihat jenis-jenis variabel numerik).
3.
DIM
x AS y adalah mendefinisikan
sebuah variabel x sebagai variabel dari nama record, yang setiap fieldnya
sudah didefinisikan di TYPE y.
4.
LEN
adalah jumlah byte (karakter)
yang dibutuhkan untuk sebuah record.
Biar tidak perlu menghitung, digunakan LEN
= LEN(x).
5.
Simpan.npm dan sejenisnya adalah
pembentukan nama variabel yang merupakan bagian dari record (akan menjadi nama
field).
6.
PUT #n,m, adalah perintah untuk menulis
(merekam) data dari buffer memori
utama komputer ke file. n
adalah identifikasi file yang
sedang dibuka, m adalah nomor record
(address) yang akan digunakan
untuk menyimpan record data.
Hindari collision (benturan)
penggunaan nomor record yang sama untuk record data yang berbeda.
Buffer memory adalah tempat
menampung data sementara, baik yang akan masuk ke memori utama untuk diolah
(setelah kita mengetikkan data melalui keyboard),
maupun yang keluar dari memori utama untuk direkam ke memori sekunder (misalkan
disket).
Printer juga memiliki buffer yaitu tempat menampung data
yang datang dari komputer untuk selanjutnya dicetak. Karenanya, sering kita
alami bahwa komputer sudah mengirim seluruh datanya, dan dapat dipergunakan
untuk hal-hal lainnya, tetapi printer
belum selesai melakukan tugas mencetaknya, itu karena masih ada data yang belum
mendapat giliran dicetak di dalam buffer
printernya.