1. Bagian 3
Analisis Galat Dan Deret Taylor
Contoh 13
Misalkan nilai sejati = 10/3 dan nilai hampiran = 3. 333. hitunglah galat, galat mutlak, galat
relatif, dan galat relatif hampiran.
Penyelesaian
10 10 3333 1
Galat = – 3.333 = – = = 0. 000333…
3 3 1000 3000
10 3333
Galat mutlak = – = 0. 000333…
3 1000
0.000333... 1
Galat relatif = = = 0. 0001.
10 1000
3
0.000333... 1
Galat Relatif Hampiran = =
3.333 9999
Pendekatan Lain dari Galat Relatif Hampiran
Dalam praktek sulit mengetahui nilai sejati a, maka pendekatan iterasi, eRA dihitung dengan
cara,
ar 1 ar
eRA = (2.2.6)
ar 1
Proses iterasi dihentikan jika
e RA < eS (2.2.7)
Contoh 14
Misalkan fungsi dengan prosedur iterasi sebagai berikut
xr+1 = (–xr3 + 3)/6, r = 0, 1, 2, 3, …
iterasi dihentikan jika kondisi e RA < eS, dengan eS adalah toleransi galat yang diinginkan.
Misalkan x0 = 0. 5 dan eS = 0. 00001 diperoleh iterasi urutan, sebagai berikut:
x0 = 0, 5
x1 = 0, 4791667 e RA ( x1 x0 ) / x 1 = 0.043478 > eS
x2 = 0, 4816638 e RA ( x 2 x1 ) / x 2 = 0.0051843 > eS
x3 = 0, 4813757 e RA ( x3 x2 ) / x3 = 0.0005984 > eS
x4 = 0, 4814091 e RA ( x4 x3 ) / x4 = 0.0000693 > eS
X5 = 0, 4814052 e RA ( x5 x 4 ) / x5 = 0.0000081 < eS
(Hentikan iterasi)
2. Pada iterasi ke – 5, e RA < eS, sudah terpenuhi maka iterasi dapat dihentikan.
Sumber Utama Galat Numerik
Secara umum terdapat dua sumber utama penyebab galat dalam perhitungan numerik :
1. Galat Pemotongan (truncation of error)
2. Galat Pembulatan (round of error)
Selain kedua galat ini, dikenal juga sumber galat lain :
a. Galat eksperimen, yaitu galat yang timbul dari data yang diberikan, misalnya karena
kesalahan pengukuran, ketidaktelitian alat ukur, dan sebagainya.
b. Galat pemrograman, yaitu galat yang terdapat di dalam program sering juga
dinamakan dengan kutu (bug), dan proses penghilangan galat ini dinamakan
penirkutuan (debugging).
2. 1 Galat Pemotongan (truncation error)
Galat pemotongan mengacu pada galat yang ditimbulkan akibat penggunaan hampiran
sebagai pengganti formula eksak, dikenal juga sebagai galat numerik. Misalnya turunan pertama
fungsi f di xi dihampiri dengan rumus,
f ( xi 1 ) f ( xi )
f (xi) = ,
h
dengan h lebar absis xi+1 dengan xi. galat yang ditimbulkan dari hampiran turunan tersebut
merupakan galat pemotongan. Seperti pada kasus Deret Taylor.
Definisi Deret Taylor :
Suatu fungsi f dan semua turunannya, f , f , f , …, dalam selang [a, b]. Misalkan x0
[a, b], maka untuk nilai – nilai x di sekitar x0 dan x [a, b], f(x) dapat diperuas ke dalam deret
Taylor :
(x x0 ) (x x0 ) 2
f(x) = f(x0) + f ( x0 ) f ( x0 )
1! 2!
(x x0 )m (m )
... f ( x 0 ) ... (2.2.8)
m!
Persamaan (2.2.8) merupakan penjumlahan dari suku – suku, yang disebut seret Taylor.
Persamaan ini dapat juga ditulis sebagai :
h h2 hm ( m )
f(x) = f(x0) + f ( x0 ) f ( x0 ) ... f ( x0 ) ... (2.2.9)
1! 2! m!
dengan x - x0 = h atau x = h + x0.
2.2 Galat Pembulatan (round of error)
3. Karena keterbatasan komputer dalam menyajikan bilangan riil maka penyajiannya juga
terbatas, yang menghasilkan galat disebut Galat Pembulatan. Sebagai contoh 1/6 = 0, 166667…
tidak dapat dinyatakan dengan tepat oleh komputer, pengabaian bilangan ini menimbulkan galat
pembulatan.
Dua cara penyajian bilangan riil dalam komputer digital yaitu bilangan titik-tetap (fixed
point) yaitu penulisan bilangan jumlah tempat desimal tetap misalnya, 62.358, 0.013, 1.000 dan
bilangan titik-kambang (floating point) yaitu format penulisan disajikan dengan jumlah digit
berarti yang sudah tetap yaitu : 0, 6238 x 103 (sering ditulis juga sebagai 0.6238E+03).
Angka Nyata atau angka Bena (significant figure) atau angka berarti adalah angka
penting yang dapat digunakan dengan pasti.
4. 3123 x 101 mempunyai 5 angka bena
-6
1. 2 x 10 mempunyai 2 angka bena
Galat Total
Yaitu galat pada solusi numerik yang merupakan jumlah galat pemotongan dan galat
pembulatan.
Contoh 18 :
Gunakan deret Maclaurin orde ke 4 di sekitar x0 = 0, 2 untuk menghampiri cos (0,2) dan berikan
taksiran untuk galat pemotongan dan galat pembulatan.
Penyelesaian
Cos(0.2) 1 – 0.22/2 + 0.24/24 0.9800667
Galat Pemotongan Galat Pembulatan
4. 2. 3 Tingkat Hampiran (Orde Penghampiran) :
Misalkan f(h) dihampiri oleh fungsi p(h), jika
f (h) p( h ) M h n , dengan M adalah konstanta riil > 0, p(h) menghampiri f(h)
dengan orde O(hn).
f(h) = p(h) + O(hn)
O(hn) dibaca “O–besar” diartikan sebagai orde galat dari penghampiran fungsi. Karena nilai h <
1, sehingga semakin tinggi nilai n semakin kecil galatnya.
Misalkan untuk kasus Deret Taylor dengan penghampiran fungsi. Seperti, xi+1 = xi + h, i = 0, 1,
2, … :
sehingga pers. (2.2.9) menjadi :
(x x ) (x x )2
i 1 i i 1 i
f(xi+1) = f(xi) + f ( xi ) f ( xi )
1! 2!
(x x )n ( n )
... i 1 i f ( xi ) R ( x )
n! n i 1
dengan,
( h )n 1 ( n 1 )
Rn(xi+1) = f ( t ) = O(hn+1), xi < t < xi+1 (2.2.11)
( n 1 )!
Sehingga dapat dituliskan sebagai,
n hk ( k )
f(xi+1) = f ( x ) O( h n 1 ) (2.2.12)
k 0 k! i
Contoh 18 :
Tunjukkan Deret Taylor dari fungsi berikut sampai orde 5.
a. eh
b. ln (x+1)
c. sin (h)
d. cos (h)
Penyelesaian
a. e h = 1 +h + h2/2! + h3/3! + h4/4! + O(h5)
b. ln (x+1) = x – x2/2 + x3/3 – x4/4 + x5/4 + O(h5)
c. sin (h) = h – h3/3! + x5/5! + O(h6)
d. cos (h) = 1 – h2/4! + h4/6! – h6/6! + O(h8)
2. 4 Bilangan Titik Kambang
Format Bilangan Riil dalam komputer ditampilkan sebagai :
a= mxBp= 0. d1d2d3d4d5d6 … dn x B p
5. m = mantisa (bilangan riil), B = basis bilangan yang dipakai
(2, 8, 10, 16, 32 …)
d1d2d3d4d5d6 = digit atau bit mantisa
p = pangkat (berupa bilangan bulat),
nilainya dari – Pmin sampai +Pmaks
Contoh 19:
Bilangan 156,78 dapat dinyatakan sebagai 0. 15678 x 103 dalam sistem bilangan titik –
kambang dengan basis 10.
Bilangan titik kambang ternormalisasi, merupakan penyajian bilangan mantisa tidak
boleh nol pada digit pertama.
Contoh 20:
-3
Bilangan 0.0563 x 10 dinormalisasi menjadi 0.563 x 10-4 dan 0.00023270 x 106 dinormalisasi
menjadi 0.23270 x 10-3 atau dapat ditulis secara umum sebagai :
(a = mxBp= 0. d1d2d3d4d5d6 … dn x B p-1).
2.4.1 Epsilon Mesin
Ukuran yang digunakan untuk membedakan suatu bilangan riil dengan bilangan riil
berikutnya disebut epsilon mesin ( ).
Standarisasi dilakukan dengan menemukan bilangan titik kambang terkecil jika ditambahkan
dengan satu memberikan hasil yang lebih besar dari 1, sehingga
Underflow Overflow
1 + < 1.
000000011 000000011
0.0 9 1.0 2.0
1. 0000000119
9
Epsilon mesin pada sistem bilangan riil yang ditunjukkan pada gambar tersebut di atas adalah :
= 1. 0000000119 – 1.0 = 0. 119 x 10 - 6
Gap ( x) atau jarak antara sebuah bilangan titik kambang dengan bilangan titik kambang
berikutnya adalah
x = x R,
dengan R adalah bilangan titik kambang sekarang.
Contoh, gap antara bilangan positif terkecil antara 0. 29 x 10-38 dengan bilangan titik kambang
terkecil kedua adalah :
x = x R = 0. 119 x 10 – 6 x 0. 29 x 10-38 = 0.345 x 10-45
sehingga bilangan titik kambang terkecil kedua sesduah 0.29 x 10-38 adalah
0.29 x 10-38 + 0.345 x 10-45, sehingga gap akan bertambah besar dengan semakin besarnya
bilangan titik kambang.
Underflow terjadi jika suatu bilangan titik kambang tidak dapat dinyatakan diantara 0 dan
bilangan positif terkecil (atau antara 0 dan bilangan negatif terbesar.
6. Overflow terjadi jika suatu bilangan titik kambang lebih besar dari bilangan positif terbesar (atau
lebih kecil dari bilangan negatif terkecil).
Epsilon mesin dapat dirumuskan sebagai :
= B1 – n
Dengan B adalah basis bilangan dan n adalah banyaknya digit (atau bit) bena didalam mantisa.
Misalkan pada komputer IBM PC 32 – bit (1 bit tanda, 8 bit pangkat, dan 24 bit mantisa),
= B1 – 24 = 0. 000000011920928955078125 = 0.119 x 10 - 6
2.4.2 Pembulatan Pada Bilangan Titik Kambang
Ada dua teknik pembulatan yang lazim dipakai komputer, yaitu :
Pemenggalan (chopping),
a= 0. d1d2d3d4d5d6 … dn x B p menjadi flchop(a) = 0. d1d2d3 … dn -1dn x B p
Misalkan, = 0.31459265358 … x 100 menjadi
flchop( ) = 0.3141592 x 100
dengan Galat sebesar 0. 00000065…
dan Pembulatan ke digit terdekat (in–rounding),
a= 0. d1d2d3d4d5d6 … dn x B p menjadi flchop(a) = 0. d1d2d3 … ˆ
dn xBp
d n , Jika d 5
n 1
d n 1 Jika d 5
ˆ
d = n 1
n d n Jika d n 1 5 dan n genap
d n 1 jika d n 1 5 dan n ganjil
Misalkan, = 0.31459265358 … x 100 menjadi 7 digit mantis flchop( ) = 0.3141593 x 100
dengan Galat sebesar 0. 00000035…
Contoh 20 :
Misalkan a = 0. 5682785715287 x 10-4 hitunglah sampai 6 digit dan 9 digit ,
Penyelesaian:
Dalam komputer 6 digit dibulatkan menjadi
flround(a) = 0.568278 x 100
Dalam komputer 9 digit dibulatkan menjadi
flround(a) = 0.568278572 x 100
Kebanyakan komputer menggunakan cara “pemenggalan”
2.4.3 Aritmetika Bilangan Titik Kambang
2.4.3.1 Operasi Penambahan dan Pengurangan
Contoh 21:
7. Misalkan digunakan komputer dengan mantis 4 digit (basis 10), hitunglah 1.557 + 0.04381 =
0.1557 x 101 + 0.4381 x 10-1
Penyelesaian:
0.1557 x 101 = 0. 1557 x 101
0.4381 x 101 = 0. 004381 x 101 +
= 0.160081 x 101
in–rounding 0.1601 x 101
chopping 0.1600 x 101
1 1
Galat mutlak pembulatan = ( 0.160081x 10 ) ( 0.1601x 10 )
= 0.000019
1 1
Galat mutlak pemenggalan= ( 0.160081x 10 ) ( 0.1600 x 10 )
= 0.000081
Contoh 22:
Misalkan digunakan komputer dengan mantis 4 digit (basis 10), hitunglah 3677 – 0.3283 =
0.3677 x 104 - 0.3283 x 100
Penyelesaian:
0.3677 x 104 = 0. 3677 x 104
0.3283 x 100 = 0. 00003283 x 104 +
= 0. 36766717 x 104
in–rounding 0.3677 x 104
chopping 0.3676 x 104
2.4.3.2 Operasi Perkalian dan Pembagian
Contoh 23:
Misalkan digunakan komputer dengan mantis 4 digit (basis 10), hitunglah, perkalian 0.4652 x
104 dengan 0.1456 x 10-1
Penyelesaian:
Kalikan 0.4652 Jumlahkan pangkat : 4
0.1456 x -1 +
0.06773312 3
Gabungan mantis dengan pangkat : 0. 06773312 x 103
Normalisasi : 0. 6773312 x 102
in–rounding 0.6773 x 102
chopping 0.6773 x 102
Contoh 24:
8. Misalkan digunakan komputer dengan mantis 4 digit (basis 10), hitunglah (0.8675 x 10-4)/
0.2543 x 10-2.
Penyelesaian:
Bagi Mantis : 0.8675 Kurangi pangkat : - 4
0.2543: -2-
3.4113252 -2
Gabungan mantis dengan pangkat : 3.4113252 x 103
Normalisasi : 0. 34113252 x 10-1
in–rounding 0.3411 x 10-1
chopping 0.3411 x 10-1
2.4.3.2 Perambatan Galat
Misalkan terdapat dua bilangan a dan b (nilai sejati) dan nilai hampirannya masing-
ˆ ˆ
masing a dan b yang mengandung galat masing a dan b dapat ditulis,
ˆ
a= a + a
ˆ
dan b = b + b
Penjumlahan kedua bilangan ini,
ˆ
a + b = (a + a)
ˆ
+ (b + b) ˆ ˆ
= (a + b ) + ( a + b)
dengan cara yang sama untuk proses pengurangan, perkalian dan pembagian maka galat
merambat pada masing masing hasil Operand.
2.5 Kondisi Buruk
Misalkan contoh berikut dari persamaan kuadrat ax 2 bx c 0,
(i). x2 – 4x + 3. 999 = 0 akar – akarnya, x1 = 2. 032 dan
x2 = 1.968
(ii). x2 – 4x + 4. 000 = 0 akar – akarnya, x1= x2 = 2.000
(iii). x2 – 4x + 4. 001 = 0 akar – akarnya imajiner
Situasi persamaan di atas berkondisi buruk, karena perubahan sedikit saja, dalam hal ini
masukannya (konstanta c), ternyata nilai akar – akarnya berubah sangat besar.
2.5. Bilangan Kondisi
Bilangan kondisi dapat dihitung dengan bantuan deret Taylor. Misalkan fungsi f(x)
ˆ
diuraikan disekitar x , sampai suku orde pertama :
ˆ ˆ
f(x) = f ( x ) + f ( x ) ( x ˆ
x) (2.5.1)
dengan galat hampiran dari f(x) adalah
9. f(x) ˆ
f (x) ˆ
f ( x )( x ˆ
x)
RA[f(x)] = = (2.5.2)
ˆ
f(x) ˆ
f(x)
Galat Hampiran dari x adalah,
x ˆ
x
RA[x] = (2.5.3)
ˆ
x
Sehingga bilangan kondisi didefinisikan sebagai nisbah (ratio) antara (2.5.2) dan (2.5.3) :
ˆ ˆ
RA f ( x ) = xf ( x )
Bilangan Kondisi =
ˆ
f [x]
RA [ x ]
Contoh 25 :
Misalkan f(x) = x . Tentukan bilangan kondisi dan perhitungan akar kuadrat x
Penyelesaian :
1
Diketahui, f (x) =
2 x
ˆ ˆ
RA f ( x ) = xf ( x )
Bilangan Kondisi =
ˆ
f [x]
RA [ x ]
ˆ ˆ
x /( 2 x ) 1
= =
ˆ
x 2
Bilangan kondisinya cukup kecil sehingga penarikan akar kuadrat x merupakan proses yang
berkondisi baik. Misalkan 20.999 = 4.5824665 dan jika 21 = 4.5825756
Contoh 26 :
10
Hitung bilangan kondisi (f(x) =
1 x2
Penyelesaian :
Diketahui,
20 x
f (x) =
( 1 x 2 )2
ˆ ˆ
xf ( x )
Bilangankondisi =
ˆ
f [x]
ˆ ˆ
x [ 20 x /( 1 x 2 )2
ˆ
=
10 /( 1 x2 )
ˆ
10. Bilangan kondisi ini sangat besar untuk x =1.
Misalkan f(1.009) = – 55.306675, dan jika f(1.01) = – 497.51243.
Latihan : (lihat di buku soal latihan [2])
1. Hitung 10.1 - 10 secara langsung tetapi hasil setiap perhitungan antara hasil akhir
dibulatkan sampai 4 angka bena/nyata. Kemudian hitunglah 10.1 - 10 dengan cara
yang lebih sempuna [2].
2. Carilah akar persamaan kuadrat x2 – 10.1x + 1 = 0 dengan rumus abc, yang setiap hasil
perhitungan antara maupun hasil perhitungan akhir dibulatkan dengan teknik :
(a). pembulatan kedalam (in – rounding)
(b). pemenggalan (chopping)
sampai empat angka nyata. Bandingkan hasilnya jika akar terbesar (x1) dihitung dengan
rumus abc dan akar terkecil (x2) dengan rumus x1x2 = c/a.
3. Diberikan beberapa bilangan titik kambang yang telah dinormalkan berikut ini :
a = 0. 4523123 x 10-4
b = 0. 2365401 x 101
c = 0. 4520156 x 10-4
d = 0.1234567 x 10-3
bila mesin yang digunkan untuk operasi aritmetika mempunyai tujuh angka bena/nyata,
hitung hasil komputasi yang diberikan oleh mesin tersebut (dalam bentuk biolangan titik
– kambang ternormalisasi) :
(i) a+b+c+d
(ii) a+c+d+b
(iii) a - c
(iv) ab – c
6. Misalkan digunakan mesin hipotetik dengan mantis empat angka bena. Lakukan operasi
aritmetika untuk bilangan titik kambang ternormalisasi berikut. Normalkan hasilnya
(a) 0. 3796 x 102 + 0. 9643 x 10 -2
(b) 0. 4561 x 10-2 – 0.6732 x 10 -2
(c) (0.1234 x 103) x (0.4321 x 10-1)
7. Carilah cara yang lebih baik untuk menghitung :
(i) f(x) = (x – sin(x)/tan(x) untuk x mendekati nol
(ii) f(x) = x - (x2 – a) untuk x yang jauh lebih besar dari a
(iii) f(x) = cos2(x) – sin2(x) untuk x di sekitar /4
(iv) f(x) = log(x + 1) – log (x) untuk x yang besar
11. 8. Diketahui f(x) = cos (x). Tentukan f (x) dengan teorema dasar turunan :
f(x h) f(x)
lim = f (x)
h 0 h
Hitung f (x) dengan h = 0.1; 0.01; 0.0001; 0. 00001; 0. 000001.
untuk memperbaiki hasil perhitungan, hitunglah f (x) dengan
cara yang lebih teliti.