Tampilan sudut rendah dari kubah kaca melingkar dari Galleria Vittorio Emanulee II yang terkenal di Milan.

Apa itu COBOL?

COBOL, didefinisikan

Common business-oriented language (COBOL) adalah bahasa pemrograman tingkat tinggi, seperti bahasa Inggris, yang dikompilasi, yang 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).

Salah satu kekuatan terbesar COBOL adalah dukungannya yang kuat terhadap kalkulasi desimal titik tetap berpresisi tinggi, sebuah fitur yang belum tentu dimiliki banyak bahasa pemrograman tradisional. Kemampuan ini membantu membedakan COBOL dan mendorong adopsinya oleh banyak lembaga keuangan besar.

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% dari semua sistem perbankan online.1

Sistem ini juga mendukung 80% transaksi kartu kredit tatap muka, menangani 95% dari semua transaksi ATM, dan menggerakkan sistem yang menghasilkan lebih dari USD 3 miliar transaksi setiap harinya.1 Berkat stabilitas dan daya pemrosesannya yang unggul, sistem ini terus memainkan peran penting dalam membantu bisnis memelihara aplikasi dan program dalam arsitektur yang ada.

Untuk menjaga kompatibilitas dengan sistem yang lebih baru, banyak perusahaan yang menggunakan atau mengandalkan sistem berbasis COBOL yang menjalani atau mempertimbangkan modernisasi COBOL, atau proses memperbarui atau mengubah aplikasi COBOL. Modernisasi dapat membantu mempertahankan logika inti yang mendorong kemampuan pemrosesan data COBOL yang andal, stabil, bervolume tinggi sekaligus meningkatkan interoperabilitas dengan tumpukan teknologi modern.

Dalam beberapa kasus, modernisasi COBOL dapat melibatkan penerjemahan kode COBOL ke dalam bahasa pemrograman yang lebih baru. Namun, fokus eksklusif pada terjemahan bahasa mengabaikan komponen platform: sistem yang mendukung aplikasi dan cara aplikasi tersebut diintegrasikan. Strategi modernisasi COBOL yang komprehensif harus mencakup rekayasa tingkat sistem yang memecahkan desain ulang arsitektur data, penggantian waktu proses dan integritas pemrosesan transaksi, di samping pertimbangan platform lainnya.

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. COBOL 2002 bertujuan untuk membuat aplikasi COBOL lebih kompatibel dengan praktik pengembangan perangkat lunak modern dengan memperkenalkan fitur berorientasi objek dan paradigma pemrograman lanjutan lainnya ke bahasa. Namun versi ini mengalami kekurangan dukungan dan permintaan pengguna untuk fitur-fitur barunya. 

COBOL 14 memperkenalkan perubahan baru, termasuk mengganti hasil aritmetika portabel dengan tipe data IEEE 754, dan standar terbaru, COBOL 2023, menghadirkan fitur baru tambahan yang berfokus pada peningkatan interoperabilitas COBOL dengan sistem modern.

AI Academy

Apa tahap selanjutnya untuk mainframe dan AI?

Dalam episode Akademi AI kali ini, Christian Jacobi menjelaskan betapa pentingnya mainframe untuk TI perusahaan, dan bagaimana — dengan integrasi dan peningkatan baru — mainframe memperkuat peran esensialnya dalam TI modern.

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. Divisi ini memberi nama program dan menyediakan informasi identifikasi lain 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. YourProgramName

 

AUTHOR. Your name

 

DATE-WRITTEN. YYYYMMDD

 

COMMENT. “Short description of the 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 evaluasi kondisi sistem. Dan perintah PERFORM mengeksekusi paragraf atau bagian dalam jumlah tertentu 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, proses ini cenderung melibatkan beberapa langkah utama.

Menulis program. Misalnya, jika seorang insinyur perangkat lunak ingin menulis program dasar “Hello, world!”, mereka akan menulis:

IDENTIFICATION DIVISION.   PROGRAM-ID.   hello-world.   PROCEDURE DIVISION.   DISPLAY  "Hello, world!"    

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

Mengompilasi program. Seperti bahasa pemrograman tingkat tinggi lainnya, kode COBOL harus dikompilasi sebelum dieksekusi. Kompiler COBOL (seperti GnuCOBOL, Micro Focus dan IBM COBOL Compiler 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 mengefisienkan proses ini.

Manfaat pemrograman COBOL

Sekarang kurang populer daripada bahasa yang lebih modern (seperti Python, Java dan JavaScript), COBOL pernah menjadi bahasa yang paling banyak digunakan dalam pemrograman komputer untuk aplikasi bisnis. Namun, 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, COBOL menawarkan banyak manfaat (meskipun terdapat kekurangan relatif dalam jumlah programmer 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

Melalui pembaruan modernisasi, COBOL dapat berkomunikasi dengan aplikasi web modern dan layanan mikro, bertukar data dalam format modern, menjaga kompatibilitas database, berinteraksi dengan layanan virtual dan cloud (seperti Amazon Web Services (AWS), Microsoft Azure dan IBM Cloud), berintegrasi dengan alat dan alur kerja DevOps, dan mendukung standar keamanan modern (seperti enkripsi TLS atau OAuth).

Penyusun

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Solusi terkait
IBM zSystems Mainframe Servers and Software

IBM zSystems adalah rangkaian perangkat keras z/Architecture modern yang menjalankan perangkat lunak z/OS, Linux, z/VSE, TPF, z/VM, dan zSystems.

Jelajahi Z
Solusi Server Bisnis Perusahaan

Dibangun untuk menangani beban kerja yang sangat penting dengan tetap menjaga keamanan, keandalan, dan kendali atas seluruh infrastruktur IT Anda.

Jelajahi solusi
Layanan Modernisasi Mainframe

Percepat transformasi digital dengan memodernisasi aplikasi mainframe Anda dengan IBM.

Layanan mainframe
Ambil langkah selanjutnya

Manfaatkan kekuatan IBM Z dan Telum untuk mengamankan data Anda, mengoptimalkan kinerja, dan mendorong insight AI real-time. Bangun masa depan perusahaan Anda dengan solusi dan prosesor mainframe terbaik di industri yang dirancang untuk kecepatan, skalabilitas, dan keamanan.

  1. Jelajahi kemampuan IBM Z
  2. Temukan Telum untuk akselerasi AI
Catatan kaki

1 Serain, JD. "The World Depends on 60-Year-Old Code No One Knows Anymore", PCMag, Desember 2023.