Bab 5 MA2151 Simulasi dan Komputasi Matematika
Kesalahan Data Data dapat kita gunakan sebagai dasar pembuatan model maupun untuk memverifikasi model yang telah kita buat. Namun demikian, terdapat berbagai sumber terjadinya kesalahan dalam data. Beberapa contoh: Sensor yang mengalami malfungsi sehingga memberikan data yang tidak valid. Keakuratan sensor tidak cukup baik untuk model. Alat pengukur yang tidak dikalibrasi. Kesalahan pembacaan hasil pengukuran. Kesalahan pencatatan hasil pengukuran.
Kesalahan Model Peneliti dapat melakukan kesalahan dalam memformulasikan suatu model: Asumsi yang terlalu menyederhanakan. Kesalahan penentuan persamaan/pertidaksamaan. Tidak memahami faktor penting dalam fenomena yang dimodelkan. Hal tersebut mengakibatkan hasil pemodelan amat jauh berbeda dengan kenyataan yang terjadi.
Kesalahan Implementasi Dapat terjadi kesalahan logika dalam mengimplementasikan model ke dalam program komputer. Pada tahun 1999, pesawat luar angkasa Mars Climate Orbiter hilang karena Lockheed Martin Corp. membangun badan pesawat dan memprogram sistem pengontrol badan pesawat dengan menggunakan satuan Inggris seperti pon dan kaki, sementara jet pendorong yang diproduksi NASA dibangun dengan menggunakan satuan metrik seperti Newton dan meter.
Bilangan Floating Point dan Notasi Eksponensial Bilangan real biasa disebut floating-point dan diekspresikan dengan ekspansi desimal. Notasi eksponensial merepresentasikan bilangan floating-point sebagai hasil kali dengan pangkat 10. Dengan a bilangan desimal dan n bilangan bulat, aen merepresentasikan a 10 n. Bilangan bulat yang diperoleh dengan menghapus titik desimal dari a disebut significand atau mantissa, dan n disebut eksponen. Bilangan ternormalisasi dalam notasi eksponensial memiliki titik desimal tepat sebelum digit tak nol pertama. 0 atau 1 digunakan untuk merepresentasikan tanda + atau. Contoh. 9.843600e02 bermakna 9.843600 10 2 = 984.36, dengan bilangan ternormalisasi 0.98436 10 3. Dengan demikian significand adalah 98436 dan eksponen adalah 3.
Digit Significant Digit significant dari suatu bilangan adalah semua digit setelah titik desimal dalam notasi eksponensial yang dinormalisasi. Contoh Dalam 0.98436 10 3 digit significant adalah 9, 8, 4, 3, dan 6. Dalam 003,704,000 = 0.3704 10 7 digit significant adalah 3, 7, 0, dan 4.
Presisi Presisi dari suatu bilangan adalah banyaknya digit significant pada saat bilangan diekspresikan dalam notasi eksponensial ternormalisasi. Magnitude dari suatu bilangan adalah 10 n pada saat bilangan diekspresikan dalam notasi eksponensial ternormalisasi. Contoh. 0.3704 10 7 memiliki presisi 4 dan magnitude 10 7 Dalam C and C++, presisi dari bilangan bertipe float (sering disebut single-precision number) adalah 6 atau 7 digit, dengan magnitude di antara 10 38 sampai 10 38. Sedangkan bilangan bertipe double (double-precision number) memiliki presisi 14 atau 15 dan magnitude dari 10 308 sampai 10 308. Namun demikian, tipe data double memakan memori dua kali lipat tipe data float. Bagaimana dengan Matlab?
Galat Mutlak dan Relatif
Contoh Misalkan suatu komputer memiliki presisi 3 dan akan melakukan pemotongan significand ke hanya 3 digit. Pandang (0.356 10 8 )(0.228 10 3 ) = (0.356)(0.228)(10 8 )(10 3 ) = 0.081168 10 5 Dinormalisasi, kita peroleh correct = 0.81168 10 4. Karena presisi adalah 3, result = 0.811 10 4. Galat mutlak adalah: correct result = 0.81168 10 4 0.811 10 4 = 0.00068 10 4 = 6.8 Galat relative adalah: (0.00068 10 4 )/(0.81168 10 4 ) = 0.0008378 = 0.08378%
Galat Pembulatan Contoh: Misalkan presisi 3. 0.81168 10 4 and 0.81158 10 4 dibulatkan ke atas ke 0.812 10 4 0.81138 104 dibulatkan ke bawah ke 0.811 10 4.
Assignment variable = expression Contoh: x = 1.0/3.0; Galat pembulatan terjadi karena kurangnya bits untuk menyimpan keseluruhan bilangan floating point sehingga result diaproksimasi ke bilangan terdekat yang dapat direpresentasikan. Overflow terjadi karena kurangnya bits untuk mengekspresikan suatu nilai dalam komputer. Underflow terjadi karena hasil komputasi terlalu kecil bagi komputer untuk direpresentasikan.
Galat Aritmetika Bagaimana dengan perkalian dan pembagian?
Propagasi Galat Melakukan loop pada bilangan floating point dapat memperbesar galat pembulatan.