rss
email
twitter
facebook

Monday, April 11, 2011

Struktur Cobol

IDENTIFICATION DIVISION

Merupakan divisi yang pertama dalam COBOL dan yang paling sederhana. IDENTIFICATION DIVISION tidak dibagi dalam beberapa section tetapi langsung terdiri dari beberapa paragraph.

Bentuk umum dari IDENTIFICATION DIVISION :

IDENTIFICATION DIVISION.
PROGRAM-ID. nama program.
[ AUTHOR. nama programmer .]
[ INSTALLATION. nama instalasi. ]
[ DATE-WRITTEN. Tgl program dibuat. ]
[ DATE-COMPILED. Tgl program dicompile. ]
[ SECURITY. sifat program. ]

keterangan :
• Tulisan dalam tanda ‘[ ]’ bersifat optional, boleh disertakan boleh juga tidak.
• Ditulis persis seperti contoh diatas, diikuti titik dan diberi 1 spasi.
• Penulisan divisi dan semua paragraphnya dimulai pada area A atau kolom ke-8.
• Huruf kecil adalah nama yang dibuat oleh programmer.
• PROGRAM-ID panjang maks. 6 karakter, boleh lebih tetapi hanya 6 karakter pertama saja yang dibaca.


Contoh:
IDENTIFICATION DIVISION.
PROGRAM-ID. Contoh.
AUTHOR. yuti
INSTALLATION. UNIVERSITAS GUNADARMA.
DATE-WRITTEN. 05-11-2003.
DATE-COMPILED. 06-11-2004.
SECURITY. rahasia.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

ENVIRONMENT DIVISION

Menyediakan informasi mengenai peralatan yang dipergunakan didalam program.

Bentuk umum ENVIRONMENT DIVISION :

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
[ SOURCE-COMPUTER. nama-komputer WITH DEBUGGING MODEL. ]
[ OBJECT-COMPUTER. nama-komputer. ]
SPECIAL-NAMES.
[ PRINTER IS nama-mnemonic ]
[ CURRENCY SIGN IS literal ]
[ DECIMAL-POINT IS COMMA. ]
INPUT-OUTPUT SECTION.
FILE-CONTROL.
{file control entry}.

DATA DIVISION

Memberikan penjelasan tentang input data dan output yang dipergunakan, atau berisi semua keterangan tentang file, record, nama-data serta bentuk / format yang akan dipergunakan didalam PROCEDURE DIVISION.

PROCEDURE DIVISION

Merupakan inti dari pemrograman COBOL. Statement yang ada pada PROCEDURE DIVISION dibentuk dari verb, diantaranya: MOVE, DISPLAY, ACCEPT, dan STOP.

sumber:
http://staff.gunadarma.ac.id/

ReadMore...

PICTURE CLAUSE & PICTURE EDITING pada COBOL

PICTURE CLAUSE

Picture clause digunakan untuk menerangkan masing-masing data-item yang digunakan, mengenai ukuran dari field dan memberikan informasi dari nilai data tersebut, juga mengatur bentuk data dimemori.

Macam-macam picture clause:
1. Picture karakter 9 : Menunjukkan bahwa posisi sebuah memori hanya dapat mengandung nilai-nilai numerik saja. Ukuran panjang data-item ditentukan oleh banyaknya karakter 9 yang digunakan. Bersifat right justified.
2. Picture karakter V : Menunjukkan lengkap anggapan dari titik desimal. Anggapan disini maksudnya adalah titik desimal tersebut tidak ditulis di memori, sehingga tidak termasuk sebagai panjang field.
3. Picture karakter P : Digunakan dengan gabungan Picture karakter V, yang digunakan untuk menimbulkan angka 0.
4. Picture karakter S : Digunakan untuk menyimpan tanda dari nilai data, dan tidak dihitung sebagai panjang field.
5. Picture karakter A : Digunakan untuk menyimpan nilai data huruf(alphabetic).Bersifat left justified.
6. Picture karakter X : Digunakan untuk menyimpan nilai data alphanumerik, dapat berupa gabungan angka, huruf, ataupun karakter khusus.

PICTURE EDITING

Berguna untuk perubahan bentuk data dari data yang telah tersimpan distorage (memori). Dengan adanya editing (perubahan), data yang dicetak pada output akan tampak lebih mudah dibaca, mudah dimengerti dan mempunyai susunan yang lebih baik dibandingkan dengan bentuk data asli yang tersimpan di storage.
Macam-macam picture editing :
1. Picture editing Z : digunakan untuk menggantika angka 0 diawal agar tidak tampak pada waktu pencetakan.

2. Picture editing $ : pada saat pencetakan karakter $ akan tampak pada ujung paling kiri.

3. Picture editing “.” : digunakan untuk menunjukkan letak posisi dari titik desimal pada pencetakan, hanya boleh dipergunaka 1 saja.

4. Picture editing “,” : digunakan untuk memberikan tanda koma pada tempat-tempat tertentu, dan boleh digunakan lebih dari 1.

5. Picture editing “-“ : Jika data asli bernilai minus maka penggunaan tanda minus di awal atau diakhir akan menyebabkan tanda minus muncul pada saat pencetakan, sedangkan bila data positif akan digantikan dengan blank.

6. Picture editing “+” : jika tanda plus digunakan diawal atau diakhir data maka akan tampak pada pencetakan bila data bernilai positif, jika data negatif akan muncul tanda minus, jika tidak bertanda dianggap positif.

7. Picture editing B : digunakan untuk mengedit nilai data bukan numerik.Blank akan disisipkan pada posisi dinama karakter B ditempatkan.

8. Picture editing “*” : digunakan untuk menggantikan nilai nol pada nilai data disebelah kanan dengan tanda *.

9. Picture editing 0(nol) : digunakan untuk menyisipkan angka 0 pada posisi dimana karakter 0 ditempatkan.

10. Picture editing “/” : digunakan untuk menyisipkan karakter “/” diposisi dimana karakter tersebut ditempatkan.

11. Picture editing DB dan CR : Sering digunakan pada aplikasi akuntansi. Ditulis mulai ujung sebelah kanan dari picture, dan hasilnya hanya tampak pada hasil edit bila nilai datanya negatif.

sumber:
http://staff.gunadarma.ac.id/

ReadMore...

Penjelasan Sedikit Tentang Cobol

COBOL (Common Business Oriented Language) adalah suatu bahasa komputer awam ( High Level Language) yang berorientasi langsung pada permasalahan bisnis. COBOL hampir dapat digunakan pada semua komputer bila terdapat compiler COBOL-nya. Diciptakan pada tahun 1959 dan dikembangkan oleh suatu grup bernama CODASYL (Conference on Data System Language).

Diperkenalkan pertama kali secara formal pada bulan Januari 1960. COBOL mempunyai banyak versi, sehingga untuk mempermudah penggunanya COBOL terus dikembangkan dan distandarisasi pada tahun 1968 dan 1974, diberi nama ANSI COBOL (American National Standard Institute COBOL)


Struktur Program COBOL

Program COBOL dibagi kedalam 4 bagian yang disebut dengan Division. Masing-masing divisi dimulai dengan judul divisi dengan urutan sbb:

IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
DATA DIVISION
PROCEDURE DIVISION

Masing-masing divisi dapat terdiri dari urutan-urutan susunan bagian. Tersusun secara hirarki, yang secara umum sbb :
Division
Region
Section
Paragraph
Sentence/Entry
Statement/Clause
Phrase/Option

Istilah Region, sentence, statement dan phrase/option digunakan pada PROCEDURE DIVISION, sedangkan istilah Entry dan clause digunakan pada ke-3 divisi lainnya.

Division, merupakan bagian utama dari suatu program COBOL dan selalu di awali dengan judul divisi.


Region, merupakan suatu kumpulan bagian tertentu dalam PROCEDURE DIVISION.

Section, merupakan suatu kumpulan dari paragraph atau entry dan selalu diawali denga judul seksi.

Paragraph, merupakan suatu grup dari kalimat (sentences) didalam PROCEDURE DIVISION dan selalu diawali dengan nama/ judul Paragraph.

Entry, merupakan sesuatu yang harus dituliskan pada tempat-tempat tertentu didalam program COBOL. Suatu entry dapat juga dikatakan sebagai suatu set (kumpulan) dari clause (anak kalimat) yang diakhiri dengan titik.

Sentence, merupakan kumpulan dari satu atau lebih statement, dan harus diakhiri dengan tanda titik.

Clause, merupakan kumpulan dari kata yang membentuk suatu arti. Clause adalah bagian dari entry.

Statement, merupakan perintah pengerjaan untuk komputer. Statement dalam bentuk kata kerja yang merupakan COBOL Reserved Words.

Phrase, Suatu group kata yang merupakan bagian dari statement atau clause.

Option, kebanyakan Phrase adalah optional (boleh disertakan/tidak) maka, sering disebut dengan Option.

Syarat Pemberian nama :

1. Gabungan dari huruf A-Z atau a-z, angka 0-9, Hypen (-).
2. Panjang maksimum 30 karakter.
3. Paling sedikit harus mengandung 1 huruf.
4. tidak boleh mengandung karakter khusus kecuali hypen yang diletakkan ditengah-tengah, tidak boleh diawal atau diakhir.
5. Tidak boleh mengandung COBOL reserved word.
6. Tidak boleh ada blank atau spasi.
ATURAN PENULISAN SOURCE PROGRAM
Kolom yang tersedia untuk menuliskan program COBOL adal kolom 1- 80, dengan ketentuan :
Kolom 1 – 6 : Digunakan untuk nomor urut bilamana diperlukan, sifatnya optional, dan nomor yang diberikan harus urut ascending.

Kolom 7 : a. Tanda baris sambung dari baris sebelumnya dengan memberikan tanda hypen (-), baris sambungannya dimulai dari Area B.
b. Bila kolom ini di sis dengan karakter “*” , maka apa yang ditulis pada baris ini akan dianggap sebagai komentar.
c. Bila kolom ini diisi dengan slash (/), maka baris yang ada tanda ini dianggap sebagai komentar dan akan dicetak mulai halaman baru teratas, bila source program dicetak di printer.
d. Bila kolom ini di isi dengan karakter “D” , baris ini juga dianggap sebagai komentar, tetapi bila pada ENVIRONMENT DIVISION dalam paragraph SOURCE-COMPUTER disebutkan WITH DEBUGGING MODE, maka akan berguna untuk tujuan debugging.
Kolom 8 – 11 : Disebut dengan area A, semua judul divisi,judul seksi, nama paragraph, judul file description (FD), level number 01 dan level number 77 ditulis mulai kolom ke-8.

Kolom 12 – 72 : Disebut dengan area B, semua elemen program selain yang ditulis di area A ditulis pada area B.

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

LEVEL NUMBER
Level number atau nomor jenjang adalah suatu nomor yang menunjukkan jenjang dari data item dalam suatu record.
Level number yang digunakan:
a. 01 Untuk mengawali keterangan dari record (record description).

b. 02 – 49 Digunakan untuk mengawali keterangan dari data item.

c. 66 Digunakan untuk RENAMES

d. 77 Digunakan untuk mengawali data item yang berdiri sendiri. Hanya boleh
terdapat pada WORKING-STORAGE SECTION.

e. 88 Digunakan untuk mengawali suatu nama kondisi

sumber:
http://staff.gunadarma.ac.id/

ReadMore...

File dan Iostream

FILE

File adalah sekumpulan data yang disimpan dalam media penyimpanan luar seperti disket/harddisk. Dalam C++ file adalah sebuah stream yang disimpan dalam media penyimpanan luar. Karena merupakan sebuah stream, operasi yang berlaku pada stream berlaku juga untuk file. Stream adalah suatu logika device yang menghasilkan dan menerima informasi atau wadah yang digunakan untuk menampung keluaran dan menampung aliran data.
Hirarki I/O class :





Penjelasan :
- ios adalah virtual base class untuk class istream dan ostream. Berisi fasilitas dasar untuk melakukan proses input/output. Dideklarasikan untuk pointer ke buffer untuk tempat penyimpanan data sementara.
- Istream ( input stream ) mendefinisikan fasilitas untuk melakukan input suatu informasi. Di dalamnya didefinisikan fungsi get ( ), getline ( ), extractor operator >>
- Ostream ( output stream ) mendefinisikan fasilitas untuk melakukan setting terhadap output.
- Iostream : berisi semua fasilitas dari ios, istream, ostream ditambah beberapa fungsi untuk menyempurnakan kerja dari fungsi yang dideklarasikan pada base class.


Untuk melakukan proses file I/O, diperlukan file header fstream.h didalam program. Dalam file fstream.h didefinisikan beberapa class/object yang berhubungan dengan pemrosesan file, yaitu : ifstream, ofstream, fstream yang diturunkan dari istream dan ostream.


KETERHUBUNGAN STREAM DENGAN FILE

Jika mendeklarasikan suatu stream, dapat menghubungkan stream tersebut dengan file, dimana proses ini berhubungan dengan operasi terhadap file.

Tiga proses utama dalam mengelola file adalah :
1. membuka file
2. melakukan proses terhadap file
3. menutup file

Sebelum membuka file, harus mengetahui keadaan mode filenya. Keadaan yang perlu diketahui adalah :
1. untuk membuka file dengan tujuan output, digunakan ofstream.
2. untuk membuka file dengan tujuan input, digunakan ifstream.
3. untuk membuka file dalam keadaan input maupun output, gunakan fstream.

Fungsi open ( ) digunakan untuk membuka file.
Bentuk umumnya adalah :

Void open (char* file_name, int mode, int access) ;

Keterangan :
- dengan fungsi open ( ), menhubungkan stream dengan file yang bernama file_name.
- nilai dari var mode akan menentukan bagaimana keadaan file jika dibuka.
- Variable access akan menentukan bagaimana metode pengaksesan terhadap file tersebut. Nilai ini berhubungan dengan atribut file yang ada pada DOS.

Nilai pada variable mode adalah :
1. ios : : app
semua informasi yang ditulis ke dalam file (output) akan ditambahkan dibagian akhir file tersebut.
2. ios : : ate
file akan dibuka dengan pointer file menunjuk pada akhir file.
3. ios : : in
file akan dibuka sebagai input.
4. ios : : out
file akan dibuka sebagai output
5. ios : : nocreate
akan mengakibatkan kesalahan jika file tidak ada.
6. ios : : noreplace
file yang dibuka tidak dapat diganti, atau mengakibatkan kesalahan jika file yang akan dibuka sudah ada.
7. ios : : trunc
menyebabkan isi dari file yang sudah ada akan hilang

Nilai pada variable access adalah :
0 : normal file 4 : system file
1 : read only file 8 : archive bit-set file
2 : hidden file


Contoh penggunaan open ( ) :

Akan dibuka sebuah file sebagai output, dimana atribut dari file tersbut adalah read only dan nama file tersebut adalah tes.
Jawab :

Ofstream fout ;
Fout.open (“tes”, ios : : out, 1) ;


Jika dalam pembukaan file terdapat kesalahan, maka fungsi open ( ) akan
mengembalikan nilai NULL.

Fungsi close ( ) untuk menutup file yang telah dibuka.
Bentuk umumnya :

Void close ( ) ;


Contoh penggunaan close ( ) :

Fout.close ( ) ;
Fin.close ( ) ;
Fio. Close ( ) ;

Didalam class ios terdapat pendefinisian fungsi : int eof ( ) digunakan untuk menentukan apakah pointer pada file telah mencapai akhir darti file tersebut.


DETEKSI ERROR

Dalam class ios ada 4 (empat) buah fungsi untuk melakukan tes terhadap error yang terjadi didalam stream. Fungsi tersebut adalah :
1. int good ( )
2. int eof ( )
3. int bad ( )
4. int fail ( )

Keempat fungsi itu akan menghasilkan nilai 0 (nol) jika kondisi tersebut salah dan nilai bukan nol jika kondisi tersebut benar.

Jika error terjadi, maka stream harus dibersihkan dahulu dari kesalahan sebelum melanjutkan ke proses berikutnya. Fungsi yang digunakan untuk membersihkan kesalahan pada stream jika terjadi kesalahan : clear ( )

Bentuk umumnya :

Void clear (int flags = 0 ) ;

Fungsi clear ( ) dalam keadaan default akan membersihkan seluruh flag. Dapat ditentukan flag mana yang akan dibersihkan, dengan memberi argument yang sesuai.


Fungsi int rdstate ( ) digunakan untuk menentukan jenis kesalahan yang terjadi, dengan mengembalikan nilai integer kesalahan tersebut.
Nilai enum yang dikembalikan oleh fungsi rdstate ( ) adalah :
1. goodbit
0 jika tidak ada error dan 1 jika terjadi error
2. eofbit
1 jika eof ditemukan dan 0 jika eof tidak ditemukan
3. failbit
1 jika non fatal error ditemukan dan 0 jika tidak
4. badbit
1 jika fatal error ditemukan dan 0 jika tidak.


INPUT/OUTPUT KARAKTER

Input/output pada file binary digunakan fungsi get ( ), put ( ).

Bentuk Umumnya :

Istream &get (char& ch) ;
Ostream &put (char ch) ;

Fungsi get ( ) akan membaca sebuah karakter dari stream dan karakter tersebut akan diletakkan pada variable ch.
Fungsi ini akan mengembalikan reference ke stream jika EOF ditemukan, maka nilai yang dikembalikan NULL.

Fungsi put ( ) akan meletakkan sebuah karakter ke sutau stream dan akan mengembalikan reference ke stream.

Untuk membaca dan menulis file binary dalam bentuk blok data dapat menggunakan fungsi read ( ) dan write 9 )

Bentuk Umum :
Istream& read (unsigned char* buf, int num) ;
Ostream& write (const unsigned char* buf, int num);

Fungsi read ( ) akan membaca sejumlah num byte dari stream dan akan meletakkan data tersebut ke dalam variable yang ditunjukkan oleh pointer buf.

Fungsi write ( ) akan menulis sejumlah num byte ke stream dari data yang ditunjuk oleh pointer buf.

Fungsi yang akan mengembalikan karakter yang terakhir dibaca ke dalam memori lagi adalah : putback ( )

Bentuk umum :

Istream& putback (char ch) ;

Keterangan :

- variable ch adalah karakter yang dibaca yang akan dikembalikan lagi ke stream ( didalam memori)



ReadMore...

Pengertian Open Source

Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux.

Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.

Pengembangan open source software melibatkan banyak orang dari berbagai penjuru dunia yang berinteraksi melalui internet. Maka bermunculanlah berbagai macam software yang dibuat berbasis open source ini yang dipublikasikan melalui internet. Pola open source ini telah melahirkan developer-developer handal dari berbagai penjuru dunia.

Dengan pola open source orang dapat membuat dan mengembangkan apa yang disebut dengan free software. Software ini dapat digunakan tanpa perlu membayar lisensi atau hak cipta karena memang dikembangkan dengan pola open source. Jadi, dengan pola open source orang dapat mengembangkan software dan mempublikasikannya dengan bebas melalui internet. Maka tidak heran apabila kita akan banyak menemukan free software ini di internet dan bisa secara bebas mendownloadnya tanpa perlu membayar uang sepeser pun kepada pengembang software tersebut.

Free software disini juga bukan program kacangan. Anggapan bahwa barang yang gratis jelek kualitasnya tidak berlaku buat free software. Karena sudah terbukti kehandalannya. Dan karena free software berbasis open source maka software tersebut sudah melalui proses perbaikan yang terus menerus. Jadi tidak ada alasan tidak mau menggunakan free software ini dengan alasan kualitasnya yang tidak baik.

Dengan karakteristik yang telah disebutkan di atas maka tidak salah apabila kita menaruh harapan pada open source ini sebagai platform alternatif yang bisa kita gunakan dalam komputer kita. Penerapan pola open source di Indonesia juga dapat menghilangkan pemakaian software komersial secara ilegal dan memungkinkan bangsa Indonesia dikenal karya ciptanya dengan ikut mengembangkan open source software.

Sumber:
http://organisasi.org/penjelasan-pengertian-open-source-software-dan-free-software

ReadMore...

Pengertian BUG

BUG pasti bagi anda yang sering menggunakan software baru sering mendengar kata – kata bug atau software ini masih ada bug-nya atau software ini masih dalam debugging.

Namun apakah anda tahu apasih itu bug?

Dalam bahasa bug sendiri adalah serangga yang biasa kita lihat ditaman lalu apa hubungannya dengan software???

Penamaan bug sendiri dipilih karena pada tahun 1945 komputer yang bernama “Mark 1” tidak berfungsi sebagaimana mestinya, setelah dilakukan pemeriksaan, ternyata pada suatu bagian perangkat keras terdapat serangga yang tersangkut. Setelah serangga itu dikeluarkan, komputer sudah bisa berfungsi normal kembali. Maka sejak saat itulah kata bug dipilih dengan permasalahan pada komputer. Jadi bisa saya simpulkan bahwa BUG adalah suatu kesalahan pada sebuah software atau hardware yang menyebabkan software atau hardware tersebut tidak jalan sebagaimana mestinya. Sedangkan Debugging adalah suatu proses menghilangkan bug dari suatu program.

Berikut ini adalah beberapa istilah yang terdapat dalam bug:

1. Crash.
Yaitu saat sistem atau komponen komputer mengalami gangguan secara tiba-tiba. Aplikasi dapat menutup dengan sendirinya, atau untuk kasus yang lebih parah, dapat terjadi hang pada komputer yang menyebabkan Anda harus melakukan restart. Crash tidak selalu berasal dari bug aplikasi, crash dapat berasal dari permasalahan hardware, operating system, ataupun software lainnya. Tetapi, bug aplikasi dapat saja menyebabkan crash.

2. Anomaly.
Saat sebuah aplikasi menghasilkan sesuatu yang ganjil dan menyimpang dari dokumentasi operasional aplikasi tersebut, maka hal ini disebut anomaly. Hal ini bukan merupakan bug jika fungsi aplikasi berjalan dengan baik, hanya saja
tidak dibuat sesuai dengan dokumentasi atau harapan sebelumnya.

3. Fault.
Kesalahan yang terjadi karena kesalahan urutan langkah, proses, atau definisi data sehingga menyebabkan program melakukan proses yang tidak diantisipasi.Kesalahan ini dapat disebabkan karena kesalahan melakukan prosedur aplikasi.

4. Mistake.
Kegiatan yang dilakukan pengguna sehingga menyebabkan aplikasi mengeluarkan hasil yang salah. Istilah GIGO (Garbage In Garbage Out) menunjukkan bahwa output yang salah dapat disebabkan karena input yang salah. Kesalahan seperti ini bukan merupakan bug aplikasi. Walaupun demikian, aplikasi yang baik melakukan validasi input yang diperlukan untuk mencegah program mengeluarkan hasil dengan kesalahan yang fatal. Dapat diambil kesimpulan, bahwa tidak semua kesalahan yang terjadi berasal dari bug aplikasi. Terkadang kesalahan yang terjadi berada di luar kontrol aplikasi itu sendiri. Testing yang dilakukan tidak mungkin mencakup seluruh aspek seperti operating system, hardware, ataupun pengaruh software-software lainnya terhadap aplikasi. Walaupun untuk beberapa kasus, perlu dilakukan testing terhadap aspek-aspek tersebut. Tetapi hanya jika aplikasi yang Anda buat berhubungan erat dengan aspek tersebut. Testing sebaiknya sudah dilakukan sejak awal pembuatan aplikasi dan terus berlanjut, testing yang hanya dilakukan pada akhir development dapat berisiko besar. Terutama jika aplikasi yang dibuat memiliki skala yang cukup besar.
Sebagai contoh sederhana, Anda melakukan testing suatu aplikasi pada akhir development, kemudian Anda menemukan sebuah bug, yaitu salah satu field penting yang seharusnya memiliki tipe data string, ternyata memiliki tipe data numerik. Sekilas merupakan kesalahan yang sederhana. Tetapi bayangkan, jika seluruh modul atau form pada aplikasi yang menggunakan field tersebut terlanjur memperlakukan field tersebut sebagai numerik, maka Anda harus memeriksa ulang seluruh modul/form yang berhubungan dengan field tersebut. Dan jika perlu melakukan perubahan terhadapnya. Hal ini tentu tidak perlu terjadi jika sedari awal Anda telah melakukan testing dan menyadari kesalahan tersebut sebelum membuat lebih banyak form dan modul yang berhubungan dengan bug tersebut.
Panduan Proses Testing
Terdapat dua panduan utama untuk melakukan proses testing, yaitu:
1. Memeriksa bahwa aplikasi berfungsi sebagaimana mestinya. Misalnya Anda membuat aplikasi pendataan, pastikan bahwa Anda melakukan testing dengan mengisi seluruh field, dan data yang dimasukkan tersimpan dengan benar pada database.
2. Jika bug ditemukan dan telah diperbaiki, pastikan bahwa bagian-bagian lain dari aplikasi (sekalipun yang nampaknya tidak berhubungan dengan bug tersebut) masih berjalan dengan baik. Karena kadang tanpa disadari, perbaikan bug justru mendatangkan bug baru pada bagian yang lain.

Tahapan Testing
Terdapat cukup banyak pendekatan yang dilakukan untuk melakukan testing. Salah satu definisi testing adalah “sebuah proses yang melakukan pertanyaan terhadap sebuah produk untuk dinilai”, di mana “pertanyaan” merupakan segala sesuatu yang diberikan kepada produk sebagai pengujian.
Beberapa tahapan testing yang umum dilalui oleh aplikasi adalah sebagai berikut:

1. Unit/Component Testing.
Terbagi atas testing terhadap unit dan component. Unit testing merupakan proses testing, di mana Anda melakukan testing pada bagian basic dari kode program. Contohnya adalah memeriksa kode program pada event, procedure, dan function. Unit Testing meyakinkan bahwa masing-masing unit tersebut berjalan sebagaimana mestinya.Pada Unit Testing, Anda memeriksa bagian kode program secara terpisah dari bagian yang lain. Anda dapat langsung melakukan Unit Testing setiap kali sebuah kode unit (event, procedure, function) selesai dibuat. Anda dapat memeriksa kode unit dengan menjalankannya baris per baris untuk memastikan bahwa proses yang dilakukan berjalan sebagaimana yang Anda inginkan.
Termasuk di dalamnya adalah memeriksa masing-masing kondisi pada kode program. Sebagai contoh, kode program Anda memiliki statement If… Then… Else…., Anda perlu menyediakan dua set input untuk kondisi true maupun false dan memeriksa hasilnya masing-masing. Jika bagian kode program yang sedang Anda testing memanggil unit yang lain sebagai satu kesatuan, Anda masih dapat melakukan Unit Testing dengan menciptakan sebuah unit sederhana yang bertindak sebagai unit dummy. Metode ini dikenal dengan nama Stub. Jika bagian kode program yang sedang Anda testing perlu dipanggil oleh unit yang lain, Anda dapat menciptakan sebuah unit sederhana yang bertindak sebagai rutin pemanggil. Metode ini dikenal dengan nama Driver. Testing tambahan yang perlu Anda lakukan pada tahap ini adalah Component Testing.Meliputi testing pada fungsi-fungsi yang lebih kompleks yang tercakup menjadi suatu komponen, di mana fungsi-fungsi tersebut dapat dipecah menjadi unit-unit yang lebih kecil.

2. Integration Testing.
Setelah Anda melakukan Unit/Component Testing, langkah berikutnya adalah memeriksa bagaimana unit-unit tersebut bekerja sebagai suatu kombinasi, bukan lagi sebagai suatu unit yang individual. Sebagai contoh, Anda memiliki sebuah proses yang dikerjakan oleh dua function, di mana satu function menggunakan hasil output dari function yang lainnya. Kedua function ini telah berjalan dengan baik secara individu pada Unit Testing. Pada tahap Integration Testing, Anda memeriksa hasil dari interaksi kedua function tersebut, apakah bekerja sesuai dengan hasil yang diharapkan. Anda juga harus memastikan bahwa seluruh kondisi yang mungkin terjadi dari hasil interaksi antarunit tersebut menghasilkan output yang diharapkan.

3. System Testing.
Mencakup testing aplikasi yang telah selesai didevelop. Karena itu, aplikasi harus terlihat dan berfungsi sebagaimana mestinya terhadap end-user atau pengguna akhir. Untuk itu, testing dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh pengguna sesungguhnya terhadap aplikasi. Jika aplikasi Anda di-develop untuk lingkungan yang besar,
Anda dapat melakukan testing pada dua komputer yang berbeda. Komputer yang Anda gunakan sebagai komputer testing harus terlebih dahulu dikonfigurasi hanya dengan:
a. Operating system yang dibutuhkan.
b. Driver yang diperlukan oleh aplikasi.
c. Aplikasi yang dites.
Dengan menggunakan konfi gurasi yang paling minimal dan sederhana, maka dapat membantu Anda untuk memastikan bahwa permasalahan yang timbul selama testing berlangsung adalah merupakan kesalahan aplikasi, dan bukan kesalahan yang berasal dari aplikasi atau software lain.

4. Acceptance Testing.
Seperti Integration Testing, Acceptance Testing juga meliputi testing keseluruhan aplikasi. Perbedaannya terletak pada siapa yang melakukan testing. Pada tahap ini, end-user yang terpilih melakukan testing terhadap fungsi-fungsi aplikasi dan melaporkan permasalahan yang ditemukan. Testing yang dilakukan merupakan simulasi penggunaan nyata dari aplikasi pada lingkungan yang sebenarnya. Proses ini merupakan salah satu tahap final sebelum pengguna menyetujui dan menerima penerapan sistem aplikasi yang
baru. Karena itu pada tahap ini sudah tidak difokuskan untuk mengangkat permasalahan kecil seperti kesalahan pengetikan, ataupun kosmetik aplikasi. Hal-hal minor seperti di atas sudah seharusnya ditangani selama Unit/Component Testing dan Integration Testing.

5. Regression Testing.
Merupakan bagian penting dari masing-masing tahap proses testing. Regression Testing mencakup pengujian ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah perbaikan suatu kesalahan dilakukan.Regression Testing memastikan permasalahan yang terjadi telah ditanggulangi, dan tidak terdapat permasalahan baru yang timbul sebagai efek perbaikan tersebut. Selain itu, tahap ini tidak hanya berguna untuk melakukan pengujian aplikasi, tetapi dapat juga digunakan untuk melakukan pemantauan kualitas dari output yang dihasilkan. Sebagai contoh, Regression Testing memantau ukuran file, waktu yang dibutuhkan untuk melakukan suatu tes, waktu yang dibutuhkan untuk melakukan kompilasi, dan lain sebagainya.
Keamanan
Aspek keamanan (security) menjadi salah satu topik paling hangat semenjak teknologi komputer berkembang pesat, sehingga untuk aplikasi yang memiliki akses terbuka dan mengharuskan tingkat keamanan yang tinggi, testing aplikasi harus mempertimbangkan pengujian keamanan aplikasi tersebut. Sebagai contoh adalah sebuah aplikasi e-commerce yang mengizinkan transaksi melalui kartu kredit. Cukup banyak terjadi kasus pemalsuan credit card dengan memanfaatkan kelemahan aplikasi e-commerce.Testing pada aplikasi internet atau jaringan, memerlukan pengetahuan tersendiri untuk memeriksa apakah terdapat kelemahan aplikasi, beberapa teknik yang digunakan oleh para hacker seperti SQL Injection, XSS, dan lain-lain harus diuji coba terhadap aplikasi Anda.
Untuk aspek keamanan ini, ada kalanya Anda memerlukan konsultan yang kompeten dan mengikuti perkembangan yang terjadi dalam hal keamanan data pada jaringan dan Internet. Konsultan akan memberikan langkah-langkah pencegahan yang perlu diambil, hal ini kadang tidak hanya melibatkan sisi programming aplikasi, tetapi juga dapat melibatkan sisi administrator sistem, mencakup konfigurasi operating system, web server, firewall, router, dan lain sebagainya. Tidak terbatas hanya untuk aplikasi internet seperti e-commerce, aplikasi intranet atau client server sekalipun harus memperhatikan sisi keamanan ini. Terlebih karena aplikasi stand-alone saat ini umumnya semakin ditinggalkan (kecuali untuk alasan-alasan tertentu).Walaupun masalah keamanan merupakan topik tersendiri, tetapi secara nyata sangat berhubungan erat dengan aplikasi. Sebagai contoh, sejak ditemukan teknik SQL Injection maka aplikasi web yang tidak mempedulikan masalah ini akan mendapatkan label aplikasi dengan lubang keamanan dan berisiko tinggi, atau memiliki bug.
Dokumentasi Testing
Dalam segala kegiatan, dokumentasi merupakan hal yang vital. Mungkin Anda pernah menangani aplikasi yang sebelumnya telah dikerjakan oleh orang lain, tetapi tidak menemukan sedikit pun dokumentasi mengenai aplikasi tersebut. Hal itu tentu akan merepotkan Anda. Testing termasuk salah satu kegiatan yang perlu didokumentasikan, bahkan merupakan suatu ide yang baik untuk menuliskan rencana testing sebelum memulai proses testing itu sendiri. Rencana testing tersebut akan menjelaskan semua fungsi-fungsi aplikasi yang diminta, hal ini dapat dijadikan patokan untuk penjadwalan testing. Untuk setiap proses testing, rencana Anda sebaiknya melakukan spesifi kasi untuk:
1. Masing-masing item yang dites.
2. Bagaimana item-item tersebut dites.
3. Hasil yang diharapkan.
4. Kriteria keberhasilan.
Dokumen Anda juga mengidentifikasikan saat Anda memutuskan untuk tidak melakukan testing terhadap fitur tertentu, dan menjelaskan alasannya. Selain itu, Anda perlu menjelaskan lingkungan testing yang digunakan.
Program Testing
Testing tidak selalu harus dilakukan secara manual. Anda dapat menulis sebuah program kecil untuk melakukan testing dengan memberikan input data pada proses unit, component, process, atau aplikasi yang sedang Anda test. Apakah tidak membuang-buang waktu untuk membuat sebuah program khusus untuk melakukan testing? Hal ini menjadi relatif tergantung aplikasi Anda. Terutama Anda harus mempertimbangkan frekuensi kebutuhan aplikasi Anda untuk melakukan Regression Testing.Anda dapat menggunakan kembali program testing tersebut setiap kali dilakukan Regression Testing, dengan demikian justru akan menghemat banyak waktu yang Anda keluarkan untuk melakukan testing.
Sertifikasi?
Sudah umum terjadi bahwa penilaian terhadap sesuatu sering didukung oleh sertifikasi. Sebagai contoh, bukankah terdapat sertifikasi seperti TOEFL untuk kemampuan bahasa inggris, atau sertifi kasisertifi kasi yang dikeluarkan Microsoft seperti MCAD, MSCE, MCSD. Bagaimana dengan sertifikasi testing? Walaupun sertifikasi testing aplikasi masih menjadi perdebatan, sudah terdapat beberapa sertifi kasi, seperti CSQE yang ditawarkan oleh America Society for Quality, CSTE/CSQA oleh Quality Assurance Institute, atau ISTQB oleh International Software Testing Qualifi cation Board. Bagaimanapun, saat ini belum terdapat sertifikasi yang benar-benar dapat diterima oleh berbagai aplikasi yang memiliki variasi dan keunikan masing-masing, yang menunjukkan bahwa lahan testing aplikasi belum siap untuk sertifikasi umum dan dapat diterima oleh aplikasi dan kebutuhan apa saja. Sertifikasi mungkin merupakan suatu bentuk penghargaan, tetapi dalam membuat suatu aplikasi, penghargaan yang paling tinggi datang dari end-user yang menggunakan aplikasi Anda. Kepuasan mereka adalah “sertifikasi” tidak tertulis yang menjadi barometer keberhasilan aplikasi Anda. Dengan melakukan testing aplikasi sejak awal, Anda telah melangkah untuk menciptakan keberhasilan aplikasi.

sumber:
http://barus.blogdetik.com/2009/05/18/seluk-beluk-testing-aplikasi/
http://lietomy89.blogspot.com/2009/09/sedikit-tentang-bug.html

ReadMore...

"Blue Screen of Death"

BSoD (Blue Screen of Death) merupakan sebuah notifikasi atau pesan Error yang akan muncul pada sistem operasi Windows ketika terjadi suatu kegagalan sistem yang tidak bisa di recover. Dan bagi sebagian orang yang tidak bisa membaca notifikasi tersebut akan merestart ulang pc mereka sampai bisa dan tidak muncul BSoD tapi kalau tidak bias bagaimana? Dari kebanyakan orang yang saya temui mereka akan pasrah dan menginstall ulang windows mereka =.=;a. Oleh sebab itu lebih baik kita memahami notifikasi yang ada pada BsoD untuk menanggulanginya dan pencegahannya:
•
IRQL_NOT_LESS_OR_EQUAL (0X0000000A)
• Notifikasi ini akan keluar jika terjadi ketidakcocokan pada driver yang telah terinstall pada pc anda.
• NTFS_FILE_SYSTEM atau FAT_FILE_SYSTEM (0X00000024) atau (0X00000023)

• Notifikasi ini akan keluar jika terjadi bila ada kerusakan pada hardisk namun bukan pada hardisknya yang rusak. Kita bisa memeriksa kabel SATA ataupun PATA dan partisi yang terdapat didalam hardisk.

UNEXPECTED_KERNEL_MODE_TRAP (0X0000007F)

• Notifikasi ini akan keluar jika terjadi kerusakan yang sering terjadi akibat overclock hardware yang berlebihan dan biasanya membuat BIOS korup, Memory dan CPU rusak dan komponen komputer menjadi panas

• DATA_BUS_ERROR

Notifikasi ini akan keluar jika terjadi karena adanya kemungkinan bahwa memory atau slot memory di motherboard rusak.

• PAGE_FAULT_IN_NONPAGED_AREA

Notifikasi ini akan keluar jika terjadi karena adanya kerusakan hardware, termasuk memory utama, memory video card, atau memory di processor (L2 Cache)

• INACCESSIBLE_BOOT_DEVICE

Notifikasi ini akan keluar jika terjadi karena adanya kesalahan dalam konfigurasi jumper harddisk yang salah, virus boot sector, driver IDE controller yang salah, atau kesalahan driver chipset.

• VIDEO_DRIVER_INIT_FAILURE
Notifikasi ini akan keluar jika terjadi karena kesalahan yang terjadi pada instalasi driver video card yang kurang sempurna, restart pada saat instalasi atau juga dapat terjadi karena kesalahan dalam instalasi driver.

• BAD_POOL_CALLER

Notifikasi ini akan keluar jika terjadi karena kesalahan atau driver yang tidak kompatibel. Sering terjadi saat melakukan instalasi XP dari upgrade, atau bukan dari instalasi baru.

• PEN_LIST_CORRUPT

Pesan ini disebabkan karena adanya kerusakan RAM

• MACHINE_CHECK_EXCEPTION

Notifikasi ini akan keluar jika terjadi karena kerusakan CPU, atau yang di overclock secara agresif, serta power supply yang kekurangan daya atau rusak.

Sumber:
http://www.adipedia.com/2011/02/memahami-arti-pesan-blue-screen-of.html
http://ghadinkz23.blogspot.com/2010/10/pengertian-bsod-blue-screen-of-death.html

ReadMore...