-->

Pengertian Random Access File | Algoritma Pemograman

Dikutip dari asnarbhrt.wordpress.comRandom file merupaan salah satu cara atau suatu metode penyimpanan dan pembaca data yangdilakukan secara random atau langsung. Jadi random file juga biasa disebut sebagai Direct Access File.

Untuk membuka File
Perintah yang diperlukan adalah : OPEN

Bentuk Umum
OPEN “R”, #nomfile, namafile, reclen
Atau
OPEN namafile FOR RANDOM ACCESS akses AS #nomfile LEN = reclen
Dimana:
  • Nomfile : Bilangan bulat antara 1 sampai 255. Digunakan untuk menyatakan nomor file yang akan dibuka.
  • Namafile : Ekspresi string untuk menunjukan nama file.
  • Reclen : Bilangan bulat antara 1 sampai 32.676. Digunakan untuk menyatakan jumlah byte setiap record. Parameter ini bersifat pilihan, jika tidak dipakai, maka jumlah byte persecond dianggap 512 byte.
  • Akses : Parameter yang menyatakan bentuk operasinya, berupa:
    1. READ: Menyebabkan file untuk pembaca saja.
    2. WRITE : Menyebabkan file untuk menulis saja.
    3. READWRITE : Menyebabkan file untuk pembacaan dan penulisan.

Parameter ini bersifat pilihan. Jika tidak ditulis, maka diamsusikan file random digunakan untuk membaca dan menulis.
Contoh:
OPEN "R", #1,"B:DataNama"
OPEN "R", #2,"DataMhs", 250
OPEN "DataMhs" FOR RANDOM AS #2 LEN 50
OPEN "B:DataMhs" FOR RANDOM ACCESS READ AS #2 LEN 50

Penyediaan Buffer Data
Dalam file random perlu disisipkan suatu area penampungan sementara untuk data yang akan diakses dari file tersebut, yang disebut dengan "RANDOM BUFFER". Untuk membentuknya digunkan statement FIELD.

Bentuk Umum
FIELD #nomfile, lebarfield AS varstring [, lebarfield1 AS varstring 2, …]
Dimana
Nomfile         : Bilangan sesuai dengan nomor file yang dibuka dengan statement OPEN.
Lebarfield1   : Bilangan yang menyatakan panjang variabel (Data) yang akan disimpan.
varstring1      : Nama variabel string yang akan digunakan untuk data

Berikut ini penjelasan mengenai lebar fied yang dibutuhkan untuk setiap tipe data.
Table#1-Ketentual lebar field
Tipe data
Lebar Field
Alpanumerik
1 byte untuk 1 karakter
Numerik Integer
2 byte
Numerik Single Precission
4 byte
Long Integer
4 byte
Numerik Double Precission
8 byte
Data yang disimpan kedalam file harus dalam bentuk string.

Contoh:
Data Mahasiswa akan disimpan kedalam file random, dengan item-tem sebagai berikut:

Item
Tipe
Jumlah karakter
NPM
Alpanumerik
8 karakter
NAMA
Alpanumerik
20 karakter
ALAMAT
Alpanumerik
25 karakter
NILAI
Numerik
1 digit

Total jumlah byte yang diperlukan berdasarkan tabel 1 diatas adalah 55 byte meliputi, 8 byte untuk NPM, 20 byte untuk NAMA, 25 byte untuk ALAMAT dan 2 byte untuk NILAI.

Penyediaan buffer yang diperlukan adalah :
OPEN “R”, #1, “DataMHS”, 55
FIELD #1, 8 AS NPM$, 20 AS NAMA$, 25 AS ALAMAT$, 2 AS NILAI
Konversi Data
Berikut ini adalah tabel fungsi konversi data

Konversi Numerik Ke Karakter
Nama
Fungsi
Bentuk Umum
MKI$
Konversi numerik integer
MKI$(ekspresi integer)
MKL$
Konversi numerik Long integer
MKL$(ekspresi long integer)
MKS$
Konversi numerik single precission
MKS$(ekspresi single prec.)
MKD$
Konversi numerik Double precission
MKL$(ekspresi double prec.)

Koneversi Karakter Ke Numerik
Nama
Fungsi
Bentuk Umum
CVI
Konversi karakter 2 byte ke integer
CVI(2-byte string)
CVL
Konversi karakter 4 byte ke long integer
CVL(4-byte string)
CVS
Konversi karakter 4 byte ke single precission.
CVS(4-byte string)
CVD
Konversi karakter 8 byte ke double precission.
CVD(8-byte string)
Penyimpanan Data ke Buffer

Ada 2 bentuk perintah untuk meletakkan data ke dalam buffer:
LSET : Meletakan data kedalam budder dengan posisi merapat ke kiri
RSET : Meletakkan data kedalam buffer dengan posisi merapat ke kanan

Bentuk umum
LSET varstring = ekspstring
RSET varstring = ekspstring
Dimana 
Varstring : Nama variabel yang telah didefinisikan dengan FIELD
Ekspstring :Variabel string atau ekspresi string yang akan ditempatkan dalam buffer.

Contoh

OPEN "R", #1,"DataMHS",55
FIELD#1,8 AS NPM$, 10 AS Nama$
LSET Nama$ = "ANDI"
RSET NPM$ = "5523"

Hasil dalam buffer

A
N
D
I
5
5
2
3