Kamis, 25 Desember 2014

cobol file relatif

1.PENGERTIAN
Organisasi file secara relatif (relative file) adalah file yang recordnya dibedakan dengan dasar suatu nomor record relatif.Nomor record relatif dapat berkisar dari nomor record 1 sampai dengan nomor record 32767.
Nomor record relative ini tidak turut direkamkan dalam file,sehingga panjang recornya adalah sepanjang record yang ditentukan tanpa nomor record relatif.Panjang record untuk file relatif adalah mempunyai panjang yang tetap.
2.IDENTIFICATION DIVISION PADA FILE RELATIF
Isi dan bentuk dari identification division untuk organisasi file secara relatif sama dan tidak berbeda dengan identification division pada organisasi file secara sequential,maupun organisasi file secara indeks.
3.ENVIRONMENT DIVISION PADA FILE RELATIF
Pada divisi ini,entry pada SELECT clause harus disebutkan ORGANIZATION IS RELATIVE.Bentuk entry pada SELECT clause adalah sebagai berikut :
FILE-CONTROL.
SELECT nama-file ASSIGN TO DISK
;ORGANIZATION IS RELATIVE
SEQUENTIAL[,RELATIVE IS nama-data-1
[;ACCES MODE IS
¬¬¬RANDOM
DINAMIC ,RELATIVE KEY IS nama-data-1
[;FILE STATUS IS nama-data-2]
2.4.DATA DIVISION PADA FILE RELATIF
DATA DIVISION pada file relatif sama dengan DATA DIVISION pada organisasi file secara sequential.Maupun pada organisasi file secara indeks,yaitu mengandung file description entry sebagai berikut:
2.5.PROCEDURE DIVISION pada file relatif
Statement khusus yang dipergunakan pada file relatif di dalam PROCEDURE DIVISION sama dengan yang ada di file indeks,yaitu dapat dibentuk dari verb OPEN,CLOSE,READ,WRITE,REWRITE,START dan DELETE.
2.5.1.OPEN VERB
Digunakan untuk membentuk statement OPEN yang digunakan untuk membuka file yang akan diakses.Bentuk dari statement OPEN pada file indeks adalah sebagai berikut
OPEN INPUT menunjukan file dibuka sebagai file input,yaitu file yang dibuka untuk tujuan sebagai input atau data akan dibaca (READ) dari file ini.
OPEN OUTPUT menunjukan file dibuka sebagai file output,yaitu file yang dibuka untuk tujuan sebagai output atau data yang akan direkamkan (WRITE) pada file ini.
OPEN I-O menunjukan file dibuka baik sebagai file input ataupun output,yaitu file yang dibuka untuk tujuan sebagai input dan output sekaligus dapat dibaca (READ),di modifikasi atau dibetulkan terlebih dahulu jika salah.Kemudian memungkinkan untuk direkamkan kembali (REWRITE atau WRITE) pada posisi yangsama.Pada mode akses secara urut (sequential access mode).Statement WRITE pada OPEN I-O tidak boleh dipergunakan harus menggunakan REWRITE.
Contoh:
OPEN INPUT REKAMAN
→ Menunjukkan file REKAMAN dibuka sbg file input, data akan dibaca dari file ini
OPEN OUTPUT BARANG
→ File BARANG dibuka sebagai file output, data akan direkamkan pada file ini
OPEN I-O HUTANG
→ Menunjukkan file HUTANG dibuka sebagai file input dan file output sekaligus
Pada mode akses urut, statement WRITE pada OPEN I-O tidak boleh digunakan, harus menggunakan statement REWRITE.
2.5.2.CLOSE VERB
Setelah operasi file selesai,maka semua file yang masih terbuka harus ditutup.Untuk menutup file dipergunakan statement CLOSE.
Bentuk dari statement CLOSE:
CLOSE nama-file-1 [WITH LOCK] [,nama-file-2 [WITH LOCK]]
Bentuk dan penggunaan statement CLOSE ini sama persis dengan organisasi file secara sequentional atau pada organisasi file secara indeks.
Contoh 3.
CLOSE REKAMAN, CETAKAN.
2.5.3.WRITE VERB
Write verb digunakan untuk membentuk statement WRITE yang berguna untuk merekamkan data pada record tertentu di file yang telah dibuka dengan statement OPEN.
Untuk mode akses secara urut (sequentional access mode).Statement WRITE digunakan untuk file yang dibuka sebagai file output(OPEN OUTPUT),sedang pada mode akses secara acak (random access mode) dan mode akses secara dinamik (dynamic access mode),statement WRITE dapat digunakan untuk file yang dibuka sebagai file output (OPEN OUTPUT).atau sebagai file input dan output sekaligus (OPEN I-O).
Bentuk dari statement WRITE :
WRITE nama-record [FROM nama-data]
[:INVALID KEY,statement-imperatip]
Dengan statement WRITE ini,data yang ada di storage nama-record atau diambil dari (FROM) storage nama-data akan direkamkan data pada record,nilai dari field kunci harus unik,kalau tidak,maka data tidak akan terekam dan statement-imperatip pada INVALID KEY akan dikerjakan bila disebutkan.
Nilai dari nama-data pada RELATIVE KEY clause yang menunjukan posisi nomor record relatif di file harus merupakan nomor record relatif yang record tersebut belum terisi dengan data.Bila pada record tersebut sudah terisi dengan data,maka ini berati nomor record relatif tersebut tidak unik.
2.5.4.READ VERB
Statement READ digunakan untuk membaca record yang ada di file.Ada 2 bentuk statement READ yang tersedia untuk ini
Bentuk statement READ yang ke-1:
READ nama-file [NEXT] RECORD [INTO nama-data]
[; AT END statement-imperatip]
Bentuk statement READ yang ke-2:
READ nama-file RECORD [INTO nama-data]
[; INVALID KEY statement-imperatip]
Bentuk ke-1 yang tanpa menggunakan NEXT option digunakan pada sequential access mode.sedangkan yang menggunakan NEXT option digunakan pada dynamic access mode untuk membaca record secara urut.
Contoh 5.
MOVE 8598 TO NO-MHS
READ FILE-MHS-RECORD INTO DATA-NILAI
INVALID KEY DISPLAY ‘TIDAK ADA MAHASISWA INI !!’.
2.5.5.START VERB
Statement START digunakan untuk menempatkan pembacaan record pada posisi record sesuai dengan nilai nomor relatif tertentu yang diinginkan.
Statement ini hanya boleh dipergunakan untuk file yang diakses secara sequential access mode atau secara dynamic access mode yang dibuka sebagai file input atau file I-O
2.5.6.REWRITE VERB
Statement REWRITE digunakan untuk merekam ulang record yang sudah pernah direkam.Statement ini biasanya digunakan untuk meremajakan (up-date) atau mengoreksi nilai record tertentu yang sudah terekam,yaitu dengan jalan merekamkan ulang (REWRITE) dengan nilai data yang baru.Bentuk dari statement REWRITE :
REWRITE nama-record [FROM nama-data]
[;INVALID KEY statement –imperatif]
Untuk file sequential access mode,statement READ sebelum statement REWRITE harus dikerjakan dengan sukses,kalau tidak maka pelaksanaan statement REWRITE menjadi tidak sah (INVALID).Juga 

Tidak ada komentar:

Posting Komentar