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