Loading...
Untuk memahami galat pembulatan lebih rinci, kita perlu mengerti cara penyimpanan bilangan riil di dalam komputer. Format bilangan riil di dalam komputer berbeda-beda bergantung pada piranti keras dan compiler bahasa pemrogramannya. Bilangan riil di dalam komputer umumnya disajikan dalam format bilangan titik kambang. Bilangan titik kambang $a$ ditulis sebagai:
$$a=\pm m \text{x} B^p$$ $$=\pm 0,d_1d_2d_3…d_n \text{x} B^p$$ yang dalam hal ini,
$m=$ mantisa (riil), $d_1d_2d_3…d_n$ adalah digit atau bit mantisa yang nilainya dari 0 sampai $B-1$ dan $n$ adalah panjang digit (bit) mantisa.
$B=$ basis sistem bilangan yang dipakai (2, 8, 10, 16, dan sebagainya).
$p=$ pangkat (berupa bilangan bulat), nilainya dari $-P_{min}$ sampai $+P_{maks}$.


Sebagai contoh, bilangan riil 245,7654 dinyatakan sebagai 0,2457654 x $10^3$ dalam format bilangan titik kambang dengan basis 10. Cara penyajian seperti itu serupa dengan cara penulisan ilmiah. Penulisan ilmiah termasuk ke dalam sistem bilangan titik kambang.
Sistem bilangan yang kita gunakan setiap hari menggunakan basis sepuluh (disebut juga sistem desimal), $B=10$. Umumnya komputer menggunakan sistem biner ($B=2$), tapi beberapa komputer menggunakan basis 8 dan 16. Untuk memudahkan pemahaman dan juga karena kita lebih terbiasa sehari-hari dengan bilangan desimal, kebanyakan contoh-contoh bilangan titik kambang di dalam bahasan ini disajikan dalam sistem desimal.
Bilangan titik kambang di dalam sistem biner direpresentasikan oleh komputer dalam bentuk word seperti ditunjukkan pada gambar berikut:
Gambar 1

Bit pertama menyatakan tanda ($+/-$), deretan bit berikutnya menyatakan pangkat bertanda, dan deretan bit terakhir untuk mantisa.

Setiap komputer memiliki panjang word yang berbeda-beda. Pada komputer IBM PC, bilangan titik kambang berketelitian tunggal (single precission) disajikan dalam 32 bit yang terdiri atas 1 bit sebagai tanda, 8 bit untuk pangkat, dan 23 bit untuk mantisa. Jika dalam bentuk ternormalisasi (akan dijelaskan kemudian), maka bit pertama pada mantisa harus 1, sehingga jumlah bit mantisa efektif adalah 24. $$a=\pm 0,1b_1b_2…b_23\text{x}B^p$$ yang dalam hal ini $b$ menyatakan bit biner (0 atau 1).
Sedangkan pada komputer IBM 370, bilangan titik kambang berketelitian tunggal disajikan dalam 32 bit yang terdiri dari 1 bit tanda, 7 bit pangkat (basis 16), dan 24 bit mantisa (setara dengan 6 sampai 7 digit desimal).

1. Bilangan Titik Kambang Ternormalisasi

Representasi bilangan titik kambang jauh dari unik, karena sebagai contoh kita juga dapat menulisnya sebagai:
$a=\pm (mb)$ x $B^{p-1}$ Misalnya, 245,7654 dapat ditulis sebagai
0,2457654 x $10^3$ atau
2,457654 x $10^2$ atau
0,02457654 x $10^4$, dan sebagainya.

Agar bilangan titik kambang dapat disajikan secara seragam, kebanyakan sistem komputer menormalisasikan formatnya sehingga semua digit mantisa selalu angka bena. Karena alasan itu, maka digit pertama mantisa tidak boleh nol. Bilangan titik kambang yang dinormalisasi ditulis sebagai:
$a=\pm m$ x $B^p$ $=\pm 0,d_1d_2d_3…d_n$ x $B^p$ yang dalam hal ini, $d_1d_2d_3…d_n$ adalah digit (atau bit) mantisa dengan syarat $1 \le d_1 \le b-1$ dan $0 \le d_k \le B-1$ untuk $k>1$.
Pada sistem desimal,
$1 \le d_1 \le 9$ dan $0 \le d_k \le 9$,
sedangkan pada sistem biner,
$d_1=1$ dan $0 \le d_k \le 1$

Sebagai contoh, 0.0563 x $10^{-3}$ dinormalisasi menjadi 0.563 x $10^{-4}$. Sebagai konsekuensi penormalan, nilai $m$ adalah $$\frac{1}{B} \le m < 1$$ Pada sistem desimal ($B=10$), $m$ akan berkisar dari 0.1 sampai 1, dan pada sistem biner ($B=2$) $m$ akan berkisar dari 0.5 sampai 1.
Sebagai catatan, nol adalah kasus khusus. Nol disajikan dengan bagian mantisa seluruhnya nol dan pangkatnya nol. Nol semacam ini tidak dinormalisasi.
Contoh:
Tulislah bilangan $e$ dalam format bilangan titik kambang ternormalisasi dengan basis 10, basis 2, dan basis 16.
Penyelesaian:
Dalam basis 10 (menggunakan 8 angka bena),
$e \approx 2.7182818=$ $0.27182818$ x $10^1$ (bilangan titik kambang desimal ternormalisasi).

Dalam basis 2 (menggunakan 30 bit bena),
$e \approx$ 0.101011011111100001010100010110$_2$ x $2^2$ (bilangan titik kambang biner ternormalisasi)

Dalam basis 16 (gunakan fakta bahwa $16=2^4$, sehingga $$2^2=\frac{1}{4}\text{x}16^1$$ $e \approx$ 0.101011011111100001010100010110$_2$ x $2^2$
$=\frac{1}{4}$ x 0.101011011111100001010100010110$_2$ x $16^1$
$=$0.00101011011111100001010100010110_2 x $16^1$
$=$0.2B7E1516$_{16}$ x $16^1$
(bilangan titik kambang heksadesimal ternormalisasi).
Anda dapat mengubah bilangan antar basis dengan aplikasi yang banyak bertebaran di PlayStore atau AppStore sistem android ataupun apple.


2. Epsilon Mesin

Karena jumlah bit yang digunakan untuk representasi bilangan titik kambang terbatas, maka jumlah bilangan riil yang dapat direpresentasikan juga terbatas. Untuk ilustrasi, tinjau kasus bilangan titik kambang biner 6-bit word (1 bit tanda, 3 bit untuk pangkat bertanda, dan 2 bit mantisa) dengan $B=2$, dan nilai pangkat dari $-2$ sampai 3. Karena semua bilangan dinormalisasi, maka bit pertama harus 1, sehingga semua bilangan yang mungkin adalah berbentuk:
$\pm$0.10$_2$ x $2^p$ atau $\pm$ 0.11$_2$ x $2^p$, $~-2 \le p \le 3$
Pada komputer IBM PC, bilangan titik kambang berketelitian tunggal dinyatakan dalam 32-bit word (1 bit tanda, 8 bit pangkat, dan 24 bit mantisa). Rentang nilai-nilai positifnya diperlihatkan pada gambar berikut:
Gambar
Gambar 2

Satu ukuran yang penting di dalam aritmetika komputer adalah seberapa kecil perbedaan antara dua buah nilai yang dapat dikenali oleh komputer. Ukuran yang digunakan untuk membedakan suatu bilangan riil dengan bilangan riil berikutnya adalah epsilon mesin. Epsilon mesin distandardisasi dengan menemukan bilangan titik kambang terkecil yang bila ditambahkan dengan 1 memberikan hasil yang lebih besar dari 1. Dengan kata lain, jika epsilon mesin dilambangkan dengan $\epsilon$ maka $1+\epsilon >1$ (bilangan yang lebih kecil dari epsilon mesin didefinisikan sebagai nol di dalam komputer).
Epsilon mesin pada sistem bilangan riil yang ditunjukkan pada gambar 2 adalah:
$\epsilon =$ 1.000000119$-$1.0$=0.119$ x $10^{-6}$
Gap ($\Delta x$) atau jarak antara sebuah bilangan titik kambang dengan bilangan titik kambang berikutnya, yang besarnya adalah: $\Delta x=\epsilon$ x $R$
yang dalam hal ini $R$ adalah bilangan titik kambang sekarang. Contohnya, gap antara bilangan positif terkecil pertama 0.29 x $10^{-38}$ dengan bilangan titik kambang terkecil kedua pada gambar 2 adalah:
$\Delta x=$(0.119 x $10^{-6}$) x (0.29 x $10^{-38}$)$=$0.345 x $10^{-45}$
dan dengan demikian bilangan titik kambang terkecil kedua sesudah 0.29 x $10^{-38}$ adalah
0.29 x $10^{-38}+$0.345 x $10^{-45}$
Keadaan underflow terjadi bila suatu bilangan titik kambang tidak dapat dinyatakan di antara 0 dan bilangan positif terkecil (atau antara 0 dan bilangan negatif terbesar). Keadaan overflow terjadi bila suatu bilangan titik kambang lebih besar dari bilangan positif terbesar (atau lebih kecil dari bilangan negatif terkecil).

Jika kita mengetahui jumlah bit mantisa dari suatu bilangan titik kambang, kita dapat menghitung epsilon mesinnya dengan rumus: $$\epsilon = B^{1-n}$$ yang dalam hal ini $B$ adalah basis bilangan dan $n$ adalah banyaknya digit (atau bit) bena di dalam mantisa.
Epsilon dapat digunakan sebagai kriteria berhenti kekonvergenan pada prosedur lelaran yang konvergen. Nilai lelaran sekarang dibandingkan dengan nilai lelaran sebelumnya. Jika selisih keduanya sudah kecil dari epsilon mesin, lelaran dihentikan, tetapi jika tidak maka lelaran diteruskan.