bab 3 - file sequenstial, file inseks dan file relatif
TRANSCRIPT
Bab 3 – File Sequential, File Indeks dan File Relatif 27
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
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 ]
Bab 3 – File Sequential, File Indeks dan File Relatif 28
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
3.1.2 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 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 EXTEND digunakan untuk membuka file sequential dan isinya
dapat ditambah.
INPUT nam a-file-1……. OPEN 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 READ
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.
Bab 3 – File Sequential, File Indeks dan File Relatif 29
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
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
Bab 3 – File Sequential, File Indeks dan File Relatif 30
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
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, menyatakan pengaksesan record hanya dapat
dilakukan secara random, yaitu dengan cara mengisikan nilai
kunci record.
3. DYNAMIC, memungkinkan pengaksesan secara random dan
sequential.
Bab 3 – File Sequential, File Indeks dan File Relatif 31
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
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.
INPUT nama-file-1…….
OPEN OUTPUT nama-file-2…… I-O 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 ]
Bab 3 – File Sequential, File Indeks dan File Relatif 32
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
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 :
is EQUAL to is = is GREATHER THAN KEY is > is NT LESS THAN is NOT > [ 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.
START nama-file Nama-data
Bab 3 – File Sequential, File Indeks dan File Relatif 33
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
3.3.2 ENVIRONMENT DIVISION pada File Relatif
FILE-CONTROL SELECT nama-file ASSIGN TO DISK
; ORGANIZATION IS RELATIVE S EQUENTIAL [ , RELATIVE KEY IS nama-data-1 ]
[ ; ACCESS MODE IS 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
INPUT nama-file-1 [ , nama-file-2 ] …. OPEN 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 ]
Bab 3 – File Sequential, File Indeks dan File Relatif 34
Modul Praktikum Algoritma & Pemrograman 3 – IT045123
Bentuk 2 :
READ nama-file RECORD [ INTO nam a-data ] [ ;INVALID KEY statement imperatip ]
5. START verb
is EQUAL to is = is GREATHER THAN KEY is > is NT LESS THAN is NOT > [ 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 ?
START nama-file Nama-data