Rabu, 27 Maret 2013

Pemakaian Tabel Pada COBOL



PEMAKAIAN TABEL


DEFINISI TABEL
Tabel adalah sekumpulan nilai data yang membentuk suatu set, kumpulan nilai data ini akan menempati di storage yang membentuk suatu tabel dihubungkan dengan sebuah nama_data.

OCCURS Clause digunakan untuk mengulang data item di dalam suatu record beberapa kali, yang membentuk suatu tabel.

Bentuk Umum :

                [ ; OCCURS integer TIMES
                                ASCENDING
                                                                     Key is nama_data_1  [, nama_data_2 ] …
                                DESCENDING
                [ INDEXED BY nama_index_1  [ nama_index_2 ] …]


TABEL BERDIMENSI SATU
Tabel berdimensi satu ( one-dimensional table ) adalah tabel yang mempunyai dimensi sebuah, yang berisi nilai-nilai data berbentuk larik ( array ).

Contoh :
TABEL_GAJI.
Gaji OCCURS 5 TIMES PIC 9(5)V99

Maksudnya :  akan dibuat suatu tabel, yang berisi 5 elemen data_item.

TABEL BERDIMENSI DUA
Tabel berdimensi dua ( two-dimensional table ) adalah sekumpulan nilai data yang membentuk tabel, yang elemen masing-masing data ditunjukkan oleh 2 subscript. Tabel ini membentuk sebuah matrik.

Contoh :
            01  PENJUALAN
        02   SALESMAN OCCURS 4 TIMES
            03   BULAN OCCURS 3 TIMES PIC 9( V )

Maksudnya :   akan dibuat tabel penjualan, yang berisi 4 data salesman dan 3 data bulan.

TABEL BERDIMENSI TIGA
Tabel berdimensi tiga ( three dimensional table ) menyangkut tiga buah subscript.

Contohnya :
01  MAHASISWA
           02 FAKULTAS OCCURS 3 TIMES
              03 ANGKATAN OCCURS 10 TIMES
                04 JENIS KELAMIN OCCURS 2 TIMES PIC 9( 2 )

Maksudnya : Akan dibuat tabel mahasiswa, yang berisi 3 data fakultas, 10 data   angkatan dan 2 data jenis kelamin.

PEMAKAIAN TABEL DENGAN MENGGUNAKAN INDEX
Bila subscript digunakan untuk menunjukan suatu elemen dalam tabel, maka compiler COBOL harus menghasilkan suatu instruksi bahasa mesin untuk merubah nilai dari subscript ke alamat memori yang sebenarnya dari elemen tabel yang dikehendaki.

Suatu index dapat digunakan menggantikan subscript untuk membuat perhitungan alamat memori sebenarnya dari elemen tabel yang lebih efisien.

Index pada tabel tidak bisa dimanipulasi dengan cara yang sama dengan menggunakan subscript. Statement khusus yang digunakan pada index ini adalah SET dan SEARCH

1. SET verb
    SET verb digunakan untuk membentuk statement yang digunakan untuk     
    menentukan nilai awal dari suatu index.
    Bentuk statement SET ada 2 yaitu :

    Bentuk 1 :
                                nama_index_1      [nama_index_2]…             nama_data_3
       SET                                                                                      TO    nama_index_3
                                Nama_data_1        [nama_data_2] …              integer


   Bentuk 2 :

                      
                                                                                                    UP  BY              nama_data
      SET nama_index_1  [ nama_index_2 ]  
                                                                                                  DOWN BY                integer


  
2. SEARCH verb
    Pencarian nilai elemen tabel tertentu dapat dilakukan dengan statement   
    SEARCH.

   Bentuk Umum :
                                                                                                   Identifier_2
                SEARCH     identifier_1  VARYING
                                                                                                 Nama_index_ 1
               
                                [; AT END statement imperative]

                                                                 statement_imperative_2
                                ;WHEN kondisi_1
                                                                               NEXT sentence

                                                                             Statement_imperative_3
                                WHEN kondisi_2
                                                                               NEXT sentence

              
                 


  




           








Tidak ada komentar:

Posting Komentar