PICTURE
CLAUSE dan PICTURE EDITING
PICTURE CLAUSE
Yang berguna untuk menjelaskan
bentuk-bentuk data yang akan dimasukan dan output yang akan dikeluarkan
nantinya.
1.
Picture Clause 9
Menunjukan posisi suatu memory rata kanan
yang hanya mengandung nilai-nilai
Bentuk pic panjang contoh diprosedur
02 Hutang pic 9(4) 4 5678 5678
02 Gaji pic 9(5) 5 5678 05678
2. Picture Clause V
Menunjukan
letak anggapan suatu titik decimal dan hanya boleh ada satu disetiap picture.
Karena suatu nilai numeric tidak bisa mengandung lebih dari satu titik decimal.
Bentuk pic panjang contoh diprosedure
02 pic 99V99 4 89.70 89^70
02 pic 9(3)V9(2) 5 89.70 089^70
3. Picture Clause A
Digunakan
untuk menyimpan nilai data huruf (alphabetic) dengan rata kiri.
Bentuk pic panjang contoh diprosedure
02 pic A(6) 6 anda andabb
02 pic A(4) 4 anda anda
02 pic A(2) 2 anda an
4. Picture Karakter X
Digunakan untuk menunjukan nilai alphanumeric
pada field yang bersifat rata kiri.
Bentuk pic panjang contoh diprosedure
02 Pic X(5) 5 E3467 E3467
02 Pic X(5) 5 D67 D67bb
02 Pic X(5) 5 A12345 A1234
5.
Picture Karakter P
Digunakan bersama dengan PICTURE karakter V
untuk menimbulkan angka f / 0
Contoh :
Misal : nilai data 5
PIC 9PPV berarti di prosedur 5ff^
Tanda ^ (caret) menunjukkan posisi dari letak anggapan
titik desimal
Jumlah PIC 9PPV9(3) = 700.729
6.
Picture Karakter S
Digunakan
untuk menempatkan angka negatif pada lokasi field, sehingga komputer akan
menyimpan tanda tsb. Karakter S tidak dihitung sebagai panjang field.
Jumlah PIC S9 = -5
PICTURE EDITING
Berguna untuk mengubah data yang telah
tersimpan distorage . dengan adanya picture editing ini output yang ditampilkan
akan lebih muda dimengerti dan akan mempunyai susunan yang lebih baik
disbanding data yang sebelumnya yang terdapat distorage.
·
Picture Editing Z
Menghilangkan
angka 0 dimuka agar tidak tampak pada pencetakan.
– Pic Z(6)
Data sumber
: 5678
Hasil sebelum diedit
: 005678
Hasil setelah diedit
: 5678
·
Picture Editing $
Menambahkan karakter $ pada ujung kiri pada
saat pencetakan.
– Pic $Z(6)
Data sumber
: 5678
Hasil sebelum edit
: 005678
Hasil setelah edit
: $ 5678
·
Picture Editing “.”(Titik) Dan “,”(Koma)
(.) berfungsi untuk menunjukkan letak posisi
koma pada bilangan decimal.
(,) berfungsi untuk memberi tanda koma, biasanya digunakan untuk mata uang.
(,) berfungsi untuk memberi tanda koma, biasanya digunakan untuk mata uang.
·
Picture Editing “-“(Minus)
Menambah tanda minus pada posisi kiri saat
pencetakan. Jika data yang diberikan negative, jika positif akan digantikan
dengan blank
47594 = PIC -9(5) = 47594
·
Picture Editing “+”(Plus)
Jika data asli diberikan positif maka
tampak positif diposisi paling kiri. Dan jika yang diberikan minus maka akan
menghasilkan minus.
·
Picture Editing DB Atau CR
Menambahkan karakter DB atau CR pada
posisi paling kanan bila data yang diberikan bernilai negative. Dan jika
positif tidak akan tampak.
·
Picture Editing “*”(Asterik)
Untuk menggantikan angka 0 yang terdapat
disebelah kiri.
– Pic ******
Data sumber
: 789
Hasil sebelum diedit
: 000789
Hasil setelah diedit
: ***789
·
Picture EDITING 0 (NOL)
Untuk menyisipkan angka 0 dimana angka nol
itu berada.
– Pic ZZZZ0
data sumber
: 3456
hasil edit : 34560
·
Picture Editing “/” (Slash)
Digunakan untuk menyisipkan karakter “/” pada
posisi karakter “/” itu berada.
– Pic 99/09/99
Data sumber
: 20698
Hasil edit : 20/06/98
·
Picture Editing Karakter B.
7465B8578B8374
= 7465 8578 8374
Struktur
PROCEDURE DIVISION Pada COBOL
PROCEDURE DIVISION Merupakan inti dari pemrograman COBOL.
Statement yang ada pada PROCEDURE DIVISION dibentuk dari verb, diantaranya :
MOVE, DISPLAY, ACCEPT, dan STOP.
1. MOVE verb
Digunakan untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga input data dapat dimanipulasi untuk menghasilkan output.
Bentuk umum :
Digunakan untuk memindahkan data dari satu field ke lokasi field yang lain, sehingga input data dapat dimanipulasi untuk menghasilkan output.
Bentuk umum :
MOVE nama-data-1 TO nama-data-2 [ , nama-data-3 ] …
literal
Bentuk khusus dari MOVE adalah MOVE CORRESPONDING, yang berguna untuk memindahkan data dari group data item ke group lain.
Bentuk umum :
MOVE CORRESPONDING nama-data-1 TO nama-data-2
2. DISPLAY verb
Digunakan untuk menampilkan hasil dilayar ataupun printer. Jika dipergunakan statement WRITE untuk menampilkan hasil di printer, maka print-file harus disebutkan terlebih dahulu di ENVIRONMENT DIVISION pada FILE-CONTROL. Ada 3 bentuk statement DISPLAY:
Digunakan untuk menampilkan hasil dilayar ataupun printer. Jika dipergunakan statement WRITE untuk menampilkan hasil di printer, maka print-file harus disebutkan terlebih dahulu di ENVIRONMENT DIVISION pada FILE-CONTROL. Ada 3 bentuk statement DISPLAY:
·
Bentuk
1
DISPLAY nama-layar
DISPLAY nama-layar
·
Bentuk
2
DISPLAY nama-data , nama-data .. UPON nama-mnemonic
literal , literal
DISPLAY nama-data , nama-data .. UPON nama-mnemonic
literal , literal
·
Bentuk
3
nama-data
DISPLAY (posisi tampilan) literal … UPON nama-mnemonic
ERASE
nama-data
DISPLAY (posisi tampilan) literal … UPON nama-mnemonic
ERASE
3. ACCEPT verb
Digunakan untuk memasukkan data lewat layar sewaktu program tersebut dijalankan (runtime). Ada 4 bentuk statement ACCEPT :
Digunakan untuk memasukkan data lewat layar sewaktu program tersebut dijalankan (runtime). Ada 4 bentuk statement ACCEPT :
·
Bentuk
1
BU : ACCEPT nama-data
Data yang dimasukkan akan ditempatkan pada nama-data setelah ACCEPT, yang bentuk, jenis dan panjangnya sudah ditentukan dalam DATA DIVISION.
BU : ACCEPT nama-data
Data yang dimasukkan akan ditempatkan pada nama-data setelah ACCEPT, yang bentuk, jenis dan panjangnya sudah ditentukan dalam DATA DIVISION.
·
Bentuk
2
BU : ACCEPT nama-layar [ ON ESCAPE statement-imperative ]
Digunakan untuk menerima data dan mengirimkan data tersebut ke (TO) atau menggunakan (USING) field data item yang disebutkan pada nama-layar di SCREEN SECTION dalam DATA DIVISION.
BU : ACCEPT nama-layar [ ON ESCAPE statement-imperative ]
Digunakan untuk menerima data dan mengirimkan data tersebut ke (TO) atau menggunakan (USING) field data item yang disebutkan pada nama-layar di SCREEN SECTION dalam DATA DIVISION.
·
Bentuk
3
BU : ZERO - FILL
SPACE - FILL
LEFT - JUSTIFY
RIGHT - JUDTIFY
TRAILING - SIGN
ACCEPT (posisi layar) nama data WITH PROMPT
UPDATE
LENGTH - CHECK
EMPTY – CHECK
AUTO – SKIP
NO – ECHO
BEEP
BU : ZERO - FILL
SPACE - FILL
LEFT - JUSTIFY
RIGHT - JUDTIFY
TRAILING - SIGN
ACCEPT (posisi layar) nama data WITH PROMPT
UPDATE
LENGTH - CHECK
EMPTY – CHECK
AUTO – SKIP
NO – ECHO
BEEP
1.
ZERO-FILL phrase menyebabkan bila
posisi-posisi field data-item penerima data tidak di isi dengan data (langsung
menekan enter ) akan terisis dengan nol.
2.
SPACE-FILL phrase menyababkan bila
posisi-posisi fieldd data-item dilayar tidak di isi dengan data (langsung
menekan enter) akan terisi blank pada layar tetapi field data-item penerima
tetap berisi nilai nol atau nilai sebelumnya, biasanya untuk jenis data numerik.
3.
LEFT-JUSTIFY phrase
tidak berfungsi pada MS COBOL, tetapi boleh ditulis
4.
RIGHT-JUSTIFY phrase
menyebabkan setelah data dimasukkan, hasil akhir yang tampak dilayar akan rata
sebelah kanan. Digunakan untuk jenis data-item alphabetik atau alphanumerik.
5.
TRAILING-SIGN phrase menyebabkan tanda operasi
+ atau – tampak diposisi paling kanan dari field data input.
6.
PROMPT phrase menyebabkan tampilan untuk
field data-item penerima berbentuk nol untuk posisi digit, titik untuk desimal
point dan spasi untuk tanda operasi + (plus) atau – (minus).
7.
UPDATE phrase menyebabkan tampilan utuk field
data-item penerima berbentuk nilai awal dari field penerima tersebut.
8.
LENGTH-CHECK phrase menyebabkan penekanan
tombol carriage return tidak berfungsi kalau semua posisi field penerima belum
terisi semua.
9.
EMPTY-CHECK phrase menyebabkan penekanan
tombol carriage return tidak berfungsi jika tidak paling sedikit sebuah
karakter atau angka yang bukan sifatnya terminator sudah di input.
10.
AUTO-SKIP phrase menyebabkan proses
pemasukan data bergeser ke field penerima data lain berikutnya, bila posisi
field penerima sudah penuh terisi tanpa harus menekan tombol carriage return
atau tombol terminator yang lainnya.
11.
NO-ECHO phrase menyebabkan data yang
dimasukkan tidak tampak dilayar.
12.
BEEP phrase menyebabkan bunyi bel
sewaktu data di input.
·
Bentuk
4
BU : ACCEPT nama-data FROM DATE
DAY
TIME
ESCAPE-KEY
BU : ACCEPT nama-data FROM DATE
DAY
TIME
ESCAPE-KEY
1.
DATE,
akan mendapatkan 6 digit nilai standard dengan bentuk YYMMDD, diambil langsung
dari “system-date”.(2 digit tahun, 2 digit bulan, 2 digit tanggal)
2.
DAY,
akan mendapatkan 5 digit nilai “julian date” dengan bentuk YYDDD ( 2 digit
tahun, 3 digit jumlah hari untuk tanggal tersebut)
3.
TIME,
akan mendapatkan 8 digit nilai dengan bentuk JJMMDDSS ( 2 digit jam 00-23, 2
digit menit 00-59, 2 digit detik 00-59, 2 digit seperseratus detik 00-99).
4.
ESCAPE-KEY, akan mendapatkan 2 digit kode yang
dihasilkan dari penekanan tombol-tombol terminator. yaitu : Backtab = 99,
Escape = 01, Carriage-return = 00, Function key 1 – 10 = 02 – 11.
4. STOP VERB
Digunakan untuk menghentikan program baik secara permanen maupun sementara.
BU : STOP literal
RUN
STOP literal, akan menyebabkan proses program terhenti sementara dan literal akan ditampilkan dilayar. Jika operator menekan sembarang tombol maka program akan dilanjutkan mulai statement setelah STOP literal tersebut.
STOP RUN, akan menyebabkan program berhenti secara permanen.
5. ADD Verb
Digunakan untuk menambahkan 2 atau lebih operand numerik dan menyimpan hasilnya.
BU-1:
ADD nama-data-1, nama-data-2 … TO nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
BU-2:
ADD nama-data-1, nama-data-2 …GIVING nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
Keterangan :
Digunakan untuk menghentikan program baik secara permanen maupun sementara.
BU : STOP literal
RUN
STOP literal, akan menyebabkan proses program terhenti sementara dan literal akan ditampilkan dilayar. Jika operator menekan sembarang tombol maka program akan dilanjutkan mulai statement setelah STOP literal tersebut.
STOP RUN, akan menyebabkan program berhenti secara permanen.
5. ADD Verb
Digunakan untuk menambahkan 2 atau lebih operand numerik dan menyimpan hasilnya.
BU-1:
ADD nama-data-1, nama-data-2 … TO nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
BU-2:
ADD nama-data-1, nama-data-2 …GIVING nama-data-m [ROUNDED]
literal-1 literal-2
[; ON SIZE ERROR statement imperative]
Keterangan :
1.
TO
digunakan bila beberapa nilai akan dijumlahkan dan hasilnya akan disimpan pada
salah satu operand.
salah satu operand.
2.
GIVING digunakan bila beberapa nilai
dijumlahkan dan hasilnya disimpan pada nama
data yang lain.
data yang lain.
3.
Field
penerima harus merupakan nama data, bukan literal.
4.
Bentuk
TO dan GIVING harus ada dan salah satu diantaranya, tidak boleh
dipergunakan keduanya.
5.
Semua
nama-data yang dipergunakan di dalam operasi aritmatika harus berbentuk data
numerik dengan picture yang belum diedit kecuali operand dari field penerima.
6.
ROUNDED
option digunakan bila diinginkan hasil perhitungan dibulatkan
7.
ON
SIZE ERROR digunakan bila hasil perhitungan untuk digit-digit bilangan utuh
(high order digits) tidak bisa masuk seluruhnya pada field penerima, nilai
tidak akan disimpan di storsge dan program akan melanjutkan pada imperative
statement yang mengikutinya.
6. SUBSTRACT Verb
Digunakan untuk operasi pengurangan suatu nilai data numerik.
Digunakan untuk operasi pengurangan suatu nilai data numerik.
7. MULTIPLY Verb
Digunakan untuk mengalikan 2 nilai numerik dan menyimpan hasilnya.
BU 1 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1
BU 2 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
[; ON SIZE ERROR imperative statement]
Digunakan untuk mengalikan 2 nilai numerik dan menyimpan hasilnya.
BU 1 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1
BU 2 :
MULTIPLY nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
[; ON SIZE ERROR imperative statement]
8. DIVIDE Verb
Digunakan untuk membentuk statement operasi pembagian.
BU 1 :
DIVIDE nama-data-1 INTO nama-data-2 [ROUNDED]
literal-1 [ ; ON SIZE ERROR imperative statement]
BU 2 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU 3 :
DIVIDE nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU 4 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
REMAINDER nama-data-4
[ ; ON SIZE ERROR imperative statement]
BU 5 :
DIVIDE nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
REMAINDER nama-data-4
[ ; ON SIZE ERROR imperative statement]
Digunakan untuk membentuk statement operasi pembagian.
BU 1 :
DIVIDE nama-data-1 INTO nama-data-2 [ROUNDED]
literal-1 [ ; ON SIZE ERROR imperative statement]
BU 2 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU 3 :
DIVIDE nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
[ ; ON SIZE ERROR imperative statement]
BU 4 :
DIVIDE nama-data-1 INTO nama-data-2
literal-1 literal-2
GIVING nama-data-3 [ROUNDED]
REMAINDER nama-data-4
[ ; ON SIZE ERROR imperative statement]
BU 5 :
DIVIDE nama-data-1 BY nama-data-2
literal-1 literal-2
GIVING nama-data-3[ROUNDED]
REMAINDER nama-data-4
[ ; ON SIZE ERROR imperative statement]
9. COMPUTE
Digunakan untuk operasi yang lebih rumit, untuk menyederhanakan 4 arithmatic verb sebelumnya.
BU :
COMPUTE nama-data-1 [ROUNDED] = ungkapan aritmatika
[ ; ON SIZE ERROR imperative statement]
Digunakan untuk operasi yang lebih rumit, untuk menyederhanakan 4 arithmatic verb sebelumnya.
BU :
COMPUTE nama-data-1 [ROUNDED] = ungkapan aritmatika
[ ; ON SIZE ERROR imperative statement]
10. GO TO Verb
Digunakan untuk alih kontrol tanpa syarat ke paragraph tertentu.
BU :
GO TO nama-paragraph
Digunakan untuk alih kontrol tanpa syarat ke paragraph tertentu.
BU :
GO TO nama-paragraph
11. GO TO … DEPENDING Verb
Digunakan untuk alih kontrol bersyarat. Beralih pada paragraph tertentu dengan kondisi tertentu.
BU :
GO TO nama-paragraph-1, nama-paragraph-2, … nama-paragraph-n
DEPENDING ON nama-data
Digunakan untuk alih kontrol bersyarat. Beralih pada paragraph tertentu dengan kondisi tertentu.
BU :
GO TO nama-paragraph-1, nama-paragraph-2, … nama-paragraph-n
DEPENDING ON nama-data
12. ALTER Verb
Digunakan untuk merubah arah tujuan proses dari statement GO TO yang telah ada di program.
BU :
ALTER nama-paragraph-1 TO [ PROCEED TO] nama-paragraph-2
Digunakan untuk merubah arah tujuan proses dari statement GO TO yang telah ada di program.
BU :
ALTER nama-paragraph-1 TO [ PROCEED TO] nama-paragraph-2
13. PERFORM Verb
Digunakan untuk membuat suatu statement yang akan membawa proses dari program meloncat kesuatu paragraph, kemudian menjalankan seluruh statetement yang ada pada paragraph tersebut. Jika telah selesai akan kembali ke statement setelah PERFORM.
BU :
PERFORM nama-paragrapg-1 THROUGH nama-paragraph-2
THRU
Digunakan untuk membuat suatu statement yang akan membawa proses dari program meloncat kesuatu paragraph, kemudian menjalankan seluruh statetement yang ada pada paragraph tersebut. Jika telah selesai akan kembali ke statement setelah PERFORM.
BU :
PERFORM nama-paragrapg-1 THROUGH nama-paragraph-2
THRU
14.PERFORM ...THROUGH/THRU
Bentuk statement ini akan membawa proses menuju ke paragraf yang dituju kemudian melanjutkan sampai ke paragraf yang disebutkan setelah THROUGH/THRU.
Bentuk statement ini akan membawa proses menuju ke paragraf yang dituju kemudian melanjutkan sampai ke paragraf yang disebutkan setelah THROUGH/THRU.
Comments
Post a Comment