Jalur ini mengajarkan COBOL dari nol sampai mampu menulis program batch yang bekerja dengan berkas dan aritmetika desimal secara eksak, menggunakan compiler gratis GnuCOBOL 3.2 pada terminal Linux. Materinya bergerak dari struktur empat divisi dan desain data, kemudian tabel dan berkas, lalu disiplin pemrograman batch, dan ditutup dengan keterampilan modernisasi sistem warisan beserta satu proyek terpandu. Konteks komputer pusat seperti JCL, CICS, dan DB2 diperkenalkan pada bagian yang relevan, sehingga keterampilan yang terbentuk selaras dengan praktik COBOL pada sistem produksi.
COBOL
Jalur lengkap pemrograman COBOL dari struktur empat divisi sampai pemrograman batch, berkas terindeks, dan modernisasi sistem warisan dengan GnuCOBOL 3.2.
0/0 selesai
Modul pembuka: latar pemrosesan data bisnis, di mana COBOL berjalan, dan penyiapan GnuCOBOL.
- Apa itu COBOL?Latar munculnya COBOL sebagai bahasa pemrosesan data bisnis dan karakternya yang tetap relevan.
- Di mana COBOL berjalanRanah pemakaian COBOL pada perbankan, asuransi, dan pemerintahan, serta peran mainframe di dalamnya.
- Penyiapan GnuCOBOLMemasang GnuCOBOL 3.2, memeriksa versi compiler, serta kompilasi dan eksekusi pertama dengan cobc.
Kerangka wajib setiap program COBOL: empat divisi, disiplin format tetap versus bebas, program pertama, dan literal.
- Empat DivisiIDENTIFICATION, ENVIRONMENT, DATA, dan PROCEDURE sebagai kerangka kanonik setiap program.
- Format Tetap versus BebasDisiplin kolom warisan kartu berpori dan kode sumber bebas modern, beserta cara memilihnya di cobc.
- Program Pertama, Eksekusi PertamaMenulis, mengompilasi, menautkan, dan mengeksekusi program COBOL pertama dengan cobc.
- Literal dan Konstanta FiguratifLiteral nonnumerik dan numerik beserta konstanta figuratif SPACE, ZERO, LOW-VALUE, dan HIGH-VALUE.
Desain data sebelum desain prosedur: klausa PIC, nomor level, picture hasil edit, dan USAGE.
- Klausa PICPicture X, A, dan 9 yang menentukan ukuran field secara eksak beserta aturan penulisannya.
- Nomor Level dan GrupHierarki record 01, item anak, item elementer, serta overlay memori dengan REDEFINES.
- Picture Hasil EditSimbol edit Z, koma, titik, tanda, dan perlindungan cek untuk tampilan nilai yang terbaca manusia.
- USAGE dan PenyimpananUSAGE DISPLAY, COMP biner, dan COMP-3 desimal paket, termasuk konsekuensi pemilihannya.
Logika program: perpindahan data, aritmetika eksak, PERFORM, EVALUATE, dan nama kondisi level-88.
- MOVE dan INITIALIZEPerpindahan data elementer dan grup beserta aturan konversi antartipe yang menyertainya.
- Verb AritmetikaADD, SUBTRACT, MULTIPLY, DIVIDE, dan COMPUTE dengan ON SIZE ERROR untuk aritmetika desimal eksak.
- PERFORM dalam Semua BentukPERFORM inline dan out-of-line dengan THRU, UNTIL, VARYING, dan TIMES untuk pengulangan terkontrol.
- EVALUATEPemilihan banyak cabang dengan WHEN, WHEN OTHER, dan bentuk EVALUATE TRUE.
- Nama KondisiPenanda level-88 yang mengubah nilai menjadi kondisi bernama sehingga logika mendokumentasikan dirinya.
Struktur data berdimensi: OCCURS, subskrip dan indeks, pencarian serial dan biner, serta tabel panjang variabel.
- OCCURSTabel ukuran tetap berdimensi satu dan banyak beserta cara menata elemennya.
- Subskrip dan INDEXED BYAkses elemen dengan subskrip dan register indeks, verb SET, serta konsekuensi kinerjanya.
- SEARCH dan SEARCH ALLPencarian tabel secara serial dengan SEARCH dan biner dengan SEARCH ALL beserta syaratnya.
- OCCURS DEPENDING ONTabel yang panjangnya mengikuti isi data, aturan penempatan pengendalinya, dan jebakannya.
Berkas sebagai warga kelas satu COBOL: organisasi dan akses, verb sekuensial, berkas terindeks, serta SORT dan MERGE.
- Mode Organisasi dan AksesOrganisasi sekuensial, relatif, dan terindeks beserta mode akses yang menyertainya.
- Verb Berkas SekuensialOPEN, READ, WRITE, REWRITE, dan CLOSE beserta AT END pada pemrosesan berkas sekuensial.
- Berkas TerindeksPRIMARY dan ALTERNATE RECORD KEY, akses RANDOM dan DYNAMIC, serta START dan DELETE.
- SORT dan MERGEPengurutan berkas dengan SORT dan penyatuan dengan MERGE, termasuk INPUT dan OUTPUT PROCEDURE.
Disiplin eksekusi batch: status berkas, deklaratif, pemisah kontrol, pencocokan dua berkas, dan konteks JCL.
- Status Berkas dan DeklaratifFILE STATUS dua digit dan prosedur DECLARATIVES untuk penanganan kesalahan berkas yang terpusat.
- Pemisah Kontrol dan TotalDeteksi perubahan grup, pencetakan header pemisah, subtotal per grup, dan total akhir.
- Pencocokan Master dan TransaksiAlgoritma klasik pembaruan berkas master dengan berkas transaksi secara berurutan.
- Pengenalan JCLCara z/OS menjalankan COBOL: pernyataan JOB, EXEC, dan DD sebagai konteks dunia nyata.
Menjembatani COBOL dengan dunia modern: copybook, interop C, pengujian, dan fasad API.
- COPY dan CopybookBerbagi definisi record lintas program dan sistem melalui anggota copybook.
- Memanggil C dari COBOLInterop GnuCOBOL dengan C: panggilan rutin C dan bagaimana cobc menerjemahkan COBOL ke C.
- Pengujian COBOLPraktik pengujian program COBOL, dari pengujian unit logika batch hingga framework zUnit dan Micro Focus.
- Membungkus COBOL dalam APIPola fasad REST atau JSON di atas program warisan tanpa menulis ulang logikanya.
Pengolahan teks dan modularitas: INSPECT, STRING, UNSTRING, modifikasi referensi, dan CALL.
- INSPECTMenghitung, mengganti, dan mengonversi karakter di tempat dengan TALLYING, REPLACING, dan CONVERTING.
- STRING dan UNSTRINGPerakitan beberapa field menjadi satu teks dan pemecahan teks berdasarkan pembatas.
- Modifikasi ReferensiEkstraksi substring dari field dengan notasi posisi awal dan panjang.
- CALL secara MendalamCALL dengan BY REFERENCE dan BY VALUE, CANCEL, serta aturan data bersama antarprogram.
Proyek terpandu membangun program batch utuh: pemilihan, rancangan, dan pembangunan dengan titik pemeriksaan.
- Pemilihan ProyekMemilih di antara batch statement, aging piutang, atau rekonsiliasi, beserta kriteria pemilihannya.
- Rancang BatchMerancang record, berkas, dan total kontrol lebih dahulu sebelum menulis satu baris kode pun.
- Bangun dengan Titik PemeriksaanMembangun program batch bertahap dengan berkas uji dan penanganan status di setiap langkah.