METODE NUMERIK
MODUL 1 Galat dalam dalam Kom K omput puta asi Nume um erik ri k 1
Zuhair Jurusa Juru san n Teknik Teknik Informatika nfo rmatika Unive niv ersit rs ita as Mercu Mercu Buana Jakarta 2008
09
21
(
)
Galat dalam Kompu tasi Numerik 1 Dalam praktek sehari-hari, misalkan dalam bidang teknik dan bisnis, sering terdapat kasus gagalnya pencarian penyelesaian eksak suatu problema matematika. Hal ini bukan disebabkan oleh cara mencari penyelesaian yang tidak diketahui, namun karena adanya fakta bahwa penyelesaian yang diinginkan tidak dapat dinyatakan secara elementer atau adanya fungsi-fungsi yang telah diketahui. Karena itu komputasi numerik menjadi amat penting, khususnya dalam kaitannya dengan meningkatnya peranan model matematika dalam bidang sains dan teknologi. Teknologi komputer yang berkemampuan tinggi ikut mendukung pengembangan komputasi numerik. Komputasi numerik merupakan suatu pendekatan penyelesaian problema yang disajikan dalam bentuk model matematika. Metode numerik adalah suatu metode yang digunakan untuk menyelesaikan problema-problema yang disajikan dalam model matematika dengan menggunakan sekumpulan operasi aritmatika sederhana dan operasi logika pada sekumpulan data numerik yang disajikan. Operasi-operasi tersebut biasanya merupakan operasi-operasi yang dapat dilakukan oleh komputer. Metode
komputasi
yang
digunakan
disebut
algoritma.
Proses
penyelesaian mungkin memerlukan puluhan sampai jutaan operasi, tergantung pada kompleksitas problema yang harus diselesaikan, tingkat keakuratan yang diinginkan, metode yang dipakai dan sebagainya. Apabila jumlah operasi hitung yang diperlukan hanya berjumlah puluhan, maka problema dapat diselesaikan secara manual atau dengan menggunakan kalkulator. Tetapi bila problema memerlukan jutaan operasi hitung, maka penyelesaiannya harus dilakukan dengan bantuan komputer berkecepatan tinggi. Disinilah kemajuan teknologi komputer memegang peranan penting dalam komputasi numerik. Meskipun demikian, pemilihan metode yang efisien merupakan aspek lain yang menjadi perhatian dalam komputasi numerik. Hal ini akan s emakin terasa di dalam menyelesaikan problema-problema berskala besar yang melibatkan ribuan variabel.
2
CONTOH 1.1. Tentukanlah
2 sampai empat angka desimal.
Penyelesaian: Terdapat lebih dari satu algoritma yang hanya menggunakan empat operasi aritmatika dasar (perkalian atau pembagian dan penjumlahan atau pengurangan). Salah satunya yang cukup popular
x1 = 1,
1
xn =
2
(xn−1 +
2
xn−1
) , untuk n = 2, 3 , 4 , . . . .
Dengan menggunakan algoritma di atas kita peroleh nilai, untuk
n=2,3,4,5,... x 2=
x4 =
1 17 24 577 , ( + )= 2 12 17 408
3
, 2
x 3=
x5 =
17
,
12
1 577 816 665857 ( )= + 2 408 577 470832
sehingga, x 1= 1 x 3 = 1,4166667
,
,
x 2 = 1,5000000
x 4 = 1,4142157
,
, x 5 = 1,4142136
Jadi nilai hampiran sampai empat angka desimal untuk
2 adalah 1,4142.
1.1 . Sumber-su mber Galat Selain kecepatan, aspek lain yang sangat penting untuk diperhatikan di dalam komputasi numerik adalah keakuratan penyelesaian yang diperoleh. Hal ini disebabkan penyelesaian yang diperoleh melalui komputasi numerik umumnya merupakan solusi hampiran, yang tentunya terdapat beberapa galat (kesalahan numerik). Berikut ini merupakan beberapa sumber galat ( error ) pada suatu solusi hampiran yang diperoleh dengan menggunakan suatu metode komputasi numerik, yaitu: 1. Model matematika untuk suatu fenomena alam. 2. Galat bawaan dari data masukan (parameter masukan). 3. Metode penyelesaian.
3
4. Adanya pembulatan di dalam melakukan operasi-operasi aritmatika atau operasi–operasi jenis lain pada bilangan-bilangan yang terkait. Selain
sumber-sumber
tersebut,
kesalahan
numerik
juga
dapat
disebabkan oleh kekurang-cermatan manusia ( human error ), penggunaan alat ukur dan penggunaan mesin hitung, kalkulator atau komputer. Kekurangcermatan manusia dapat menyebabkan kesalahan di dalam merumuskan model matematika suatu fenomena alam dan hasil pengukuran (kesalahan membaca alat ukur). Pemakaian alat ukur yang tidak akurat juga akan menghasilkan pengukuran (data) yang mengandung galat. Keterbatasan mesin hitung, kalkulator atau komputer dalam menyajikan suatu bilangan akan menghasilkan kesalahan-kesalahan pembulatan atau pemotongan. Galat yang disebabkan oleh kekurang-telitian model matematika dan oleh galat bawaan dari data masukan bersifat inherent (bawaan/melekat). Galat ini mungkin tetap ada, sekalipun penyelesaiannya diperoleh menggunakan metode eksak. Tingkat keakuratan suatu model matematika dalam menjelaskan suatu fenomena alam diuji dengan membandingkan hasil-hasil beberapa eksperimen dan beberapa hasil penyelesaian khusus menggunakan beberapa parameter masukan. Dari uraian di atas, dapat disimpulkan bahwa galat dalam komputasi numerik dapat dikelompokkan menjadi tiga macam, yaitu: 1. Galat bawaan (inherent error ), yaitu galat yang dapat disebabkan
oleh kesalahan hasil pengukuran, kesalahan data awal, dan sejenisnya. 2. Galat pemotongan (truncation error ), yaitu galat yang berkaitan
dengan metode numerik yang dipakai. Galat ini dapat terjadi karena adanya
pemotongan
deret
tak
berhingga
yang
menyangkut
perhitungan nilai suatu fungsi atau nilai desimal, dan karena penghentian proses perhitungan. 3. Galat pembulatan (rounding off error ), yaitu galat yang berkaitan
dengan penggunaan sejumlah terbatas angka signifikan.
4
1.2 . Galat Hampiran Pemahaman tentang galat di dalam komputasi numerik merupakan sesuatu yang tidak dapat diabaikan, mengingat hakekat komputasi numerik menggunakan metode–metode hampiran nilai.
1.2.1 Pengert ian galat ˆ adalah suatu nilai hampiran numerik untuk nilai numerik Misalkan a eksak a yang tidak diketahui. Nilai
ˆ ……………… …………… …….…..(1.1) = a− a
ε
disebut galat, sedangkan
ε a ˆ
ε
r
disebut galat m utlak, dan nilai =
a − aˆ a
…………………………………………….(1.2)
asalkan a ≠ 0disebut galat relatif . Oleh karena nilai a biasanya tidak diketahui, dalam perhitungan penyebut dalam galat relatif sering digunakan nilai hampiran, sehingga persamaan (1.2 ) menjadi ε rA
≈
a − aˆ aˆ
……………………………….....……………(1.3)
Persamaan (1.3) disebut galat relatif hampiran. Dengan kata lain, Nilai eksak = nilai hampiran Galat relatif = ε
≤ ε
*
dan
ε rA
galat
galat nilai eksak
*
≤ ε rA berturut-turut disebut batas galat mutlak dan batas galat
hampiran.
CONTOH 1.2. Nilai hampiran yang sering dipakai adalah hampiran terhadap nilai-nilai
2 danπ , yaitu, 2 = 1,414214+ galat
dan
π
= 3,1415926536+ galat
5
2 sekitar
Galat relatif hampiran pada nilai hampiran 1,414 untuk nilai ε
1,414
0,0002
=
1,414
= 0,00014,
sedangkan
hampiran
yang
lebih
kasar
1,41
mempunyai galat 0,003. Hampiran lain yang cukup terkenal terkenal adalah π
≈
22 7
= 3,142857.
Nilai
ε rA
(22/ 7) =
π
= 3,1415926535...,
− 22/ 7
π
sehingga
ε
= π −
22/ 7
22 7
= −0,0012644892,
= −0,0004024994.
π
CONTOH 1.3. Tentukanlah galat dan galat relatif pada nilai-nilai hampiran di bawah ini, jika nilai eksaknya diketahui: x = 3,141592
1. Hampiran
x = 3,14
2. Hampiran
y = 999. 996
untuk nilai eksak
y = 1 . 0 00 . 0 0 0 .
3. Hampiran
z = 0,00009
untuk nilai eksak
z = 0,000012
untuk nilai eksak
Penyelesaian: = 3,141592− 3,14 = 0,001592 dan
=
1.
ε
2.
ε y
= 1.000.000 − 999.996 = 4
3.
ε z
= 0,000012− 0,00009 = 0,000003 dan
x
ε
dan
r
ε
r
001592 ≈ 0,000507 3,141592
=
4 1.000.000 ε r
=
= 0,000004
0,000003 0,000012
= 0,25
1.2.2. Angka Signifikan 1. Misalkan suatu hampiran bilangan
dinyatakan sebagai,
n ) x = ± dndn−1dn−2...d1d0d−1d− 2...d− m = ± ∑ dk 10k. k= − m
jika dk > 0 dan d j = 0 untuk
j > k , maka digit-digit dk , dk−1 ,… d− mdisebut
angka signifikan.
6
2. Suatu digit dk dikatakan benar jika 3. Misalkan dikatakan menghampiri
ε
−k
= x − x ≤ 10
)
adalah nilai eksak, x adalah nilai hampirannya.
)
) x
sampai k angka signifikan, jika k adalah bilangan
) x − x 10− k bulat positip terbesar yang memenuhi . < x 2 CONTOH 1.4. 1. Bilangan 25,047 memiliki 5 angka signifikan. 2. Bilangan -0,00250 memiliki 3 angka signifikan, yaitu 2, 5, 0. 3. Bilangan 0,000068 memiliki 2 angka signifikan, yaitu 6 dan 8. 4. Bilangan 0,100068 memiliki 6 angka signifikan.
) x− x 10−3 ) = 0,000507 ≈ 5. Jika x = 3,141592 dan x = 3,14, maka , , 2 x ) jadi x menghampiri sampai 3 angka signifikan. ) y = 1.000.000 y = 999.996, 6. Jika dihampiri oleh maka ) y− y 10−5 = 0,000004 < . Jadi y menghampiri y sampai lima angka 2 y sifnifikan. 7. Jika
z = 0,000012
dihampiri
oleh
) z− z 10−0 = 0,25 < . Jadi hampiran 2 z
) z = 0,000009,
maka
) z tidak memiliki angka
signifikan. Jika suatu nilai hampiran ditulis tanpa menyebutkan galat mutlaknya, maka hanya digit-digit yang benar yang ditulis. Dalam hal ini digit 0 di sebelah kanan tidak dihilangkan. Sebagai contoh, bilangan 0,0344 dan 0,034400 adalah dua hampiran yang berbeda. Bilangan 0,0344 memiliki galat mutlak tidak melebihi 0,0001, sedangkan bilangan 0,034400 memiliki galat mutlak tidak lebih −6
daripada 10 . Jika bagian bulat suatu bilangan hampiran memiliki lebih banyak angka signifikan dari pada cacah–cacah digit benar, maka sebaiknya digunakan notasi normal, misalkan x = 0,390× 105 . Dari notasi ini, jelaslah bahwa x mempunyai
)
)
7
tiga angka signifikan. Dalam hal ini, notasi x = 39000tidak disarankan. Bilangan-
)
−1
bilangan hampiran sebelumnya ditulis sebagai 0,344× 10
−1
dan 0,34400× 10 .
Notasi yang sering digunakan untuk menuliskan suatu hampiran adalah:
) x = x ± ε , yang berarti nilai ε
memenuhi ketidak-samaan
− ε ≤
≤
+ ε . Disini besaran
ditulis dengan cacah digit signifikan yang kurang daripada cacah digit
signifikan pada x . Sebagai contoh:
)
x = 2,730 ± 0,017 Perlu dibedakan antara cacah digit signifikan benar dengan cacah digit benar di sebelah kanan titik pecahan pada suatu nilai hampiran. Misalkan, hampiran x = 25,030 mempunyai lima digit signifikan dan tiga digit benar di
)
sebelah kanan titik pecahan, sedangkan hampiran y = 0,00404 mempunyai tiga
)
digit signifikan benar dan lima digit benar di sebelah kanan titik pecahan. Jadi galat mutlak suatu nilai hampiran seutuhnya ditentukan oleh cacah digit benar di sebelah kanan titik pecahan, sedangkan galat relatifnya ditentukan oleh cacah digit signifikan.
1.3 . Galat Pembulatan (Rounding Off Error ) Pembulatan bilangan sering dilakukan di dalam proses komputasi. Pembulatan artinya mengurangi cacah digit pada suatu nilai hampiran dengan cara membuang beberapa digit terakhir. Cara melakukan pembulatan suatu nilai hampiran menggunakan aturan sebagai berikut: ¾
Jika digit pertama yang dibuang kurang dari 5, digit di depannya tidak berubah.
¾
Jika digit pertama yang dibuang lebih atau sama dengan 5, digit di depannya ditambah 1 nilainya.
CONTOH 1.5. 1. Nilai-nilai 2,324 ; 2,316 dan 3,315 jika dibuang sampai dua angka desimal (di belakang “koma”), hasilnya adalah 2,32.
8
2. Nilai-nilai 3,14159 ; -0,0025 dan 84,009974 jika dibulatkan berturutturut sampai dua, tiga dan empat angka desimal (di belakang “koma”), hasilnya berturut-turut adalah 3,14 ; -0,003 dan 84,0100. Jelaslah bahwa galat mutlak pembulatan sampai k angka desimal (di 10
belakang “koma”) tidak lebih dari
−k
. Pengulangan pembulatan tidak
2
disarankan dalam komputasi numerik, karena akan memperbesar galat. Sebagai contoh, jika nilai 18,34461 dibulatkan sampai tiga angka desimal hasilnya 18,345 dan jika dibulatkan lagi sampai dua angka desimal menjadi 18,35. Akan tetapi, jika langsung dibulatkan sampai dua angka desimal hasilnya adalah 18,34. Galat dua kali pembulatan sebesar 0,00539, sedangkan galat sekali pembulatan senilai 0,00461.
1.4 . Galat Pemoton gan (Truncation Error ) Pengertian galat pemotongan biasanya merujuk pada galat yang disebabkan oleh penggantian ekspresi matematika yang rumit dengan rumus yang lebih sederhana. Istilah ini berawal dari kebiasaan mengganti suatu fungsi rumit dengan deret Taylor terpotong (hanya diambil berhingga suku).
CONTOH 1.6. 1. Kita tahu bahwa deret hanya
diambil
10
1 2
+
suku
1
+
1
4 8
+ ... konvergen ke nilai satu. Jika
pertama,
maka
diperoleh
1 1 1 1 1 1 1 1 1 1 + + + + + + + + + 2 4 8 16 32 64 128 256 512 1024
=
hampiran
1023 . 1024
1
Dalam hal ini terdapat galat pemotongan sebesar 1024 . 2. Dari kalkulus kita ketahui bahwa,
x2 x4 x6 + − + ... Cos x = 1− 2! 4! 6!
9
Misalkan diketahui Cos1,5 = 0,070737 . Jika nilai ini dihampiri dengan mengambil empat suku pertama deret tersebut, maka diperoleh hampiran yang senilai Cos1,5 = 1−
(1,5)2 2!
+
(1,5)4 4!
−
(1,5)6 6!
≈ 0,070187 , dibulatkan
sampai enam angka desimal. Galat hampiran tersebut sebesar 0,000550 −3
−1
= 0,550x 10 dan galat relatifnya senilai 0,007753 < 0,5x 10 . Jadi nilai hampiran tersebut benar sampai satu angka signifikan. 1.4.1
Pemangkasan dan Pembulatan Perhatikan bahwa setiap bilangan riil
dapat dinyatakan dalam bentuk
desimal normal sebagai berikut:
x = ±0, d1d2d3...dk × 10n , dengan 1≤ d1 ≤ 9, 1≤ d j ≤ 9 untuk j>1. Misalkan k adalah maksimum banyaknya digit desimal yang digunakan oleh komputer untuk melakukan komputasi titik kambang. Dalam hal ini, bilangan disajikan
sebagai
flchop (x) ,
fl chop (x) = ± 0, d1d2d3...dk × 10n , dengan
yang
didefinisikan
1≤ d1 ≤ 9 dan
sebagai
1≤ d j ≤ 9
untuk
1< j ≤ k . Bentuk ini disebut penyajian titik kambang terpangkas ( chopped floating point representation) .
SOAL-SOAL 1. Perhatikanlah model pertumbuhan populasi
N (t) = N0ekt , dengan
N (t) menyatakan besar populasi pada waktu
t, N0 dan k adalah
konstanta-konstanta positif. a) Berikanlah makna fisik konstanta N0 ? b) Uraikanlah kemungkinan adanya kesalahan di dalam model matematika tersebut untuk menjelaskan populasi suatu penduduk di suatu daerah pada saat t c) Tunjukkanlah bahwa
N (t + 1) = kons tanta N (t)
10
2. Hitunglah galat
ε
dan galat relatif
ε rA
dan banyaknya angka signifikan
pada masing-masing nilai hampiran: a) Nilai x = 2,71828182 dihampiri oleh x = 2,7182
)
b) Nilai y = 98750 dihampiri dengan y = 99000
)
c) Nilai z = 0,0000059 dihampiri oleh z = 0,00006
)
d) Nilai
19
= e dihampiri oleh x =
e) Nilai x = 3. Diberikan data
)
7
2 dihampiri oleh x = 1,414.
)
x = 1,414 dan
y = 0,06781 yang masing-masing
mempunyai empat angka signifikan. Dengan menggunakan empat angka signifikan, hitunglah 4. Diberikan data
+ y dan
× y.
x = 31,415 dan y = 0,021373, yang masing-masing
mempunyai lima angka signifikan. Hitunglah
+ y dan
×
dengan
menggunakan lima angka signifikan.
11