Beranda Topics COBOL Apa itu COBOL?
Jelajahi solusi modernisasi aplikasi mainframe IBM Berlangganan pembaruan tentang topik AI
Ilustrasi dengan kolase piktogram peralatan, lengan robot, ponsel

 

Diterbitkan:  19 April 2024
Kontributor: Chrystal R. China, Michael Goodwin

Apa itu COBOL?

Common business-oriented language (COBOL) adalah bahasa pemrograman tingkat tinggi, seperti bahasa Inggris, yang dikompilasi dan dikembangkan secara khusus untuk kebutuhan pemrosesan data bisnis. 

COBOL dirancang dengan memikirkan keserbagunaan yang optimal; verbositasnya memungkinkan programmer untuk menggunakan bahasa pemrograman yang mudah dibaca dan mudah dirawat yang dapat berfungsi di seluruh komputer dan sistem operasi mainframe. Bahkan, ini adalah salah satu bahasa pemrograman pertama yang distandardisasi oleh American National Standards Institute (ANSI) dan International Organization for Standardization (ISO).

Meskipun COBOL dianggap sebagai sistem lama, banyak organisasi pemerintah dan sektor swasta yang terus menggunakannya untuk menjalankan aplikasi keuangan, administrasi, dan bisnis. Faktanya, konfigurasi COBOL yang bersifat imperatif, prosedural, dan (dalam iterasi yang lebih baru) berorientasi objek, berfungsi sebagai fondasi untuk lebih dari 40 persen sistem perbankan online.1

Sistem ini juga mendukung 80 persen transaksi kartu kredit secara langsung, menangani 95 persen transaksi ATM, dan mendukung sistem yang menghasilkan lebih dari USD 3 miliar perdagangan setiap harinya.1 Karena stabilitas dan kekuatan pemrosesan yang unggul, sistem ini terus memainkan peran penting dalam membantu bisnis memelihara aplikasi dan program dalam arsitektur yang ada. 

Pesan demo langsung

Lihat aksi IBM watsonx Code Assistant for Z.

Konten terkait

Berlangganan buletin IBM

Sejarah COBOL

COBOL dikembangkan oleh konsorsium organisasi pemerintah dan bisnis yang disebut Conference on Data Systems Languages (CODASYL), yang dibentuk pada tahun 1959. Sebagian berasal dari FLOW-MATIC, sebuah bahasa yang diciptakan oleh pionir ilmu komputer Dr. Grace Hopper, COBOL diciptakan sebagai bagian dari inisiatif Departemen Pertahanan AS yang mendorong bahasa pemrograman yang dapat digunakan di berbagai sistem operasi (Linux, Windows, Unix, z/OS, dll.) dan lingkungan perangkat keras.

Versi pertama dari bahasa pemrograman COBOL dirilis pada tahun 1960. Dan meskipun pemrograman COBOL pada awalnya dimaksudkan sebagai langkah sementara, DoD dengan cepat menyadari kegunaannya dan memberikan mandat kepada produsen komputer untuk menawarkannya.

COBOL pada akhirnya distandardisasi sebagai bahasa komputer pada tahun 1968, setelah itu pemrogram COBOL menerapkan beberapa revisi dan modernisasi, termasuk COBOL-61, COBOL-68, COBOL-74, dan COBOL-85. Iterasi terbaru, COBOL 2002, mencoba membuat aplikasi COBOL lebih kompatibel dengan praktik pengembangan perangkat lunak modern dengan memperkenalkan fitur berorientasi objek dan paradigma pemrograman canggih lainnya pada bahasa tersebut. 

Struktur COBOL

Program COBOL memiliki struktur hierarkis yang terdiri dari divisi, bagian, paragraf, kalimat, kata kerja, dan string karakter. Sifat divisi dari sistem COBOL (yang terdiri dari empat divisi) memungkinkan pemisahan masalah yang berbeda dalam program COBOL.

Divisi COBOL adalah sebagai berikut:

Divisi identifikasi

Divisi identifikasi adalah divisi pertama dari program COBOL — dan merupakan divisi wajib. Ini memberikan nama program dan memberikan informasi identifikasi lainnya seperti penulis, tanggal penulisan dan deskripsi singkat tentang tujuan program.

Program COBOL memerlukan paragraf PROGRAM-ID untuk berfungsi dalam divisi identifikasi. Sebagai contoh:

```

IDENTIFICATION DIVISION.

PROGRAM-ID. NamaProgramAnda

AUTHOR. Nama Anda

DATE-WRITTEN. YYYYMMDD

COMMENT. "Deskripsi singkat tentang program"

Divisi lingkungan

Divisi lingkungan menentukan lingkungan runtime untuk sebuah program dan mendefinisikan sumber daya input dan output yang akan digunakan. Ini dibagi lagi menjadi dua bagian.

Tidak mengherankan, bagian konfigurasi menyediakan informasi tentang konfigurasi sistem, termasuk komputer dan fitur kompiler yang digunakan. Namun, karena kemajuan dalam alat bantu kompiler, bagian konfigurasi telah menjadi agak usang dalam sistem COBOL modern, yang biasanya dapat menyimpulkan dan secara otomatis beradaptasi dengan lingkungannya.

Bagian input-output menentukan file dan perangkat terkait yang dapat berinteraksi dengan program. Ini termasuk paragraf FILE-CONTROL, yang memetakan nama file di dalam program ke file eksternal, dan paragraf I-O-CONTROL yang biasanya berisi informasi pengoptimalan atau pengurutan untuk operasi input-output.

Divisi data

Divisi data menampung semua definisi variabel, file, dan konstanta untuk program. Seperti halnya divisi lingkungan, divisi data juga dibagi lagi.

Bagian file mencantumkan setiap file yang akan dibaca atau ditulis program. Entri deskripsi file mendefinisikan setiap file dan menjelaskan struktur catatan dalam file.

Bagian penyimpanan kerja mendefinisikan variabel yang mempertahankan nilainya selama program berjalan, termasuk penghitung, akumulator, konstanta, dan penyimpanan data lainnya yang tidak relevan dengan file I-O.

Diperkenalkan pada iterasi COBOL yang lebih baru, bagian penyimpanan lokal mendefinisikan variabel yang dialokasikan pada saat program atau metode diterapkan dan didealokasi pada saat penghentian, membuat penyimpanan lokal sangat berguna untuk algoritma rekursif dan program yang masuk kembali.

Akhirnya, bagian tautan mendefinisikan item data yang berpindah dari satu program ke program lainnya.

Divisi prosedur

Bagian prosedur berisi kode program yang dapat dieksekusi, yang dibagi menjadi beberapa paragraf dan bagian yang menyusun kode ke dalam blok-blok kode agar lebih mudah dibaca dan lebih mudah dirawat.

Komponen tambahan

Setiap divisi dari sistem COBOL dapat menyertakan bagian dan paragraf, yang analog dengan bagian dan paragraf dalam bahasa manusia. Bagian adalah subdivisi logis yang diberi nama di dalam setiap divisi yang berisi satu atau beberapa paragraf; bagian berfungsi sebagai unit kode modular yang dapat dipanggil atau digunakan di dalam program.

Paragraf adalah kumpulan kalimat, unit terkecil yang dapat dieksekusi dalam program COBOL, yang memiliki fungsi tertentu dan diidentifikasi dengan nama yang unik. Setiap pernyataan atau kalimat COBOL dalam sebuah paragraf dimulai dengan kata kerja COBOL (seperti MOVE, DISPLAY, dan ADD) yang mengindikasikan bagaimana kode harus dijalankan.

Unit yang paling mendasar dan tak terpisahkan dari bahasa COBOL adalah karakter. String karakter adalah karakter atau urutan karakter yang bersebelahan yang membentuk kata COBOL, entri literal atau komentar, yang dibatasi oleh pemisah.

Sintaks COBOL

Sintaks COBOL yang mirip bahasa Inggris dapat mendokumentasikan sendiri dan hampir cukup jelas, dengan penekanan pada verbositas dan keterbacaan. Fitur ini membedakannya dari bahasa terser, seperti FORTRAN. Ini juga dapat mendukung beberapa tipe data yang berbeda (numerik, alfanumerik, dan data yang diedit, misalnya), tetapi bergantung pada beberapa komponen sintaksis tambahan untuk menjalankan program.

Kalimat dan pernyataan

Kalimat adalah baris kode COBOL yang terdiri dari satu atau lebih pernyataan yang diakhiri dengan titik. Pernyataan, bagaimanapun, adalah instruksi individual yang mengatur penanganan file dan proses penanganan data (dengan menggunakan kata kerja seperti ADD, START, DISPLAY, dan WRITE, di antara yang lainnya).

Misalnya, pernyataan MOVE mentransfer data dari satu bagian memori sistem ke bagian lain; pernyataan COMPUTE melakukan operasi aritmatika dan menyimpan hasilnya sebagai variabel; dan pernyataan READ mengambil catatan dari file input.

Klausa

Klausa adalah komponen pernyataan yang dapat memodifikasi atau memenuhi syarat bagaimana pernyataan dieksekusi. Klausa gambar seperti “PIC 9(3),” sebagai salah satu contoh, mendefinisikan variabel numerik yang dapat menampung hingga tiga digit.

Struktur kontrol

Struktur kontrol berulang dan kondisional di COBOL memungkinkan sistem untuk mengontrol aliran data.

Struktur IF ... ELSE, misalnya, mengimplementasikan logika kondisional dalam COBOL sehingga program dapat mengeksekusi blok kode yang berbeda tergantung pada evaluasi kondisi sistem. Dan pernyataan PERFORM mengeksekusi paragraf atau bagian sejumlah tertentu kali atau sampai suatu kondisi terpenuhi, mirip dengan loop dalam bahasa pemrograman lainnya.

Subprogram

COBOL dapat memfasilitasi pemrograman modular dengan menggunakan subprogram, yang diterapkan dari program utama atau subprogram lainnya. Sementara subprogram internal didefinisikan dalam kode sumber yang sama dengan program yang dipanggil (ditulis dalam divisi prosedur), subprogram eksternal dikompilasi secara terpisah dan dihubungkan sesuai kebutuhan.

Membuat program COBOL

Proses membangun program dengan COBOL bervariasi tergantung pada keadaan organisasi. Namun, ini cenderung melibatkan beberapa langkah kunci. 

  • Menulis program. Jika seorang insinyur perangkat lunak ingin menulis program dasar "Halo, dunia!", misalnya, mereka akan menulis:

    ```

    IDENTIFICATION DIVISION. PROGRAM-ID. halo-dunia. PROCEDURE DIVISION. DISPLAY "Halo, dunia!"

    Menggunakan lingkungan pengembangan terpadu (IDE) atau editor teks yang kompatibel dengan COBOL dapat membantu proses ini.

  • Mengkompilasi program. Seperti bahasa pemrograman tingkat tinggi lainnya, kode COBOL harus dikompilasi sebelum dieksekusi. Kompiler COBOL (seperti GnuCOBOL, Micro Focus, dan IBM COBOL Compilers Family) menerjemahkan program ke dalam kode mesin sehingga CPU komputer dapat memahami dan menjalankannya.

  • Menjalankan program. Ketika program dikompilasi, programmer dapat menjalankannya pada sistem target. Dengan asumsi tidak ada bug, program ini mengikuti logika pemrosesan data yang didefinisikan dalam divisi prosedur untuk memproses data. Proses eksekusi biasanya meliputi membaca data dari file dan database, melakukan kalkulasi atau transformasi data, lalu menulis hasilnya ke file atau database.

  • Melakukan debug pada program (jika perlu). Jika ada kesalahan atau bug dalam program, programmer perlu mengidentifikasi dan memperbaikinya (proses yang disebut debugging). Mengandalkan alat dan teknik debugging dapat merampingkan proses ini.
Manfaat pemrograman COBOL

Terlepas dari proliferasi bahasa yang lebih modern (seperti Python, Java, JavaScript), bahasa COBOL pernah paling banyak digunakan dalam pemrograman komputer untuk aplikasi bisnis. Bahkan sampai sekarang, pengembangan COBOL tetap menjadi bagian fungsional dan penting dari infrastruktur teknologi global, terutama untuk institusi perbankan, perusahaan asuransi dan lembaga pemerintah.

Seperti yang dibuktikan dengan daya tahannya, pemrograman COBOL dapat menawarkan banyak sekali manfaat bagi organisasi yang memilih untuk menggunakannya (meskipun ada kelangkaan pemrogram COBOL1) termasuk:

Stabilitas

COBOL dikenal karena kinerjanya yang stabil dan andal dalam aplikasi yang sangat penting. Sistem yang ditulis dalam COBOL cenderung memiliki waktu aktif yang tinggi dan mengalami sedikit kegagalan, yang sangat penting untuk operasi nonstop lembaga keuangan dan layanan pemerintah.

Skalabilitas

Pengembang dapat meningkatkan skala aplikasi COBOL untuk menangani beban kerja yang meningkat tanpa perubahan signifikan dalam basis kode, memungkinkan organisasi untuk mengembangkan sistem berbasis COBOL mereka seiring dengan bisnis mereka dan tanpa penulisan ulang atau migrasi ke bahasa lain.

Penanganan data dan pemrosesan file

COBOL menawarkan kemampuan pemrosesan file yang luar biasa. Dapat menangani data transaksi yang kompleks dan berskala besar serta mendukung berbagai metode akses file, termasuk penanganan file data berurutan, terindeks, dan relatif. Ketangguhan COBOL dalam otomatisasi proses membuatnya ideal untuk pekerjaan pemrosesan batch, seperti memproses transaksi keuangan, mengelola database, dan menghasilkan laporan.

Interoperabilitas

Sistem COBOL saat ini dapat berinteraksi dengan bahasa dan teknologi lain (seperti HTML, JSON, XML, dan AI generatif) karena pengenalan COBOL berorientasi objek dan antarmuka ke bahasa pemrograman baru. Orientasi objek juga memfasilitasi integrasi aplikasi COBOL dengan layanan virtual dan cloud, seperti Amazon Web Services (AWS), Microsoft Azure, dan IBM Cloud®, database SQL dan infrastruktur DevOps modern lainnya.

Solusi terkait
IBM watsonx Code Assistant for Z

IBM watsonx Code Assistant for Z adalah produk dengan bantuan AI generatif yang dibuat untuk mempercepat modernisasi aplikasi mainframe dengan biaya yang lebih rendah dan risiko yang lebih kecil dibandingkan alternatif yang ada saat ini. Produk ini menyediakan siklus hidup pengembang aplikasi menyeluruh yang mencakup penemuan dan analisis aplikasi, refaktorisasi kode otomatis, dan konversi COBOL ke Java.

Jelajahi IBM watsonx Code Assistant for Z

IBM watsonx Code Assistant

IBM watsonx Code Assistant memanfaatkan AI generatif untuk mempercepat pengembangan dengan tetap mempertahankan prinsip kepercayaan, keamanan, dan kepatuhan pada intinya. Pengembang dan Operator IT dapat mempercepat upaya modernisasi aplikasi dan menghasilkan otomatisasi untuk meningkatkan skala lingkungan TI dengan cepat.

Menjelajahi IBM watsonx Code Assistant

IBM COBOL Compiler Family

Kompiler IBM COBOL mendukung sistem operasi IBM z/OSIBM AIX dan Linux. Anda mendapatkan alat untuk memperkuat pengembangan program Anda dan menggunakan aplikasi yang sudah ada. Anda dapat memosisikan proses pengembangan aplikasi Anda secara strategis untuk pasar yang berubah dengan cepat saat ini.

Jelajahi IBM Cobol Compilers Family
 Sumber daya Code assistant for Z membawa GenAI ke modernisasi aplikasi mainframe

Tonton rekaman on-demand bersama tim pakar kami yang membahas bagaimana AI mempercepat modernisasi aplikasi mainframe.

Tingkatkan modernisasi aplikasi dan otomatisasi TI dengan GenAI

Pelajari bagaimana platform manajemen cloud hybrid menggabungkan otomatisasi yang ditanami AI generatif untuk membantu bisnis memanfaatkan teknologi yang sedang berkembang, mewujudkan penghematan biaya dan efisiensi, meningkatkan kinerja TI, serta memberikan dan menskalakan layanan baru dengan lebih cepat.

Panduan CEO untuk AI generatif

Pahami pentingnya mengadopsi AI generatif dan bagaimana hal ini dapat bermanfaat bagi praktik bisnis, baik saat ini maupun di masa depan.

Ambil langkah selanjutnya

Siap untuk mempercepat modernisasi aplikasi mainframe, didukung oleh AI Generatif? Lihat apa yang dapat dilakukan watsonx Code Assistant for Z saat Anda menjadwalkan demo langsung atau berbicara dengan salah satu spesialis produk kami.

Jelajahi IBM watsonx Code Assistant for Z Pesan demo langsung
Catatan kaki

1 The World Depends on 60-Year-Old Code No One Knows Anymore (tautan ini berada di luar ibm.com), PC Mag, 1 Desember 2023

2 Generative AI In Code Generation (tautan ini berada di luar ibm.com), Inc42 Media, 24 Maret 2024