UNIVERSITAS GADJAH MADA FAKULTAS MIPA JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA ILMU KOMPUTER RKPM Rencana Kegiatan Pembelajaran Mingguan Modul Pembelajaran Minggu ke 1 ARITMETIKA DALAM KOMPUTER DAN ERROR oleh 1. Drs. G.P. Dalijo, Dipl. Comp. 2. Agus Sihabuddin, S.Si., M.Kom. Didanai dengan dana BOPTN P3-UGM Tahun Anggaran 2012 Desember 2012 BAB I ARITMETIKA DALAM KOMPUTER DAN ERROR MINGGU KE 1 1.1. Representasi integer dalam komputer Dalam matematika, bilangan bulat (integer) direpresentasikan dengan: - representasi desimal : aa n n 1 ... a1 a0 an10 an 110 n n 1 ... a110 a010 1 0 koef (digit) adalah salah satu dari 0, 1, 2, 3, … , 9 - representasi biner : n 1 a 2 a 2 n n n 1 ... a1 2 a0 2 1 0 Koefisien adalah binary digit 0 atau 1 Representasi biner di atas diimplementasikan untuk representasi bilangan bulat positif di komputer. Integer disimpan dalam 1 word dengan panjang tetap di memori. Bit pertama menunjukkan tanda. Integer negatif direpresentasikan dengan 2’s complement. Contoh soal: Berapakah bilangan bulat terbesar yang bisa direpresentasikan oleh n bit? Berapa yang terkecil? 1.2. Representasi floating point dalam komputer Floating point (bilangan real) memiliki representasi khusus dalam komputer. Representasi tersebut dapat dijelaskan seperti berikut: Untuk bil berbasis β, x dapat ditulis sebagai : x f E E : bilangan bulat non-negatif, eksponen F : bilangan real, mantissa Bentuk normalisasi floating point adalah seperti di atas dengan syarat : 1 f 1 Contoh soal: Tulislah bilangan e dalam bentuk floating point tenormalisasi untuk : a. basis 10 b. basis 2 Jawab : a. e ≈ 2.7182818 = (0.27182818)10 x 10 1 b. e ≈ 1 x 21 + 0 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3 + … ≈ (10.10110111)2 ≈ (0.1010110111)2 x 22 Dalam perancangan komputer/kalkulator harus diperhatikan pemilihan/ penentuan basis. Penentuan basis akan mempengaruhi representasi bilangan floating point. 1.3. Digit Signifikan Untuk XA, jumlah dari digit awal yang benar relatif terhadap digit yang bersesuaian dalam XT disebut sebagai jumlah digit signifikan dalam XA Contoh : XA = 24.329 mempunyai 4 digit akurasi relatif terhadap XT = 24.328 Contoh soal: Bagaimana dengan XA = 0.02138 terhadap XT = 0.02144 ? 1.4. Definisi Eror Beberapa definisi tentang eror adalah sebagai berikut: = nilai sebenarnya – nilai pendekatan → Error(XA) = a. Error XT X A (XT: nilai sebenarnya, XA: nilai pendekatan) b. Relative Error = error nilai sebenarnya → Rel (X) = X T X XT c. Absolut error = X T X A A 1 (X A X T ) Contoh soal: Tentukan absolute dan relative error dari pendekatan dengan ̂ = 3.1416 ( = 3.14159765) 1.5. Sumber Eror Berikut ini beberapa sumber eror: 1. Error dari alat/mesin → komputer, kalkulator Macamnya: a. Rounding error - Berhubungan dengan penyimpanan bilangan pada komputer dengan tempat terbatas. - Bisa direduksi dengan algoritma yang efisien Perhitungan : Jika 2 M , dengan M adalah jumlah bit mantissa pada representasi floating point di komputer, maka : x xˆ x Jadi, merupakan upperbound untuk error relative representasi floating point b. Truncation error - karena penerapan suatu algoritma dan approximasi Contoh : Penggunaan finite number untuk mengestimasi jumlah infinite series. 1 2. 1 1 ... 2 3 → deret divergen. kesalahan/blunder Contoh : kesalahan dalam pemrograman 3. error dari pengamatan → propagation of error Contoh : data-data dari pengamatan fisika memuat error 4. error dari pendekatan matematika. 1 2 Contoh : perhitungan integral : I ex dx 0 2 Karena tidak ada antiderivatif untuk e x , digunakan pendekatan dengan menggunakan Taylor approximation 2 2 ex 1 x 5. 2 6 8 2! 3! 4! x x x error dari model matematika Contoh : model paling sederhana untuk pertumbuhan penduduk adalah N (t ) N 0 e kt tidak sesuai untuk nilai t besar. Error ini di luar area metode numerik. 1.6. Propagasi Eror Jika δ(.) adalah absolute error pada nilai yang dihitung maka: ( f ( x)) ( x) f ' ( x) Contoh soal : 1. Estimasi absolute error untuk fungsi f ( x) x 1 3 untuk xˆ 64.00 Jawab : Diasumsikan bahwa x eksak sampai 2 desimal di belakang koma sehingga absolute error x dibatasi oleh 5.10-3 f ' ( x) (x ˆ - 1 3 x ) 2 3 /3 ( xˆ ) 3x ˆ 2 3 5.10 3 4 10 48 untuk penjumlahan dan pengurangan : ( x y ) ( xˆ ) ( yˆ ) - untuk perkalian : ( xˆyˆ ) yˆ ( xˆ) xˆ ( yˆ ) - untuk pembagian : xˆ yˆ ( xˆ ) xˆ yˆ ( yˆ ) 1 xˆ ( xˆ ) 2 ( yˆ ) yˆ yˆ yˆ 2. Estimasi error dalam menghitung f ( x, y, z ) x 2 y z untuk x ≈ x̂ = 1.23, y ≈ ŷ = 2.34, z ≈ ẑ = 3.45 di mana tiap komponen diasumsikan dibulatkan 2 desimal di belakang koma. Jawab : Asumsi : δ( x̂ ), δ( ŷ ), δ( ẑ ) ≤ 0.005 (x ˆ ) 2 xˆ ( xˆ) 2.46 0.005 0.0123 2 yˆ zˆ ( yˆ ) yˆ zˆ ( zˆ) yˆ zˆ zˆ x ˆ 0.0147 2 0.00243