Perbedaan antara File Relatif dengan File yang lainnya seperti File Status, File Indeks, dan File Urut (Sequential File), saya akan menjelaskan perbedaannya.
1. File Relatif
File Relatif adalah file yang recordnya dibedakan dengan dasar suatu nomor record relative. Nomor record relative dapat berkisar dari nomor record 1 sampai dengan nomor record 32767.
ENVIRONMENT DIVISON pada file relative, entry pada SELECT clause harus disebutkan ORGANIZATION IS RELATIVE.
Organisasi file relative dapat diakses secara :
Urut yaitu SEQUENTIAL ACCESS MODE, record diakses dengan urutan nomor record relative dari kecil ke besar.
Acak yaitu RANDOM ACCESS MODE, urutan pengaksesan record diatur oleh programmer.
Dinamik yaitu DINAMIC ACCESS MODE, merupakan gabungan antara akses secara urut dan akses secara acak.
DATA DIVISION pada file relatif harus mengandung file description entry sbb:
;LABEL RECORD IS STANDARD
;VALUE OF FILE-ID IS nama-file di label
PROCEDURE DIVISION pada file relatif :
a. OPEN verb, digunakan untuk membuka file yang akan diakses.
Bentuk Umum statement OPEN :
OPEN INPUT nama-file-1 [, nama-file-2] …
Menunjukan file yang akan dibuka sebagai file input, data akan dibaca dari file ini.
OPEN OUTPUT nama-file-3 [, nama-file-4] …
Menunjukan file yang akan dibuka sebagai file output data akan direkam pada file ini.
OPEN I-O nama-file-5 [, nama-file-6] …
Menunjukan file yang akan dibuka sebagai file input dan file output.
Pada mode akses urut statement WRITE pada OPEN I-O tidak boleh digunakan, harus menggunakan statement REWRITE.
b. CLOSE verb, digunakan untuk menutup file untuk mencegah rusaknya struktur file.
c. WRITE verb, untuk merekamkan data pada record tertentu di file yang telah dibuka dengan statement OPEN.
Bentuk Umum statement WRITE
WRITE nama-record [FROM nama-data-1]
[: INVALID KEY statement-imperatif]
d. READ verb, digunakan untuk membaca record yang ada di file.
Ada 2 bentuk umum statement READ :
1. Digunakan pada sequential access mode
READ nama-file RECORD [INTO nama-data]
[;INVALID KEY statement-imperatif]
2. Digunakan pada dynamic access mode
READ nama-file [NEXT] RECORD [INTO nama-data]
[;AT END statement-imperatif]
e. START verb, untuk menempatkan pembacaan record pada posisi record sesuai dengan nomor record relatif tertentu yang diinginkan.
f. REWRITE verb, digunakan untuk merekam ulang record yang sudah pernah direkam (update).
Bentuk Umum statement REWRITE :
REWRITE nama-record [FROM nama-data]
[; INVALID KEY statement-imperatif]
g. DELETE, digunakan untuk menghapus record tertentu dari file.
2. File Indeks
File indeks dalah file yang mempunyai indeks atau table yg berisi daftar alamat-alamat (addresses) dari record di disk disebut dengan Control Index. Control Index berfungsi sebagai penunjuk / pointer dari posisi record tertentu yang berisi data, sehingga memungkinkan untuk menuju ke suatu lokasi record tertentu dengan cepat.
Akan dibentuk dua file : file data dan file kunci yang berisi control index. Supaya keduanya dapat berhubungan digunakan suatu key field yang ada pada file data.
Pada mode akses sequential ini, tidak dapat langsung menambah data di file bila file telah ditutup.
Pada mode akses secara acak ini, data dapat diinput tidak harus urut field kuncinya dari kecil ke besar. Sehingga FILE Status 21 (nilai kunci tidak urut) tidak akan terjadi.
Keuntungan lain adalah data dapat ditambahkan pada file yang sudah pernah ditutup dan data lama tidak hilang.
Pada bentuk OPEN sebagai berikut : OPEN I-O file-mhs.
Mode Akses dinamik merupakan mode yang banyak digunakan, karena merupakan gabungan dari semua fasilitas yang disediakan pada mode akses sekuensial dan mode akses random.
Perbedaan dengan contoh kasus yang sama untuk menginput data akan berbeda pada
SELECT FILE-MHS ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
3. File Urut (Sequential File)
Memungkinkan pengaksesan record di file secara berurutan, ada 2 macam bentuk organisasi file secara urut:
1. SEQUENTIAL merupakan bentuk default file yang dibuat oleh program MS-COBOL.
2. LINE SEQUENTIAL yaitu organisasi file yang tiap recordnya diakhiri dengan carriage return atau pembatas line feed.
DATA DIVISION pada file urut harus mengandung file description entry sbb:
;LABEL RECORD IS STANDARD à mempunyai label.
RECORD ARE OMITTED à tidak mempunyai label.
{;VALUE OF FILE-ID IS nama-file di label}
PROCEDURE DIVISION pada file urut
a. OPEN verb, digunakan untuk membuka file yang akan diakses.
Bentuk Umum statement OPEN :
OPEN INPUT nama-file-1 [, nama-file-2] …
Menunjukan file yang akan dibuka sebagai file input, data akan dibaca dari file ini.
OPEN OUTPUT nama-file-3 [, nama-file-4] …
Menunjukan file yang akan dibuka sebagai file output, data akan direkam pada file ini.
OPEN I-O nama-file-5 [, nama-file-6] …
Menunjukan file yang akan dibuka sebagai file input dan file output sekaligus.
OPEN EXTEND nama-file-7 [, nama-file-8] …
Jika akan menambahkan data ke file yang sudah berisi data, maka file harus dibuka dengan open extend.
b. CLOSE verb, digunakan untuk menutup file untuk mencegah rusaknya struktur file.
c. WRITE verb, untuk merekamkan data pada record tertentu di file yang telah dibuka dengan statement OPEN.
d. READ verb, digunakan untuk membaca record yang ada di file.
Bentuk Umum statement READ
READ nama-file RECORD [INTO nama-data]
[;AT END statement-imperatif]
Perbedaan pokok statement READ dan WRITE adalah :
• WRITE diikuti nama-record dengan level number 01
• READ diikuti nama-file
e. REWRITE verb, digunakan untuk merekam ulang record yang sudah pernah direkam (update).
Bentuk Umum statement REWRITE
REWRITE nama-record [FROM nama-data]
Setiap organisasi file memiliki FILE STATUS clause dipergunakan untuk menunjukkan jenis kesalahan yang terjadi dari suatu hasil proses operasi file.
Tabel 1. Nilai status organisasi file relatif dan file indeks
Nilai Status | Jenis Kesalahan |
00 | Tidak terjadi kesalahan |
10 | Akhir dari file (End Of File) |
21 | Tidak bisa merekam pada sequential access mode, kunci relative tdk urut |
22 | Nilai kunci relative tidak unik |
23 | Record tidak ketemu (no record found) |
24 | Disk penuh ( Disk Space Full) |
30 | File tidak ada (File not found) |
91 | Struktur file rusak |
Pada File Relatif jenis kesalahan ditunjukkan oleh nilai yang disimpan pada nama data yang sebelumnya disebutkan pada WORKING-STORAGE SECTION atau LINKAGE SECTION.
Tabel 2. Nilai status organisasi file urut
Nilai Status | Jenis Kesalahan |
00 | Tidak terjadi kesalahan |
10 | Akhir dari file (End Of File) |
30 | File tidak ada (File not found) |
34 | Disk penuh ( Disk Space Full) |
91 | Struktur file rusak |
Nilai status kesalahan dapat diseleksi pada :
• AT END option pada statement READ.
• INVALID KEY option pada statement WRITE, READ, REWRITE, START atau DELETE.
• DECLARATIVES region jika dipergunakan.
Tidak ada komentar:
Posting Komentar