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.
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
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.
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 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:
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 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.
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.
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 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 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 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 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.
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.
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:
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.
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:
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.
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.
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.
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).
IBM zSystems adalah rangkaian perangkat keras z/Architecture modern yang menjalankan perangkat lunak z/OS, Linux, z/VSE, TPF, z/VM, dan zSystems.
Dibangun untuk menangani beban kerja yang sangat penting dengan tetap menjaga keamanan, keandalan, dan kendali atas seluruh infrastruktur IT Anda.
Percepat transformasi digital dengan memodernisasi aplikasi mainframe Anda dengan IBM.
1 Serain, JD. "The World Depends on 60-Year-Old Code No One Knows Anymore", PCMag, Desember 2023.