Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

next up previous contents
Next: Penggunaan Notasi Oktal dan Up: PENGANTAR PENGENALAN PEMROGRAMAN PERL Previous: Nilai Scalar Floating Point   Contents

Round off Error pada Operasi Floating Point

Operasi floating point memiliki sebuah masalah yang sering disebut dengan round off error. Contoh berikut memperlihat bagaimana kesalahan terjadi pada operasi floating point.

#!/usr/bin/perl

$nilai = 9.01e+21 + 0.01 - 9.01e+21;

print ("Angka pertama ",$nilai, "\n");

$nilai = 9.01e+21 - 9.01e+21 + 0.01;

print ("Angka kedua ", $nilai, "\n");

Jika program tersebut dijalankan, hasilnya seperti berikut ini.

Angka pertama 0

Angka kedua 0.01

Baris 2 dan 4 digunakan untuk melakukan operasi penambahan, yaitu 9.01+21 dengan 0.01. Pada baris 2, sebuah angka yang sangat kecil, 0.01 ditambahkan ke sebuah angka besar, 9.012+21.  Secara matematis akan diperoleh hasil yang cukup besar menjadi  9.01000000000000000000001+21. Angka 1 pada bagian akhir dari operasi tersebut hanya dapat ditampilkan oleh mesin yang mendukung operasi floating point sampai dengan 24 digit. Padahal kebanyakan mesin hanya mendukung sekitar 16 atau 17 digit. Hasilnya angka 1 dan 0 yang lebih dari digit 16 atau 17 tidak dapat ditampilkan. Hasil akhir dari operasi tersebut menjadi 9.0100000000000000e+21.

Baris 4 sama sekali tidak memiliki masalah kelebihan digit ini. Hal ini dikarenakan dua angka pertama yang dioperasikan memiliki nilai cukup besar dan baru kemudian ditambahkan dengan 0.01. Hasilnya bisa diduga menjadi 0.01. Dapat disimpulkan bahwa operasi floating point memiliki akurasi hasil yang tinggi jika menggunakan angka dalam jumlah besar.



Subsections
next up previous contents
Next: Penggunaan Notasi Oktal dan Up: PENGANTAR PENGENALAN PEMROGRAMAN PERL Previous: Nilai Scalar Floating Point   Contents
2002-10-29