Kamis, 20 September 2012

Teknik Pemrograman Terstruktur ( Konsep Dasar Program Cobol )






1.1  SEKILAS PROGRAM COBOL


COBOL (Common Business Oriented Language) adalah Bahasa Tingkat Tinggi (High Level Language) yang dirancang untuk menyelesaikan persoalan Bisnis.

 Perkembangan COBOL
- Tahun 1959 : Pertama kali diciptakan oleh CODASYL.
- Tahun 1960 : Versi COBOL-60, Versi pertama.
- Tahun 1968 : ANS COBOL menggunakan standar ANSI.
- Tahun 1974 : ANSI COBOL 1974. Sebagai acuan perubahan.
- Tahun 1985 : ANSI COBOL 1985.

→ Ms. COBOL versi 2.2 mengikuti ANSI COBOL ’74.
→ Ms. COBOL versi 3.0 mengikuti ANSI COBOL ’85, diluncurkan tahun 1988.

1.2  STRUKTUR PROGRAM COBOL 

Secara keseluruhan pada intinya struktur program COBOL dibagi menjadi 4 bagian yang disebut DIVISION*. Masing – masing divisi dimulai dengan judul divisi. Struktur program COBOL adalah sebagai berikut :
           
            IDENTIFICATION DIVISION.
            ENVIRONMENT DIVISION.
            DATA DIVISION.
            PROCEDURE DIVISION.

Berikut secara singkat kegunaan dari masing – masing divisi :
1. IDENTIFICATION DIVISION
    Berisi informasi tentang identitas program bersangkutan (nama program, nama pembuat,  
    tanggal program dibuat, dll). IDENTIFICATION DIVISION  tidak mempunyai pengaruh  
    terhadap proses program, hanya sebagai identifikasi.
2. ENVIRONMENT DIVISION
Berisi informasi tentang keadaan komputer dan alat – alat yang digunakan. Divisi ini terdiri atas 2 section yaitu :
CONFIGURATION SECTION 
  Berisi informasi mengenai komputer yang digunakan.        
INPUT – OUTPUT SECTION
  Menerangkan peralatan yang digunakan untuk memproses file, baik
  peralatan input juga peralatan output
3. DATA DIVISION.
    Divisi ini terdiri dari beberapa section yaitu :
            FILE SECTION
              Digunakan untuk menjelaskan masing – masing file (nama file, nama
  record dalam file, jenjang item dalam record dan ukuran data item) yang
  digunakan dalam program.
            WORKING – STORAGE SECTION
              Digunakan untuk mendeklarasikan variabel – variabel yang diperlukan
  dalam program beserta tipe dari variabel tsb.
            SCREEN SECTION
              Digunakan untuk merancang tampilan input data maupun output program.
            LINKAGE SECTION
  Digunakan untuk menerangkan data yang mempunyai hubungan dengan program lain.
            REPORT SECTION.
              Digunakan untuk menggambarkan bentuk dan laporan yang akan dicetak.
4. PROCEDURE DIVISION
    Divisi ini adalah inti dari pemrograman COBOL karena semua prosedur
    pekerjaan proses dari input data menjadi output.

*Catatan :
Dalam pembuatan program COBOL ke-4 judul divisi tersebut HARUS DITULIS.

1.3  BENTUK DATA

Bentuk Data dibedakan menjadi 2, yaitu :
1. DATA VARIABEL
    Data Variabel adalah data yang nilainya dapat berubah didalam program.
    Contoh :
            ACCEPT nil-tugas     

    Statement ACCEPT tsb digunakan untuk memasukkan nilai data (nil-tugas) ke
    dalam suatu storage. Nilai data ini akan selalu berubah bila dibaca nilai data
    yang lain dengan nama data (nil-tugas) yang sama.

Nama data : nil-tugas
(1)
(2)
(3)
(4)
(5)
(6)
(7)
70
65
60
65
80
75
65


2. DATA KONSTANTA      
    Data Konstanta adalah bentuk dari data yang dibutuhkan untuk pengolahan,    
    dimana nilainya tidak tergantung dari input yang dibaca.
    Contoh :
            MULTIPLY jam-kerja BY 500 GIVING gaji-out

    Nilai 500 adalah data konstanta, karena nilainya akan selalu tetap tidak berubah
    oleh proses.
§  Konstanta Numerik
      Aturan konstanta numerik :
  1. Maksimum panjang 18 digit
  2. Boleh ada tanda plus atau minus yang letaknya pada posisi terkiri tanpa adanya spasi dengan angka pertama
  3. Boleh ada titik decimal dimana saja kecuali pada posisi terkanan.
    Contoh : 556, -15.5, +78.54, 9470

§  Konstanta Non Numerik
            Adalah konstanta yang bukan digunakan untuk operasi aritmatika. 
            Aturan penngunaan konstanta non numeric:
  1. Panjang maksimum 120 karakter. 
  2. Boleh terdiri dari kumpulan karakter kecuali karakter petik, karena konstanta non numeric harus dibatasi dengan tanda petik. 
          Contoh : ‘Budi’, ‘Nasi Goreng’, ‘123’

1.4  COBOL RESERVED WORD

COBOL reserved word adalah kata yang telah didefinisikan yang mempunyai arti dan kegunaan tertentu dalam bahasa COBOL.

Programmer tidak boleh menggunakan kata – kata tersebut untuk membentuk nama data atau nama paragraph, kecuali dalam bentuk yang telah ditentukan oleh COBOL.

Berikut beberapa dari COBOL Reserved Word :

ACCEPT         ACCESS        ADD               AFTER           AND  
BOTTOM       BY                  CALL             CANCEL        DECIMAL-POINT
IN                    INPUT           OUT                OUTPUT        UNTIL

1.5  USER DEFINED WORD

User Defined Word adalah kata - kata yang digunakan oleh programmer untuk membuat dan mendefinisikan :
nama-program        nama - indek dan nama-data-index 
nama-alat                nama - kondisi
nama-file                 nama prosedur
nama-record            nama - seksi
nama-data                nama - kualifikasi

Pemberian nama ini bebas dengan mengingat syarat – syarat sbb :
1.      Maksimum panjangnya 30 karakter
2.      Paling sedikit harus mengandung 1 huruf
3.      Tidak boleh mengandung karakter khusus kecuali hypen (-), yang harus diletakkan pada tengah – tengah nama.
4.      Tidak boleh menggunakan COBOL reserved word
5.      Tidak boleh ada blank atau spasi.

1.6  ATURAN PENULISAN SOURCE PROGRAM & LEVEL NUMBER

Kolom yang tersedia untuk menulis program COBOL dimulai dari kolom 1 sampai dengan kolom 80. 
Kolom 1-6       : Digunakan untuk nomor urut (bilamana diperlukan) sifatnya optional. Nomor yang diberikan harus urut dari kecil ke besar
Kolom 7          : Digunakan untuk : 
  1. Tanda baris sambungan dari baris sebelumnya dengan memberikan tanda hypen (-). Baris sambungan ditulis mulai dari area B (kolom 12-72).
  2. Bila diisi dengan karakter (*), maka apa yang ditulis pada baris ini dianggap sebagai komentar. 
  3. Bila diisi dengan slash (/), maka baris yang ada tandanya dianggap sebagai komentar . Dan akan dicetak mulai halaman baru teratas, bila source program dicetak di printer. 
  4. Bila diisi dengan karakter (D), beris ini dianggap sebagai komentar. Tetapi bila pada ENVIRONMENT DIVISION dalam paragraph SOURCE-COMPUTER disebutkan WITH DEBUGGING MODE maka berguna untuk tujuan debugging.
Kolom 8-11     :  Disebut dengan area A
Semua judul divisi, judul seksi, nama paragraph, judul file description, level number 01 dan level number 77 ditulis mulai di kolom ini.

Kolom 12-72   : Disebut dengan area B  
Semua elemen program selain yang ditulis di area A, ditulis pada area B ini.

Kolom 73-80   :  Merupakan kolom yang tidak diproses oleh komputer, bisa diisi dengan catatan apa saja hanya untuk dokumentasi program. 

LEVEL NUMBER

Adalah suatu nomor yang menunjukkan jenjang dari data item dalam suatu record.

Level number yang dipakai terdiri dari :
1)      Level number 01 untuk mengawali keterangan dari record.
2)   Level number 02 -49 digunakan untuk mengawali keterangan dari data item, boleh dipilih dari nomor level tersebut.
3)      Level number 66 digunakan untuk RENAMES.
4)      Level number 77 digunakan untuk mengawali data item yang berdiri sendiri.
5)      Level number 88 digunakan untuk mengawali suatu nama kondisi.

Jumat, 27 Juli 2012

Coding

#include <iostream>
using namespace std;
#define phi 3.14
#define jari 7
#define tinggi 24
int main()
{
float vol, luas;
vol = phi*(jari*jari)*tinggi;
cout << "volume tabung adalah : " << vol << endl;
luas = 2*(phi*jari*tinggi);
cout << "Luas Tabung adalah : " << luas << endl;
return 0;
}
_______________________________________________________________________________________________________________

#include <iostream>
#include <string>
using namespace std;
typedef struct {string nama;
long nim;
int nilai;
} data_mhs;
int main()
{
data_mhs babel;
cout << "\t\tPROGRAM INPUT NILAI MAHASISWA MENGGUNAKAN STRUCT\n\n" << endl;
cout << "Masukkan NIM\t : " ;
cin >> babel.nim;
cout << "Masukkan Nama\t : ";
cin.ignore();
getline(cin, babel.nama);
cout << "Masukkan Nilai\t : ";
cin >> babel.nilai;
cout << "\t\tPROGRAM INPUT NILAI MAHASISWA MENGGUNAKAN STRUCT\n\n" << endl;
cout << "NIM \t\t : " << babel.nim << endl;
cout << "Nama \t\t : " << babel.nama << endl;
cout << "Nilai \t\t : " << babel.nilai << endl;
return 0;
}

_______________________________________________________________________________________________________________

#include <iostream>
using namespace std;
int main()
{
int i;
int x;
cout << "masukkan nilai x untuk batas akhir : " ;
cin >> x;
for (i=0;i<=x;i++){
if ((i % 2) != 0)
{
cout << i << endl;
}
}
return 0;
}

_______________________________________________________________________________________________________________
Hasilnya ? Silakan Di Liat Sendiri Ya ? Hehehehe
 

Operator

Seperti namanya, operator adalah sebuah perintah operasi. operasi apa saja dong tentunya. sebut saja kita akan membuat operasi penjumlahan, maka operator yang di perlukan adalah operator +. begitu juga dengan yang lain. kalau secara definisinya operator lebih diartikan sebagai penghubung antara dua barang yang akan dioperasikan untuk menghasilakan barang baru.
operator dalam bahasa C++ banyak sekali. yaitu :
  1. Operator penugasan (assigment operator)
  2. operator ini di pakai untuk penugasan suatu data. misal variabel X akan diisi nilai 10. maka penugasannya adalah X=10. operator ini hanya memiliki satu simbol saja. yaitu "=". kenapa ? ya karena namanya saja penugasan.
  3. Operator aritmatika (aritmatica operator)
  4. opetor ini yang biasa dipakai untuk pengerjaan aritmatika atau kalau ndak paham sama aritmaktika, ya matematika itu lho, bang. seperti + (untuk penjumlahan), - (untuk pengurangan), / (untuk pembagian), * (untuk perkalian), % (untuk modulus/sisa bagi bukan hasil bagi).
  5. Operator unary (-)
  6. ini operator yang hanya mempunyai satu operan saja (operan adalan sesuatu atau angka yang akan dioperasikan). misal -3, -4, -7, -110, dll. pokoknya hanya memiliki satu buah operan saja. dan tidak memiliki dua buah operan untuk di operasikan.
  7. Operator Rasional
  8. oprator ini digunakan untuk operasi perbandingan. seperti a samadengan b, atau b tidak samadengan c, atau d sama atau lebih besar dari c, atau a lebih kecil dari b, dan lain semacamnya operato-operator ini dapat diuraikan sebagai berikut :
    1. ==, digunakan untuk membandingkan duabuah operan. contohnya a==a yang artinya a samadengan a.
    2. !=, ! adalah tanda tidak sama dalam bahasa C++. jika ada pernyataan a != b maka artinya adalah a tidak sama dengan b.
    3. kemudian dengan panda yang lain dari operator ini ialah sama saja dengan tanda perbandingan biasa. yaitu tanda >, <, >=, <=.
    Nah, operator ini biasanya dipakai untuk operasi percabangan dan perulangan.
  9. Operator kenaikan dan turunan (increment dan decrement)
  10. operator ini biasanya digunakan untuk melakukan perulangan. kenapa ?? karena sifatnya yang terus menjumlahkan atau mengurangi. contoh :
    • for (int i=0;i<9;i++
    • stetement diatas menandakan bahwa nilai awal i adalah 0 dan diberi batasan 9 dan akan ditambahkan 1 (i++) sampai melewati angka 9.
    hal ini sama halnya dengan decrement. hanya saja decrement adalah penurunan.
  11. Operator Logika
  12. operator ini juga biasanya digunakan untuk operasi perbandingan. karena operator ini bersifat logikal. sebagai contoh : anda memilih buku warna coklat dan warna hijau. berarti andi memilih 2 buku sekaligus. berbeda dengan andi memilih buku warna coklat atau warna hijau. ini relatif lebih pada satu pilihan saja. kalau yang satu sudah dipilih, maka yang lain tidak boleh dipilih. apa lagi dengan negasi. jelas benar2 berbeda.
    • beberapa simbol untuk operator logika ini diantaranya :
      • and disimbolkan dengan &&
      • or disimbolkan dengan ||
      • not disimbolkan dengan !
  13. Operator I/O
  14. operator ini biasanya digunakan bersama dengan fungsi cout atau cin. lebih tepatnya betuk umumnya adalah cout << "selamat belajar bahasa C++" << endl; atau cin >> a << end;.
  15. Operator bitwise
  16. untuk operator yang terakhir ini saya tidak akan membahas disini. mungkin hanya akan saya masukkan di tambahan saja nantinya. karena operator ini tidak terlalu sering dipakai dalam pembuatan program berbasis data. operator ini lebih sering digunakan dalam program C. karena masih berkaitan dengan masalah hardware. kok bisa ?? yaiyalaaah kan ini operator biner. udahlah, kalau pengen yang lengkap mengenai operator ini, silahkan googling sendiri yaaa.. *peaceee.

Variable dan Type Data

Variable adalah suatu perubah yang nilainya dinamis atau bisa berbubah kapanpun. ini kalau dilihat dari makna secara matematis. akan tetapi sangat disayangkan bahwa banyak orang tidak mengerti dengan pengertian tersebut.
saya akan menggunakan bahasa saya sendiri untuk mendefinisikan variable itu apa dan berharap agar anda bisa dengan mudah memahami maksud variable.
variabel menurut saya adalah suatu wadah atau tempat. dimana kita bisa menempatkan barang didalamnya. kalau bisa diibaratkan, variabel seperti sebuah poci atau gelas yang bisa menampung air teh atau kopi didalamnya untuk kemudian dikeluarkan lagi.
kemudian tipe data. tipe data menurut pengertiannya adalah tipe dari data itu sendiri. ibaratnya motor. ada motor dengan produk yang sama tapi pada tipe beda. sebut saja yamaha. ada yamaha jupiter tipenya bebek injection. ada yamaha vixion dengan tipe motor laki. kemudian ada yamaha mio dengan tipe matic.
nah sama seperti data, data juga ada tipenya. misalnya kita mau memberi tipe pada data variable. sebutlah variabel X. dimana X disini bertipe integer, maka variabel X hanya boleh mengakses data bilangan bulat. kenapa ? karena dia tipenya integer. kalau tipenya string maka dia boleh mengakses semua karakter yang terkumpul dalam string. atau float yang hanya boleh mengakses bilangan desimal saja.
nah agar lebih jelas mengenai tipe data ini, akan saya perinci tipe data yang digunakan dalam bahasa C++, yaitu :

1. integer = untuk bilangan bulat.
2. float = untuk bilangan desimal.
3. char = untuk karakter atau (perkarakter saja. dan bukan merupakan string atau kumpulan karakter).
4. string = untuk kumpulan karakter. contohnya @chabie d'coder.
5. boolean = untuk benar atau salah. true atau false.

nah, pertanyaannya adalah apakah yang dikenakan tipe atau yang harus menggunakan tipe hanya variabel saja ? tentu tidak. fungsi pun juga akan menggukan tipe jika diperlukan.
setelah tipe data standart seperti diatas, ada juga tipe data bentukan sendiri yang mana kita boleh untuk membuat tipe data sendiri dalam peulisan bahasa C++. bagaimana bisa ?? hal ini akan dijelaskan pada bab struct nanti.

Cara Penulisan C++

Sebelum kita melangkah pada taknis tentang C++, maka ada baiknya kalau kita mengetahui tentang gaya penulisan C++. mungkin bagi anda yang sudah pernah belajar bahasa C akan sedikit gampang dalam memahami bahasa ini. pasalnya bahasa C++ adalah keturunan dari bahasa C.
dalam bahasa C mungkin anda mengenal library. dalam bahasa C++ pun juga ada library atau file header yang biasanya ditulis dengan perintah "#include atau #include ". nah pada kedua file header utama di atas mempunyai fungsi turunan masing-masing.
sebagai contoh, ketika kita menggunakan file header #include dalam C++, maka untuk fungsi selanjutnya kita harus memakai fungsi printf dan scanf. sementara kalau kita memakai file header #include , maka fungsi selanjutnya yang kita pakai adalah fingsi cout dan cin.
perbedaan antara keduanya terletak pada ke-simple-an cara menulis. tentu akan lebih simple ketika kita memakai #include . akan tetapi ini hanyalah sebuah file header yang dalam kenyamanan, andalah yang akan merasakannya sendiri. dalam tutorial saya ini, saya akan menggunakan file header #include . kenapa ?? jangan ditanya kenapa lagi deh biar ndak mbulet. :)
oke, pada struktur penulisan bahasa C++, nanti akan terlihat seperti ini :
  1. using namespace std;deklarasi variable atau fungsi atau konstanta;
  2.   {
  3.      perintah;
  4.   }


demikianlah gaya penulisan C++

Alasan Mengapa C++

Dalam postingan saya tentang C++ ini, saya tidak akan pernah membahas sejarah C++ di awal. mungkin akan saya tulis pada akhir postingan saya tentang C++ ini saja. karena saya anggap sejarah tidak terlalu penting dalam memahami konsep dan teknik penulisan dan pengimplementasian bahasa pemrograman C++.
baik, pada posting kali ini saya menulis judul Alasan mengapa C++ ? kenapa tidak menggunakan bahasa pemrograman lainnya ? seperti java? pascal ? C ? atau yang lain selain yang saya sebutkan di atas.
jawabannya karena bahasa C++ adalah bahasa yang powerfull dan lengkap (semua bahasa pun juga demikian). lalu apa yang membedakan bahasa C++ beda dari yang lain ? keringanannya yang membuat beda dengan yang lain. kalau kita pernah belajar java mungkin java juga mempunyai library yang lengkap dan bahasa yang powerfull, ya benar, akan tetapi bahasa java berat ketika dalam penulisan program maupun pengimplementasiannya dikarenakan library yang besar dan komplit ini.
berbeda dengan C++ yang sekalipun banyak library, akan tetapi penggunaan programnya pun juga lebih ringan.
kemudian kenapa juga saya lebih memilih bahasa C++ dari pada bahasa java ? yaitu karena prospek kedepannya. dimana C++ akan semakin eksis dengan library QTnya. apalagi saya mendevelop C++ di linux.
jadi itu sedikit alasan kenapa saya memilih C++. dan untuk lebih mengetahui bagaimana kelanjutan tutorial C++ ini, saya ucapkan, selamat menikmati tutorial dan terimakasih telah mengikutinya.

Mengenal OOP (Object Oriented Programing) dengan JAVA

Salam semangat sudaraku.. alhamdulillah hari ini saya akan memberi kesempatan dan motivasi untuk anda lagi tentang OOP dengan menggunakan java. oke, tanpa banyak basa basi langsung Cek It Dot..!!
OOP merupakan sesuatu yang semuanya berhubungan dengan Object dan class. dimana pemrograman OOP ini akan menjadi salah satu jalan bagi programer untuk mejadi lebih berkembang. karena konsep dari OOP sendiri sangat berbeda dengan pemrograman terstruktur. akan tetapi, tidak dapat dipungkiri bahwa untuk mempelajari OOP dibutuhkan pemahaman terlebih dahulu dari pemrograman terstruktur.
kelebihan OOP dibandingkan dengan pemrograman terstruktur adalah pada pengembangan program (cocok banget dengan konsep OpenSource). dimana ketika ada kesalahan atau sesuatu yang perlu ditambahkan atau dikurangi, tidak harus merubah keseluruhan isi program. ya hanya pada bagian mana yang perlu ditambah. seperti mungkin akan mebambahkan menu save pada program, dan menghapus menu edit. yang perlu dilakukan hanya membuat fungsi menu save dan memanggil pada program inti/utama (main program), dan menghapus fungsi edit. selesai..
boleh saja diibaratkan, pemrograman OOP seperti sebuah radio dan benda/makhluk lain. dimana radio mempunyai bagian fisik dan sifat. 2 hal ini yang perlu ada pada pemrograman OOP. secara fisik radio mempunyai tombol on-off, tunelling (tombol pengubah chanel), tombol volume, antena, dll. nah fisik2 tersebut mempunyai sifat2 dimana tombol on-off digunakan untuk menyalakan dan mematikan radio, tombol chanel digunakan untuk mengganti saluran radio, tombol volume digunakan untuk mengecilkan dan mengeraskan suara, dan antena digunakan untuk penguat dan penangkap sinyal. begitu juga dengan fisik2 yang lain yang ada pada radio. nah, fisik2 itu kita ibaratkan menjadi sebuat class2 dan radio kita ibaratkan menjadi sebuah objek. kemudian sifat class adalah bagian dari class disebut dengan method. 
oke, saudaraku yang berbahagia. agar tidak bosan dalam mempelajari OOP. mungkin sedikit demi sedikit. sampai jumpa di tutorial selanjutnya tetang OOP. salam dunia berfikir !!!