text maarque kanan

INGATKAN DIRIMU UNTUK MENGATUR SEGALA SESUATU SUDAH DI ATUR ALLOH

salju

Selasa, 27 Desember 2011

Tutor Cobol

Pengantar COBOL



Pengantar
Satuan tujuan, sasaran, prasyarat.

Apa itu COBOL?
Sebuah pengantar singkat untuk bahasa pemrograman COBOL. Sebuah gambaran historis. COBOL adalah dominasi dalam domain komputasi bisnis. Karakteristik aplikasi COBOL. Beberapa alasan untuk sukses COBOL itu.

Pengantar Pemrograman
Bagian ini memberikan pengenalan lembut untuk pemrograman secara umum dan untuk pemrograman dalam COBOL khususnya dengan cara menulis beberapa program sederhana COBOL.

COBOL dasar
Bagian ini menyajikan dasar-dasar program COBOL membangun. Ini menjelaskan notasi yang digunakan dalam diagram sintaks COBOL, merinci COBOL pengkodean aturan, dan memeriksa struktur hirarkis program COBOL.

Empat Divisi
Menyediakan pengenalan struktur dan tujuan dari empat divisi COBOL.

Pengantar

Tujuan

Untuk memberikan pengenalan singkat ke bahasa pemrograman COBOL. Untuk memberikan konteks di mana penggunaannya bisa dipahami. Untuk memperkenalkan metabahasa yang digunakan untuk menggambarkan unsur-unsur sintaksis bahasa. Untuk memberikan pengenalan kepada struktur utama hadir dalam suatu program COBOL.

Tujuan

Pada akhir unit ini anda harus -
  1. Tahu apa yang COBOL singkatan singkatan.
  2. Jadilah menyadari pentingnya COBOL di pasar.
  3. Memahami beberapa alasan untuk keberhasilan COBOL itu.
  4. Dapat memahami diagram sintaks COBOL metabahasa.
  5. Jadilah menyadari aturan pengkodean COBOL
  6. Memahami struktur program COBOL
  7. Memahami tujuan dari IDENTIFIKASI, LINGKUNGAN, DATA dan divisi PROSEDUR.

Prasyarat

Tidak ada. Ini adalah unit pertama dalam kursus.

Apa itu COBOL?

Pengantar

COBOL adalah tingkat tinggi bahasa pemrograman pertama kali dikembangkan oleh Komite CODASYL (nference Co tentang Da ta Sy batang anguages ​​L) pada tahun 1960. Sejak itu, tanggung jawab untuk mengembangkan standar baru COBOL telah diasumsikan oleh American National Standards Institute (ANSI).
Tiga standar ANSI untuk COBOL telah diproduksi: pada tahun 1968, 1974 dan 1985. Sebuah standar baru COBOL memperkenalkan berorientasi objek pemrograman untuk COBOL, adalah karena dalam beberapa tahun mendatang.
Para COBOL Kata singkatan untuk CO anguage B isnis MMON L O riented. Sebagai akronim menunjukkan diperluas, COBOL dirancang untuk mengembangkan bisnis, biasanya berorientasi file, aplikasi. Hal ini tidak dirancang untuk menulis program sistem. Misalnya Anda tidak akan mengembangkan sebuah sistem operasi atau sebuah kompiler menggunakan COBOL.

Bagaimana banyak digunakan adalah COBOL?

Selama lebih dari empat dekade COBOL telah menjadi bahasa pemrograman yang dominan dalam domain komputasi bisnis. Dalam waktu itu ia telah melihat tantangan dari sejumlah bahasa lain seperti PL1,, Algol68 Pascal, Modula, Ada, C, C +. + Semua bahasa ini telah menemukan ceruk tetapi tidak ada yang belum mengungsi COBOL. Dua penantang terakhir meskipun, Jawa dan Visual Basic, terbukti menjadi pesaing serius.
COBOL dominasi di digarisbawahi oleh laporan dari kelompok Gartner.
Pada tahun 1997 mereka memperkirakan bahwa ada sekitar 300 milyar baris kode komputer digunakan di dunia. Dari bahwa mereka memperkirakan bahwa sekitar 80% (240 milyar baris) berada di COBOL dan 20% (60 milyar baris) ditulis dalam semua bahasa komputer lainnya digabungkan [ Brown ].
Pada tahun 1999 mereka melaporkan bahwa lebih dari 50% dari semua aplikasi mission-critical baru masih dilakukan dalam COBOL dan perkiraan terakhir mereka menunjukkan bahwa melalui 2004-2005 15% dari semua aplikasi yang baru (5 milyar baris) akan dikembangkan dalam COBOL sedangkan 80% dari semua aplikasi yang digunakan akan mencakup ekstensi untuk warisan yang ada (biasanya COBOL) program.
Gartner memperkirakan untuk tahun 2002 adalah bahwa ada sekitar dua juta COBOL programmer di seluruh dunia dibandingkan dengan sekitar sekitar satu juta programmer Java dan satu juta C + + programmer.

Terkejut oleh keberhasilan COBOL itu? Orang sering terkejut ketika dihadapkan dengan bukti dominasi COBOL di tempat pasar. Hype yang mengelilingi beberapa bahasa komputer akan membujuk Anda untuk percaya bahwa sebagian besar aplikasi produksi bisnis di dunia ditulis di Jawa, C, C + + atau Visual Basic dan bahwa hanya sebagian kecil ditulis dalam COBOL. Bahkan, sebaliknya adalah benar-benar terjadi.
Salah satu alasan untuk kesalahpahaman ini terletak pada perbedaan antara vertikal dan horisontal pasar perangkat lunak.
Di pasar perangkat lunak vertikal (kadang-kadang disebut "pesanan" perangkat lunak) aplikasi biaya jutaan dolar untuk memproduksi, ini dirancang untuk sebuah perusahaan tertentu, merangkum aturan bisnis perusahaan itu, dan hanya sejumlah terbatas salinan perangkat lunak mungkin dalam digunakan. Sebuah contoh yang baik dari jenis aplikasi adalah DoD MRP II sistem. Sistem ini adalah "digunakan untuk mengelola hampir 550.000 suku cadang dan perbaikan dan item peralatan dengan nilai persediaan $ 28000000000 Sistem berjalan pada mainframe Amdahl di beberapa lokasi di seluruh Amerika Serikat dan berisi lebih dari 4.000.000 baris kode COBOL.." [Http://www.uppermohawkinc.com/corporate_capabilities.htm]
Di pasar perangkat lunak horisontal, aplikasi masih dapat biaya jutaan dolar untuk memproduksi tapi ribuan, dan dalam beberapa kasus jutaan, salinan perangkat lunak yang digunakan. Akibatnya, aplikasi ini sering memiliki profil yang sangat tinggi, umur pendek, dan biaya per-salinan pengganti relatif rendah. Microsoft Office suite (Word, Excel, Access) adalah contoh dari sebuah aplikasi di pasar perangkat lunak horisontal. Karena sifat yang sangat kompetitif dari pasar pertimbangan kecepatan, ukuran dan efisiensi sering membuat bahasa seperti C atau C + + bahasa pilihan untuk membuat aplikasi ini.
Aplikasi ditulis untuk pasar vertikal, di sisi lain, seringkali memiliki profil rendah (karena mereka biasanya ditulis untuk digunakan dalam satu perusahaan tertentu), biaya per-salinan pengganti yang sangat tinggi, dan akibatnya, waktu hidup yang sangat panjang. Sebagai contoh, biaya penggantian kode COBOL telah diperkirakan sekitar dua puluh lima dolar ($ 25) per baris kode. Pada tingkat ini, biaya penggantian sistem MRP II DoD disebutkan di atas, dengan sistem ditulis dalam beberapa bahasa lainnya, akan ada yang seratus juta dolar ($ 100.000.000). Pentingnya kemudahan pemeliharaan sering membuat COBOL bahasa pilihan untuk aplikasi ini.
Visibilitas tinggi aplikasi horisontal seperti Microsoft Word atau Excel membujuk orang bahwa bahasa yang digunakan untuk menulis aplikasi ini adalah pemimpin pasar. Tapi bagaimanapun banyak salinan Excel yang dijual, itu hanya satu aplikasi yang dihasilkan oleh sejumlah programmer. Programmer lebih banyak terlibat dalam coding atau mempertahankan satu dari, "dipesan lebih dahulu", aplikasi. Dan ini umumnya programmer menulis program mereka dalam COBOL.

Beberapa karakteristik dari aplikasi COBOL Seperti dicontohkan oleh contoh MRP Departemen Pertahanan II di atas, aplikasi COBOL seringkali sangat besar. Banyak aplikasi COBOL terdiri dari lebih dari 1.000.000 baris kode - dengan 6.000.000 + aplikasi garis tidak dianggap luar biasa besar di banyak toko.
Aplikasi COBOL juga sangat panjang-hidup. Investasi yang besar dalam menciptakan sebuah aplikasi perangkat lunak yang terdiri dari beberapa jutaan baris kode COBOL berarti bahwa aplikasi tidak bisa hanya dibuang ketika beberapa bahasa pemrograman baru atau teknologi muncul. Sebagai aplikasi bisnis konsekuensi antara 10 dan 30 tahun-tahun yang umum. Akun ini untuk dominasi program COBOL dalam masalah tahun 2000 (12.000.000 aplikasi COBOL 375.000 vs C dan C + + aplikasi di Amerika Serikat saja - [ Capers Jones ]). Dua puluh tahun lalu ketika programmer sedang menulis aplikasi ini mereka hanya tidak mengantisipasi bahwa mereka akan terakhir ke milenium ini.
Aplikasi COBOL sering berjalan di daerah-daerah penting dari bisnis. Sebagai contoh, lebih dari 95% keuangan-asuransi data diproses dengan COBOL [ Dalam Pertahanan Cobol itu ]. Konsekuensi keuangan dan hukum serius yang dapat mengakibatkan kegagalan aplikasi dari adalah salah satu alasan untuk panik dekat atas masalah tahun 2000.
Aplikasi COBOL sering berurusan dengan volume besar data. File produksi tunggal dan database diukur dalam terabyte yang tidak biasa.

Beberapa karakteristik yang berkontribusi terhadap keberhasilan COBOL yang COBOL mendokumentasikan diri
Salah satu tujuan desain untuk COBOL adalah memungkinkan untuk non-programmer seperti supervisor, manajer dan pengguna, untuk membaca dan memahami kode COBOL. Akibatnya, COBOL berisi seperti Inggris-seperti elemen struktur sebagai verba, klausa, kalimat, bagian dan divisi. Seperti yang terjadi, tujuan desain itu tidak menyadari. Manajer dan pengguna saat ini tidak membaca program COBOL. Program komputer yang terlalu rumit untuk orang awam kebanyakan untuk memahami mereka, namun akrab unsur sintaksis. Tapi tujuan desain dan efeknya pada sintaks COBOL telah memiliki satu efek samping penting. Ini telah membuat COBOL yang paling mudah dibaca dan dimengerti mendokumentasikan diri bahasa pemrograman yang digunakan saat ini. Hal ini juga membuatnya menjadi paling verbose.
Itu adalah mudah bagi programmer yang tidak terpakai ke paradigma pemrograman bisnis, di mana pemrograman dengan maksud untuk kemudahan pemeliharaan sangat penting, untuk mengabaikan keuntungan yang dibaca COBOL yang mengajarkan. Tidak hanya pembacaan ini umumnya membantu proses pemeliharaan tetapi program yang lebih tua mendapat lebih berharga pembacaan ini menjadi.
Ketika program yang baru, baik dalam program-komentar dan dokumentasi eksternal secara akurat mencerminkan kode program. Namun seiring waktu, sebagai revisi semakin banyak diterapkan untuk kode, itu akan keluar dari langkah dengan dokumentasi sampai dokumentasi sebenarnya adalah halangan untuk pemeliharaan daripada membantu. Sifat mendokumentasikan diri COBOL berarti bahwa masalah ini tidak separah dengan program COBOL karena dengan bahasa lain
Pembaca yang akrab dengan C atau C + + atau Java mungkin ingin mempertimbangkan bagaimana sulitnya menjadi untuk mempertahankan program yang ditulis dalam bahasa-bahasa. Program C yang Anda tulis sendiri cukup sulit untuk memahami ketika Anda datang kembali kepada mereka enam bulan kemudian. Pertimbangkan bagaimana jauh lebih sulit akan mengerti program yang telah ditulis lima belas tahun sebelumnya, oleh orang lain, dan yang sejak telah diubah dan ditambahkan oleh orang lain begitu banyak dokumentasi tidak lagi akurat mencerminkan kode program. Ini adalah mimpi buruk masih menunggu programmer pemeliharaan masa depan
COBOL sederhana
COBOL adalah bahasa yang sederhana (tidak ada pointer, fungsi pengguna tidak didefinisikan, tidak ada pengguna jenis didefinisikan) dengan lingkup terbatas fungsi. Ini mendorong gaya pemrograman yang sederhana mudah. Anehnya meskipun, meskipun keterbatasannya, COBOL telah membuktikan dirinya untuk menjadi cocok untuk domain masalah yang ditargetkan (komputasi bisnis). Kebanyakan program COBOL beroperasi dalam domain di mana kompleksitas program yang terletak pada aturan bisnis yang harus dikodekan bukan di kecanggihan struktur data atau algoritma diperlukan. Dan dalam kasus di mana algoritma yang canggih diperlukan COBOL biasanya memenuhi kebutuhan dengan kata kerja yang tepat seperti SORT dan SEARCH tersebut.
Kami disebutkan di atas bahwa COBOL adalah bahasa sederhana dengan lingkup terbatas fungsi. Dan itu adalah cara dulu tapi pengenalan OO-COBOL telah mengubah semua itu. OO-COBOL mempertahankan semua kelebihan dari versi sebelumnya tapi sekarang termasuk -
      • Ditetapkan Pengguna Fungsi
      • Orientasi Obyek
      • Karakter Nasional - Unicode
      • Beberapa mata uang Simbol
      • Adaptasi Budaya (Locales)
      • Memori dinamis Alokasi (pointer)
      • Validasi Data Validasi Menggunakan Kata Kerja Baru
      • Data Point biner dan Mengambang Jenis
      • Ditetapkan Pengguna Tipe Data
COBOL adalah non-proprietary (portabel)
Standar COBOL bukan milik vendor tertentu. Para vendor independen komite ANSI COBOL melegalkan formal, non-vendor tertentu sintaks dan semantik bahasa standar. COBOL telah porting ke platform perangkat keras hampir setiap - dari setiap mendukung Windows, untuk setiap falser Unix, untuk AS/400, VSE, OS / 2, DOS, VMS, Unisys, DG, VM, dan MVS.

COBOL maintainable
COBOL memiliki track record 30 tahun terbukti untuk pemeliharaan aplikasi, peningkatan dan dukungan produksi di tingkat perusahaan. Indikasi awal dari masalah adalah bahwa tahun 2000 COBOL aplikasi yang sebenarnya lebih murah untuk memperbaiki dari aplikasi yang ditulis dalam bahasa yang lebih baru. [ Capers Jones ] [ Kappleman ]
Salah satu alasan untuk pemeliharaan program COBOL telah diberikan di atas - pembacaan kode COBOL. Alasan lain adalah struktur kaku COBOL yang hirarkis. Dalam program COBOL semua referensi eksternal, seperti perangkat untuk, file, urutan perintah, urutan menyusun, simbol mata uang dan simbol titik desimal, didefinisikan di Divisi Lingkungan.
Ketika program COBOL pindah ke mesin baru, atau memiliki perangkat periferal baru terpasang, atau diharuskan untuk bekerja di negara yang berbeda; COBOL programmer tahu bahwa bagian-bagian program yang akan harus diubah untuk mengakomodasi perubahan ini akan terisolasi di Divisi Lingkungan. Dalam bahasa pemrograman lain, disiplin programmer bisa memastikan bahwa referensi bertanggung jawab untuk mengubah dibatasi pada satu bagian dari program, tetapi mereka hanya bisa dengan mudah menyebar ke seluruh program. Dalam program COBOL, programmer tidak punya pilihan. Struktur kaku hirarkis COBOL yang memastikan bahwa barang-barang dibatasi ke Divisi Lingkungan.

Referensi dan bacaan lebih lanjut

Dalam dokumen ini semi formal saya belum teliti dalam referensi semua souces saya telah digunakan. Karena itu saya ingin mengakui bahwa sebagian besar bahan faktual dan beberapa komentar dikumpulkan dari sumber-sumber berikut. Ini juga dapat berfungsi membaca sebagai lebih lanjut.
Sebagian besar bahan ini tersedia di web tapi sebagai web yang dinamis dan link yang semua untuk mudah patah saya tidak akan memberikan URL di sini. Anda akan harus mencari mereka.

Sumber Daya

Ankrum, T. Scott - COBOL - Sebuah Praktek Terbaik (September, 2001) - COBOLReport.com
Arranga, Edmund C. - The Viagrazation COBOL - COBOLwebler.com
Arranga, Edmund C. & Harga, Wilson - Segar dari Y2K, Apa selanjutnya untuk COBOL? (Maret / April 2000) - IEEE Software
Arranga dkk - Dalam Pertahanan COBOL ini: Roundtable Discussion (Maret / April 2000) - IEEE Software
Badower, Justin - COBOL: Yayasan masa depan - COBOLwebler.com
Brown, Gary DeWard - COBOL: Kegagalan yang tidak - COBOLReport.com
Burger, Thomas Wolfgang - COBOL di masa depan open source (Mei 2000) - IBM developerWorks: Linux: artikel Linux
Carr, Donald & Kizior, Ronald J. - Kasus Pendidikan Lanjutan COBOL (Maret / April 2000) - IEEE Software
Feiman, J. - Programming Survei Gartner Bahasa (Oktober 2001) - Gartner Penasehat
Kaca, Robert L. - Cobol - Sebuah Kontradiksi dan Enigma sebuah - KOMUNIKASI DARI ACM September 1997/Vol. 40, No 9
Jones, Capers - Dampak ekonomi global dari masalah perangkat lunak tahun 2000 (Jan, 1997)
Kappelman, Leon A. - Beberapa Berkat Y2K Strategis (Maret / April 2000) - IEEE Software
Kizior, Dr Ronald J. & Carr, Donald & Halpern, Dr Paul - Apa Profesional memikirkan Masa Depan COBOL?
Murach, Mike - Apakah COBOL Sekarat ... atau Maju? (Februari 2001) - The Cobol Newswire
Pagnan, Martin - Dapatkah Programmer Java Jadilah dialihkan ke Cobol? (Februari, 2002) - COBOLReport.com
Reimann, Artur-COBOL, Bahasa Pilihan - Lalu dan Sekarang (Januari, 2001) - COBOLReport.com
Sayles, Jonathan - COBOL dan Badan Usaha Legacy Aplikasi Pemrograman - MicroFocus Ltd
Silverberg, Fred, COBOL dan Pemrograman Paradigma Bisnis (1996)
Sneed, Harry M. - Evolusi COBOL - COBOLReport.com
Wilkinson, Stephanie - Dari Dustbin, Cobol Meningkat (Mei 2001) - eWeek

Pengantar Pemrograman

Pengantar

Dalam bagian ini pengenalan lembut untuk pemrograman secara umum, dan untuk pemrograman dalam COBOL pada khususnya, disediakan. Hal ini dilakukan dengan menulis beberapa program sederhana yang COBOL menggunakan tiga konstruksi pemrograman utama - urutan, Iterasi dan Seleksi.
Jangan khawatir jika Anda tidak memahami program tersebut pada saat ini. Tujuan utama dari bagian ini adalah untuk memberi Anda pertama melihat beberapa program COBOL sederhana.

Mari kita menulis sebuah program
Sebuah program adalah kumpulan pernyataan yang ditulis dalam bahasa komputer mengerti.
Sebuah komputer menjalankan laporan program satu demi satu secara berurutan hingga mencapai akhir program, kecuali beberapa pernyataan dalam program ini mengubah urutan eksekusi.
Para ilmuwan komputer telah menunjukkan bahwa program apapun dapat ditulis menggunakan tiga konstruksi pemrograman utama;

Urutan
Seleksi
Perulangan
Bagian ini memperkenalkan pemrograman COBOL dengan menulis beberapa program sederhana menggunakan COBOL konstruksi ini.

Urutan Spesifikasi Program

Kami ingin menulis sebuah program yang akan menerima dua nomor dari keyboard pengguna, kalikan mereka bersama-sama dan menampilkan hasilnya pada layar komputer.
Setiap program terdiri dari tiga hal utama;
  1. Laporan komputer yang dibutuhkan untuk melakukan pekerjaan itu
  2. Deklarasi untuk item data bahwa pernyataan komputer perlu.
  3. Sebuah rencana, atau algoritma, yang mengatur pernyataan dalam program komputer sehingga komputer mengeksekusi mereka dalam urutan yang benar.

Program Laporan dan item data

Apa COBOL laporan program yang akan kita perlu melakukan pekerjaan yang ditentukan di atas dan apa item data yang akan kita perlu mengakses?
Kita akan membutuhkan pernyataan untuk mengambil dalam jumlah pertama dan menyimpannya dalam lokasi memori bernama (variabel) - num1
      
MENERIMA num1.
Kita akan membutuhkan pernyataan untuk mengambil dalam jumlah kedua dan menyimpannya dalam lokasi memori bernama - num2
      
MENERIMA num2.
Kita akan membutuhkan pernyataan kepada kalikan dua angka bersama dan untuk menyimpan hasilnya di lokasi yang bernama - Hasil
      
MULTIPLY OLEH num1 num2 Hasil PEMBERIAN.
Kita akan membutuhkan pernyataan untuk menampilkan nilai di "Hasil" lokasi bernama memori pada layar komputer -
       DISPLAY "Hasil adalah =", Hasil.

Algoritma Mendapatkan hak Sekarang semua yang perlu kita lakukan untuk memiliki program kerja adalah untuk menyatakan item yang diperlukan untuk menyimpan data dan menempatkan pernyataan yang ditunjukkan di atas dalam urutan yang benar.
Klik untuk melihat animasi ini upaya kami untuk menulis sebuah program yang menghasilkan jawaban yang benar. Upaya-upaya menggambarkan pentingnya mengatur pernyataan dalam program sehingga mereka dieksekusi dalam urutan yang benar.

Mencoba 1
Mencoba 2
Mencoba 3

Karena program ini singkat, sederhana dan mudah dimengerti, Anda mungkin berpikir bahwa pemrograman kesalahan seperti ini tidak akan pernah terjadi. Tapi jangan tertipu - ketika menulis sebuah program yang lebih besar itu semua untuk mudah untuk membuat kesalahan dengan mencoba untuk menggunakan, atau output, isi item data sebelum itu telah ditetapkan nilai.

Tampilan dijelaskan pada program COBOL

Klik pada animasi di bawah ini untuk versi beranotasi program. Klik di manapun dalam animasi untuk melihat penjelasan pertama dan berikutnya.
Program Beranotasi

Program Seleksi Spesifikasi


Catatan bahwa ini contoh program tidak dimaksudkan untuk bersikap realistis. Misalnya, setidaknya, sebuah program yang beroperasi di dunia nyata harus memastikan bahwa data input divalidasi sebelum digunakan.
Menulis sebuah program yang menerima dua nomor dan operator dari pengguna dan kemudian melakukan perhitungan yang tepat untuk operator itu. Operator harus berupa penambahan (+) atau perkalian (*) operator.
Dalam contoh ini berjalan diasumsikan bahwa pengguna memasukan tanda penjumlahan (+) sebagai operator
Seleksi Program

Spesifikasi Program Iterasi

Menulis sebuah program yang menerima dua nomor dan operator dari pengguna dan kemudian melakukan perhitungan yang tepat untuk operator itu. Operator harus berupa penambahan (+) atau perkalian (*) operator.
Ini hanya contoh sebagian dijalankan. Ini mengikuti aliran kontrol melalui program hanya untuk satu dan setengah iterasi.
Iterasi Program

COBOL dasar

Pengantar

Bagian ini menyajikan dasar-dasar program COBOL membangun. Ini menjelaskan notasi yang digunakan dalam diagram sintaks COBOL dan merinci aturan pengkodean COBOL. Ini menunjukkan bagaimana user-defined nama yang dibangun dan memeriksa struktur program COBOL.

COBOL keanehan

COBOL adalah salah satu bahasa pemrograman tertua di gunakan. Akibatnya memiliki beberapa keistimewaan yang digunakan untuk programmer bahasa lain mungkin menemukan menjengkelkan.
Ketika COBOL dikembangkan (sekitar akhir tahun 1950-an) salah satu tujuan desain adalah untuk menjadikannya sebagai bahasa Inggris-seperti mungkin. Akibatnya, COBOL menggunakan konsep-konsep struktural biasanya terkait dengan prosa Inggris seperti bagian, paragraf dan kalimat. Ia juga memiliki daftar kata yang luas dilindungi dengan lebih dari 300 entri dan kata-kata dilindungi undang-undang sendiri, cenderung panjang. Program COBOL cenderung verbose terutama bila dibandingkan dengan bahasa seperti C.
Ketika COBOL dirancang, program ditulis pada bentuk pengkodean (lihat di bawah), menekan pada kartu punch, dan dimuat ke dalam komputer menggunakan pembaca kartu pukulan. Media ini (coding bentuk dan kartu punch) yang diperlukan kepatuhan terhadap pembatasan jumlah format yang beberapa implementasi COBOL masih menegakkan hari ini, lama setelah kebutuhan bagi mereka telah pergi.
Meskipun modern, COBOL (COBOL 85 dan OO-COBOL) telah memperkenalkan banyak konstruksi yang diperlukan untuk menulis dengan baik program terstruktur itu juga masih mempertahankan unsur-unsur yang, jika digunakan, membuat sulit, dan dalam beberapa kasus tidak mungkin, untuk menulis program yang baik.

Sintaks COBOL

Sintaks COBOL didefinisikan menggunakan notasi tertentu kadang-kadang disebut metabahasa COBOL.
Pada notasi ini, kata-kata dalam huruf besar disediakan kata-kata. Ketika mereka wajib digarisbawahi. Ketika tidak digarisbawahi mereka adalah "kebisingan" kata-kata, digunakan untuk pembacaan saja, dan adalah opsional. Karena pernyataan COBOL seharusnya dibaca seperti kalimat bahasa Inggris ada banyak kata-kata "noise".
Kata-kata dalam kasus campuran mewakili nama-nama yang harus dibuat oleh programmer (seperti nama item data).
Ketika material ditutupi dalam kurung kurawal {}, pilihan harus dibuat dari pilihan dalam kurung. Jika hanya ada satu pilihan maka item dalam wajib.
Bahan diapit oleh kurung siku [], menunjukkan bahwa materi adalah opsional, dan dapat dimasukkan atau dihilangkan seperti yang diperlukan.
Simbol elipsis ... (tiga titik), menunjukkan bahwa elemen sintaks sebelumnya dapat diulangi pada kebijaksanaan programmer.

Beberapa catatan tentang diagram sintaks

Untuk menyederhanakan diagram sintaks dan mengurangi jumlah aturan yang harus dijelaskan, dalam beberapa diagram khusus operan ujung telah digunakan (catatan bahwa ini adalah perpanjangan saya sendiri - tidak COBOL standar).
Ujung-ujung operan khusus memiliki arti sebagai berikut:
$ I menggunakan data item-alfanumerik
$ Il menggunakan data item-alfanumerik atau string literal
# I menggunakan data item-numerik
# Il menggunakan data numerik item atau literal numerik
$ # I menggunakan numerik atau alfanumerik Data-item

Contoh diagram sintaks


Perhatikan bahwa untuk item kejelasan data dapat dipisahkan satu sama lain melalui sebuah koma opsional.
Hal ini telah dilakukan dalam pernyataan yang berlawanan menghitung
Dalam COBOL, mengevaluasi ekspresi aritmatika dan menempatkan hasilnya ke item data dicapai dengan cara menghitung pernyataan. Diagram sintaks untuk menghitung ditampilkan di bawah.
Diagram sintaks dapat ditafsirkan sebagai berikut;
Kita harus memulai pernyataan Hitunglah dengan kata kunci menghitung.
Kita harus mengikuti kata kunci dengan nama (s) dari item data numerik (atau item - catatan elipsis (...)) simbol yang akan digunakan untuk menerima hasil dari ekspresi. Para # i akhiran pada akhir kata Hasil memberitahu kita bahwa item identifier / data numerik harus digunakan.
Karena simbol elipsis ditempatkan di luar kurung kurawal kita bisa menafsirkan ini berarti bahwa masing-masing bidang dapat memiliki fase hasilnya sendiri bulat. Dengan kata lain kita bisa menghitung sebuah pernyataan seperti -

Hitung Result1 bulat, Result2 = ((9 * 9) +8) / 5
mana Result1 akan diberi nilai 18 dan Result2 akan diberi nilai 17,8.
Tanda kurung setelah Ekspresi aritmatika menunjukkan bahwa item berikutnya adalah opsional, tetapi jika digunakan kita harus memilih antara UKURAN ERROR ON atau frase ERROR BUKAN PADA UKURAN.
Karena AKHIR-menghitung terkandung dalam kurung persegi itu hanya harus digunakan ketika sebuah KESALAHAN UKURAN atau TIDAK frase UKURAN ERROR digunakan.

COBOL pengkodean aturan

Secara tradisional, program COBOL ditulis pada bentuk coding dan kemudian menekan ke kartu punch. Meskipun program saat ini sebagian besar dimasukkan secara langsung ke dalam komputer, beberapa konvensi format COBOL tetap yang berasal dari sejarah kuno punch-card.
Pada bentuk coding, enam posisi karakter pertama yang disediakan untuk nomor urut. Posisi Karakter ketujuh adalah dicadangkan untuk kelanjutan karakter, atau untuk asterisk yang menunjukkan sebuah baris komentar.
Program teks yang sebenarnya dimulai di kolom 8. Keempat posisi 8-11 yang dikenal sebagai Area A, dan posisi 12-72 adalah Wilayah B.
Meskipun banyak COBOL compiler mengabaikan beberapa pembatasan format, sebagian besar masih mempertahankan perbedaan antara Daerah A dan Daerah B.
Ketika compiler COBOL mengakui dua daerah, semua nama divisi, nama bagian, nama paragraf, FD entri dan 01 nomor tingkat harus dimulai dalam A. Wilayah Semua kalimat-kalimat lainnya harus mulai di Area B.
Dalam program contoh kita menggunakan direktif kompiler (tersedia dengan NetExpress COBOL compiler) - $ SET SOURCEFORMAT "GRATIS" - untuk membebaskan kita dari pembatasan ini format.
COBOL Kuno pengkodean bentuk

Nama konstruksi

Semua nama user-defined, seperti data nama, nama paragraf, nama nama bagian kondisi dan nama mnemonik, harus mematuhi aturan berikut:
  1. Mereka harus mengandung setidaknya satu karakter, tetapi tidak lebih dari 30 karakter.
  2. Mereka harus mengandung setidaknya satu karakter abjad.
  3. Mereka tidak harus dimulai atau diakhiri dengan tanda hubung.
  4. Mereka harus dibangun dari karakter A sampai Z, angka 0 sampai 9, dan tanda hubung.
  5. Mereka tidak harus mengandung spasi.
  6. Nama tidak case-sensitif: TotalPay adalah sama seperti totalpay, Totalpay atau TOTALPAY.

Struktur program COBOL

Program COBOL yang hirarkis dalam struktur. Setiap elemen hirarki terdiri dari satu atau lebih elemen bawahan.
Hirarki terdiri dari Divisi, Bagian, Paragraf, Kalimat dan Laporan.
Divisi dapat mengandung satu atau lebih Bagian, Bagian satu atau lebih ayat, sebuah ayat satu atau lebih Kalimat dan Kalimat satu atau lebih Laporan.
Kita dapat merepresentasikan hirarki COBOL menggunakan metabahasa COBOL sebagai berikut;
Divisi
Divisi adalah sebuah blok kode, biasanya mengandung satu atau lebih bagian, yang dimulai di mana nama divisi ditemui dan berakhir dengan awal divisi berikutnya atau dengan akhir teks program.

Bagian
Bagian adalah sebuah blok kode biasanya berisi satu atau lebih paragraf. Bagian A dimulai dengan nama bagian dan berakhir di mana nama bagian berikutnya adalah ditemui atau di mana teks program berakhir.
Nama bagian yang dirancang oleh programmer, atau didefinisikan oleh bahasa. Sebuah nama bagian diikuti oleh BAGIAN kata dan periode.
Lihat contoh dua nama di bawah ini -
SelectUnpaidBills BAGIAN.
BAGIAN FILE.
Paragraf
Paragraf adalah sebuah blok kode yang terdiri dari satu atau lebih kalimat. Sebuah ayat dimulai dengan nama ayat dan diakhiri dengan paragraf berikutnya atau nama bagian atau akhir dari teks program.
Sebuah nama ayat ini dirancang oleh programmer atau didefinisikan oleh bahasa, dan diikuti oleh suatu periode.
Lihat contoh dua nama di bawah ini -
PrintFinalTotals.
PROGRAM-ID.
Kalimat dan pernyataan
Sebuah kalimat terdiri dari satu atau lebih pernyataan dan diakhiri oleh suatu periode.
Sebagai contoh:
PINDAHKAN KE VatRate .21
PINDAHKAN KE 1235,76 ProductCost
Hitung VatAmount = ProductCost * VatRate.

Sebuah pernyataan terdiri dari verba COBOL dan operan atau operan.
Sebagai contoh:
Kurangi Pajak PEMBERIAN DARI GrossPay NetPay

Empat Divisi

Pengantar

Di bagian atas hirarki COBOL adalah empat divisi. Ini membagi program ke dalam elemen struktur yang berbeda. Meskipun beberapa divisi dapat diabaikan, urutan di mana mereka ditetapkan adalah tetap, dan harus mengikuti perintah di bawah ini.

IDENTIFIKASI DIVISI.
Berisi informasi program
LINGKUNGAN DIVISI.
Berisi informasi lingkungan
DATA DIVISION.
Berisi deskripsi data yang
PROSEDUR DIVISI.
Berisi algoritma program yang

Para DIVISI IDENTIFIKASI

Para DIVISI IDENTIFIKASI pasokan informasi tentang program untuk programmer dan compiler.
Kebanyakan entri di DIVISI IDENTIFIKASI diarahkan pada programmer. Compiler memperlakukan mereka sebagai komentar.
Klausul PROGRAM-ID adalah sebuah pengecualian untuk aturan ini. Setiap program COBOL harus memiliki PROGRAM-ID karena nama tertentu setelah klausul ini digunakan oleh linker saat menghubungkan beberapa subprogram menjadi satu unit berjalan, dan oleh pernyataan CALL ketika mentransfer kontrol ke subprogram.
Para DIVISI IDENTIFIKASI memiliki struktur sebagai berikut:
IDENTIFIKASI DIVISI
PROGRAM-ID. NameOfProgram.
[PENULIS. NamaAnda.]
entri lainnya di sini
Kata kunci - DIVISI IDENTIFIKASI - mewakili header divisi, dan sinyal dimulainya teks program.
PROGRAM-ID adalah nama paragraf yang harus ditentukan segera setelah header divisi.
NameOfProgram adalah nama yang dirancang oleh programmer, dan harus memenuhi aturan untuk user-defined nama.
Berikut adalah fragmen program yang khas:
 IDENTIFIKASI DIVISI. 
  PROGRAM-ID.  SequenceProgram. 
  PENULIS.  Michael Coughlan. 

Para DIVISI LINGKUNGAN

Para DIVISI LINGKUNGAN digunakan untuk menggambarkan lingkungan di mana program ini akan berjalan.
Tujuan dari LINGKUNGAN DIVISI adalah untuk mengisolasi di satu tempat semua aspek dari program yang bergantung pada perangkat, komputer tertentu atau urutan pengkodean.
Ide di balik ini adalah untuk membuatnya mudah untuk mengubah program ketika telah untuk dijalankan pada komputer yang berbeda atau satu dengan perangkat periferal yang berbeda.
Dalam LINGKUNGAN DIVISI, alias ditugaskan ke perangkat eksternal, file atau urutan perintah. Rincian lingkungan lain, seperti menyusun urutan, simbol mata uang dan simbol titik desimal juga dapat didefinisikan di sini.

DATA DIVISION
Seperti namanya, para DIVISI DATA menyediakan deskripsi data-item diproses oleh program.
Para DIVISI DATA memiliki dua bagian utama: BAGIAN FILE dan KERJA BAGIAN-PENYIMPANAN. Bagian tambahan, seperti BAGIAN KETERKAITAN (digunakan dalam subprogram) dan BAGIAN LAPORAN (digunakan dalam program Penulis Laporan based) juga mungkin diperlukan.
BAGIAN FILE digunakan untuk menggambarkan sebagian besar data yang dikirim ke, atau berasal dari, peripheral komputer.
BAGIAN KERJA-PENYIMPANAN digunakan untuk menggambarkan variabel umum yang digunakan dalam program.

Para DIVISI DATA memiliki struktur sebagai berikut dan sintaks:

Di bawah ini adalah contoh program fragmen -
 IDENTIFIKASI DIVISI. 
  PROGRAM-ID.  SequenceProgram. 
  PENULIS.  Michael Coughlan. 
  DATA DIVISION. 
  KERJA-PENYIMPANAN BAGIAN. 
  01 num1 PIC 9 NILAI nol. 
  01 num2 PIC 9 NILAI nol. 
  01 Hasil PIC 99 NILAI nol. 
 

Para DIVISI PROSEDUR

Para DIVISI PROSEDUR berisi kode yang digunakan untuk memanipulasi data yang dijelaskan di DATA DIVISION. Hal ini di sini bahwa programmer menggambarkan algoritma nya.
Para DIVISI PROSEDUR adalah hirarkis dalam struktur dan terdiri dari bagian, paragraf, kalimat dan pernyataan.
Hanya bagian adalah opsional. Harus ada setidaknya satu paragraf, kalimat dan pernyataan dalam DIVISI PROSEDUR.
Ayat dan bagian nama dalam DIVISI PROSEDUR dipilih oleh programmer dan harus sesuai dengan aturan untuk user-defined nama.

Contoh Program
 IDENTIFIKASI DIVISI. 
  PROGRAM-ID.  SequenceProgram. 
  PENULIS.  Michael Coughlan. 
 DATA DIVISION. 
  KERJA-PENYIMPANAN BAGIAN. 
01 Num1 PIC 9 VALUE ZEROS.
01 Num2 PIC 9 VALUE ZEROS.
01 Result PIC 99 VALUE ZEROS. 

PROCEDURE DIVISION.
CalculateResult.
   ACCEPT Num1.
   ACCEPT Num2.
   MULTIPLY Num1 BY Num2 GIVING Result.
   DISPLAY "Result is = ", Result.
   STOP RUN.
                   
Some COBOL compilers require that all the divisions be present in a program while others only require the IDENTIFICATION DIVISION and the PROCEDURE DIVISION . For instance the program shown below is perfectly valid when compiled with the Microfocus NetExpress compiler.
Minimum COBOL program
IDENTIFICATION DIVISION. 
 PROGRAM-ID. SmallestProgram. 
PROCEDURE DIVISION.
DisplayGreeting.
   DISPLAY "Hello world".
   STOP RUN.
                   



Hak Cipta

These COBOL course materials are the copyright property of Michael Coughlan.
All rights reserved. Tidak ada bagian dari bahan-bahan ini tentu saja dapat direproduksi dalam bentuk apapun atau dengan cara apapun - grafis, elektronik, mekanik, fotokopi, percetakan, merekam, merekam atau disimpan dalam penyimpanan informasi dan sistem pengambilan - tanpa izin tertulis dari penulis.
(C) Michael Coughlan

Terakhir diperbarui: April 2002
e-mail: CSISwebeditor@ul.ie

Tidak ada komentar:

Posting Komentar