Penyiapan GnuCOBOL

Memasang GnuCOBOL 3.2, memeriksa versi compiler, serta kompilasi dan eksekusi pertama dengan cobc.

Daftar isi

Topik ini menyiapkan lingkungan belajar COBOL dari nol, mulai dari pemasangan GnuCOBOL pada Linux, pemeriksaan versi compiler, sampai kompilasi dan eksekusi program pertama dengan perintah cobc. Setiap langkah disertai perintah dan keluaran nyatanya. Setelah langkah-langkahnya diikuti sampai akhir, perintah cobc siap digunakan untuk seluruh latihan pada jalur ini.

Memasang GnuCOBOL#

GnuCOBOL adalah compiler COBOL gratis dan open source yang dikelola sebagai proyek bebas di bawah payung GNU. Perangkatnya berupa perintah cobc yang membaca kode sumber COBOL, menerjemahkannya menjadi C, lalu menghasilkan program yang dapat dieksekusi dengan bantuan compiler C yang terpasang di sistem. Karena pola kerja itulah pemasangan GnuCOBOL biasanya menyertakan compiler C sebagai dependensinya, dan manajer paket akan menariknya secara otomatis.

GnuCOBOL didistribusikan sebagai paket pada hampir semua distribusi Linux utama. Pada Debian dan Ubuntu, paketnya bernama gnucobol3 atau gnucobol4 tergantung pada rilis yang menyediakannya di arsip paket (repository), sedangkan turunan keduanya menggunakan nama yang serupa. Nomor pada nama paket menunjukkan versi utama GnuCOBOL, dan seluruh contoh jalur ini diuji pada versi 3.2. Nama paket tidak selalu sama antar distribusi dan antar rilis, sehingga pemeriksaan nama dengan manajer paket terlebih dahulu menjadi langkah yang tepat.

Pada Debian dan Ubuntu, periksa ketersediaannya dengan perintah apt search gnucobol, lalu pasang nama paket yang muncul. Pada distribusi berbasis Fedora atau Arch, gunakan pencarian milik manajer paketnya, yaitu dnf search atau pacman -Ss. Apabila tidak ada paket biner untuk distribusi yang digunakan, kode sumber GnuCOBOL dapat dibangun sendiri sesuai petunjuk pada situs proyeknya, dengan syarat compiler C dan pustaka pendukungnya tersedia.

bash
# tidak-dijalankan
sudo apt update
sudo apt install gnucobol3

Memeriksa versi compiler#

Setelah pemasangan selesai, periksa versi compiler untuk memastikan perintah cobc dapat diakses dari terminal.

bash
# tampilkan versi compiler yang terpasang
cobc --version
text Keluaran
cobc (GnuCOBOL) 3.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart
Built     Sep 09 2024 19:57:37
Packaged  Jul 28 2023 17:02:56 UTC
C version "14.2.0"

Angka 3.2.0 pada baris pertama adalah versi yang digunakan seluruh contoh jalur ini. Baris-baris berikutnya mencantumkan pemegang hak cipta Free Software Foundation dan lisensi GNU GPL versi 3 atau lebih baru, yang menegaskan status GnuCOBOL sebagai perangkat lunak bebas. Baris Packaged menunjukkan tanggal 28 Juli 2023, yaitu tanggal peluncuran resmi versi 3.2. Baris terakhir, yaitu C version 14.2.0, mencatat versi compiler C yang digunakan ketika GnuCOBOL itu sendiri dibangun, dan angka ini boleh berbeda antar tempat pemasangan. Apabila perintah tersebut berakhir dengan pesan command not found, pemasangan belum berhasil atau lokasi biner cobc belum berada pada PATH, sehingga langkah pemasangan perlu diulang.

Program pertama: halo.cbl#

Bukti terakhir bahwa lingkungan sudah siap adalah program yang berhasil dikompilasi dan dieksekusi. Buat berkas halo.cbl di direktori latihan dengan isi berikut.

cobol halo.cbl
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HALO.
       PROCEDURE DIVISION.
           DISPLAY "Halo dari COBOL".
           STOP RUN.
text Keluaran
Halo dari COBOL

Program ini hanya menggunakan kerangka minimum COBOL. Pernyataan PROGRAM-ID memberi nama program, divisi PROCEDURE berisi instruksi yang dieksekusi dari atas ke bawah, DISPLAY mencetak satu baris teks, dan STOP RUN mengakhiri program. Berkasnya menggunakan ekstensi .cbl yang lazim untuk kode sumber COBOL, dan contohnya ditulis dengan format tetap warisan, yaitu penataan kolom yang menempatkan area kode mulai kolom 8. Kerangka lengkap empat divisi dan aturan formatnya akan dijumpai sepanjang jalur ini, sedangkan tujuan topik ini hanya satu, yaitu dua pernyataan pada divisi PROCEDURE berjalan tanpa error.

Kompilasi berkas tersebut menjadi program yang dapat dieksekusi dengan perintah berikut.

bash
# kompilasi halo.cbl menjadi program yang dapat dieksekusi
cobc -x halo.cbl

Bendera -x memerintahkan cobc menghasilkan program utuh yang siap dijalankan, bukan sekadar modul pustaka. Jalankan ./halo dari direktori yang sama. Baris “Halo dari COBOL” sebagaimana tercantum pada blok Keluaran di atas kemudian tampil di terminal. Dengan berakhirnya langkah ini, seluruh peralatan belajar COBOL sudah terpasang dan teruji.

Kesalahan umum#

  1. cobc: command not found saat memeriksa versi. Penyebabnya adalah paket yang belum terpasang atau lokasi biner cobc yang belum masuk PATH. Ulangi langkah pemasangan, lalu buka terminal baru agar PATH terbaru terbaca.

  2. Paket gnucobol3 tidak ditemukan pada arsip paket. Nama paket berbeda antar distribusi dan antar rilis, misalnya gnucobol4 pada rilis yang lebih baru. Cari nama yang benar dengan apt search gnucobol atau padanannya, lalu pasang nama yang tersedia.

  3. ./halo: No such file or directory setelah kompilasi. Penyebabnya adalah kompilasi tanpa bendera -x, sehingga cobc menghasilkan berkas modul halo.so dan bukan program yang dapat dieksekusi. Kompilasi ulang dengan cobc -x halo.cbl, dan hapus halo.so yang tertinggal bila perlu.

  4. Pesan error sintaks pada baris DISPLAY yang tampaknya sudah benar. Penyebabnya adalah tanda kutip keriting yang muncul bila kode disalin dari pengolah kata atau aplikasi pesan. Tulis dan simpan kode sumber dengan editor teks biasa, karena cobc hanya mengenali tanda kutip lurus.

Ringkasan#

  • GnuCOBOL terpasang melalui paket distribusi, dengan nama gnucobol3 atau gnucobol4 pada Debian dan Ubuntu serta nama serupa pada distribusi lain.
  • Perintah cobc --version menegaskan pemasangan, dan jalur ini menggunakan versi 3.2.0 yang dirilis pada 28 Juli 2023.
  • Program pertama dikompilasi dengan cobc -x halo.cbl lalu dieksekusi dengan ./halo.
  • Kompilasi tanpa -x menghasilkan modul halo.so, bukan program yang dapat dieksekusi.

Referensi#