Bab 3 – File Sequential, File Indeks dan File Relatif
27
BAB 3 FILE SEQUENTIAL, FILE INDEKS DAN FILE RELATIF TUJUAN PRAKTIKUM 1. Mengetahui organisasi file pada program COBOL. 2. Mengetahui pemakaian file pada Program COBOL berupa File Sequential, File Indeks, dan File Relatif.
TEORI PENUNJANG 3.1 File Sequential Organisasi file secara urut (sequential file) memungkinkan pengaksesan record di file secara berurutan. Urutan data record yang direkamkan di file sama dengan urutan sewaktu data itu direkamkan. Urutan tidak berubah walaupun data baru ditambahkan. Data baru yang direkamkan akan menempati urutan record selanjutnya setelah record terakhir yang telah ada. Ada 2 macam organisasi file secara urut, yaitu: 1. Sequential à mempunyai panjang record yang tetap, 2. Line Sequential à bisa berbeda-beda, setiap record terdapat pembatas berupa carriage return (CR) dan line feed (LF).
3.1.1
Definisi ENVIRONMENT DIVISION pada File Sequential Pada
ENVIRONMENT DIVISION yang membedakan adalah dalam
Input-Output Section pada file control.
INPUT -OUTPUT SECTION FILE-CONTROL SELECT nama-file-1 ASSIGN TO DISK [ ORGANIZATION IS [LINE] SEQUENTIAL ] [ ACCESS MODE IS SEQUENTIAL ] [ FILE STATUS IS nama-data-1 ]
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
3.1.2
28
Definisi DATA DIVISION pada File Sequential DATA DIVISION pada file urut harus mengandung file description entry
(FD) sebagai berikut: FD nama-file-1 LABEL { RECORD {ARE/IS} } {STANDARD} VALUE OF FILE-ID IS { nama-data-1 }
3.1.3
Statement untuk Operasi File Sequential
Pernyataan dalam Cobol yang berhubungan dengan operasi file sequential adalah: 1. Pernyataan OPEN §
OPEN INPUT dig unakan untuk membuka file yang isinya hendak dibaca.
§
OPEN OUTPUT digunakan untuk menciptakan file baru.
§
OPEN I-O memungkinkan data record di dalam file diperbaharui.
§
OPEN EXTEND digunakan untuk membuka file sequential dan isinya dapat ditambah. OPEN
INPUT nam a-file-1……. OUTPUT nama-file-2…… I-O nama-file-3…… Extend nama-file-4……
2. Pernyataan CLOSE Pernyataan ini digunakan untuk menutup file atau mengakhiri pemrosesan pada file. Bentuk Umum : CLOSE { nama-file-1 } …
3. Pernyataan R EAD Pernyataan ini digunakan untuk membaca data record yang dilakukan secara berurutan (sequential). READ hanya dapat digunakan pada file yang dibuka dengan model OPEN INPUT atau OPEN I-O. Bentuk Umum : READ nama-file-1 RECORD [ INTO nama-data ] [ AT END statement-imperative-1 ]
Frase RECORD digunakan sebagai dokumentasi.
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
29
Frase INTO digunakan untuk menempatkan data record yang dibaca ke identifier1.
4. Pernyataan REWRITE Pernyataan REWRITE digunakan untuk mengubah data record yang sudah ada pada file. Pernyataan ini hanya dapat digunakan pada file disk yang dibuka dengan model OPEN I-O. Bentuk Umum : REWRITE nama-record-1 [ FROM nama-data ]
Jika frase FROM disertakan, data dari identifier -1 yang akan menggantikan record lama. 5. Pernyataan WRITE Pernyataan ini digunakan untuk menuliskan data record baru ke file. Statement WRITE hanya dapat digunakan pada file yang dibuka dengan model OPEN OUTPUT atau OPEN EXTEND. Bentuk Umum : WRITE nama-record-1 [ FROM nama-data-1 ]
3.1.4
FILE STATUS Status file biasa dipakai dalam program untuk mendeteksi keberhasilan
operasi pada file. Misalnya pada operasi OPEN INPUT keberadaan file yang dibuka bisa diperiksa melalui nilai pada file status. KODE FILE STATUS : 00
:
Operasi berhasil
10
:
Akhir file
30
:
File tidak ada
34
:
Disk penuh
39
:
Deskripsi antara file aktual dan program tidak sama
91
:
Struktur rusak
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
30
3.2 File Indeks File indeks merupakan jenis file yang banyak dipakai dalam program aplikasi. Dengan menggunakan file index memiliki banyak kelebihan, antara lain: 1. Pembacaan data dapat dilakukan dengan cepat. 2. Data dapat diurutkan secara ascending berdasarkan sebuah field atau sejumlah field. 3. Isi file dapat dimodifikasi atau dihapus dengan cepat tanpa harus mengakses record-record lain. Pengaksesan pada file index dapat dilakukan dengan cepat disebabkan adanya kunci (key). Pada MS-Cobol, key dari record disimpan dalam file yang terpisah dengan file data record. File key mempunyai extention berupa .KEY. Kunci utama dari record pada file index bersifat unik yang artinya setiap kunci record memiliki nilai yang berlainan.
3.2.1
Definisi ENVIRONMENT DIVISION pada File Indeks Definisi awal dari semua jenis file terletak pada ENVIRONMENT
DIVISION dalam paragraf FILE CONTROL sama seperti file sequential. FILE-CONTROL SELECT nama-file-1 ASSIGN TO DISK ORGANIZATION IS INDEXED ACCESS MODE IS { SEQUENTIAL / RANDOM / DYNAMIC } RECORD KEY IS nama-data-1 [FILE STATUS IS nama-data-3]
File indeks ditentukan oleh statement entri : ORGANIZATION IS INDEXED. Untuk ACCESS MODE yang digunakan adalah : 1. SEQUENTIAL, menyatakan bahwa pengaksesan secara berurut. 2. RANDOM, dilakukan
menyatakan
pengaksesan
record
hanya
dapat
secara random, yaitu dengan cara mengisikan nilai
kunci record. 3. DYNAMIC, memungkinkan pengaksesan secara random dan sequential.
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
31
Klausa RECORD KEY digunakan untuk menyatakan nama data yang menjadi kunci record. Klausa FILE STATUS digunakan untuk menyatakan nama data guna menampung status dari operasi pada file index. Misalnya untuk mengetahui ada tidaknya file pada disk, melihat keberhasilan penulisan ke disk dan sebagainya.
3.2.2
Definisi DATA DIVISION pada File Indeks Data Division pada file urut harus mengandung file description entry (FD)
sebagai berikut : FD nama-file-1 LABEL { RECORD {ARE/IS} } {STANDARD} VALUE OF FILE-ID IS { nama-data-1 }
3.2.3
Statement untuk Operasi File Indeks
Statement untuk operasi File Indeks adalah : 1. Pernyataan OPEN §
OPEN INPUT digunakan untuk membuka file yang isinya hendak dibaca.
§
OPEN OUTPUT digunakan untuk menciptakan file baru.
§
OPEN I-O memungkinkan data record di dalam file diperbaharui.
OPEN
INPUT OUTPUT I-O
nama-file-1……. nama-file-2…… nama-file-3……
2. Pernyataan CLOSE Pernyataan ini digunakan untuk menutup file atau mengakhiri pemrosesan pada file. CLOSE { nama-file-1 } …
3. Pernyataan WRITE Pernyataan ini berguna untuk merekamkan data pada record tertentu di file yang telah dibuka. WRITE nama-record-1 [ FROM nama-data-1 ]
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
32
4. Pernyataan READ Pernyataan ini digunakan untuk membaca record yang ada di file. Ada 2 bentuk statement READ: Bentuk 1 : READ nama-file [ next ] RECORD [ into nama-data ] [ AT END statement-imperatip ]
Bentuk 2 : READ nama-file [ next ] RECORD [ into nama-data-1 ] [ KEY is nama-data-2 ] [ INVALID KEY statement-imperatip ]
5. Pernyataan START Statement start digunakan untuk menempatkan pembacaan record mulai pada record yang mengandung nilai field kunci tertentu. Bentuk umumnya :
START nama-file
KEY
is EQUAL to is = is GREATHER THAN is > is NT LESS THAN is NOT >
Nama-data
[ INVALID KEY statement-imperatip ] 3.3 File Relatif Organisasi file secara relatif adalah file yang recordnya dibedakan dengan dasar suatu nomor record relatif. Nomor record relatif dapat berkisar dari nomor record 1 sampai dengan 32767. Nomor record relatif ini tidak turut direkamkan dalam file, sehingga panjang recordnya adalah sepanjang record yang ditentukan tanpa nomor record relatif. Panjang record untuk file relatif adalah tetap. 3.3.1
IDENTIFICATION DIVISION pada File Relatif ID pada file relatif sama dengan ID pada program yang tidak
menggunakan file untuk merekamkan datanya.
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
3.3.2
33
ENVIRONMENT DIVISION pada File Relatif FILE-CONTROL SELECT nama-file ASSIGN TO DISK ; ORGANIZATION IS RELATIVE
[ ; ACCESS MODE IS
S EQUENTIAL [ , RELATIVE KEY IS nama-data-1 ] RANDOM DYNAMIC [ , RELATIVE KEY IS nama-data-1 ]
[ ; FILE STATUS IS nama-data-2 ]
3.3.3
DATA DIVISION pada File Relatif LABEL RECORD IS STANDARD VALUE OF FILE-ID IS nama-file di label
3.3.4
PROCEDURE DIVISION pada File Relatif Statement khusus yang dipergunakan pada file relatif di dalam
PROCEDURE DIVISION sama dengan yang ada di file index, yaitu dapat dibentuk dari verb OPEN, READ, CLOSE, WRITE, REWRITE, START DAN DELETE. 1. OPEN verb OPEN
INPUT nama-file-1 [ , nama-file-2 ] …. OUTPUT nama-file-3 [ , nama-file-4 ] …. I-O nama-file-5 [ , nama-file6 ] ….
2. CLOSE verb CLOSE nama-file-1 [ WITH LOCK ] [ , nama-file-2 [ WITH LOCK ]]
3. WRITE verb WRITE nama-record [ FROM nama-data ] [ ; INVALID KEY statement-imperatip ]
4. READ verb ada 2 yaitu : Bentuk 1 : READ nama-file [ NEXT ] RECORD [ INTO nama-data ] [ ;AT END statement imperatip ]
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bab 3 – File Sequential, File Indeks dan File Relatif
34
Bentuk 2 : READ nama-file RECORD [ INTO nam a-data ] [ ;INVALID KEY statement imperatip ]
5. START verb
START nama-file
KEY
is EQUAL to is = is GREATHER THAN is > is NT LESS THAN is NOT >
Nama-data
[ INVALID KEY statement-imperatip ] 6. DELETE verb DELETE nama-file RECORD [ ;IN VALID KEY statement imperatip ]
LATIHAN 1. Apa yang dimaksud dengan organisasi file sequential, file indeks, dan file relatif ? 2. Sebutkan & jelaskan statement untuk operasi file sequential ? 3. Sebutkan Status file pada file sequential ? 4. Sebutkan definisi Environment Division pada file Sequential, file indeks, dan file relatif ? 5. Sebutkan kelebihan menggunakan file indeks ?
Modul Praktikum Algoritma & Pemrograman 3 – IT045123