Anda di halaman 1dari 5

BAB 1

ERROR PERHITUNGAN NUMERIK

A. Tujuan
a. Memahami galat dan hampiran
b. Mampu menghitung galat dan hampiran
c. Mampu membuat program untuk menyelesaikan perhitungan galat dan hampiran
dengan Matlab

B. Perangkat dan Materi


a. Software Matlab
b. Materi Galat dan Hampiran

C. Dasar Teori
 (Hampiran)

Contoh : Hitunglah 2 sampai empat angka desimal.


Penyelesaian :

Mennggunakan algoritma untuk menghitung 2 dengan menggunakan operasi


perkalian, pembagian, dan penjumlahan sebagai berikut :

1 2 
x1  1, xn   x n 1   , untuk n = 2,3,4,...
2 xn 1 
Dengan menggunakan algoritma di atas, diperoleh, untuk n = 2,3,4,...
3 17 1  17 24  577 1  577 816  665857
x2  , x3  , x4     , x5     ,
2 12 2  12 17  408 2  408 577  470832
Atau dalam bentuk pecahan desimal :
x2  1.5000000 , x3  1.4166667 , x4  1.4142157 , x5  1.4142136

Jadi, hampiran sampai empat angka desimal untuk 2 adalah x5  1.4142

Implementasi dengan Matlab


Berikut ini langkah-langkah percobaan untuk menyelesaikan persoalan di atas:
a. Buka program Matlab
b. Buat programnya di Command Windows
>> x=1;
>> e=1;
>> while e > 0.00001,
y=x;
x=(y+2/y)/2
e=abs(x-y);
end
x=
1.5000
x=
1.4167
x=
1.4142
x=
1.4142
>> fprintf('%5.7f',x);
1.4142136
c. Anda dapat mengubah batas nilai e untuk mendapatkan tingkat keakuratan yang
diinginkan.

Definisi Kesalahan (Galat)


Yaitu kesalahan yang ditimbulkan karena proses pengukuran atau penggunaan hampiran
(aproksimasi).
Berikut ini merupakan sumber galat (error) pada suatu hampiran penyelesaian yang
diperoleh dengan menggunakan suatu metode komputasi numerik (Volkof,1990:8, dalam
buku Komputasi Numerik dengan Matlab, 2005 oleh Sahid :3) adalah :
1. Model matematika untuk suatu fenomena alam
2. Galat bawaan dari masukan (parameter masukan)
3. Metode Penyelesaian
4. Adanya pembulatan dalam melakukan operasi-operasi aritmetika.
Contoh : Galat Penjumlahan dan Pengurangan

Teori :
Dari hubungan nilai eksak diperoleh :
x  y  x  ex  y  e y  ( x  y)  (ex  e y )
Jadi galat penjumlahan sama dengan jumlah galat suku-suku yang dijumlahkan, atau dapat
ditulis :
ex  y  ex  e y
Galat relatif penjumlahan adalah :
ex  y ex  e y
rx  y  
xy xy
Untuk pengurangan
x  y  x  ex  y  e y  ( x  y)  (ex  e y )
Jadi, analog dengan penjumlahan, galat pengurangan sama dengan selisih galat, atau dapat
dituliskan :
ex  y  ex  e y
Galat relatif pengurangan adalah :
ex  y ex  e y
rx  y  
xy xy
Dari persamaan terakhir dapat dipahami bahwa, apabila x  y maka galat relatif
pengurangan kedua hampiran akan semakin besar.

Misalkan x1 , x2 ,...., xn digunakan sebagai hampiran untuk X 1 , X 2 ,...., X n dengan maksimum

galat yang mungkin untuk masing-masing hampiran adalah E. Dengan kata lain :
xi  E  X i  xi  E , untuk i  1,2,...., n

Dengan menjumlahkan nilai-nilai tersebut diperoleh :


n n n

 xi  nE   X i   xi  nE
i 1 i 1 i 1

n n
Atau X x
i 1
i
i 1
i  nE

Jadi, galat jumlah n nilai hampiran tersebut adalah jumlah maksimum galat masing-masing
hampiran.

Contoh Kasus :

Hitunglah jumlah 1  2  ...  100 dengan menggunakan pembulatan sampai dua angka
desimal (di belakang koma). Berapakah maksimum galat penjumlahan tersebut? Berapakah
galat yang sesungguhnya?
Penyelesaian :
Kita dapat menggunakan Matlab untuk menghitung jumlahan tersebut. Dalam
menggunakan Matlab perhitungan (menggunakan 16 angka signifikan). Untuk menghitung
sampai dua angka desimal, masing-masing akar dikalikan 100 dan dibulatkan. Hasilnya sama
dengan 100 kali jumlah tersebut.

Implementasi dengan Matlab:


a. Bukalah program Matlab
b. Buatlah program berikut pada command windows
> s=0;
for k=1:100,
s=s+round(100*sqrt(k));
end;s=s/100
s=
671.4800
> s=fprintf('%5.2f',s);
671.48
c. Jadi, perhitungan menggunakan dua angka desimal menghasilkan jumlah 671.48.
Oleh karena setiap akar dihitung sampai dua angka desimal, maka galat maksium masing-
2
masig suku adalah 0.5 10 . Oleh karena itu, maksimum galat hampiran jumlah tersebut
2
adalah 100  0.5 10  0.5 .
d. Nilai yang sebenarnya dapat dihitung dengan menggunakan Matlab berikut, tulis
program pada command windows :
>> s=0;
for k=1:100,
s=s+sqrt(k);
end;s=s
s=
671.4629
>> s=fprintf('%5.16f',s);
671.4629471031477100
Jadi, galat yang sesungguhnya adalah sekitar 0.071, lebih kecil daripada maksimum
galatnya.
Apabila dikerjakan dengan Matlab tanpa adalanya looping adalah sebagai berikut :
>> format long g
barisan=1:100;
>> s1=sum(round(100*sqrt(barisan))/100);
>> s2=sum(sqrt(barisan));
>> s1=s1
s1 =
671.48
>> s2=s2
s2 =
671.462947103148

Anda mungkin juga menyukai