• Tidak ada hasil yang ditemukan

KATA PENGANTAR. Dengan memanjatkan Puji Syukur kehadirat Allah, kami menyampaikan

N/A
N/A
Protected

Academic year: 2021

Membagikan "KATA PENGANTAR. Dengan memanjatkan Puji Syukur kehadirat Allah, kami menyampaikan"

Copied!
29
0
0

Teks penuh

(1)

KATA PENGANTAR

Dengan memanjatkan Puji Syukur kehadirat Allah, kami menyampaikan tuntunan praktis Algoritma Pemrograman III ( Cobol ) ini kepada para pembaca yang terhormat. Karena hanya dengan karuniaNya kami dapat menyelesaikan buku ini.

Buku ini membahas langkah demi langkah bahasa pemrograman Cobol, dengan disertai contoh-contoh untuk memberikan petunjuk dan kemudahan bagi pembaca yang mempelajari Bahasa Cobol. Dengan dibuatnya buku ini,penulis berharap bahwa pembuatan program aplikasi dengan bahasa Cobol tidaklah menjadi sesuatu yang sulit.

Tidak semua instruksi yang ada di Cobol dibahas dalam buku ini, hanya instruksi yang erat hubungannya dengan pembuatan program aplikasi yang penulis bahas. Instruksi-instruksi lain dapat dilihat dari beberapa buku acuan yang penulis gunakan dalam penyusunan buku ini.

Penyusunan buku ini dapat terlaksana berkat bantuan dari berbagai pihak,antara lain Bapak Pimpinan Universitas Semarang yang telah memberi kesempatan kepada Penulis.

Dengan segala kerendahan hati,penulis menyadari bahwa buku ini masih jauh dari sempurna, karena keterbatasan kemampuan pengalaman penulis. Karena itu penulis ucapkan banyak Terima kasih atas saran dan kritik yang positif untuk perbaikan serta penyempurnaan buku ini yang sangat penulis harapkan.

Semarang, September 2004

Penyusun

(2)

DAFTAR ISI

Halaman

KATA PENGANTAR ... ..i

DAFTAR ISI...ii

BAB 1 SEKILAS TENTANG COBOL... ... 1

I.1. Pendahuluan ...1

I.2. Sekilas program Cobol ...1

I.3.Yang dapat dikerjakan Cobol ...1

1.4. Keuntungan Bahasa Cobol ...2

BAB 2 KONSEP DASAR SISTEM KOMPUTER ...3

2.1. Pendahuluan ...3

2.2. Siklus Pengolahan Data ...3

2.3. Sistem Komputer ...3

BAB 3 KONSEP DASAR PEMBUATAN PROGRAM ...5

3.1. Bahasa Komputer ...5

3.2. program Komputer ...5

3.3. Flowchart ...7

3.4. Langkah-langkah pembuatan program ...8

BAB 4 KONSEP DASAR ORGANISASI DATA ...9

BAB 5 KONSEP DASAR PROGRAM COBOL ...10

5.1. Struktur Program Cobol ...10

5.2. User Defined Word ...10

5.3. Aturan Penulisan ...11

5.4. Cobol Reserved Word ...12

5.5. Literal ...12

5.6. Contoh Program ...12

5.7. Identification Division ...12

5.8. Environment Division ...13

5.9. Data Division ...14

(3)

BAB 7 PERNYATAAN IF ...23 7.1. Kondisi Sederhana ...23 7.2.Kondisi Tanda ...23 7.3. Kondisi Kelas ...23 7.4. Kondisi Bercabang ...23 7.5. Nama Kondisi ...24 7.6. Contoh program ...24 7.7. Go to...26 7.8. Move ...27

BAB 8 PENGOLAHAN FILE DATA ...29

BAB 9. GANTI HALAMAN ...36

9.1.Pengertian Ganti halaman ...36

9.2. Spesifikasi Program ...36

9.3. Laporan lebih dari 1 halaman ( Ganti Halaman ) ...38

9.4. Sub-Total dan Total ...39

9.5. Perform nama-paragraph UNTIL kondisi ...39

9.6. Date, Time dan Day ...40

BAB 10. PENGURUTAN DATA ...36

10.1. Pengertian Pengurutan data ...44

10.2. Konsep Pengurutan data ...44

10.3. Perintah-perintah dalam sorting ...44

10.4. Penulisan dalam Environment Division ...44

10.5. Penulisan dalam Data Division ...44

10.6. Penulisan dalam Procedure Division ...45

10.7. Input Procedure Section-name ...45

10.8. Using Nama-File ...45

10.9. Output Procedure ...45

10.10. Contoh program Sorting menggunakan Using ...46

BAB 11. PENGGABUNGAN FILE ...51

11.1. Pengertian pengabungan File ...51

11.2. Perintah-perintah dalam Merging ...51

11.3. Penulisan dalam Procedure Division ...51

(4)

BAB 12. CONTROL BREAK ( GROUPING ) ...56

12.1.Pengertian Control Break ...56

12.2. Control field ...56

12.3. Control Group ...56

12.4. Control group total ...56

12.5. Spesifikasi program ...56

BAB 13. PEMAKAIAN TABEL ...60

13.1. Pengertian Tabel ...60

13.2. Aturan Tabel ...60

12.3. Tabel berdimensi Satu...60

12.4. Aturan Subscript ...60

12.5. OCCURS Integer TIMES ...60

12.6. Nama-data 1 Redefines nama data 2 12.7. Perform nama paragraph varying nama data from integer1 by integer2 until kondisi ...61

DAFTAR PUSTAKA ...70

(5)

BAB I

SEKILAS TENTANG COBOL

1.1. PENDAHULUAN

Cobol ( Common Business Oriented Language ) adalah suatu bahasa komputer awam ( high level language ) yang berorientasi langsung pada permasalahan bisnis. COBOL hampir dapat digunakan pada semua komputer bila tersedia compiler COBOLnya. COBOL discipkatakan pada tahun 1959. Pengembangan bahasa COBOL selanjutnya dilakukan oleh group yang disebut CODASYL,singkatan dari Conference on Data System Language.

Bahasa COBOL pertama-kali diperkenalkan secara formal pada bulan Januari 1960, versi dari bahasa COBOL ini disebut dengan COBOL-60. Dan diperbaharui pada tahun 1965. Bila suatu bahasa komputer tidak standart, dalam arti banyak versinya, maka meyulitkan pemakai untuk menerapkannya, pemakai harus menyesuaikan versi dari bahasa COBOL yang dipakai oleh komputer tertentu. Untuk mengatasi hal ini, pada tahun 1968 dan 1974, bahasa COBOL dikembangkan dan disempurnakan lebih lanjut dan distandarisasikan dengan nama ANSI COBOL ( American National Standart Institute ) ANSI COBOL ini yang sekarang banyak diterapkan oleh sejumlah pabrik-pabrik komputer. Dengan adanya standarisasi, pemakai tidak terlalu sulit menggunakan bahasa COBOL versi yang berbeda, karena inti dari bahasa itu sama. Misalnya untuk komputer mikro, yang menggunakan sistem operasi CP/M atau MS-DOS atau PC-DOS, perusahaan software Microsoft mengembangkan bahasa COBOL yang disebut dengan COBOl-80 atau MS-DOS ( Microsoft COBOL )

I.2. SEKILAS PROGRAM COBOL

COBOL adalah bahasa pemrograman komputer, digunakan oleh orang yang akan memberikan instruksi-instruksi kepada komputer untuk menyelesaikan persoalan bisnis. Karena orientasinya pada suatu masalah , bahasa ini disebut juga dengan istilah Problem Oriented Language. COBOL merupakan High Level language , bahasa awam yang ditulis menggunakan instruksi dalam bahasa Inggris. Perbedaan dengan Low Level language ( bahasa mesin ) yaitu program yang ditulis menggunakan kode-kode mesin yang relatif lebih sulit. Dengan bahasa COBOL, tinggal menulis instruksi dengan kata bahasa Inggris seperti ADD, Move, Multiple, Read, Write dan sebagainya. Kata-kata yang dipergunakan di dalam bahasa COBOL disebut COBOL reserved Words / merupakan kata-kata yang sudah ditetapkan oleh bahasa COBOL) . Sedangkan User Defined Words mempunyai arti tertentu untuk mendefinisikan suatu nama tertentu.

Program bahasa COBOL merupakan program terstruktur, yaitu program yang strukturnya jelas, mudah dibaca dan mudah dipelajari dan baik untuk dokumentasi. Struktur utama dari suatu program COBOL terdiri dari 4 divisi yaitu :

IDENTIFICATION DIVISION

ENVIRONMENT DIVISION

DATA DIVISION

PROCEDURE DIVISION

Strukturnya mudah dibaca dan dipelajari, dikarenakan pembagian divisi ini. Kalau diinginkan informasi mengenai identitas program ( nama program , pembuat , tanggal dibuat, tanggal dikompilasi dan lainnya ) dapat dilihat pada IDENTIFICATION DIVISION ). Informasi mengenai keadaan komputer dan alat-alat lain dipergunakan , dapat dilihat pada ENVIRONMENT DIVISION. Informasi mengenai bentuk , jenis dari data apa saja yang dipergunakan dalam program bersangkutan dapat dilihat pada DATA DIVISION, PROCEDURE DIVISION memuat prosedur pemrosesan data yang datanya tampak pada DATA DIVISION untuk dihasilkan outputnya. I.3. YANG DAPAT DIKERJAKAN COBOL

COBOL dibuat untuk operasi yang mencakup langkah dasar pengolahan data, yaitu membaca data , kemudian memproses data tersebut dan menghasilkan output informasi. Di dalam program COBOL dua bagian yang utama adalah DATA DIVISION dan PROCEDURE DIVISION. Walaupun demikian , dua divisi yang laian juga penting dan harus dicantumkan di dalam program 9 paling tidak judul divisinya ).

DATA DIVISION memuat dan menggambarkan bentuk dan jenis dari data input dan data outputnya. PROCEDURE DIVISION menggambarkan prosedur yang digunakan untuk untuk menyelesaikan permasalahan dengan bentuk dan jenis data yang ada pada DATA DIVISION dan menghasilkan hasil output informasi dengan bentuk dan jenis yang dibentuk juga pada DATA DIVISION. Sehingga apa yang dapat dikerjakan oleh COBOL telah terjawab, yaitu mengolah data dengan prosedur-prosedur tertentu, data yang diolah dibentuk dalam DATA DIVISION dan bentuk hasil pengolahan juga dibentuk dalam DATA DIVISION.

Konsep COBOL orientasinya pada permasalahan bisnis sebenarnya dapat untuk semua permasalahan yang berhubungan dengan pengolahan data. Misalnya pengolahan data mahasiswa, yaitu memproses data input mahasiswa sampai dihasilkan output informasi mendetail tentang mahasiswa bersangkutan , juga dapat dikerjakan oleh COBOL.

(6)

I.4. KEUNTUNGAN BAHASA COBOL

Dari uraian-uraian sebelumnya , maka dapat diambil kesimpulan , bahwa penggunaan bahasa COBOL mempunyai beberapa keuntungan, di antaranya:

1. Program COBOL dibuat dalam instruksi bahasa Inggris, sehingga lebih mudah dipelajari dan dibuat

2. Program COBOL sesuai untuk pengolahan data, yang banyak diterapkan pada permasalahan bisnis

3. Program COBOL sifatnya standart, sehingga dapat dipergunakan pada komputer-komputer yang berbeda tanpa banyak perbedaan

4. Struktur program COBOL jelas, sehingga dapat dimengerti orang seperti akuntan , auditor atau manajer-manajer yang hanya mempunyai pengetahuan pengolahan data yang sedikit

5. COBOL menyediakan fasilitas listing program , bilamana perlu dapat diperiksa oleh orang lain selain programmernya

(7)

BAB II

KONSEP DASAR SISTEM KOMPUTER

II.1. PENDAHULUAN

Sejak pertamanya, manusia telah menemukan alat guna membantu dirinya di dalam proses perhitungan dan pengolahan data. Ada 3 bentuk alat bantu tersebut, ialah alat mekanik manual (manual-mechanical device )yaitu alat mekanik sederhana yang dikerjakan secara manual dengan tangan misalnya simphoa ( abcus ) dan mistar hitung, alat mekanik elektrik yaitu yang masih dikerjakanoleh motor elektronik, misalnya mesin hitung dan yang ketiga adalah alat elektronik yaitu alat yang dikerjakan secara elektronik misalnya komputer.

Jadi komputer adalah alat elektronik untuk mengolah data dengan menggunakan program tertentu untuk menghasilkaninformasi. Sedang fungsi dari komputer adalah untuk pengolahan data, sehingga komputer juga disebut sebagai pengolah data elektronik. Proses dari pengolahan data menggunakan komputer disebut dengan pengolahan data elektronik (EDP atau elektronic data Processing )

II.2. SIKLUS PENGOLAHAN DATA

Pengolahan data adalah suatu proses yang menerima data sebagai masukan (input), diproses (processing ) oleh program tertentu yang tersimpan dan mengeluarkan hasil proses data tersebut dalam bentuk informasi (ouput ). Sehingga data processing terdiri dari 3 langkah dasar yaitu input ,proses dan output. Tiga langkah ini biasanya disebut dengan siklus pengolahan data ( data processing cycle ).

Gambar 2.1. Siklus Pengolahan Data II.3. SISTEM KOMPUTER

Sistem komputer dibagi menjadi 3 segi yaitu segi perangkat lunak ( software ), perangkat keras ( hardware ) dan segi manusianya ( brainware ). Ketiga segi ini satu dan lainnya saling menunjang, sehingga membentuk suatu sistem. Tanpa adanya perangkat lunak, maka perangkat keras tidak dapat digunakan . tanpa adanya perangkat keras, perangkat lunak tidak berguna, juga tanpa andanya manusia yang mengoperasikan , kedua segi yang lain tidak dapat dioperasikan.

II.3.1. SOFTWARE

Software atau perangkat lunak adalah program-program yang diperlukan untuk menjalankan perangkat kerasnya, diantaranya adalah Language Software, Operating Software dan Aplication Software.

Language Software adalah program yang merupakan bahasa untuk membuat instruksi-instruksi ke komputer yaitu diantaranya :

- Assembler - Interpreter - Compilera

Bahasa COBOL merupakan Language Software termasuk jenis compiler.

Operating System merupakan program yang mengatur semua kegiatan sistem komputer yaitu diantaranya: - UNIX - ZENIX - MS-DOS - PC-DOS - CP-M - TRS-DOS - DOS 3.3 Applesoft

Untuk bahasa MS-COBOL dibutuhkan sistem operasi MS-DOS atau PC-DOS pada komputer IBM-PC atau CP/M pada komputer Apple.

Application Software ( program aplikasi ) adalah program yang diterapkan pada suatu aplikasi tertentu, dapat berupa package software ( program paket ) yaitu program yang telah jadi dan siap digunakan atau program yang dibuat sendiri.

(8)

Gambar 2.2. Hubungan Software dan hardware

Tampak pada gambar 2.2., kalau akan membuat sautu program aplikasi maka dibutuhkan suatu language Software, misalnya akan membuat program aplikasi pengendalian persediaan barang, untuk membuat program ini , dapat dipergunakan Language Software COBOL atau yang lainnya. Supaya program ini dapat berfungsi dan bisa berhubungan dengan semua peralatan-peralatan komputer ( hardware 0 maka dibutuhkan suatu sistem operasi .

II.3.2. HARDWARE

Hardware atau perangkat keras adalah komponen komputer yang secara fisik dapat dipegang.Hardware terdiri dari :

1. Peralatan INPUT , untuk memasukan data atau program

Contoh card reader, terminal, keyboard, tape drive dan disk drive 2. Cpu ( central prosessing Unit )

Terbagi 3 bagian : 1. Control Unit

2. Main memory atau internal memory 3. ALU ( aritmatika logical Unit ) 3. Peralatan OUTPUT

4. Secondary Storage

II.3.3. HUBUNGAN ANTARA HARDWARE

Alat pemroses Kendali

Arus informasi

Gambar 2.3. hubungan antara hardware

HARDWARE OPERATING SYSTEM LANGUAGE SOFTWARE APPLICATION SOFTWARE Control Unit Main memory ALU Control Unit Control Unit

(9)

BAB III

KONSEP DASAR PEMBUATAN PROGRAM

III.1. BAHASA KOMPUTER

Untuk menyusun suatu program aplikasi, maka dibutuhkan suatu bahasa yaitu bahasa komputer. Bahasa komputer adalah kumpulan dari karakter-karakter,kata-kata dalam aturan-aturan penulisan tertentu yang dapat digunakan untuk menulis sebuah program komputer. Setiap komputer mempunyai bahasa komputer tersendiri. Bahasa komputer yang tingkatannya paling rendah ( Low Level Language ) adalah Bahasa Mesin ( Machine Language ). Bahasa mesin ini relatif sulit, programmer harus betul-betul mengetahui letak dari lokasi memori yang digunakan dan kode-kode numerik komputer yang sangat rumit harus digunakan . mengingat hal ini, telah banyak dikembangkan bahasa yang mudah dipelajari oleh orang awam yang mempergunakan instruksi-instruksi dalam bahasa Inggris. Bahasa awam ini tingkatannya lebih tinggi dari bahasa mesin dan disebut dengan High Level Language. Bila bahasa mesin berorientasi masih pada mesin, maka bahasa awam berorientasi pada permasalahan yang dihadapi oleh programmer. Sehingga bahasa awam disebut juga dengan problem oriented language. Dewasa ini telah banyak sekali dikembangkan bahasa komputer awam, seperti mialnya FORTRAN ( Formula Translator ), RPG ( report Program Generator ), PASCAL, DBASE-III, BASIC,COBOL dan lain-lain. Bila FORTRAN cenderung berorientasi pada masalah teknik, rumus-rumus ( formula ), maka COBOL ( Common Business Oriented Language ) cenderung pada masalah bisnis.

Sebenarnya komputer hanya dapat memproses program yang dibuat dalam bahasa mesin. Sehingga program yang dibuat dngan bahasa awam harus diterjemahkan atau dikompilasi terlebih dahulu menjadi bahasa mesin sebelum dapat diproses oleh komputer. Program yang dibuat di dalam bahasa awam disebut dengan source program dan program yang telah diterjemahkan ke dalam bahasa mesin disebut dengan object program. Proses penerjemahan dilakukan oleh komputer, untuk tugas ini telah tersedia program khusus yang disebut dengan compiler. Komputer adalah program bahasa mesin yang menterjemahkan atau mengkompilasi source program menjadi object program. Kompiler telah dibuat dan disediakan oleh pabrik komputer, tidak perlu membuatnya. Bila program dibuat dengan bahasa awam FORTRAN , maka harus tersedia kompiler FORTRAN . demikian juga bila program dibuat dengan bahasa awam COBOL, maka kompiler COBOL harus tersedia.Disamping komputer mengerjakan proses penerjemahan, semua kesalahan program yang mungkin terjadi dideteksi juga oleh kompiler dan dapat ditampilkan dalam listing program.

Gambar 3.1. Proses Kompilasi

III.2. PROGRAM KOMPUTER

Program komputer adalah kumpulan dari instruksi atau deklarasi atau pernyataan ( statement ) yang disusun sedemikian rupa sehingga komputer dapat memproses input data menjadi output. Proses pembuatan program komputer disebut dengan programming dan orang yang membuat program tersebut disebut programmer. Penulisan program komputer harus menuruti aturan-aturan tertentu yang diisyaratkan oleh bahasa komputer yang dipergunakan . Bila program Komputer dibuat dalam bahasa komputer Fortran misalnya maka penulisannya harus sesuai dengan aturan-aturan dalam bahasa FORTRAN. Demikian juga bila dibuat dalam bahasa COBOL. Harus juga sesuai dengan aturan bahasa COBOL itu sendiri. Hal ini perlu karena setiap komputer dibuat untuk ditujukan mengkompilasi program yang sesuai dengan aturannya.

Source Program Object Program Compiler Program KOMPILASI Program Listing

(10)
(11)

Program yang dibuat biasanya ditulis terlebih dahulu dldalam coding form yang tampak pada gambar 3.2 Coding form berguna supaya program yang ditulis sesuai dengan kolom-kolom yang disyaratkan. Untuk suatu program yang komplek, dapat terdiri dari banyak sekali instruksi-instruksi. Sebelum program itu sendiri dibuat, guna maksud memudahkan pembuatan, biasanya terlebih dahulu urutan logika program dibuat dalam bentuk bagan alir ( Flowchart ).

III.3. FLOWCHART

Flowchart adalah suatu skema atau bagan yang menggambarkan urutan kegiatan dari suatu program dari awal sampai akhir. Untuk menggambarkan bagan alir ini digunakan simbolsimbol tertentu.

SIMBOL KETERANGAN Terminal :

Menunjukkan awal mulai dan akhir dari kegiatan Input / Output :

Menunjukkan operasi pembacaan input atau percetakan output. Input / Output kartu Plong :

Menunjukkan media Input/Output menggunakan kartu plong

Input/Output dokumentasi :

Digunakan untuk pembacaan input melalui optical scanner atau pencetakan output pada printer

Pengolahan :

Menunjukkan suatu pemrosesan

Keputusan :

Menunjukkan suatu seleksi yang harus dikerjakan

Proses terdifinisi :

Menunjukkan sejumlah proses yang detailnya tidak ditunjukkan disini, tetapi terpisah terdifinisi sendiri, berupa program bagian ( subroutine )

Komentar proses :

Menujukkan keterangan atau komentar untuk memperjelas maksud isi dari simbol-simbol flowchart yang hendak dijelaskan.

Garis Alir :

Garis untuk menghubungkan arah tujuan simbol flowchart yang satu dengan yang lainnya

Penghubung halaman yang sama :

Bila flowchart terpotong dan masih mempunyai sambungan dalam halaman yang sama, digunakan simbol ini

Penghubung Halaman berikutnya

Bila flowchart terpotong dan masih mempunyai sambungan pada halaman berikutnya digunakan simbol ini

Magnetic tape :

Menunjukkan alat input/output berupa tape magnetis Magnetic Disk :

Menujukkan alat input / output berupa disk magnetis ( hard disk )

Mini Disk ( disket ) :

Menujukkan alat input / ouput berupa mini disk atau disket atau floppy disk atau flexibel disk

Magnetic drum :

Menujukkan alat input / Ouput berupa drum magnetis

(12)

III.4. LANGKAH-LANGKAH PEMBUATAN PROGRAM COBOL

1. Memahami masalah yang akan diprogramkan

2. Untuk program yang rumit dan panjang, guna membantu memudahkan logika pemrograman , urut-urutan proses program digambarkan terlebih dahulu di dalam bentuk flowchart

3. Kemudian program ditulis terlebih dahulu di dalam coding form , supaya letak kolom-kolom penulisannya benar. Penulisan program ke dalam coding-form ini berguna, bila nanti yang akan membuat source programnya adalah orang lain yang bukan penulis program ( programmer ).

4. Dibuat source –program dengan cara :

`dengan menggunakan software text editor atau software word processor.

5. Source Program yang tersimpan di disket kemudian dikompilasi dengan menggunakan COBOL Compiler. COBOL compiler untuk MS-COBOL merupakan Language Software yang juga tersimpan di disket. Hasil dari proses kompilasi ini akan dihasilkan objeck program yang otomatis tersimpan didisket serta kalau diinginkan , dapat dihasilkan juga listing program yang akan ditampilkan didisket, layar atau printer. Kesalahan penulisan program akan tampak di listing program yang dihasilkan.. Bial ada kesalahan , maka kesalahan tersebut harus dibetulkan . Setelah dibetulkan, souce program dikompilasi lagi. Proses ini belum bisa diteruskan sebelumsource program bebas dari kesalahan penulisan.

6. Setelah Source Program bebas dari kesalahan dan dihasilkan Objeck program langkah selanjutnya adalah membuat object program menjadi execute program ( program yang dijalankan ). Proses ini disebut dengan link.

7. Executable Program sekarang dapat dijalankan . kemungkinan pada langkah ini masih akan terjadi kesalahan lagi yang tidak dapat dideteksi oleh komputer, tetapi muncul sewaktu executable program dijalankan . kesalahan ini disebut dengan runtime error, yang bukan terjadi karena kesalahan penulisan program , tetapi terjadi karena kesalahan –kesalahan proses lainnya. Bila terjadi kesalahan seperti ini, hasil yang diinginkan belum bisa didapat, sehingga source program harus dibetulkan lagi. Setelah source program dibetulkan , maka perlu dikompilasi kembali.

(13)

BAB 4

KONSEP DASAR ORGANISASI DATA

A. FILE

Secara phisik, file biasanya disimpan dalam disk magnetis, tape magnetis,punch card, atau drum. File terbagi menjadi 2 yaitu :

- Program File

File yg berisi program komputer

- Data File

File yg berisi data-data yg diperlukan untuk pemrograman. Yang dibicarakan disini adalah DATA FILE.

File terdiri dari beberapa record, dan record terdiri dari beberapa item.

Secara umum ada 3 cara untuk mengatur data informasi dalam bentuk file yaitu : - Standard sequential

- Index Sequential - Direct (random)

DATA FILE MAGNETIC TAPE B. RECORD

Record : kesatuan group item yg berisi informasi tertentu Kumpulan dari record membentuk file.

C. DATA ITEM

DATA ITEM :bagian terkecil dari record.

(14)

BAB 8

PENGOLAHAN FILE DATA

Tujuan Pelajaran :

Setelah mempelajari bab ini , diharapkan mahasiswa

• Memahami penggunaan perform dalam pemrograman dan mengetahui perpedaan dengan GO TO • Dapat menggunakan PERFORM dalam pemrograman dan dapat menerangkan perbedaan dengan GO

TO

• Memahami pengertian pengolahan file data

• Mengerti berbagai perintah untuk pengolahan file data • Dapat menyusun program untuk pengolahan file data.

Dalam pengolahan data, sering kali suatu file berisi data untuk diproses menjadi suatu laporan . Bagaimana menulis program untuk pengolahan file data akan dijelaskan pada bagian ini.

Bentuk umum program cobol untuk pengolahan file data :

IDENTIFICATION DIVISION. PROGRAM-ID. Nama-Program. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. Nama-Komputer. OBJECT-COMPUTER. Nama-Komputer. INPUT-OUTPUT SECTION. FILE-CONTROL.

SELECT Input-File-Name ASSIGN TO DISK ORGANIZATION IS [LINE ] SEQUENTIAL.

DATA DIVISION.

FILE SECTION

FD Input-File-Name

LABEL RECORDS ARE STANDART VALUE OF FILE-ID “Nama File Data”.

01 Input-Record-Name 02 data-Item-name PIC ---. ………. ………. WORKING-STORAGE SECTION. 77. Independent-Item PIC .---. 01 Judul-1 02 Filler PIC ---. ………. ………. 01 Nama-record-out 02 Nama-field-out PIC ---. SCREEN SECTION. 01. Nama-record. 02. Statement. PROCEDURE DIVISION. Paragraph Headers. Statements. Catatan :

(15)

SPESIFIKASI MEMBUAT PROGRAM INPUT / FILE BARANG.DAT

Buatlah Program Input dengan nama Brg.cob dalam bahasa Cobol untuk membuat File Barang.dat

OUTPUT :

Nama File : barang.Dat

Metode Access: Line Sequential Struktur Data :

- Kode Barang PIC X(5) - Nama Barang PIC X(15) - Harga Barang PIC 9(6) Kode Barang : ……….

Nama Barang : ………. Harga Barang : ……….

KETENTUAN PROSES :

Akan terbentuk File

Nama File : barang.Dat

Metode Access: Line Sequential Struktur Data :

- Kode Barang PIC X(5) - Nama Barang PIC X(15) - Harga Barang PIC 9(6) Setiap penampilan satu record program menanyakan :

SUDAH BENAR (Y/T ) ?

Jika “Y” atau ‘y’ maka akan memasukkan data tersebut ke Barang.Dat

Jika “T” atau ‘t” maka akan memasukan data kembali dan data sebelumnya tidak tersimpan. ADA LAGI ( Y/T)?

Jika “Y” atau ‘y’ maka akan membaca Data Berikutnya (Y/T) Jika “T” atau ‘t” maka akan selesai prosesnya

LISTING PROGRAM

IDENTIFICATION DIVISION. PROGRAM-ID. BRG-COB. AUTHOR. TITIN.

SECURITY. PROGRAM MEMASUKKAN DATA ORGANISASI FILE INDEKS MODE AKSES URUT.

ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL.

SELECT FILE-BARANG ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION.

FILE SECTION. FD FILE-BARANG

LABEL RECORD IS STANDARD

VALUE OF FILE-ID IS 'BARANG.DAT'. 01 RECORD-BARANG.

02 KODE-BARANG PIC X(5). 02 NAMA-BARANG PIC X(15). 02 HARGA-BARANG PIC 9(6).

(16)

WORKING-STORAGE SECTION. 01 BENAR-SALAH PIC X. 88 BENAR VALUE 'Y' , 'y'. 88 SALAH VALUE 'T' , 't'. 01 LAGI-SUDAH PIC X.

88 LAGI VALUE 'Y' , 'y'. 88 TIDAK VALUE 'T' , 't'. SCREEN SECTION.

01 HAPUS-LAYAR. 02 BLANK SCREEN. 01 LAYAR-BETUL-SALAH.

06 LINE 20 COLUMN 10 VALUE ' SUDAH BENAR (Y/T)?'. 06 COLUMN PLUS 1 PIC X TO BENAR-SALAH.

01 LAYAR-LAGI-SUDAH.

06 LINE 23 COLUMN 10 VALUE 'ADA LAGI (Y/T) ?'. 06 COLUMN PLUS 1 PIC X TO LAGI-SUDAH.

01 LAYAR-DATA.

02 LINE 6 COLUMN 5 'KODE BARANG :'. 02 COLUMN PLUS 1 PIC X(5) TO KODE-BARANG. 02 LINE 8 COLUMN 5 'NAMA BARANG :'. 02 COLUMN PLUS 1 PIC X(15) TO NAMA-BARANG. 02 LINE 10 COLUMN 5 'HARGA BARANG :'. 02 COLUMN PLUS 1 PIC 9(6) TO HARGA-BARANG. PROCEDURE DIVISION.

RUTIN-UTAMA SECTION. BUKA-FILE.

OPEN OUTPUT FILE-BARANG. MASUKKAN-DATA. DISPLAY HAPUS-LAYAR. DISPLAY LAYAR-DATA. ACCEPT LAYAR-DATA. DISPLAY LAYAR-BETUL-SALAH. ACCEPT LAYAR-BETUL-SALAH. IF SALAH GO TO MASUKKAN-DATA. WRITE RECORD-BARANG. DISPLAY LAYAR-LAGI-SUDAH. ACCEPT LAYAR-LAGI-SUDAH. IF LAGI GO TO MASUKKAN-DATA. CLOSE FILE-BARANG. STOP RUN.

MODIFIKASI PROGRAM INPUT DIATAS :

Buatlah program dalam bahasa Cobol dengan nama bab8.cob, untuk menghitung jumlah bayar dengan membuat tampilan masukan dan keluaran melalui screen section. Memesankan variable di Working-Storage section dan inputnya dengan membaca file data.

INPUT :

Nama File : barang.Dat Metode Access: Line Sequential Struktur Data :

- Kode Barang - Nama Barang - Harga Barang

OUTPUT :

Kode Barang : ………. PIC X(5) Nama Barang : ………. PIC X(15) Harga Barang : ………. PIC ZZZ.ZZ9

Unit Barang : ………. PIC ZZ.ZZ9 Æ diinput dari keyboard Jumlah Bayar : ………. PIC Z.ZZZ.ZZ9

(17)

JUMLAH BAYAR = Harga Barang * Unit Barang Setipa penampilan satu record program menanyakan :

Data Berikutnya (Y/T) ?

Jika “Y” atau ‘y’ maka akan membaca record berikutnya Jika “T” atau ‘t” maka akan selesai prosesnya

Pada akhir data ( end of File), program menginformasikan: Maaf data sudah habis.

Listing program untuk menghitung Jumlah bayar.

IDENTIFICATION DIVISION. PROGRAM-ID. BAB8-COB. AUTHOR. TITIN. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL.

SELECT FILE-BARANG ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION.

FILE SECTION. FD FILE-BARANG

LABEL RECORDS ARE STANDARD VALUE OF FILE-ID "BARANG.DAT". 01 RECORD-BARANG.

05 KODE-BARANG PIC X(5). 05 NAMA-BARANG PIC X(15). 05 HARGA-BARANG PIC 9(6). WORKING-STORAGE SECTION.

77 END-OF-FILE PIC X VALUE SPACES. 77 UNIT-BARANG PIC 9(8)V99 VALUE 0. 77 JUMLAH-BAYAR PIC 9(8)V99 VALUE 0. 01 JAWAB PIC X VALUE SPACES.

88 LAGI VALUE "Y", "y". 88 SUDAH VALUE "T", "t". SCREEN SECTION.

01 LAYAR-LAGI-SUDAH.

02 LINE 15 COLUMN 10 VALUE " DATA BERIKUTNYA (Y/T)?" HIGHLI - GHT, REVERSE-VIDEO.

02 COLUMN PLUS 1 PIC X USING JAWAB. 01 LAYAR-TAMPIL.

05 BLANK SCREEN.

05 LINE 3 COLUMN 10 VALUE "KODE BARANG :". 05 COLUMN PLUS 1 PIC X(5) FROM KODE-BARANG. 05 LINE 5 COLUMN 10 VALUE "NAMA BARANG :". 05 COLUMN PLUS 1 PIC X(15) FROM NAMA-BARANG. 05 LINE 7 COLUMN 10 VALUE "HARGA BARANG :".

05 COLUMN PLUS 1 PIC ZZZ.ZZ9 FROM HARGA-BARANG. 05 LINE 9 COLUMN 10 VALUE "UNIT BARANG :".

05 COLUMN PLUS 1 PIC ZZ.ZZ9 USING UNIT-BARANG REQUIRED, AUTO. 01 LAYAR-HASIL.

05 LINE 11 COLUMN 10 VALUE "JUMLAH BAYAR :".

05 COLUMN PLUS 1 PIC ZZZ.ZZZ.ZZ9 USING JUMLAH-BAYAR. 01 PESAN.

06 LINE 20 COLUMN 10 VALUE " MAAF DATA SUDAH HABIS". PROCEDURE DIVISION.

100-BUKA-FILE.

OPEN INPUT FILE-BARANG. 200-BACA-RECORD.

(18)

300-PENGOLAHAN. IF END-OF-FILE="Y" DISPLAY PESAN GO TO 400-TUTUP-FILE. DISPLAY LAYAR-TAMPIL. ACCEPT LAYAR-TAMPIL.

MULTIPLY HARGA-BARANG BY UNIT-BARANG GIVING JUMLAH-BAYAR. DISPLAY LAYAR-HASIL. DISPLAY LAYAR-LAGI-SUDAH. ACCEPT LAYAR-LAGI-SUDAH. IF LAGI GO TO 200-BACA-RECORD. 400-TUTUP-FILE. CLOSE FILE-BARANG. STOP RUN. SPECIAL-NAMES [Decimal-Point Is Comma ].

Decimal-Point Is Comma clause digunakan untuk menggantikan titik desimal yang semula ditulis dengan bentuk karakter”.” ( titik) dengan bentuk karakter “,” ( Koma ).

INPUT-OUTPUT SECTION.

Definisi awal dari semua jenis file terletak pada paragraph FILE-CONTROL pada INPUT-OUTPUT Section Bentuk Umum dari FILE CONTROL adalah :

FILE –CONTROL.

SELECT nama-file ASSIGN TO DISK [organization is [LINE] SEQUANTIAL]. Empty pada select digunakan untuk:

Menyatakan bahwa file ditujukan ke DISK ( ASSIGn TO DISK]

Menentukan ORGANISATION IS SEQUANTIAL). Bentuk defaultnya sequential.

FILE SECTION

Dalam File section berisi semua keterangan file yang berhubungan dalam program. Keterangan dalam File Section meliputi nama file, cara perekaman, jumlah record per blok dan jumlah karakter setiap record, label serta nama dari record tersebut.

FILE SECTION ini bila dipergunakan file dalam bentuk simpanan sekunder yaitu disk atau printer dan mempunyai hubungan dengan INPUT-OUTPUT SECTION dalam ENVORONMENT DIVISION.

LABEL RECORD Atau LABEL RECORDS Clause

Label RECORD atau Label RECORDS CLAUSE ini menunjukkan apakah suatu file yang dipergunakan mempunyai label atau tidak. Bentuknya :

LABEL RECORD IS Æ STANDARD

RECORDs ARE Æ OMITTED

LABEL RECORDS ARE OMITTED digunakan untuk print File ( File yang berupa cetakan di printer ) yang tidak mempunyai label. Untuk yang emmepunyai label atau File yang disimpan di disk maka, ditulis LABEL RECORD IS STANDARD. Clause ini harus ditulis bila FILE SECTION digunakan.

VALUE OF FILE-ID Clause

VALUE OF FILE-ID Clause menunjukkan informasi mengenai file yang mempunyai label di disk. Label di disk ini berupa suatu nama file yang berisi data yang direkamkan tersebut. Jadi, Jika suatu file berada di disk , maka harus disebutkan LABEL RECORD IS STANDARD dan VALUE OF FILE-ID diikuti dengan nama Filenya. Contoh : VALUE OF FILE-ID IS “ Barang.dat”

Aturan penulisan nama-file di label dapat dilihat pada buku manual DOS. NAMA-FILE

(19)

Nama File di Label tidak sama dengan nama file yang idsebutkan pada judul FD , Select , Close, Open dan read.

PERFORM Nama-Paragraph

Digunakan untuk membuat suatu statement yang akan membawa proses dari program meloncat ke suatu paragraph tertentu, mengerjakan seluruh isi paragraph tersebut dan setelah selesai kembali lagi ke statement setelah statement PERFORM.

PARAGRAPH-1 PERFORM PARAGRAPH-2 PERFORM PARAGRAPH-3 PARAGRAPH-2 PARAGRAPH-3

SOAL LATIHAN :

1. Apa perbedaan dan persamaan PERFORM 100-Mulai dan GO TO 100-Mulai 2. Tulislah dalam statement Cobol di procedure DIVISION untuk permasalahan ini :

Kode Konsumen Jenis Standart Pemakaian Harga per M3

A Rumah Tangga 150 20

B Industri 500 30

C Umum / Yayasan 750 40

- Jumlah Pemakaian = pemakaian Bulan ini – Pemakaian Bulan Lalu - Kelebihan Pemakaian dihitung sebagai berikut :

- Jika ( jumlah pemakaian ) > Standart Pemakaian

- Maka Kelebihan Pemakaian = Jumlah Pemakaian – Standart Pemakaian Jika tidak, maka kelebihan Pemakaian = 0

- Total Bayar = Jumlah Pemakaian X Harga per M3 + ( Kelebihan Pemakaian x 10 % x Harga per M3 )

3. Bagaimana Output statement di bawah ini ? ………..

PERFORM 100-Mula-Mula.

PERFORM 300-Coba-terka UNTIL Times-Counter Is Not Less Than Penghitung. STOP RUN.

100-Mula-Mula.

Move 10 To Penghitung.

Move Penghitung to times-counter. Subtract 1 From Times-counter.

300-Coba-terka.

Multiply 1 by penghitung Giving times-counter. ADD 1 to times-counter.

Display Times-counter, Penghitung.

4 Bagaimana Hasil output dari Bagian program di bawah ini, Jika diketahui Nilai : AKHIR-BERKAS = 12 NILAI-DATA = 7 INPUT-AWAL=3 TOTAL-INPUT = 2 ……… PERFORM 100-PERMULAAN.

PERFORM 200-PENGOLAHAN UNTIL AKHIR-BERKAS = 16 DISPLAY TOTAL-INPUT.

(20)

100-PERMULAAN.

ADD 1 TO INPUT-AWAL.

MOVE ZERO TO AKHIR-BERKAS.

MULTIPLY INPUT-AWAL BY AKHIR-BERKAS GIVING TOTAL-INPUT. MOVE INPUT-AWAL TO NILAI-DATA.

200-PENGOLAHAN.

MOVE NILAI-DATA TO AKHIR-BERKAS IF AKHIR-BERKAS=12

SUBTRACT 3 FROM AKHIR-BERKAS ELSE

NEXT SENTENCE.

MOVE AKHIR-BERKAS TO TOTAL-INPUT. ADD AKHIR-BERKAS TO TOTAL-INPUT. MOVE TOTAL-INPUT TO NILAI-DATA. DISPLAY AKHIR-BERKAS.

5. Dari file barang dengan Nama File “ barang.Dat “ dan organisasi File adalah Line Sequential dengan susunan sbb:

Nama Field Jenis Panjang

Kode Barang Numerik 5

Nama Barang Alphabetik 20

Jumlah barang Numerik 4

Status Numerik 1 Æ 1 = Import

2 = Lokal

Harga Satuan Numerik 6

Tulislah Potongan program dari struktur File tersebut diatas dalam program Cobol untuk File Control dan Data Division.

(21)

BAB 13

PEMAKAIAN TABEL

Tujuan Pelajaran :

Setelah mempelajari bab ini , diharapkan mahasiswa • Memiliki pengertian pengurutan tabel • Mengerti syarat-syarat aturan tabel • Mengetahui jenis-jenis tabel

• Mengerti berbagai perintah untuk pembuatan tabel • Mengerti cara penulisan perintah untuk pembuatan tabel

• Mengeri cara melakukan pembuatan tabel berdimensi satu dengan menggunakan SUBSCRIPT maupun INDEX • Memahami cara melkukan pembuatan tabel berdimensi dua

12.1. Pengertian TABEL

Tabel / Array ( larik ) adalah sekumpulan nilai data yang membentuk suatu set/daftar. Kumpulan nilai data ini akan menempati lokasi yang membentuk suatu tabel yang dihubungkan dengan sebuah nama. Pengoperasian tabel juga penting dalam pengolahan data. Misalnya dalam suatu pendidikan sampai tingkat D3 ada 40 mata kuliah. Bila dipilih nama yang unik untuk tiap-tiap mata kuliah , semacam nama data mata kuliah COBOL-II, DATABASE, STATISTIK dan sebagainya, maka akan dibutuhkan 40 nama data mata kuliah. Hal demikian tidaklah praktis, misalnya akan memindahkan 40 nama-data, maka dalam PROCEDURE DIVISION akan terdapat 40 statement MOVE untuk masalah ini, untuk mengatasi masalah tersebut,penggunaan tabel sangat diperlukan. Untuk membedakan masing-masing isi dari tabel dipergunakan subscript yang menunjukkan suatu lokasi yang berisi suatu nilai data pada tabel. Jadi subscript adalah sebuah petunjuk (pointer) suatu lokasi pada suatu tabel. Bentuk tabel dapat berbentuk tabel berdimensi satu, tabel berdimensi dua, maupun tabel berdimensi tiga.

12.2. Aturan Tabel :

1. Nilai data pada tabel boleh diurutkan atau boleh tidak

2. Nilai data untuk sebuah tabel harus punya ukuran sama. Untuk angka yang lebih kecil ditambah nol disebelah kiri, sedangkan alphanumerik/alphabetik ditambah spaces.

12.3. Tabel berdimensi satu

Merupakan kumpulan nilai data yang membentuk tabel yang lokasi nilai datanya ditujukkan oleh satu jenis subscript. Misal : nilai-mhs(I)

12.4. Aturan Subscript :

1. Tidak bernilai NOL ketika digunakan me-referensi suatu lokasi nilai data. 2. Tidak bernilai negatif

3. Nilainya tidak lebih besar dari nomor yang ditentukan oleh OCCURS

12.5. OCCURS Integer TIMES Kegunaan :

1. Untuk memesan jumlah lokasi yang diinginkan untuk nilai data. Contoh : Tabel-Data OCCURS 10 TIMES Æ memesan 10 tempat 2. Untuk membentuk suatu tabel atau kumpulan dari nilai data atau array

Syarat-syarat :

1. Nilai Integer harus angka integer. Nilai integer ini menunjukkan jumlah lokasi yang dipesan 2. OCCURS clause tidak boleh digunakan pada level number 01, 77 dan 88

3. OCCURS Clause tidak boleh digunakan dengan VALUE Clause

Pendefinisian tabel dilakukan dalam DATA DIVISION pada WORKING STORAGE SECTION dan FILE SECTION dengan menggunakan Clausa OCCURS seperti berikut ini :

01 TABEL-NILAI-MHS.

02 NILAI_MHS PIC 999 OCCURS 10 TIMES.

Dari definisi diatas menyatakan bahwa TABEL-NILAI-MHS dapat menampung 10 data dengan tipe data numerik dengan panjang 3. Definisi data di atas kira-kira identik dengan :

01 TABEL-NILAI-MHS. 02 NILAI-MHS(1) PIC 999. 02 NILAI-MHS(2) PIC 999. 02 NILAI-MHS(3) PIC 999. 02 NILAI-MHS(4) PIC 999. 02 NILAI-MHS(5) PIC 999. 02 NILAI-MHS(6) PIC 999.

(22)

02 NILAI-MHS(7) PIC 999. 02 NILAI-MHS(8) PIC 999. 02 NILAI-MHS(9) PIC 999. 02 NILAI-MHS(10) PIC 999.

Untuk mengisi data di tabel maupun mengambil data dari tabel diperlukan sebuah subscript, dan subscript dapat berupa literal numerik yang berupa bilangan bulat positif atau item numerik ( identifier ) yang berisi bilangan bulat positif. Pada TABEL-NILAI-MHS, nilai subscript terletak antara 1 sampai dengan 10, subscript 1 menunjuk elemen pertama, subscript 2 menunjuk elemen kedua dan seterusnya.

Dengan demikian apabila kita akan menunjuk elemen ke 4 pada TABEL-NILAI-MHS pengenalnya berupa nama tabel diikuti dengan nilai subscriptnya yang diletakkan dalam kurung, misalnya : NILAI-MHS(4)

Begitu juga apabila kita hendak mengisi tabel pada nilai mhs ke empat dengan 75 maka dengan perintah : MOVE 75 TO NILAI-MHS(4). Untuk menampilkan data nilai-mhs ke 4 dengan perintah : DISPLAY NILAI_MHS(4)

12.6. Nama-data-1 REDEFINES nama-data-2

Digunakan untuk menempatkan nama data yang berlainan pada lokasi yang sama . Dengan kata lain satu lokasi storage ditempati lebih dari satu nama data. Dalam pemrosesan tabel , untuk menunjuk posisi data dalam tabel ada 2 cara dengan menggunakan SUBSCRIPT atau INDEX.

Kalau dengan SUBSCRIPT, digunakan metode : - PERFORM / UNTIL atau

- PERFORM / VARYING

Kalau dengan INDEX , gunakan metode : - SET/SEARCH atau

- SEARCH ALL

12.7. PERFORM Nama-paragraph VARYING nama-data FROM Integer-1 BY integer-2 UNTIL kondisi

Bentuk PERFORM / VARYING ini memungkinkan memproses suatu paragraph berulang-ulang dan akan menyebabkan perubahan nilai ( VARYING) pada nama data yang bernilai mulai dari (FROM) 1 kemudian bertambah ( BY ) integer-2 sampai ( UNTIL ) kondisi terpenuhi.

Dalam proses pengulangan , pertama nama data bernilai integer1 kemudian kondisi di test. Jika kondisi tidak terpenuhi, maka nama-paragraph diproses, tapi jika kondisi terpenuhi maka pengulangan berhenti.

SET

Digunakan untuk menentukan nilai awal , menambah atau mengurangi nilai dari suatu index pemrosesan tabel.

SEARCH

- Digunakan untuk mencari nilai data tertentu pada tabel

- WHEN berfungsi seperti IF untuk melakukan pencarian data dalam Tabel - Lebih dari satu WHWN Clause dapat digunakan

- Jika kondisi tidak terpenuhi , nilai index otomatis dinaikkan 1

- Jika kondisi terpenuhi , maka statemen dalam WHWN di execute dan Statement berikutnya

- Sebelum pencarian data dalam tabel dilakukan , index dibandingkan dengan nilai yang ditentukan oleh OCCURS. Jika nilai index lebih besar maka pencarian data berhenti dan AT END diexecute, dan statement setelah WHEN clause juga di execute.

SEARCH ALL

- Fungsinya untuk mencari nilai data tertentu dalam tabel

- Field yang digunakan untuk me-referensi misalnya : TB-KODE, harus di sort menurut KEY CLAUSE - Hanya satu WHWN clause yang digunakan

- Hanya boleh menggunakan relational operator ( tanda = atau IS EQUAL TO ) saja Contoh penggalan program untuk memasukan data dalam tabel :

……….

PERFORM PEMASUKAN-NILAI-MHS

VARYING I FROM 1 BY 1 UNTIL I > 10 ………..

………..

PEMASUKAN-NILAI-MHS. DISPLAY( , ) ‘Nilai :’ ACCEPT NILAI-MHS(I).

(23)

CETAK-NILAI-MHS.

DISPLAY( , ) ‘NILAI MHS KE ‘,I,’:’. NILAI-MHS(I).

DISPLAY SPACES

Contoh program dengan menggunakan Tabel :

Spesifikasi Program :

Buatlah program untuk membuat laporan peserta kursus dengan menggunakan konsep tabel.

INPUT :

Nama file data : Kursus.dat Organisasi data : Line Sequential Susunan Record : - No-daftar - Nama Peserta - Kode Kursus - Uang Muka PROSES : - Laporan 1 halam

- Kode kursus menentukan jenis kursus, lama kursus dan biayanya yang kesemuanya terletak pada tabel -

Kode Kursus Jenis Kursus Lama Kursus Biaya

A01 WINDOWS 6 500000 B01 OFFICE 5 250000 C01 FOXPRO 7 750000 D01 COBOL 8 850000 E01 BASIC 4 350000 F01 LOGIKA 6 650000 G01 JARINGAN 5 650000

- Sisa Bayar = Biaya – Uang muka

- Hitung Total uang Muka dan Total Sisa bayar - Judul ada Nomer halaman dan system tanggal - Untuk memanipulasi subscript, menggunakan :

- PERFORM / UNTIL - PERFORM / VARYING - SET / SEARCH dan - SEARCH ALL

OUTPUT :

LAPORAN PESERTA KURSUS TAHUN ANGKATAN 2004

Hal : 1 Tanggal : xx/xx/xx

NO NO.DEPT NAMA PESERTA KURSUS LAMA BIAYA U.MUKA SISA BAYAR

1 10001 Maria WIndows 6 500000 100000 400000

2 21001 Kiki Sari Office 5 250000 100000 150000

3 30921 Indriani Logika 6 650000 100000 550000 4 12301 Riski Jaringan 5 650000 100000 550000 5 43521 Anang Foxpreo 7 750000 100000 650000 6 34521 Kasmuji Windows 6 500000 100000 400000 7 56346 Kokok Office 5 250000 100000 150000 8 56003 Fernandus Logika 6 650000 100000 550000 9 46758 Rahmat Foxpro 7 750000 100000 650000 10 76003 Anton Cobol 8 850000 100000 750000 1000000 4.800.00 TOTAL TERIMA : 5.800.000

LISTING PROGRAM DENGANMENGGUNAKAN PERFORM – UNTIL

IDENTIFICATION DIVISION. PROGRAM-ID. TABEL.

AUTHOR. TITIN.

SECURITY. PROGRAM MEMASUKKAN DATA ORGANISASI FILE INDEKS MODE AKSES URUT.

ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL.

SELECT KURSUS ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL.

(24)

DATA DIVISION. FILE SECTION. FD KURSUS

RECORD CONTAINS 24 CHARACTERS LABEL RECORD IS STANDARD

VALUE OF FILE-ID IS 'KURSUS.DAT' DATA RECORD IS KURSUS-REC.

01 KURSUS-REC PIC X(24). WORKING-STORAGE SECTION.

77 END-OF-DATA PIC X(3) VALUE SPACES. 77 NO-HAL-WS PIC 9(4) VALUE 0. 77 NOMOR PIC 9(2) VALUE 0. 77 TOTAL-BAYAR PIC 9(8) VALUE 0. 77 SISA-BAYAR PIC 9(8) VALUE 0. 77 TOTAL-UANG-MUKA PIC 9(8) VALUE 0. 77 TOTAL-SISA-BAYAR PIC 9(8) VALUE 0. 77 TOTAL-TERIMA PIC 9(8) VALUE 0. 77 LINE-SPACES PIC 9 VALUE 0.

77 GARIS PIC X(79) VALUE ALL '-'. 01 SYSTEM-TANGGAL.

02 SYSTEM-TAHUN-WS PIC 99 VALUE 0. 02 SYSTEM-BULAN-WS PIC 99 VALUE 0. 02 SYSTEM-HARI-WS PIC 99 VALUE 0. 01 TABEL-CONTROL-FIELDS.

02 S PIC S9(4) COMP SYNC. 02 JUMLAH-NO-TABEL PIC S99 VALUE +7. 02 TABEL-STATUS PIC X(3). 01 KURSUS-REC-IN. 02 NO-DAFTAR-IN PIC X(5). 02 NAMA-IN PIC X(10). 02 KODE-KURSUS-IN PIC X(3). 02 UANG-MUKA-IN PIC 9(6). 01 DATA-KODE-KURSUS.

02 F PIC X(19) VALUE 'A01WINDOWS 650000'. 02 F PIC X(19) VALUE 'B01OFFICE 525000'. 02 F PIC X(19) VALUE 'C01FOXPRO 775000'. 02 F PIC X(19) VALUE 'D01COBOL 885000'. 02 F PIC X(19) VALUE 'E01 BASIC 435000'. 02 F PIC X(19) VALUE 'F01 LOGIKA 665000'. 02 F PIC X(19) VALUE 'G01JARINGAN 565000'. 01 TABEL-KODE-KURSUS REDEFINES DATA-KODE-KURSUS. 02 TABEL-DATA OCCURS 7 TIMES.

04 TB-KODE PIC X(3). 04 TB-KURSUS PIC X(9). 04 TB-LAMA PIC 9. 04 TB-BIAYA PIC 9(6). 01 JUDUL-0.

02 F PIC X(20) VALUE SPACES.

02 F PIC X(50) VALUE 'LAPORAN PESERTA KURSUS ANGK 2004'. 01 JUDUL-1.

02 F PIC X(1) VALUE SPACES. 02 F PIC X(6) VALUE 'HAL : '. 02 NO-HAL-OUT PIC ZZZ9. 02 F PIC X(47) VALUE SPACES.

02 F PIC X(11) VALUE 'TANGGAL : '. 02 SYSTEM-HARI-OUT PIC 99. 02 F PIC X VALUE '/'. 02 SYSTEM-BULAN-OUT PIC 99. 02 F PIC X VALUE '/'. 02 SYSTEM-TAHUN-OUT PIC 99. 01 JUDUL-2. 02 FORMS-CONTROL PIC X. 02 F PIC X(2) VALUE 'NO'. 02 F PIC X(2) VALUE SPACES. 02 F PIC X(6) VALUE 'NO DFT'. 02 F PIC X(2) VALUE SPACES.

02 F PIC X(13) VALUE 'NAMA PESERTA'. 02 F PIC X(2) VALUE SPACES.

02 F PIC X(6) VALUE 'KURSUS'. 02 F PIC X(5) VALUE SPACES. 02 F PIC X(4) VALUE 'LAMA'.

(25)

02 FORM-CONTROL PIC X. 02 NOMOR-OUT PIC Z9.

02 F PIC X(2) VALUE SPACES. 02 NO-DAFTAR-OUT PIC X(5).

02 F PIC X(3) VALUE SPACES. 02 NAMA-OUT PIC X(10).

02 F PIC X(5) VALUE SPACES. 02 KURSUS-OUT PIC X(10).

02 F PIC X(3) VALUE SPACES. 02 LAMA-OUT PIC 9.

02 F PIC X(5) VALUE SPACES. 02 BIAYA-OUT PIC Z99999.

02 F PIC X(5) VALUE SPACES. 02 UANG-MUKA-OUT PIC ZZZZZ9.

02 F PIC X(5) VALUE SPACES. 02 SISA-BAYAR-OUT PIC ZZZZZ9.

01 JUDUL-3.

02 F PIC X(55) VALUE SPACES. 02 TOTAL-UANG-MUKA-OUT PIC ZZZZZZZ9.

02 F PIC X(2) VALUE SPACES. 02 TOTAL-SISA-BAYAR-OUT PIC ZZZZZZZ9.

01 CETAK-TOTAL.

02 FORMS-CONTROL PIC X. 02 F PIC X(45) VALUE SPACES.

02 F PIC X(15) VALUE 'TOTAL TERIMA : '. 02 F PIC X VALUE SPACES.

02 TOTAL-TERIMA-OUT PIC ZZZZZZZ9. PROCEDURE DIVISION. BAGIAN-UTAMA. PERFORM BUKA-FILES. PERFORM CETAK-JUDUL. PERFORM READ-INPUT.

PERFORM PENGOLAHAN UNTIL END-OF-DATA = 'YES'. PERFORM CETAK-TOTAL1.

PERFORM TUTUP-FILES. STOP RUN.

BUKA-FILES.

OPEN INPUT KURSUS

MOVE 'NO' TO END-OF-DATA. CETAK-JUDUL.

ACCEPT SYSTEM-TANGGAL FROM DATE.

MOVE SYSTEM-TAHUN-WS TO SYSTEM-TAHUN-OUT. MOVE SYSTEM-BULAN-WS TO SYSTEM-BULAN-OUT. MOVE SYSTEM-HARI-WS TO SYSTEM-HARI-OUT. ADD 1 TO NO-HAL-WS.

MOVE NO-HAL-WS TO NO-HAL-OUT. DISPLAY SPACES. DISPLAY JUDUL-0. DISPLAY SPACES. DISPLAY JUDUL-1. DISPLAY GARIS. DISPLAY JUDUL-2. DISPLAY GARIS. READ-INPUT.

READ KURSUS INTO KURSUS-REC-IN AT END MOVE 'YES' TO END-OF-DATA. PENGOLAHAN.

MOVE 'NO' TO TABEL-STATUS. MOVE ZEROES TO S.

PERFORM TABEL-ROUTINE

UNTIL TABEL-STATUS = 'YES' OR EQUAL TO 'END'. PERFORM DETAIL-OUTPUT-LINES.

PERFORM READ-INPUT. TABEL-ROUTINE.

ADD 1 TO S

IF KODE-KURSUS-IN IS = TB-KODE(S) MOVE 'YES' TO TABEL-STATUS MOVE TB-BIAYA(S) TO TOTAL-BAYAR

COMPUTE SISA-BAYAR = TOTAL-BAYAR - UANG-MUKA-IN ADD UANG-MUKA-IN TO TOTAL-UANG-MUKA

ADD SISA-BAYAR TO TOTAL-SISA-BAYAR

ADD UANG-MUKA-IN, SISA-BAYAR TO TOTAL-TERIMA ELSE

IF S = JUMLAH-NO-TABEL

MOVE 'END' TO TABEL-STATUS. DETAIL-OUTPUT-LINES.

ADD 1 TO NOMOR.

(26)

MOVE NO-DAFTAR-IN TO NO-DAFTAR-OUT. MOVE NAMA-IN TO NAMA-OUT.

MOVE TB-KURSUS(S) TO KURSUS-OUT. MOVE TB-LAMA(S) TO LAMA-OUT. MOVE TB-BIAYA(S) TO BIAYA-OUT. MOVE UANG-MUKA-IN TO UANG-MUKA-OUT. MOVE SISA-BAYAR TO SISA-BAYAR-OUT. MOVE TOTAL-TERIMA TO TOTAL-TERIMA-OUT. DISPLAY TAMPILKAN-RECORD-WS.

CETAK-TOTAL1. DISPLAY GARIS.

MOVE TOTAL-UANG-MUKA TO TOTAL-UANG-MUKA-OUT. MOVE TOTAL-SISA-BAYAR TO TOTAL-SISA-BAYAR-OUT. DISPLAY JUDUL-3.

DISPLAY GARIS.

MOVE TOTAL-TERIMA TO TOTAL-TERIMA-OUT. DISPLAY CETAK-TOTAL.

TUTUP-FILES. CLOSE KURSUS.

LISTING PROGRAM MENGGUNAKAN PERFORM –VARYING

IDENTIFICATION DIVISION. PROGRAM-ID. TABEL.

AUTHOR. TITIN.

SECURITY. PROGRAM MEMASUKKAN DATA ORGANISASI FILE INDEKS MODE AKSES URUT.

ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL.

SELECT KURSUS ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION.

FILE SECTION. FD KURSUS

RECORD CONTAINS 24 CHARACTERS LABEL RECORD IS STANDARD

VALUE OF FILE-ID IS 'KURSUS.DAT' DATA RECORD IS KURSUS-REC.

01 KURSUS-REC PIC X(24). WORKING-STORAGE SECTION.

77 END-OF-DATA PIC X(3) VALUE SPACES. 77 NO-HAL-WS PIC 9(4) VALUE 0. 77 NOMOR PIC 9(2) VALUE 0. 77 TOTAL-BAYAR PIC 9(8) VALUE 0. 77 SISA-BAYAR PIC 9(8) VALUE 0. 77 TOTAL-UANG-MUKA PIC 9(8) VALUE 0. 77 TOTAL-SISA-BAYAR PIC 9(8) VALUE 0. 77 TOTAL-TERIMA PIC 9(8) VALUE 0. 77 LINE-SPACES PIC 9 VALUE 0.

77 GARIS PIC X(79) VALUE ALL '-'. 01 SYSTEM-TANGGAL.

02 SYSTEM-TAHUN-WS PIC 99 VALUE 0. 02 SYSTEM-BULAN-WS PIC 99 VALUE 0. 02 SYSTEM-HARI-WS PIC 99 VALUE 0. 01 TABEL-CONTROL-FIELDS.

02 S PIC S9(4) COMP SYNC. 02 JUMLAH-NO-TABEL PIC S99 VALUE +7. 02 TABEL-STATUS PIC X(3). 01 KURSUS-REC-IN. 02 NO-DAFTAR-IN PIC X(5). 02 NAMA-IN PIC X(10). 02 KODE-KURSUS-IN PIC X(3). 02 UANG-MUKA-IN PIC 9(6). 01 DATA-KODE-KURSUS.

02 F PIC X(19) VALUE 'A01WINDOWS 650000'. 02 F PIC X(19) VALUE 'B01OFFICE 525000'. 02 F PIC X(19) VALUE 'C01FOXPRO 775000'. 02 F PIC X(19) VALUE 'D01COBOL 885000'. 02 F PIC X(19) VALUE 'E01 BASIC 435000'. 02 F PIC X(19) VALUE 'F01 LOGIKA 665000'. 02 F PIC X(19) VALUE 'G01JARINGAN 565000'.

(27)

02 F PIC X(20) VALUE SPACES.

02 F PIC X(50) VALUE 'LAPORAN PESERTA KURSUS ANGK 2004'. 01 JUDUL-1.

02 F PIC X(1) VALUE SPACES. 02 F PIC X(6) VALUE 'HAL : '. 02 NO-HAL-OUT PIC ZZZ9. 02 F PIC X(47) VALUE SPACES.

02 F PIC X(11) VALUE 'TANGGAL : '. 02 SYSTEM-HARI-OUT PIC 99. 02 F PIC X VALUE '/'. 02 SYSTEM-BULAN-OUT PIC 99. 02 F PIC X VALUE '/'. 02 SYSTEM-TAHUN-OUT PIC 99. 01 JUDUL-2. 02 FORMS-CONTROL PIC X. 02 F PIC X(2) VALUE 'NO'. 02 F PIC X(2) VALUE SPACES. 02 F PIC X(6) VALUE 'NO DFT'. 02 F PIC X(2) VALUE SPACES.

02 F PIC X(13) VALUE 'NAMA PESERTA'. 02 F PIC X(2) VALUE SPACES.

02 F PIC X(6) VALUE 'KURSUS'. 02 F PIC X(5) VALUE SPACES. 02 F PIC X(4) VALUE 'LAMA'. 02 F PIC X(4) VALUE SPACES. 02 F PIC X(5) VALUE 'BIAYA'. 02 F PIC X(6) VALUE SPACES. 02 F PIC X(6) VALUE 'U.MUKA'. 02 F PIC X(4) VALUE SPACES.

02 F PIC X(10) VALUE 'SISA BAYAR'. 01 TAMPILKAN-RECORD-WS.

02 FORM-CONTROL PIC X. 02 NOMOR-OUT PIC Z9.

02 F PIC X(2) VALUE SPACES. 02 NO-DAFTAR-OUT PIC X(5).

02 F PIC X(3) VALUE SPACES. 02 NAMA-OUT PIC X(10).

02 F PIC X(5) VALUE SPACES. 02 KURSUS-OUT PIC X(10).

02 F PIC X(3) VALUE SPACES. 02 LAMA-OUT PIC 9.

02 F PIC X(5) VALUE SPACES. 02 BIAYA-OUT PIC Z99999.

02 F PIC X(5) VALUE SPACES. 02 UANG-MUKA-OUT PIC ZZZZZ9.

02 F PIC X(5) VALUE SPACES. 02 SISA-BAYAR-OUT PIC ZZZZZ9.

01 JUDUL-3.

02 F PIC X(55) VALUE SPACES. 02 TOTAL-UANG-MUKA-OUT PIC ZZZZZZZ9.

02 F PIC X(2) VALUE SPACES. 02 TOTAL-SISA-BAYAR-OUT PIC ZZZZZZZ9.

01 CETAK-TOTAL.

02 FORMS-CONTROL PIC X. 02 F PIC X(45) VALUE SPACES.

02 F PIC X(15) VALUE 'TOTAL TERIMA : '. 02 F PIC X VALUE SPACES.

02 TOTAL-TERIMA-OUT PIC ZZZZZZZ9. PROCEDURE DIVISION. BAGIAN-UTAMA. PERFORM BUKA-FILES. PERFORM CETAK-JUDUL. PERFORM READ-INPUT.

PERFORM PENGOLAHAN UNTIL END-OF-DATA = 'YES'. PERFORM CETAK-TOTAL1.

PERFORM TUTUP-FILES. STOP RUN.

BUKA-FILES.

OPEN INPUT KURSUS

MOVE 'NO' TO END-OF-DATA. CETAK-JUDUL.

ACCEPT SYSTEM-TANGGAL FROM DATE.

MOVE SYSTEM-TAHUN-WS TO SYSTEM-TAHUN-OUT. MOVE SYSTEM-BULAN-WS TO SYSTEM-BULAN-OUT. MOVE SYSTEM-HARI-WS TO SYSTEM-HARI-OUT. ADD 1 TO NO-HAL-WS.

MOVE NO-HAL-WS TO NO-HAL-OUT. DISPLAY SPACES.

(28)

DISPLAY JUDUL-0. DISPLAY SPACES. DISPLAY JUDUL-1. DISPLAY GARIS. DISPLAY JUDUL-2. DISPLAY GARIS. READ-INPUT.

READ KURSUS INTO KURSUS-REC-IN AT END MOVE 'YES' TO END-OF-DATA. PENGOLAHAN.

MOVE 'NO' TO TABEL-STATUS. MOVE ZEROES TO S.

PERFORM TABEL-ROUTINE VARYING S FROM 1 BY 1

UNTIL TABEL-STATUS = 'YES' OR EQUAL TO 'END'. SUBTRACT 1 FROM S PERFORM DETAIL-OUTPUT-LINES. PERFORM READ-INPUT. TABEL-ROUTINE. ADD 1 TO S IF KODE-KURSUS-IN IS = TB-KODE(S) MOVE 'YES' TO TABEL-STATUS MOVE TB-BIAYA(S) TO TOTAL-BAYAR

COMPUTE SISA-BAYAR = TOTAL-BAYAR - UANG-MUKA-IN ADD UANG-MUKA-IN TO TOTAL-UANG-MUKA

ADD SISA-BAYAR TO TOTAL-SISA-BAYAR

ADD UANG-MUKA-IN, SISA-BAYAR TO TOTAL-TERIMA ELSE

IF S = JUMLAH-NO-TABEL

MOVE 'END' TO TABEL-STATUS. DETAIL-OUTPUT-LINES.

ADD 1 TO NOMOR.

MOVE NOMOR TO NOMOR-OUT.

MOVE NO-DAFTAR-IN TO NO-DAFTAR-OUT. MOVE NAMA-IN TO NAMA-OUT.

MOVE TB-KURSUS(S) TO KURSUS-OUT. MOVE TB-LAMA(S) TO LAMA-OUT. MOVE TB-BIAYA(S) TO BIAYA-OUT. MOVE UANG-MUKA-IN TO UANG-MUKA-OUT. MOVE SISA-BAYAR TO SISA-BAYAR-OUT. MOVE TOTAL-TERIMA TO TOTAL-TERIMA-OUT. DISPLAY TAMPILKAN-RECORD-WS.

CETAK-TOTAL1. DISPLAY GARIS.

MOVE TOTAL-UANG-MUKA TO TOTAL-UANG-MUKA-OUT. MOVE TOTAL-SISA-BAYAR TO TOTAL-SISA-BAYAR-OUT. DISPLAY JUDUL-3.

DISPLAY GARIS.

MOVE TOTAL-TERIMA TO TOTAL-TERIMA-OUT. DISPLAY CETAK-TOTAL.

TUTUP-FILES. CLOSE KURSUS.

LATIHAN :

1. Terangkan apa yang anda ketahui tentang SUBSCRIPT, jelaskan ketentuan untuk subscript 2. Terangkan apa yang anda ketahui tentang TABEL BERDIMENSI Satu

3. Bagaimana hubungan subscript dengan tabel 4. Terangkan perbedaan statement di bawah ini :

READ KURSUS AT END MOVE ‘YES’ TO EOF Dengan

READ KURSUS INTO KURSUS-REC-IN AT END MOVE ‘YES’ TO EOF

5. bagaimana penulisan struktur data tabel di working-storage section bila datanya seperti di bawah ini dan pemrosesan tabel dengan PERFORM VARYING ?

TANGGAL BULAN TERIMA

15 JANUARI 250

8 PEBRUARI 1000

6 Maret 45

23 Juli 180

(29)

01 APA-ISINYA REDEFINES COBA-TERKA. 02 TABEL-DATA OCCURS 4 TIMES.

03 TABEL-KODE PIC X(5). 03 TABEL-MATA-KULIAH PIC X(17). 03 TABEL-SKS PIC 9

a. Apa isi dari variabel TABEL-KODE(4), TABEL-SKS(2), TABEL-SKS(4) b. Ada berapa macam tabel ? Apa saja tabel tersebut

c. Ada berapa jumlah data tabel dari setiap tabel tersebut.

7. Bagaimana hasil output bagian program di bawah ini: ………

……….

PERFORM COBA-TERKA VARYING TIMES-COUNTER FROM 1 BY 1 UNTIL TIMER-COUNTER > 12 DISPLAY TIMES-COUNTER.

COBA-TERKA.

DISPLAY TIMES-COUNTER.

8. Berapa nilai SUBSCRIPT untuk setiap execution PARAGRAPH-A PERFORM PARAGRAPH-A

VARYING SUBSCRIPT FROM 1 BY 2 UNTIL SUBSCRIPT > 8 9. Jelaskan perintah SET/SEARCH dalam pemrosesan tabel

Gambar

Gambar 2.2. Hubungan Software dan hardware
Gambar 3.1. Proses Kompilasi
Gambar 3.3. Simbol-simbol flowchart

Referensi

Dokumen terkait

Dalam situasi perusahaan normal tersebut sudah tidak asing lagi bagi masyarakat maupun praktisi PR, fungsi dan tugas public relations yang sebenarnya yaitu untuk menggiring

Permasalahan yang berkenaan dengan akibat hukum pembatalan perkawinan terhadap anak dimuat dalam pasal 28 (2) UUP, sebagai berikut: Keputusan tidak berlaku surut

Peneliti telah mengumpulkan beberapa penelitian akhir tentang kepuasaan penggunaan LMS di perguruan tinggi sebagai berikut: persepsi kepuasan pengguna dan persepsi

Suatu penelitian selama dua tahun pada suatu perusahaan milik pemerintah US oleh Zamanou dan Gleser (1994) meneliti progam intervensi komunikasi dalam proses

Skripsi yang berjudul “Kajian Nasi Sorghum sebagai Pangan Fungsional” ini merupakan tugas akhir yang disusun sebagai syarat untuk mendapatkan gelar Sarjana Teknologi Pertanian

4 Tersedianya regulasi daerah tentang administrasi kependudukan Tidak semua permasalahan dalam pelayanan administrasi kependudukan dapat di atas dengan regulasi yang

.... Dengan demikian, dapat dikatakan bahwa suku-suku suatu barisan bilangan merupakan suatu nilai fungsi f dari himpunan bilangan asli ke himpunan bilangan real dengan

Penilaian jangka pendek (LAIJAPEN), yaitu penilaian dalam waktu tertentu (satu minggu sampai dengan satu bulan) setelah satu jenis layanan dan atau kegiatan pendukung