1 2 1
+
+
) ,
2 1
Galat/ kesalahan dalam proses komputasi numerik terbagi menjadi dua yaitu kesalahan
dapat terjadi akibat adanya perbedaan antara bilangan x dan representasinya dalam komputer,
fl(x), dan kesalahan ini dapat dihindari, ex= x fl(x) = 0, bila x dapat direpresentasikan dalam
komputer tanpa mengubah apapun. Andaikan xT adalah nilai bilangan yang sebenarnya dan xA
adalah nilai hasil representasinya, maka suatu kesalahan di xA dituliskan sebagai
( ) = ,
dan kesalahan relatifnya dituliskan dalam bentuk :
( ) =
( )
=
Contoh :
= , =
( ) =
19
7
19
= 0.003996
7
( ) = 0.00147
Dalam hal ini, memiliki 3 significant digits terhadap
Angka signifikan
Contoh:
Misalkan x adalah nilai eksak. Hampiran untuk x, dikatakan menghampiri x sampai k angka
signifikan jika k adalah bilangan bulat positif terbesar yang memenuhi
| | 10
<
.
||
2
Contoh :
= 3.141592, = 3.14;
| |
103
= 0.000507
.
||
2
1 = (1.00 0)2 20 ,
bilangan terkecil yang > 1 adalah :
1 + 223 = (1.0 01)2 20 > 1.
Dengan demikian, machine epsilon dalam IEEE floating point presisi tunggal adalah :
= 223 = 1.19 107
Satuan Pembulatan
Andaikan > 0 adalah bilangan terkecil yang dapat direpresentasikan dalam mesin
komputer, serta 1 + > 1 dalam aritmatika mesin. Untuk sembarang 0 < < , maka hasil
dari 1 + =1 dalam aritmatika mesin. Dengan demikian, dalam representasi floating point
pada mesin, dapat diabaikan
Pemangkasan dan Pembulatan dalam Sistem Desimal
Andaikan z adalah suatu bilangan desimal dengan representasi dalam floating point
seperti berikut :
= 10 (1 2 )10 10 ,
dengan a1 0 sehingga terdapat n digit desimal pada significand
(1 2 )10
Secara umum, bila diberikan suatu bilangan
= (1 2 )10 10 , 1 0.
Penulisan x perlu dibuat lebih pendek agar muat dalam komputer. Hal ini dapat dilakukan
melalui proses pemangkasan atau pembulatan. Bila dilakukan pemangkasan, maka representasi
floating point dari x adalah :
() = (1 2 )10 10 .
Bila dilakukan pembulatan, maka perlu diputuskan pembulatan ke atas atau ke bawah. Formula
yang sederhana adalah sebagai berikut
() = {
(1 2 )10 10 , +1 < 5
(1 2 )10 + (0.0 1)10 ] 10 , +1 5
Computed f(x)
True f(x)
.414210
.414214
10
1.54340
1.54347
100
4.99000
4.98756
1000
15.8000
15.9074
10000
50.0000
49.9988
100000
100.000
158.113
Terlihat pada tabel diatas bahwa jika x semakin besar maka galatnya akan semakin besar pula.
Contoh lain, didefinisikan fungsi berikut
1 cos
, 0.
2
Menggunakan kalkulator 10 digit desimal dengan sistem aritmatika pembulatan, diperoleh
() =
Computed f(x)
True f(x)
0.1
0.4995834700
0.4995834722
0.01
0.4999960000
0.4999958333
0.001
0.5000000000
0.4999999583
0.0001
0.5000000000
0.4999999996
0.00001
0.0
0.5000000000
(2)
= 13 + (168),
= 13 (168),
= 13 + 12.961 = 25.961
(2)
= 13 12.961 = 0.039
( )
Ini dapat terjadi karena loss of significant error pada proses perhitungannya yang dapat
diperkecil dengan mengambil :
(2)
1
1
=
,
13 + (168) 25.961
Bila suatu bilangan dikurangi dengan bilangan yang hampir sama, akan terjadi loss of
significance error pada proses perhitungannya.
Propagasi Kesalahan
Evaluasi suatu fungsi f(x) pada mesin seringkali tidak menghasilkan f(x) melainkan suatu
nilai hampirannya, (). Kemudian andaikan, , maka untuk mengevaluasi f(xT), bisa
jadi kita menghitung ( ). Dengan demikian terjadi kesalahan sebesar
( ) ( ) = [( ) ( )] + [( ) ( )].
Besaran ( ) ( ) biasanya disebut noise, sedangkan besaran
( ) ( )
disebut kesalahan karena propagasi. Bila f adalah fungsi yang mempunyai turunan, maka
dengan menggunakan teorema nilai tengah diperoleh
( ) ( ) = () ( ),
atau karena terletak di antara xT dan xA, sedangkan xT sedemikian dekat dengan xA, maka :
( ) ( ) ( ) ( )