Laporan Praktikum 1 I Made Yoga Emma Prasetya (G551150271) 25 Februari 2016
1
Ringkasan Materi
Materi : Pendahuluan dan Galat Pendahuluan Masalah Matematika tidak selalu dapat selesaikan secara analitik misalnya yang melibatkan integral dari fungsi-fungsi yang berbentuk kompleks. Sehingga dalam kasus seperti ini diperlukan metode pemecahan yang berbeda yaitu dengan Komputasi Numerik. Komputasi Numerik adalah penyelsaian masalah menggunakan metode numerik . Komputasi Numerik merupakan salah satu pendekatan alternatif yang dapat digunakan. Strategi yang digunakan dalam Komputasi Numerik adalah dengan cara menyederhanakan masalah melalui transformasi : • inf inite → f inite • dif f erential → algebraic • nonlinear → linear • complicated → simple Perbedaan antara Pendekatan Analitik dan Pendekatan Numerik : 1. Pendekatan Analitik (mendapatkan solusi eksak). Kelebihan : efektif dan galatnya kecil. Kekurangan : waktu tidak efisien. 2. Pendekatan Numerik (mendapatkan solusi hampiran). Kelebihan : kecepatan proses, keakuratan hasil, dan efisien. Kekurangan : galatnya besar. Galat Sumber Galat
1
1. Sebelum proses komputasi: Kesalahan akibat model yang salah Kesalahan karena hasil observasi yang salah/ pengukuran yang salah Kesalahan yang dibawa dari proses perhitungan yang sebelumnya 2. Selama proses komputasi: Kesalahan karena hasil pendekatan/ hampiran Kesalahan karena proses pemangkasan atau pembulatan Contoh : Kesalahan yang terjadi dalam perhitungan luas permukaan bumi menggunakan formula A = 4πr2 adalah : • Memodelkan bumi sebagai bola dengan permukaan rata. • Perhitungan jari-jari bumi. • Perhitungan nilai π. • Hasil Komputasi yang melibatkan proses pembulatan. Notasi Ilmiah Salah satunya dengan menggunakan Floating Point yang ditulis dalam bentuk Decimal Ploating Point Number : x = σ.ξ.10e 0.1 ≤ ξ < 1 σ = ±1 serta e bilangan bulat. Contoh : 1. 13.642 = 0.13642x102 2. 3.4018 = 0.34018x101 Definisi Galat Dimana : xT : nilai bilangan yang sebenarnya xA : nilai hasil representasinya, maka suatu kesalahan di xA dituliskan sebagai : error(xA ) = xT − xA dan kesalahan relatifnya dituliskan dalam bentuk : rel(xA ) = error(xA ) ÷ xT = xT − xA ÷ xT Contoh : xT = e xA = 19 ÷ 7 error(xA ) = e − 19 ÷ 7 = 0.003996. rel(xA ) = 0.00147. 2
Angka Signifikan Misalkan x nilai eksak. Hampiran untuk x dikatakan menghampiri x sampai k angka signifikan jika k adalah bilangan bulat positif terbesar yang memenuhi : |x − x| ÷ |x| < 10−k ÷ 2 Contoh : 1. Bilangan 25.047 mempunyai 5 angka signifikan 2. Bilangan −0.00250 mempunyai 3 angka signifikan 3. Bilangan 0.00000068 mempunyai 2 angka signifikan Machine Epsilon • Kemampuan mendeteksi bilangan terkecil • Digunakan sebagai ukuran akurasi untuk mempresentasikan bilangan dalam komputer contoh : Andaikan y adalah bilangan terkecil yang lebih dari 1 yang dapat direpresentasikan dalam suatu komputer aritmatika, maka η = y − 1 disebut machine epsilon.Ini digunakan sebagai ukuran akurasi untuk merepresentasikan bilangan dalam komputer. Bilangan 1 memiliki representasi floating point yang sederhana sebagai berikut : 1 = (1.00...0)2 .20 Bilangan terkecil yang lebih dari 1 adalah : 1 + 2−23 = (1.0...01)2 .20 > 1 Dengan demikian, machine epsilon dalam IEEE floating point presisi tunggal adalah : η = 2−23 = 1.19x10−7 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 : z = σ.ζ.10e ≡ σ.(a1 .a2 ...an )10 .10e 3
dengan a1 6= 0 sehingga terdapat n digit desimal pada significand. Secara umum, bila diberikan suatu bilangan (a1 .a2 ...an )10 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 : x = σ.(a1 .a2 ...an ...)10 .10e , a1 6= 0 Loss of Significant Error Kesalahan ini dapat terjadi sebagai akibat dari keterbatasan kalkulator atau komputer yang kita miliki. Sebagai contoh, didefinisikan fungsi berikut : f (x) = x[sqrt(x + 1) − sqrt(x)] Fungsi tersebut akan dievaluasi di kalkulator dengan 6 digit desimal yang menggunakan sistem aritmatika pembulatan. Hasilnya berikut ini. 1. x = 1 maka Computed f (x) = .414210 dan True f (x) = 0.414214 2. x = 10 maka Computed f (x) = 1.54340 dan True f (x) = 1.54347 3. x = 100 maka Computed f (x) = 4.99000 dan True f (x) = 4.98756 Propagasi Kesalahan Evaluasi suatu fungsi f(x) pada mesin seringkali tidak menghasilkan f(x) melainkan suatu nilai hampirannya, fg (x). Kemudian andaikan, xA ≈ xT maka untuk mengevaluasi f(xT), bisa jadi kita menghitung f g (xA ). Dengan demikian terjadi kesalahan sebesar : f (xT ) − f g (xA ) = [f (xT ) − f (xA ) + [f (xA ) − f g (xA ) Besaran f (xA )− f g (xA ) biasanya disebut noise, sedangkan besaran f (xT )−f (xA ) disebut kesalahan karena propagasi. Bila f adalah fungsi yang mempunyai turunan, maka dengan menggunakan teorema nilai tengah diperoleh : f (xT ) − f (xA ) = f 0 (ζ)(xT − xA ) Atau karena ζ terletak di antara xT dan xA, sedangkan xT sedemikian dekat dengan xA, maka : f (xT ) − f (xA ) ≈ f 0 (xT )(xT − xA ) Propagasi Kesalahan pada Operasi Aritmatika Kesalahan paling besar terdapat pada perkalian dan pembagian :
4
• Kesalahan pada operasi perkalian :
Rel(xA yA ) ≈ Rel(xA + RelyA • Kesalahan pada operasi pembagian :
Rel(xA ÷ yA ) ≈ Rel(xA − RelyA Sedangkan kesalahan pada operasi penjumlahan dan pengurangan : [xT ± yT ] − [xA ± yA ] = [xT − xT ] ± [yT − yA ] Sumber : 1. Cheney, W. and D. Kincaid. 2008. Numerical Mathematics and Computing, 6th Edition, California. 2. Numerical Methods for Mathematics, Science and Engineering, 4thedition, byJohnH.M athews, P rentice − HallInternationalInc.2003.
2
Latihan Soal (Program Scilab)
Soal Latihan (Pada buku Scientific Computing with Cases Studies by Dianne P. O’Leary) 1) CHALLENGE 1.2., 2) CHALLANGE 1.4., 3) CHALLANGE 1.5., 4) CHALLANGE 1.6., 5) CHALLANGE 1.7., 6) CHALLANGE 1.8., 7) CHALLANGE 1.9., 8) CHALLANGE 1.10., 9) CHALLANGE 1.11, 10) CHALLANGE 1.12. Soal yang dibuat modulo 10 dari 17 adalah 7. CHALLENGE 1.9. Suppose the sides of a rectangle have lengths 3.2 ± .005 and 4.5 ± .005. Consider approximating the area of the rectangle by A = 14. (a) Give a forward error bound for A as an approximation to the true area. (b) Give a backward error bound. Soal dimodifikasi sesuai dengan yang sudah diajarkan, sehingga soal menjadi : TANTANGAN 1.9. Misalkan sisi persegi panjang memiliki panjang 3, 2 ± 0, 005 dan 4, 5 ± 0, 005. 5
Mempertimbangkan mendekati area persegi panjang dengan A = 14. (a) Berikan sebuah kesalahan maju menuju A (Kesalahan sebenarnya dan kesalahan relatif). (b) Berikan sebuah kesalahan mundur. Pemecahan Masalah dengan menggunakan Program Scilab (Pada Scinote): A = 14 // Luas Sebenarnya //Panjang (p) p1 = 3.2 + 0.005 // Panjang 1 (p1) p2 = 3.2 − 0.005 // Panjang 2 (p2) l1 = 4.5 + 0.005 // Lebar 1 (l1) l2 = 4.5 − 0.005 // Lebar 2 (l2) // Luas (A) A1 = p1*l1 // Luas 1 (A1) A2 = p1*l2 // Luas 2 (A2) A3 = p2*l1 // Luas 3 (A3) A4 = p2*l2 // Luas 4 (A4) //Kesalahan Maju (Kesalahan Sebenarnya) a1 = abs(A1-A) a2 = abs(A2-A) a3 = abs(A3-A) a4 = abs(A4-A) //Kesalahan Maju (Kesalahan Relatif) r1 = a1/abs(A) r2 = a2/abs(A) r3 = a3/abs(A) r4 = a4/abs(A) //Kesalahan Mundur b1 = abs(A-A1) b2 = abs(A-A2) b3 = abs(A-A3) b4 = abs(A-A4)
6