DATA DIVISION 1
Oleh: Fahrorozi
Qualification
Qualifier
untuk membedakan keunikan pada nama – data , yang nantinya akan tampak pada
PROCEDURE DIVISION.Sehingga nama-data +yang telah dipergunakan dapat
dipergunakan lagi untuk nilai yang lain.
Pada DATA DIVISION :
01
MASTER.
02
BARANG-A.
03
JUMLAH PIC
9(3).
03 HARGA-SATUAN PIC 9(5).
02
BARANG-B.
03
JUMLAH PIC9(3).
03 HARGA-SATUAN PIC 9(4).
01
TRANSAKSI.
02
BARANG-A.
03
JUMLAH PIC
9(3).
03 HARGA-SATUAN PIC 9(5).
02
BARANG-B.
03
JUMLAH PIC
9(3).
03 HARGA-SATUAN PIC 9(4).
Pada PROCEDURE DIVISION :
COMPUTE TOTAL-B = JUMLAH OF
BARANG-B OF
TRANSAKSI * HARGA SATUAN OF
BARANG-B OF TRANSAKSI.
Ket : Maksimum jumlah
tingkatan qualification untuk nama-data adalah sejumlah 5 tingkat.
misalnya :
A OF B OF C OF D OF E OF F
ATAU :
A IN B IN C IN D IN E IN F
v
RECORD
DATA JAMAK
Record
data yang jamak (multiple data records) adalah record data yang lebih dari 1
pada file yang sama. Record yang satu dengan record yang lainnya akan mempunyai
posisi di storage yang sama.
Record
data jamak ini digunakan untuk data yang direkamkan di file, baik organisasinya
secara sequential maupun organisasinya secara indexed.
M
Nama Kondisi
Nama
kondisi adalah nama yang dibuat oleh programmer
yang berada pada data division
sebagai fasilitas proses di procedure
division.
Nama kondisi ditulis dimulai dengan level number
88.
Contoh :
02 STATUS PIC X . 02 STATUS PIC
X .
88
KAWIN VALUE 1. 88 KAWIN VALUE ‘1’.
88
BELUM VALUE 2. 88
BELUM VALUE ‘2’.
M
VALUE Clause
Digunakan
untuk memasukkan nilai awal pada storage.
Biasanya
terdapat pada WORKING-STORAGE SECTION.
M
REDEFINES CLAUSE.
Digunakan
untuk menempatkan nama data yang berlainan pada lokasi storage yang sama.
Dengan kata lain satu lokasi storage ditempati lebih dari 1 nama data.
Keterangan :
1.
REDEFINES clause dapat digunakan untuk group
data item, tetapi tidak boleh digunakan pada level number 01 yang nama
recordnya sudah disebut di FILE SECTION.
Bila
hal ini diinginkan,maka harus digunakan multiple data records, yang mempunyai
efek sama dengan REDEFINES.
2.
REDEFINES juga tidak boleh terdapat pada level
number 66 atau 88.
REDEFINES
clause tidak dapat digunakan untuk data item individu yang lainnya.
3.
Bila ada Clause yang lain, REDEFINES clause harus
merupakan clause yang pertama pada data-description atau pada
record-description entry.
4.
REDEFINES clause tidak dapat dipergunakan untuk
nama data yang levelnya berbeda. Level disini yang dimaksud bukan level number,
tetapi jenjangnya.Level number boleh berbeda,asal level (tingkatan jenjangnya)
sama.
5.
Value clause tidak boleh ada bersama-sama
dengan REDEFINES clause.
M
Renames Clause
Menyediakan
programmer kemampuan untuk memberikan tambahan deskripsi tentang penggolongan
kembali elemen-elemen data item.
Dimulai
dengan Level Number 66.
z
BLANK
WHEN ZERO clause
Dipakai
untuk menghilangkan bentuk seperti : -0 atau + atau – saja ( pemakaian pada
picture editing). Bentuk tersebut akan memperjelek penampilan output.
z
JUSTIFIED
RIGHT clause
¨
Digunakan hanya untuk data item alphabetik atau
alphanumerik saja.
¨
Seperti telah kita ketahui data alphabetik dan
alphanumerik disimpan di storage dengan posisi rata sebelah kiri.Bila
diinginkan posisi yang rata disebelah kanan,maka digunakan clause ini.
Contoh
:
Sebelum
: 77 NAMA PIC X(9) VALUE ‘RANI’.
D
|
E
|
W
|
I
|
Sesudah : 77 NAMA PIC X(9) VALUE ‘ RANI’ justified right.
Atau
77 NAMA PIC X(9)
VALUE ‘RANI’ JUST RIGHT.
D
|
E
|
W
|
I
|
Contoh
lainnya :
02
JUDUL PIC X(10) JUST RIGHT.
MOVE
‘ NERACA’ TO JUDUL.
z
SYNCHRONIZED
clause
§
Digunakan untuk mengalokasikan data secara
efektif di storage.
§
Tidak boleh digunakan pada group data item.
§
Untuk MS-COBOL, clause ini tidak berfungsi,
tetapi boleh ditulis sebagai dokumen saja.
Contoh :
01
RECORD-A.
02
FIELD-1 PIC
X(4).
02 FIELD-2 PIC X(3).
02 FIELD-3 PIC X(5).
Statemen berikutnya :
MOVE ‘AAAA’ TO
FIELD-1
MOVE ‘BBB’ TO
FIELD-2
MOVE ‘CCCCC’ TO
FIELD-3.
OUTPUTNYA :
AAAABB
|
BCCCCC
|
1 WORD 1 WORD
Contoh pemakaian SYNC :
01
RECORD-A.
02
FIELD-1 PIC
X(4) SYNC LEFT.
02 FIELD-2 PIC X(3) SYNC LEFT.
02 FIELD-3 PIC
X(5) SYNC RIGHT.
OUTPUTNYA:
AAAA
|
BBB
|
CCCCC |
z
USAGE
Clause
§
Menunjukkan bentuk dari data yang disimpan di
memory komputer.
§
Data numerik dapat ditempatkan pada memori
komputer dengan 2 cara, yaitu :
1.
Mode Karakter (Character mode) dengan DISPLAY
2.
Mode Numerik (Numeric mode) dengan COMPUTATIONAL
M
COMPUTATIONAL-1.
Digunakan
untuk menyimpan data numerik dalam bentuk mode numerik floating point ketepatan
tunggal. Bentuk ini jarang sekali digunakan dan tidak tersedia pada MS-COBOL.
M
COMPUTATIONAL-2.
COMPUTATIONAL-2, sama dengan bentuk COMPUTATIONAL-1 tetapi dengan
ketepatan yang lebih kecil. Juiga jarang digunakan dan tidak tersedia pada
MS-COBOL.
M
COMPUTATIONAL-3.
Digunakan untuk menyimpan data numerik yang digitnya dalam bentuk
dipak(packed), yang maksudnya tiap byte tidak berisi dengan 1 digit tetapi
dapat berisi 2 digit. Data numerik yang disimpan dalam bentuk ini disebut
dengan packed decimal atau internal decimal.
M
INDEX
USAGE IS INDEX menunjukkan bahwa data-item akan digunakan sebagai indeks
dan akan disimpan dalam bentuk kode binary seperti pada USAGE IS
COMPUTATIONAL-0. Kalau USAGE IS INDEX dipergunakan, maka PICTURE clause tidak
boleh digunakan.
z
SIGN
clause
Digunakan
untuk mengatur tanda operasi yang ada pada data numerik untuk data-item
external decimal ( dengan USAGE IS DISPLAY).
Clause
ini digunakan hanya untuk data-item numerik yang mempunyai PICTURE karakter S.
Keterangan :
1.
SIGN IS LEADING
Tanda
operasi (+ atau - ) diletakkan pada posisi paling kiri tanpa adanya posisi
storage tambahan.
Contoh
:
02
NILAI PIC S9(4) SIGN IS LEADING.
2.
SIGN IS LEADING SEPARATE CHARACTER.
Tanda
operasi ( + atau -) diletakkan pada posisi paling kiri dengan menambahkan
sebuah posisi storage tambahan.
Contoh
:
02
NILAI PIC S9(4) SIGN IS LEADING SEPARATE.
3.
SIGN IS TRAILING
Tanda
operasi (+ atau - ) diletakkan pada posisi paling kanan tanpa adanya posisi
storage tambahan.
Contoh
:
02
NILAI PIC S9(4) SIGN IS TRAILING. Atau
02
NIALI PIC S9(4).
Note :
Kalau SIGN clause tidak dipergunakan maka dianggap
sebagai SIGN IS TRAILING.
4.
SIGN IS TRAILING SEPARATE CHARACTER
Tanda
operasi ( + atau -) diletakkan pada posisi paling kanan dengan menambah sebuah
posisi storage tambahan.
Contoh :
02 NILAI PIC S9(4) SIGN IS TRAILING SEPARATE..
Penjelasan :
a. Penggunaan
SEPARATE CHARACTER akan menyebabkan bertambahnya ukuran storage dari data item
dengan 1 byte karakter, jadi akan lebih boros,dianjurkan untuk tidak menggunakannya.
b.
Penggunaan LEADING akan menyebabkan operasi
object program kurang efektif, jadi dianjurkan tidak menggunakannya.
c.
Yang terbaik adalah tidak menggunakan clause
ini atau menggunakan SIGN IS TRAILING.
z
OCCURS
clause
Digunakan
untuk tujuan mengulang data-item didalam suatu record beberapa kali, yang
membentuk suatu label.
-
OCCURS clause tidak boleh digunakan pada level
number 01 atau level number 77. Digunakan pada FILE SECTION, WORKING-STORAGE
SECTION atau LINKAGE SECTION.
-
Integer TIMES menunjukkan berapa kali data-item
akan diulang didalam suatu record.
-
ASCENDING atau DESCENDING, menunjukkan
bagaimana data tersebut diatur tergantung dari nilainya, apakah urut dari kecil
ke besar ( ASCENDING) atau dari besar ke kecil ( DESCENDING).
-
KEY IS dan INDEXED BY menunjukkan nama kunci
yang dipergunakan pada statement SEARCH untuk mencari data yang ada di tabel.
OCCURS
clause digunakan untuk membentuk suatu tabel (table) atau kumpulan (list) dari
data-item atau larik (array).
Tabel
(table)adalah sekumpulan nilai data yang membentuk suatu set.
Bentuk
Tabel sbb :
1.
Tabel beridmensi Satu ( one-dimensional table)
2.
Tabel berdimensi dua ( two-dimensional table).
3.
Tabel berdimensi Tiga (three-dimensional
table).
Tidak ada komentar:
Posting Komentar