Pertemuan X Program Inventori Software
Dalam program ini akan dibuat Entri data yang lebih baik dari sisi tampilan maupun dari sisi pengelolaan. Sebelum Anda membuat program create terlebih dahulu sebuah file dengan nama Soft.dat. selanjutnya buatlah program berikut :
*Pertemuan X
*Program berikut membaca data pada Soft.dat
*digunakan untuk kelas A, B, C, D
*Nama file Lat101.cbl
*Nama : fulan
*NIM : ?????
*———————————————-
IDENTIFICATION DIVISION.
PROGRAM-ID. Rekam-Data.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INVENTORY-FILE ASSIGN TO DISK FILE-NAME
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INVENTORY-FILE.
01 INVENTORY-RECORD.
10 IR-STOCK-NUMBER PIC X(5).
10 IR-SOFTWARE-NAME PIC X(30).
10 IR-VENDOR-NAME PIC X(20).
10 IR-QUANT-ON-HAND PIC 9(3).
10 IR-REORDER-LEVEL PIC 9(3).
10 IR-PRICE PIC 9(3)V9(2).
WORKING-STORAGE SECTION.
01 CONSTANT-VALUES.
10 FILE-NAME PIC X(14) VALUE “Soft1.dat”.
01 PROGRAMMED-SWITCHES.
10 RECORD-COMPLETED PIC X.
10 ADD-ANOTHER-RECORD PIC X.
01 OTHER-VARIABLES.
10 DESIRED-OPTION PIC 9.
10 WAIT PIC X VALUE SPACE.
10 YES-NO PIC X(3).
SCREEN SECTION.
01 ADD-ANOTHER-RECORD-SCREEN.
10 VALUE
“Apakah akan menambah rekaman lagi <Y/N>? “
LINE 18 COL 1 HIGHLIGHT.
10 PIC X USING ADD-ANOTHER-RECORD
LINE 18 COL PLUS 1 REVERSE AUTO.
01 INTRODUCTION-SCREEN.
05 VALUE “Program ini akan menambah isi rekaman Anda”
BLANK SCREEN LINE 6 HIGHLIGHT.
05 VALUE “Software persediaan”
LINE PLUS 1 HIGHLIGHT.
05 PIC X(14) FROM FILE-NAME
LINE PLUS 2 COL 8 HIGHLIGHT.
05 VALUE “Apakah Anda akan melanjutkan <Y/N>? “
BELL LINE PLUS 2 HIGHLIGHT.
05 PIC X USING ADD-ANOTHER-RECORD
COL PLUS 0
REVERSE AUTO.
01 INVENTORY-RECORD-SCREEN.
10 VALUE “TAMBAH DATA PERSEDIAAN” BLANK SCREEN
LINE 2 COL 11.
10 VALUE “ID Persediaan” LINE PLUS 2 COL 1.
10 PIC X(5) USING IR-STOCK-NUMBER
LINE PLUS 0 COL 16 REVERSE.
10 VALUE “Nama Software” LINE PLUS 2 COL 1.
10 PIC X(30) USING IR-SOFTWARE-NAME
LINE PLUS 0 COL 16 REVERSE.
10 VALUE “Vendor” LINE PLUS 2 COL 1.
10 PIC X(20) USING IR-VENDOR-NAME
LINE PLUS 0 COL 16 REVERSE.
10 VALUE “Stock akhir” LINE PLUS 2 COL 1.
10 PIC ZZ9 USING IR-QUANT-ON-HAND
LINE PLUS 0 COL 16 REVERSE.
10 VALUE “Harga U$$” LINE PLUS 0 COL 26.
10 PIC ZZZ.99 USING IR-PRICE
LINE PLUS 0 COL 34 REVERSE.
10 VALUE “Nomor Rekam” LINE PLUS 1 COL 1.
10 PIC ZZ9 USING IR-REORDER-LEVEL
LINE PLUS 0 COL 16 REVERSE.
01 SELECT-OPTION-SCREEN.
10 VALUE “Options:” LINE 18 COL 1.
10 VALUE
“ 1 data sudah benar. Rekam ke dalam file.”
LINE PLUS 1 COL 1.
10 VALUE
“ 2 Data ini harus diperbaiki lagi.”
LINE PLUS 1 COL 1.
10 VALUE
“ 3 Hapus data diatas; tidak jadi direkam.”
LINE PLUS 1 COL 1.
10 VALUE
“Silakan pilih 1, 2, atau 3 pada keyboard “
LINE PLUS 2 COL 1 HIGHLIGHT.
* Lihat tombol yang ditekan
10 PIC X TO DESIRED-OPTION
LINE 23 COL 45 REVERSE AUTO.
PROCEDURE DIVISION.
000-EXTEND-INVENTORY-FILE.
PERFORM 100-INITIALIZE
IF ADD-ANOTHER-RECORD = “Y”
PERFORM 110-ADD-INVENTORY-RECORD
UNTIL ADD-ANOTHER-RECORD NOT = “Y”
PERFORM 120-FINALIZE
END-IF
STOP RUN.
100-INITIALIZE.
MOVE “Y” TO ADD-ANOTHER-RECORD
DISPLAY INTRODUCTION-SCREEN
ACCEPT INTRODUCTION-SCREEN
IF ADD-ANOTHER-RECORD = “Y”
OPEN EXTEND INVENTORY-FILE
END-IF.
110-ADD-INVENTORY-RECORD.
INITIALIZE INVENTORY-RECORD
MOVE “N” TO RECORD-COMPLETED
PERFORM 300-ENTER-1-SOFTWARE-ITEM
UNTIL RECORD-COMPLETED = “Y”
DISPLAY ADD-ANOTHER-RECORD-SCREEN
ACCEPT ADD-ANOTHER-RECORD-SCREEN.
120-FINALIZE.
DISPLAY FILE-NAME LINE 21
DISPLAY ” telah di update….” POSITION 0
CLOSE INVENTORY-FILE.
300-ENTER-1-SOFTWARE-ITEM.
DISPLAY INVENTORY-RECORD-SCREEN
ACCEPT INVENTORY-RECORD-SCREEN
DISPLAY SELECT-OPTION-SCREEN
ACCEPT SELECT-OPTION-SCREEN
IF DESIRED-OPTION = 1
WRITE INVENTORY-RECORD
MOVE “Y” TO RECORD-COMPLETED
DISPLAY “Data ini direkam ke dalam fle”
LINE 16 ERASE EOS
END-IF
IF DESIRED-OPTION = 3
MOVE “Y” TO RECORD-COMPLETED
DISPLAY “Rekaman ini tidak ditambahkan ke dalam file”
LINE 16 ERASE EOS
END-IF.
*End of file
Program berikut digunakan untuk menampilkan data yang telah di insert pada program sebelumnya.
*Pertemuan X
*Program berikut membaca data pada Soft.dat
*digunakan untuk kelas A, B, C, D
*Nama file Lat102.cbl
*Nama : fulan
*NIM : ?????
*———————————————-
IDENTIFICATION DIVISION.
PROGRAM-ID. Lihat-data.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INVENTORY-FILE ASSIGN TO DISK “Soft1.dat”
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INVENTORY-FILE.
01 INVENTORY-RECORD.
10 IR-STOCK-NUMBER PIC X(5).
10 IR-SOFTWARE-NAME PIC X(30).
10 IR-VENDOR-NAME PIC X(20).
10 IR-QUANT-ON-HAND PIC 9(3).
10 IR-REORDER-LEVEL PIC 9(3).
10 IR-PRICE PIC 9(3)V9(2).
WORKING-STORAGE SECTION.
01 PROGRAMMED-SWITCHES.
10 END-OF-PROCESSING PIC X(1) VALUE “N”.
PROCEDURE DIVISION.
000-DISPLAY-INVENTORY-RECORD.
PERFORM 100-INITIALIZE
PERFORM 110-DISPLAY-RECORD
UNTIL END-OF-PROCESSING = “Y”
PERFORM 120-FINALIZE
STOP RUN.
100-INITIALIZE.
OPEN INPUT INVENTORY-FILE
READ INVENTORY-FILE
AT END
MOVE “Y” TO END-OF-PROCESSING
END-READ.
110-DISPLAY-RECORD.
DISPLAY ” ” ERASE
DISPLAY “ID Stock : ” IR-STOCK-NUMBER
DISPLAY “Nama Software : ” IR-SOFTWARE-NAME
DISPLAY “Vendor adalah : ” IR-VENDOR-NAME
DISPLAY “Stok akhir : ” IR-QUANT-ON-HAND
DISPLAY “Nomor Rekaman : ” IR-REORDER-LEVEL
DISPLAY “Harga beli US$ : ” IR-PRICE
DISPLAY ” “
READ INVENTORY-FILE
AT END
DISPLAY “Last record. Strike Enter to terminate.”
ACCEPT END-OF-PROCESSING PROMPT, NO BEEP
MOVE “Y” TO END-OF-PROCESSING
NOT AT END
DISPLAY “Do you want to terminate processing?”
DISPLAY “<Type an upper-case Y or N> “
ACCEPT END-OF-PROCESSING PROMPT, NO BEEP
END-READ.
120-FINALIZE.
CLOSE INVENTORY-FILE.
*End of file
Setelah program diatas selesai, buatlah program parkir dengan field sebagai berikut :
No Parkir
No Plat
Jumlah Roda
Jenis kenderaan
Tanggal-masuk-parkir
Jam-masuk-parkir
Tanggal-keluar-parkir
Jam-keluar-parkir
Program yang dibuat adalah untuk entri dengan tampilan pada Latih101.cbl, dan laporan (display) seperti tampilan pada Latih102.cbl
Program latihan dan tugas dibuat dan di cetak diantar pada saat perkulihan ke 11
makasih