• Tidak ada hasil yang ditemukan

Teknik Pemrograman Terstruktur 1 ( COBOL )

N/A
N/A
Protected

Academic year: 2018

Membagikan "Teknik Pemrograman Terstruktur 1 ( COBOL )"

Copied!
11
0
0

Teks penuh

(1)

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.

Bentuk Umumnya :

Contoh :

Pada DATA DIVISION :

1 MASTER.

2 BARANG-A.

3 JUMLAH PIC 9(3).

03 HARGA-SATUAN PIC 9(5).

2 BARANG-B.

3 JUMLAH PIC9(3).

03 HARGA-SATUAN PIC 9(4).

1 TRANSAKSI.

2 BARANG-A.

3 JUMLAH PIC 9(3).

03 HARGA-SATUAN PIC 9(5).

2 BARANG-B.

3 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

(2)

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.

Contoh Program Record Data Jamak :

Ket :Pada program diatas terdapat 2 record yaitu record PEMBELIAN dan record PENJUALAN, direkamkan pada 1 file yaitu STOCK-FILE.

DATA DIVISION. FILE SECTION. FD STOCK-FILE

RECORD CONTAINS 50 CHARACTERS LABEL RECORD ARE STANDARD VALUE OF FILE-ID IS “STOCK”

DATA RECORDS ARE PEMBELIAN, PENJUALAN.

1 PEMBELIAN.

02 KODE-BARANG PIC 9(4).

02 KODE-TRAN PIC 9.

02 JUMLAH PIC 9(5).

02 HARGA-SATUAN-BELI PIC 9(5).

02 NAMA-SUPLIER PIC A(15).

02 ALAMAT-SUPLIER PIC A(20).

1 PENJUALAN.

02 KODE-BARANG PIC 9(4).

02 KODE-TRAN PIC 9.

02 JUMLAH PIC 9(3).

02 HARGA-SATUAN-JUAL PIC 9(6). 02 KODE-LANGGANAN PIC X(6).

02 KETERANGAN PIC (20).

(3)

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.

Bentuk Umumnya :

CONTOH :

Didalam PROCEDURE DIVISION dapat dilakukan penyelesaian sebagai berikut :

Dengan dipergunakannya nama-kondisi, bentuk penyeleksian dapat juga langsung berupa :

Keterangan :

Nama Kondisi tidak mempunyai PICTURE, karena PICTUREnya mengikuti elemen data yang diikutinya.Sehingga nilai literal yang dimasukkan ke nama-kondisi harus sesuai dengan field dan type data itemnya.

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’.

VALUE IS LITERAL 1 [LITERAL2]

88 NAMA KONDISI THRUGH

[ LIT2]

VALUE ARE LITERAL1 THRU

1 SEX PIC A.

88 LAKI VALUE IS ‘L’. 88 WANITA VALUE IS ‘W’.

IF SEX = ‘L’ GO TO PROSES-L. IF SEX = ‘W’ GO TO PROSES-W.

(4)

VALUE Clause

Digunakan untuk memasukkan nilai awal pada storage. Biasanya terdapat pada WORKING-STORAGE SECTION. Bentuk Umum :

Contoh Penggunaan Value Clause :

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.

Contoh Penggunaan Redefines Clause : LITERAL

VALUE IS

FIGURATIVE KONSTANT

01 JUDUL PIC A(15) VALUE ‘PROGRAM COBOL’. 01 FILLER PIC X(15) VALUE SPACES.

01 TOTAL PIC 9(5) VALUE ZERO.

01 KETERANGAN VALUE IS ‘LUNAS’ PIC A(15). 77 COUNTER PIC 99 VALUE 0.

77 GARIS PIC X(80) VALUE ALL ‘-‘.

DATA DIVISION. FILE SECTION. FD HUT-PIUT

LABEL RECORD IS STANDARD

VALUE OF FILE –ID IS “HUT-PIUT.DAT”.

1 HUTANG-PIUTANG.

2 HUTANG.

3 KODE-SUPLIER PIC 9(3). 03 NAMA-SUPLIER PIC X(16). 03 NILAI-HUTANG PIC 9(4)V99. 2 PIUTANG REDEFINES HUTANG .

(5)

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.

Renames Clause

Menyediakan programmer kemampuan untuk memberikan tambahan deskripsi tentang penggolongan kembali elemen-elemen data item.

Dimulai dengan Level Number 66. Contoh :

RECORD-B adalah posisi dari storage yang terdiri dari field B dan C, yang juga dimiliki oleh RECORD-A

1 RECORD-A.

2 A PIC A(2). 02 B PIC 9(3). 02 C PIC 9(4). 02 D PIC X(2).

66 RECORD-B RENAMES B THROUGH C.

1 PERSEDIAAN.

(6)

Keterangan :

1. RENAMES clause hanya dapat dipakai untuk elemen-elemen data item yang berurutan.

2. RENAMES clause harus berada pada posisi paling akhir dari deskripsi record ( record description).

3. Untuk MS-COBOL , RENAMES clause tidak tersedia.

BLANK WHEN ZERO clause

Dipakai untuk menghilangkan bentuk seperti : -0 atau + atau – saja ( pemakaian pada picture editing). Bentuk tersebut akan memperjelek penampilan output.

Contoh :

Data Picture Hasil output

000 02 HASIL PIC ++++ +

000 02 HASIL-OUT PIC ++++ BLANK WHEN ZERO blank

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 :

(7)

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.

 Bentuk Umumnya :

Contoh :

1 RECORD-A.

2 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 : 1 RECORD-A.

2 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

SYNCHRONIZED LEFT

(8)

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

 Bentuk Umum :

COMPUTATIONAL dapat disingkat menjadi COMP. Keterangan :

DISPLAY digunakan untuk menyimpan data yang bentuknya bersifat mode karakter.

COMPUTATIONAL untuk menyimpan data numerik ke dalam kode binary.

Pangkat Desimal Binary

20 1 1

21 2 10

22 4 100

23 8 1000

24 16 10000

25 32 100000

26 64 1000000

27 128 10000000 28 256 100000000 29 512 1000000000 210 1024 10000000000

Dst Dst dst

DISPLAY

COMPUTATIONAL

[USAGE IS] COMP

COMPUTATIONAL-3 CPM-3

(9)

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.

COMPUTATIONAL-2.

COMPUTATIONAL-2, sama dengan bentuk COMPUTATIONAL-1 tetapi dengan ketepatan yang lebih kecil. Juiga jarang digunakan dan tidak tersedia pada MS-COBOL.

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.

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.

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.

Bentuk Umum :

LEADING

[; [SIGN IS] [SEPARATE CHARACTER ] ]

(10)

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.

(11)

OCCURS clause

Digunakan untuk tujuan mengulang data-item didalam suatu record beberapa kali, yang membentuk suatu label.

Bentuk:

- 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).

[; OCCURS integer TIMES ASCENDING

DESCENDING KEY IS nama-data-1 [, nama-data-2] ….

Referensi

Dokumen terkait

Klasifikasi agregat menjadi kasar, halus dan filler adalah berdasarkan ukurannya yang ditentukan menggunakan saringan. Mutu agregat mempengaruhi kekuatan dan ketahanan konkrit. Adapun

Di dalam UULH itu ditetapkan adanya sanksi yaitu sanksi administratif, perdata dan pidana serta adanya tindakan tata tertib. Sanksi administratif tentunya hanya dapat diterapkan

Operasi hitung pada volume kubus dan balok yaitu dengan mengalikan, maka ketika dibalikan pun antara panjang (p). Selain itu, terdapat soal yang akan menguji kemampuan

Tetapi setelah menerapkan model kooperatif tipe TGT, siswa lebih mudah mengingat materi, terampil dalam menyusun kalimat, memahami struktur yang benar, dan mudah

z Digunakan untuk menyajikan data   dalam bentuk kolom dan baris,   tujuannya agar   informasi. dapat ditampilkan secara lebih terstruktur

Memahami berbagai kalimat dan ragam wacana tulis sederhana dalam bentuk paparan atau dialog tentang identitas diri, kehidupan sekolah, kehidupan keluarga, kehidupan

Suatu molekul terdiri dari dua atau lebih atom yang terikat satu sama lain.... Perbedaan atom

Menjadi hal yang ironis mengingat Candi Prambanan yang termasuk dalam Warisan Budaya Dunia, Obyek Daya Tarik Wisata unggulan bagi Yogyakarta, dan juga