Minggu, 05 Februari 2012

COBOL : DATA DIVISON 2


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:

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Online Project management