ISO IEC 1989 Programming language COBOL

ISO IEC 1989 adalah Standar Internasional mengenai Teknologi Informasi, khususnya tentang bahasa pemrograman atau Programming language COBOL

Standar versi terbaru yang masih berlaku adalah terbitan tahun 2014 dengan judul berikut :

  • ISO/IEC 1989:2014 Information technology — Programming languages, their environments and system software interfaces — Programming language COBOL

Standar ISO/IEC 1989:2014

ISO/IEC 1989:2014 menentukan sintaks dan semantik COBOL.

 Tujuannya adalah untuk mempromosikan tingkat kemandirian mesin yang tinggi untuk memungkinkan penggunaan COBOL pada berbagai sistem pemrosesan data.

ISO/IEC 1989:2014 menetapkan:

  • bentuk grup kompilasi yang ditulis dalam COBOL;
  • pengaruh kompilasi grup kompilasi;
  • efek dari menjalankan unit yang dijalankan;
  • elemen bahasa yang membutuhkan implementasi yang sesuai untuk memberikan definisi;
  • unsur-unsur bahasa yang maknanya tidak didefinisikan secara eksplisit;
  • elemen bahasa yang bergantung pada kemampuan prosesor.

ISO/IEC 1989:2014 tidak menentukan:

  • cara dimana grup kompilasi yang ditulis dalam COBOL dikompilasi menjadi kode yang dapat dieksekusi oleh prosesor;
  • waktu di mana metode, fungsi, atau modul runtime program ditautkan atau diikat ke pernyataan pengaktifan, kecuali bahwa pengikatan runtime terjadi karena kebutuhan ketika identifikasi program atau metode yang sesuai tidak diketahui pada waktu kompilasi;
  • waktu di mana kelas dan antarmuka berparameter diperluas;
  • mekanisme di mana lokal ditentukan dan tersedia pada prosesor;
  • bentuk atau isi pesan kesalahan, penandaan, atau peringatan;
  • bentuk dan isi daftar yang dihasilkan selama kompilasi, jika ada;
  • bentuk dokumentasi yang dihasilkan oleh pelaksana produk yang sesuai dengan Standar Internasional ini;
  • berbagi sumber daya selain file di antara unit yang dijalankan.

Penerbitan Standar ISO/IEC 1989:2014

Standar ini diterbitkan dan dipublikasikan pada Juni 2014, berupa dokumen edisi 2 dengan jumlah halaman sebanyak 927 lembar.

Disusun oleh :

  • Technical Committee ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces, atau : Komite Teknis ISO/IEC JTC 1/SC 22 Bahasa pemrograman, lingkungannya, dan antarmuka perangkat lunak sistem.

ICS :

  • 35.060 Languages used in information technology, atau : 35.060 Bahasa yang digunakan dalam teknologi informasi

Dengan terbitnya standar ini, maka standar sebelumnya dinyatakan tidak berlaku dan ditarik yakni :

  • ISO/IEC 1989: 2002
  • ISO/IEC 1989:2002/COR 1:2006
  • ISO/IEC 1989:2002/COR 2:2006
  • ISO/IEC 1989:2002/COR 3:2009

Sebagaimana standar ISO lainnya, ISO/IEC 1989:2014 ini juga ditinjau setiap 5 tahun dan peninjauan sudah mencapai tahap 90.92 (untuk direvisi).

Saat ini, badan ISO tengah melakukan pengembangan standar pengganti yakni ISO/IEC DIS 1989.

Isi Standar ISO/IEC 1989:2014

Berikut adalah kutipan isi Standar ISO/IEC 1989:2014 yang diambil dari Online Browsing Platform (OBP) dari situs resmi iso.org.

Yang ditambah dengan berbagai keterangan dan informasi untuk mempermudah pemahaman pembaca.

Hanya bagian standar yang informatif yang tersedia untuk umum, OBP hanya menampilkan hingga klausa 4 saja.

Oleh karena itu, untuk melihat konten lengkap dari standar ini, maka pembaca harus membeli standar dari ISO ini secara resmi.

Daftar Isi Standar ISO/IEC 1989:2014

0-12

  • Foreword
  • Introduction
  • 1 Scope
  • 2 Normative references
  • 3 Conformance to this International Standard
  • 3.1 General
  • 3.2 A conforming implementation
  • 3.3 A conforming compilation group
  • 3.4 A conforming run unit
  • 3.5 Relationship of a conforming compilation group to a conforming implementation
  • 3.6 Relationship of a conforming run unit to a conforming implementation
  • 4 Terms and definitions
  • 5 Description techniques
  • 5.1 General
  • 5.2 General formats
  • 5.3 Rules
  • 5.4 Arithmetic expressions
  • 5.5 Integer operands
  • 5.6 Informal description
  • 5.7 Hyphens in text
  • 5.8 Forms of common verbs used in this International Standard
  • 5.9 Notes and examples
  • 6 Reference format
  • 6.1 General
  • 6.2 Indicators
  • 6.3 Fixed-form reference format
  • 6.4 Free-form reference format
  • 6.5 Logical conversion
  • 7 Compiler directing facility
  • 7.1 General
  • 7.2 Text manipulation
  • 7.3 Compiler directives
  • 8 Language fundamentals
  • 8.1 Character sets
  • 8.2 Locales
  • 8.3 Lexical elements
  • 8.4 References
  • 8.5 Data description and representation
  • 8.6 Scope and life cycle of data
  • 8.7 Operators
  • 8.8 Expressions
  • 8.9 Reserved words
  • 8.10 Context-sensitive words
  • 8.11 Intrinsic function names
  • 8.12 Compiler-directive words
  • 8.13 External repository
  • 9 I-O, objects, and user-defined functions
  • 9.1 Files
  • 9.2 Screens
  • 9.3 Objects
  • 9.4 User-defined functions
  • 10 Structured compilation group
  • 10.1 General
  • 10.2 Compilation units
  • 10.3 Source units
  • 10.4 Contained source units
  • 10.5 Source elements and runtime elements
  • 10.6 COBOL compilation group
  • 10.7 End markers
  • 11 Identification division
  • 11.1 General
  • 11.2 Identification division structure
  • 11.3 CLASS-ID paragraph
  • 11.4 FACTORY paragraph
  • 11.5 FUNCTION-ID paragraph
  • 11.6 INTERFACE-ID paragraph
  • 11.7 METHOD-ID paragraph
  • 11.8 OBJECT paragraph
  • 11.9 OPTIONS paragraph
  • 11.10 PROGRAM-ID paragraph
  • 12 Environment division
  • 12.1 General
  • 12.2 Environment division structure
  • 12.3 Configuration section
  • 12.4 Input-output section

13-14

  • 13 Data division
  • 13.1 General
  • 13.2 Data division structure
  • 13.3 Explicit and implicit attributes
  • 13.4 File section
  • 13.5 Working-storage section
  • 13.6 Local-storage section
  • 13.7 Linkage section
  • 13.8 Report section
  • 13.9 Screen section
  • 13.10 Constant entry
  • 13.11 Record description entry
  • 13.12 Type declaration entry
  • 13.13 77-level data description entry
  • 13.14 Report description entry
  • 13.15 Report group description entry
  • 13.16 Data description entry
  • 13.17 Screen description entry
  • 13.18 Data division clauses
  • 14 Procedure division
  • 14.1 General
  • 14.2 Procedure division structure
  • 14.3 Declaratives
  • 14.4 Procedures
  • 14.5 Procedural statements and sentences
  • 14.6 Execution
  • 14.7 Common phrases and features for statements
  • 14.8 Conformance for parameters and returning items
  • 14.9 Statements

15-16

  • 15 Intrinsic functions
  • 15.1 General
  • 15.2 Types of functions
  • 15.3 Arguments
  • 15.4 Returned values
  • 15.5 Date and time conversion functions
  • 15.6 Summary of functions
  • 15.7 ABS function
  • 15.8 ACOS function
  • 15.9 ANNUITY function
  • 15.10 ASIN function
  • 15.11 ATAN function
  • 15.12 BOOLEAN-OF-INTEGER function
  • 15.13 BYTE-LENGTH function
  • 15.14 CHAR function
  • 15.15 CHAR-NATIONAL function
  • 15.16 COMBINED-DATETIME function
  • 15.17 COS function
  • 15.18 CURRENT-DATE function
  • 15.19 DATE-OF-INTEGER function
  • 15.20 DATE-TO-YYYYMMDD function
  • 15.21 DAY-OF-INTEGER function
  • 15.22 DAY-TO-YYYYDDD function
  • 15.23 DISPLAY-OF function
  • 15.24 E function
  • 15.25 EXCEPTION-FILE function
  • 15.26 EXCEPTION-FILE-N function
  • 15.27 EXCEPTION-LOCATION function
  • 15.28 EXCEPTION-LOCATION-N function
  • 15.29 EXCEPTION-STATEMENT function
  • 15.30 EXCEPTION-STATUS function
  • 15.31 EXP function
  • 15.32 EXP10 function
  • 15.33 FACTORIAL function
  • 15.34 FORMATTED-CURRENT-DATE function
  • 15.35 FORMATTED-DATE function
  • 15.36 FORMATTED-DATETIME function
  • 15.37 FORMATTED-TIME function
  • 15.38 FRACTION-PART function
  • 15.39 HIGHEST-ALGEBRAIC function
  • 15.40 INTEGER function
  • 15.41 INTEGER-OF-BOOLEAN function
  • 15.42 INTEGER-OF-DATE function
  • 15.43 INTEGER-OF-DAY function
  • 15.44 INTEGER-OF-FORMATTED-DATE function
  • 15.45 INTEGER-PART function
  • 15.46 LENGTH function
  • 15.47 LOCALE-COMPARE function
  • 15.48 LOCALE-DATE function
  • 15.49 LOCALE-TIME function
  • 15.50 LOCALE-TIME-FROM-SECONDS function
  • 15.51 LOG function
  • 15.52 LOG10 function
  • 15.53 LOWER-CASE function
  • 15.54 LOWEST-ALGEBRAIC function
  • 15.55 MAX function
  • 15.56 MEAN function
  • 15.57 MEDIAN function
  • 15.58 MIDRANGE function
  • 15.59 MIN function
  • 15.60 MOD function
  • 15.61 NATIONAL-OF function
  • 15.62 NUMVAL function
  • 15.63 NUMVAL-C function
  • 15.64 NUMVAL-F function
  • 15.65 ORD function
  • 15.66 ORD-MAX function
  • 15.67 ORD-MIN function
  • 15.68 PI function
  • 15.69 PRESENT-VALUE function
  • 15.70 RANDOM function
  • 15.71 RANGE function
  • 15.72 REM function
  • 15.73 REVERSE function
  • 15.74 SECONDS-FROM-FORMATTED-TIME function
  • 15.75 SECONDS-PAST-MIDNIGHT function
  • 15.76 SIGN function
  • 15.77 SIN function
  • 15.78 SQRT function
  • 15.79 STANDARD-COMPARE function
  • 15.80 STANDARD-DEVIATION function
  • 15.81 SUM function
  • 15.82 TAN function
  • 15.83 TEST-DATE-YYYYMMDD function
  • 15.84 TEST-DAY-YYYYDDD function
  • 15.85 TEST-FORMATTED-DATETIME function
  • 15.86 TEST-NUMVAL function
  • 15.87 TEST-NUMVAL-C function
  • 15.88 TEST-NUMVAL-F function
  • 15.89 TRIM function
  • 15.90 UPPER-CASE function
  • 15.91 VARIANCE function
  • 15.92 WHEN-COMPILED function
  • 15.93 YEAR-TO-YYYY function
  • 16 Standard classes
  • 16.1 General
  • 16.2 BASE class

Lampiran

  • Annex A Language element lists
  • A.1 Implementor-defined language element list
  • A.2 Undefined language element list
  • A.3 Processor-dependent language element list
  • A.4 Optional language element list
  • Annex B Characters permitted in user-defined words
  • B.1 General
  • B.2 Notation
  • B.3 Repertoire of characters permitted in user-defined words
  • Annex C Mapping of uppercase letters to lowercase letters
  • C.1 Notations
  • C.2 General case mappings
  • C.3 Additional case mappings
  • Annex D Concepts
  • D.1 General
  • D.2 Files
  • D.3 Tables and dynamic-length elementary items
  • D.4 Shared memory area
  • D.5 Sharing of storage among data items
  • D.6 Compilation group and run unit organization and communication
  • D.7 Intrinsic function facility
  • D.8 Types
  • D.9 Addresses and pointers
  • D.10 Boolean support and bit manipulation
  • D.11 Character sets
  • D.12 Collating sequences
  • D.13 Culturally-specific, culturally-adaptable, and multilingual applications
  • D.14 External switches
  • D.15 Common exception processing
  • D.16 Rounding
  • D.17 Forms of arithmetic
  • D.18 Object oriented concepts
  • D.19 Report writer
  • D.20 Structured constant
  • D.21 Validate facility
  • D.22 Conditional expressions
  • D.23 Examples of the execution of the INSPECT statement
  • D.24 Examples of the execution of the PERFORM statement
  • D.25 Example of free-form reference format
  • D.26 Conditional compilation
  • D.27 CALL-CONVENTION directive
  • D.28 ENTRY-CONVENTION clause
  • D.29 Date and time handling
  • D.30 Alternatives to HIGHEST-ALGEBRAIC and LOWEST-ALGEBRAIC FUNCTIONS
  • Annex E Substantive changes list
  • E.1 General
  • E.2 Substantive changes potentially affecting existing programs
  • E.3 Substantive changes not affecting existing programs
  • Annex F Archaic and obsolete language element lists
  • F.1 Archaic language elements
  • F.2 Obsolete language elements
  • Annex G Known errors in the standard
  • G.1 Rationale
  • G.2 List of errors
  • BIBLIOGRAPHY

Kata pengantar

Sebagaimana tercantum dalam “Klausa 0 Foreword”, bahwa :

ISO (Organisasi Internasional untuk Standardisasi) dan IEC (Komisi Elektroteknik Internasional) membentuk sistem khusus untuk standardisasi di seluruh dunia.

Badan-badan nasional yang menjadi anggota ISO atau IEC berpartisipasi dalam pengembangan Standar Internasional melalui komite teknis yang dibentuk oleh organisasi masing-masing untuk menangani bidang kegiatan teknis tertentu.

Komite teknis ISO dan IEC berkolaborasi dalam bidang kepentingan bersama.

Organisasi internasional lainnya, pemerintah dan non-pemerintah, bekerja sama dengan ISO dan IEC, juga ambil bagian dalam pekerjaan tersebut.

Di bidang teknologi informasi, ISO dan IEC telah membentuk komite teknis bersama, ISO/IEC JTC 1.

Standar Internasional disusun sesuai dengan aturan yang diberikan dalam Arahan ISO/IEC, Bagian 2.

Tugas utama komite teknis bersama adalah menyiapkan Standar Internasional.

Rancangan Standar Internasional yang diadopsi oleh komite teknis bersama diedarkan ke badan-badan nasional untuk pemungutan suara.

Publikasi sebagai Standar Internasional memerlukan persetujuan setidaknya 75% dari badan-badan nasional yang memberikan suara.

Perhatian diberikan pada kemungkinan bahwa beberapa elemen dari dokumen ini dapat menjadi subyek hak paten.

ISO dan IEC tidak bertanggung jawab untuk mengidentifikasi setiap atau semua hak paten tersebut.

ISO/IEC 1989 disiapkan oleh :

  • Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces,
  • atau : Komite Teknis Bersama ISO/IEC JTC 1, Teknologi informasi, Subkomite SC 22, Bahasa pemrograman, lingkungan mereka dan antarmuka perangkat lunak sistem.

Yang bekerja sama dengan INCITS PL22.4 – Programming Language COBOL.

Edisi kedua ini membatalkan dan menggantikan edisi pertama (ISO/IEC 1989:2002), yang telah direvisi secara teknis.

Ini juga menggabungkan Corrigenda Teknis ISO/IEC 1989:2002/Cor.1:2006, ISO/IEC 1989:2002/Cor.2:2006 dan ISO/IEC 1989:2002/Cor.3:2009.

Mengenal ISO dan IEC

ISO (International Organization for Standardization) adalah suatu organisasi atau lembaga nirlaba internasional.

Tujuan dari ISO adalah untuk membuat dan memperkenalkan standar dan standardisasi internasional untuk berbagai tujuan.

Sebagaimana dengan ISO, IEC juga merupakan organisasi standardisasi internasional yang menyusun dan menerbitkan standar-standar internasional.

Namun ruang lingkupnya adalah untuk seluruh bidang elektrik, elektronik dan teknologi yang terkait atau bidang teknologi elektro (electrotechnology).

Lebih jelas mengenai ISO dan IEC dapat dibaca pada artikel lain dari standarku.com berikut :

Pengantar Standar

Sebagaimana tercantum dalam “Klausa 0 Introduction”, bahwa :

COBOL dimulai sebagai bahasa pemrograman bisnis, tetapi penggunaannya saat ini telah menyebar jauh lebih jauh ke bahasa pemrograman tujuan umum.

Peningkatan signifikan dalam Standar Internasional ini meliputi:

  • Tabel kapasitas dinamis
  • Item dasar dengan panjang dinamis
  • Dukungan lokal yang ditingkatkan dalam fungsi
  • Penunjuk fungsi
  • Peningkatan batas ukuran pada literal alfanumerik, boolean, dan nasional
  • Polimorfisme parametrik (juga dikenal sebagai metode overloading)
  • Konstanta terstruktur
  • Dukungan untuk aturan aritmatika standar industri
  • Dukungan untuk format tanggal dan waktu standar industri
  • Dukungan untuk format floating-point standar industri
  • Dukungan untuk beberapa opsi pembulatan

Lampiran :

  • A, B, dan C merupakan bagian normatif dari Standar Internasional ini. Lampiran D sampai G hanya untuk informasi.
  • D, Konsep, mencakup penjelasan fitur utama serta fitur sebelumnya yang lebih rumit dan merupakan titik awal yang disarankan untuk membaca dokumen ini.
  • Daftar lengkap perubahan teknis diberikan dalam Lampiran E.

Standar COBOL sebelumnya diterbitkan pada tahun 2002.

Para pelaksana telah menyediakan ekstensi bahasa sebagai tanggapan atas permintaan penggunanya.

Oleh karena itu, beberapa perubahan dan perluasan telah dibuat dalam Standar Internasional ini untuk mencegah perbedaan lebih lanjut, dan untuk memastikan konsistensi di antara, dan koherensi di dalam, berbagai implementasi.

Pengembangan bahasa COBOL dimulai sebelum penemuan teknik formal untuk spesifikasi bahasa pemrograman.

Oleh karena itu, standar COBOL menggunakan teknik deskripsinya sendiri, yang dijelaskan dalam 5, teknik Deskripsi.

Teknik ini melibatkan format umum, yang menggambarkan sintaks, dan bahasa alami.

Selama pengembangan Standar Internasional ini, sangat hati-hati diambil untuk meminimalkan perubahan yang akan mempengaruhi program yang ada.

 Sebagian besar perubahan substantif yang berpotensi mempengaruhi program yang ada diperkenalkan untuk menyelesaikan ambiguitas dalam standar COBOL sebelumnya.

Rincian perubahan substantif diberikan dalam Lampiran E, Daftar perubahan substantif.

ISO/IEC 1989:2014 Klausa 1-4

1 Scope : Lingkup

Standar Internasional ini menentukan sintaks dan semantik COBOL.

Tujuannya adalah untuk mempromosikan tingkat kemandirian mesin yang tinggi untuk memungkinkan penggunaan COBOL pada berbagai sistem pemrosesan data.

Standar Internasional ini menetapkan:

  • Bentuk grup kompilasi yang ditulis dalam COBOL.
  • Efek kompilasi grup kompilasi.
  • Efek dari menjalankan unit yang dijalankan.
  • Elemen bahasa yang membutuhkan implementasi yang sesuai untuk memberikan definisi.
  • Unsur-unsur bahasa yang maknanya tidak didefinisikan secara eksplisit.
  • Elemen bahasa yang bergantung pada kemampuan prosesor.

Standar Internasional ini tidak menentukan:

  • Cara grup kompilasi yang ditulis dalam COBOL dikompilasi menjadi kode yang dapat dieksekusi oleh prosesor.
  • Waktu di mana metode, fungsi, atau modul runtime program ditautkan atau diikat ke pernyataan pengaktifan, kecuali bahwa pengikatan runtime terjadi karena kebutuhan ketika identifikasi program atau metode yang sesuai tidak diketahui pada waktu kompilasi.
  • Waktu di mana kelas dan antarmuka berparameter diperluas.
  • Mekanisme di mana lokal ditentukan dan tersedia pada prosesor.
  • Bentuk atau isi pesan kesalahan, penandaan, atau peringatan.
  • Bentuk dan isi daftar yang dihasilkan selama kompilasi, jika ada.
  • Bentuk dokumentasi yang dihasilkan oleh pelaksana produk yang sesuai dengan Standar Internasional ini.
  • Berbagi sumber daya selain file di antara unit yang dijalankan.

2 Normative references  : Referensi normatif

Dokumen referensi berikut sangat diperlukan untuk penerapan dokumen ini. Untuk referensi bertanggal, hanya edisi yang dikutip yang berlaku.

Untuk referensi yang tidak bertanggal, berlaku edisi terbaru dari dokumen yang diacu (termasuk amandemennya).

  • ISO/IEC/IEEE 60559: 2011, Information technology — Microprocessor systems — Floating-Point Arithmetic.
  • ISO/IEC 646, Information technology — ISO 7-bit coded character set for information interchange.
  • ISO/IEC 1001:2012, Information technology — File structure and labelling of magnetic tapes for information interchange.
  • ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times.
  • ISO/IEC/IEEE 9945:2009, Information technology — Portable Operating System Interface (POSIX®) Base Specifications, Issue 7.
  • ISO/IEC 10646, Information technology — Universal Coded Character Set (UCS).
  • ISO/IEC 14651:2011, Information technology — International string ordering and comparison — Method for comparing character strings and description of the common template tailorable ordering.

4 Terms and definitions :  Istilah dan definisi

Untuk tujuan dokumen ini, istilah dan definisi berikut berlaku.

ISO IEC 1989 Klausa 4.1 – 4.190

Dikarenakan isi Klausa 4 terlalu panjang, maka pembaca bisa melanjutkan ke artikel lanjutan dari standarku.com berikut :

  • ISO IEC 1989 Klausa 4.1 – 4.91

Penutup

Demikian artikel dari standarku.com mengenai Standar ISO/IEC 1989:2014.

Mohon saran dari pembaca untuk kelengkapan isi artikel ini, silahkan saran tersebut dapat disampaikan melalui kolom komentar.

Baca artikel lain :

Sumber referensi :

Leave a Comment