PRAKTIKUM 2 GALAT DALAM KOMPUTASI NUMERIK Asisten Praktikum: Slamet Riyadi (G54060448) Slamet Aprian Utomo (G54061563)
RUANG LINGKUP 1. Sumber-sumber galat 2. Penyajian Bilangan 2.1 Sistem Biner 2.2 Sistem heksadesimal 2.3 bilangan pecahan & deret 2.4 pecahan biner 3. Galat Hampiran 3.1 Galat Pembulatan (Rounding Off Error) 3.2 Galat Pemotongan (Truncation Error) 4. Perambatan Galat 4.1 Galat Penjumlahan & Pengurangan 4.2 Galat Perkalian & Pembagian
1. Sumber-sumber galat Model matematika untuk suatu fenomena alam Galat bawaan dari data masukan (parameter masukan) Metode penyelesaian Adanya pembulatan di dalam menggunakan operasi aritmatika atau operasi-operasi lain pada bilangan yang terkait.
Penyajian bilangan Sistem biner (basis 2) untuk mengubah bilangan ke dalam biner, dapat digunakan fungsi built-in pada MATLAB, yaitu dec2bin() bin2dec() Sistem heksadesimal (basis 16) untuk mengubah bilangan ke dalam heksadesimal, dapat digunakan fungsi built-in pada MATLAB, yaitu dec2hex() hex2dec() Bilangan Pecahan & Deret gunakan format rat untuk pecahan Pecahan Biner
Galat Hampiran CONTOH 1 0.1 Programnya:
Latihan pemograman MATLAB
Galat hampiran Galat Pembulatan (Rounding Off Error) galat yang diakibatkan oleh adanya pembulatan suatu nilai hampiran Galat Pemotongan (Truncation Error) galat yang diakibatkan oleh adanya pemotongan (biasanya suatu deret)
Perambatan galat Galat Penjumlahan & Pengurangan Tentukan maksimum galat penjumlahan yang terjadi dari format long g s1=0;s2=0;errmax=0; for k=1:100 s1=s1+(round(100*sqrt(k)))/100; s2=s2+sqrt(k); errmax=errmax+abs(s2-s1); end s1 s2 errmax err=abs(s2-s1) err_rel=err/s2
Galat perkalian & Pembagian Hasilkan hampiran barisan {xn} ={ 1/3 n} dengan menggunakan algoritma berikut: a0 = 0.9996, an = an-1/3 untuk n = 1,2,... b0 = 1, b1=0.33332, bn = 4bn-1/3 – bn-2/3 untuk n = 1,2,... c0 =1, c1=0.33332, cn=10cn-1/3 – cn-2 untuk n = 1,2,.... Selidiki perambatan galat dari masing-masing algoritma. a=[ ]; a0=0.99996; a1=a0/3; b0=1; b1=0.33332; c0=1; c1=0.33332; a=[a0 b0 c0; a1 b1 c1]; idx=[0;1]; for n=2:25, an=a1/3; a1=an; bn=4/3*b1-b0/3; b1=bn; cn=10/3*c1-c0; c1=cn; a=[a;an bn cn]; idx=[idx;n]; end [idx a] x=[1]; for k=1:25, x=[x;1/3^k]; end e_a=[x x x]-a; [idx e_a]
Latihan
latihan
The end