December 20, 2008

Keunikan Bahasa COBOL (akhirnya kutemukan juga)

Setelah setahun begelut dengan COBOl, setelah berusaha memahami COBOl, mencintai COBOL, menemukan suatu yang spesial dari COBOL, akhirnya kemarin ketemu juga keunikan bahasa pemrograman yang satu ini.

Uniknya di mana ?

OK begini nih...

Jika saya memiliki variable X yang menupakan type 9 ( unsigned integer di bahasa C),

Berapakah nilai X jika :
X = 2 / 3 * 9 ( dua dibagi tiga dikali sembilan ) ?

Hayu jawab dulu deh... sebentar doang tuuh..

Jika kamu menjawab nilai X adalah 6 atau 5, dalam kasus COBOL, Anda keliru...
di COBOL jawabannya adalah 0.

Lho kok bisa ?

Hayooo ada yang tau jawabannya ?
Saya sendiri punya teori, bahwa si COBOL memprosesnya seperti ini :

step 1: devide 3 from 2 giving X ( bagilah 3 dari 2 kemudian hasilnya simpan di X).
Step 2: multiply X by 9 giving X (kalikan X dengan 9 kemudian hasilnya simpan di X).

Mengapa hasilnya X adalah 0 ?
karena ketika pembagian pertama (2/3) adalah 0.666666...7 maka oleh COBOL akan dibulatkan menjadi 0 karena tipe si X adalah tipe 9 (padanannya unsigned integer di bahasa C)
so.. ketika step ke dua... X dilkali dengan 9, hasilnya akan 0 karena nilai X sebelumnya adalahh 0.. (0*9=0) ..

Wi... primitif sekali bukan ?
si COBOL melakukannya benar-benar step by step, tidak seperti bahasa pemrograman yang baru-baru sekarang... Mungkin mirip assembler ??
Akhirnya menemukan keunikan COBOL v^ ^

No comments:

Post a Comment