start 2
Read Mast1.dat NIM1,NM$, AL1$
/*
END
N=0 3 N= N + 1
OperasiFileRandom
/*
/*
3
System flowchar penyisipan record
MAST 1.DTA
MAST2. DTA
Data di MAST1.DTA di tambahkan ke MAST2.DTA dengan ketentuan , jika data MAST1.DTA sudah ada di MAST2.DT maka data tersebut diabaikan atau tidak di simpan ke MAST2..DTA Akses terhadap file random dapat dilakukan dengan mengunakan nomor record, sehingga dari satu record dapat pindah ke record lainnya tergantung dari nomor record tersebut.
OperasiFileRandom
II. PENGHAPUSAN RECORD Penghapusan dilakukan dengan membentuk file baru. Dimana file baru ini merupakan file berisiskan record dari file lama. Namun record dari file lama tersebut hanya terbatas pada record yang tidak sama dengan data yang akan dihapus. Sedangkan record yang sama dengan data yang akan dihapus diabaikan System flowcart penghapusan record
MASTER.DTA
NEW. DTA
TRANS. DTA Record yang dihapus pada file MASTER.DTA ditentukan berdasarkan data yang terdapat di file TRANS. DTA Hasil penghapusan record disimpan di dalam file NEW.DTA . Jadi isi TRANS. DTA merupakan isi MASTER.DTA setelah mengalami penghapusan record.
Struktur record file MASTER.DTA terdiri dari field : Nomor induk mahasiswa Nama mahasiswa Alamat mahasiswa
Struktur file TRANS.DTA hanya terdiri dari field Nomor Induk Mahasiswa . Field ini menunjukkan record di MASTER.DTA yang akan di hapus.
OperasiFileRandom
/*
END
M=0 3 M= M + 1
READ TRANS .DTA RECORD KE M NIM 2
/*
NIM2= NIM 1
OperasiFileRandom
III. PERUBAHAN ISI RECORD Perubahan record dilakukan dengan mencari record yang akan diubah lalu mengadakan perubahan terhadap isinya. Selanjutnya record tersebut disimpan kembali tanpa mengubah posisi record. Proses pencarian dilakukan dengan membaca record satu persatu mulai dari awal record sampai record terakhir. Setiap record yang dibaca dibandingkan melalui field yang berfungsi sebagai key. System flowchart perubahan record
TRANS . DTA
INDUK.DTA
File INDUK.DTA dan TRANS.DTA terdiri dari field Nomor Induk Mahasiswa, nama dan alamat Data di INDUK.DTA akan diubah berdasarkan data di TRANS. DTA. Field key yang dipakai adalah nomor induk mahasiswa.
mulai
-
N=0 3 N=N+1 4
/*
selesai
M=0
2 5
OperasiFileRandom
/*
NIM2= NIM 1
OperasiFileRandom
Bentuk Umum :
atau
Parameter ini bersifat pilihan. Jika tidak ditulis, maka diasumsikan file random digunakan untuk membaca dan menulis.
Contoh-contoh : OPEN R, #1, B:DataNama OPEN R, #2, DataMhs, 250 OPEN DataMhs FOR RANDOM AS #2 LEN 250 OPEN B:DataMhs FOR RANDOM ACCESS READ AS #2 LEN 50
OperasiFileRandom
Penyediaan Buffer Data Dalam file random, perlu disiapkan suatu area penampungan sementara untuk data yang akan diakses dari file tersebut, yang disebut dengan RANDOM BUFFER. Untuk membentuknya digunakan statement FIELD. Bentuk Umum :
Dimana: nomfile : bilangan sesuai dengan nomor file yang dibuka dengan statement OPEN lebarfield, lebarfield1 : bilangan yang menyatakan panjang variabel (data) yang akan disimpan varstring, varstring1 : nama variabel string yang akan digunakan untuk data yang akan diakses.
Catatan: Data yang disimpan ke dalam file harus dalam bentuk string.
Contoh : Data Mahasiswa akan disimpan ke dalam file random, dengan item-item sebagai berikut :
OperasiFileRandom
Total jumlah byte yang diperlukan berdasarkan tabel 1 di atas adalah 55 byte meliputi, 8 byte untuk NPM, 20 byte untuk NAMA, 25 byte untuk ALAMAT dan 2 byte untuk NILAI.
Konversi Numerik ke Karakter Nama MKI$ MKL$ MKS$ MKD$ Fungsi Konversi numerik integer Konversi numerik Long integer Konversi numerik single precission Konversi numerik Double precission Bentuk Umum MKI$(ekspresi integer) MKL$(ekspresi long integer) MKS$(ekspresi single prec.) MKL$(ekspresi double prec.)
Konversi Karakter ke Numerik Nama CVI CVL CVS CVD Fungsi Konversi karakter 2 byte ke integer Konversi karakter 4 byte ke long integer Konversi karakter 4 byte ke single precission. Konversi karakter 8 byte ke double precission. Bentuk Umum CVI(2-byte string) CVL(4-byte string) CVS(4-byte string) CVD(8-byte string)
OperasiFileRandom
Ada dua bentuk perintah untuk meletakkan data ke dalam buffer : LSET : meletakkan data ke dalam buffer dengan posisi merapat ke kiri RSET : meletakkan data ke dalam buffer dengan posisi merapat ke kanan
Bentuk Umum :
varstring
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
OperasiFileRandom
10
Penulisan Data ke Dalam File Untuk menuliskan data ke dalam file digunakan statement PUT.
Bentuk Umum :
Contoh :
PUT #1, 2
Contoh Aplikasi 1
Pembuatan file random untuk menyimpan data mengenai nama, alamat, dan nomor telepon. Nama filed yang akan dibuata adalah TELEPON.DTA. Isi record file adalah : Item Nama Alamat Telepon Jenis Alpanumerik Alpanumerik Numerik Jumlah karakter 20 karakter 30 karakter 7 digit
OperasiFileRandom
11
Nm$ = NoRec = 1 WHILE Nm$ <> CLS LOCATE 5, 10: PRINT Nama LOCATE 6, 10: PRINT Alamat LOCATE 7, 10: PRINT Telepon LOCATE 5, 19: LINE INPUT Nm$ IF Nms = THEN END LOCATE 6, 19: LINE INPUT Alm$ LOCATE 7, 19: LINE INPUT Tlp$ LSET Nama$ = Nm$ LSET Alamat$ = Alm$ LSET Telepon$ = Tlp$ PUT #1, NoRec NoRec = NoRec + 1 WEND CLOSE END : : :
OperasiFileRandom
12