BILANGAN TITIK-KAMBANG (FLOATING-POINT)
Angka Signifikan (AS) 0,000123 mengandung 3 AS (nol bkn merupakan AS) 0,00123 mengandung 3 AS (nol bkn merupakan AS) 1,23 x 104 mengandung 3 AS (memakai notasi ilmiah) 1,230 x 104 mengandung 4 AS (memakai notasi ilmiah) 1,2300 x 104 mengandung 5 AS (memakai notasi ilmiah)
Representasi Bil. Real/Riil dalam Komputer Bilangan Titik-tetap (fixed-point) Setiap bilangan riirl disajikan dengan sejumlah desimal tetap. Contoh: 62.358 0.013 1.000 Bilangan Titik-kambang (floating-point) Setiap bilangan riil disajikan dengan jumlah angka signifikan yang sudah tetap Contoh: 0.6238X103 0.1714X103
Komputer hanya menyimpan sejumlah tertentu angka signifikan Bilangan riil yang jumlah angka signifikan-nya melebihi jumlah angka signifikan komputer akan disimpan dalam sejumlah angka signifikan komputer tersebut Pengabaian angka signifikan sisanya, menimbulkan error pembulatan
Bilangan Titik-kambang (Floating Point) Bilangan riil dalam komputer umumnya disajikan dalam format floating-point Penulisan floating-point: a = m X BP = 0.d1d2d3d4d5…dn X BP Keterangan: m = mantisa (riil), d1d2d3d4d5…dn adalah digit mantisa B = basis sistem bilangan yang dipakai (2,8,10, dsb) P = pangkat (berupa bil. bulat), dari –Pmin sampai +Pmaks Contoh: 245.7549 0.2457549X103
Bilangan Titik-kambang (Floating Point) Ternormalisasi Syarat bilangan titik-kambang (Floating-point) ternomalisasi: digit mantisa yang pertama tidak boleh 0 a = m X BP = 0.d1d2d3d4d5…dn X BP 1 ≤ d1 ≤ B-1 dan 0 ≤ dk ≤ B-1 untuk k 1 Pada sistem bil. desimal 1 ≤ d1 ≤ 9 dan 0 ≤ dk ≤ 9 Pada sistem bil. biner d1 = 1 dan 0 ≤ dk ≤ 1 Contoh: 0.0563X10-3 0.563X10-4 0.00023270X106 0.23270X103
Pembulatan Pada Bilangan Titik-kambang (Floating-point) Bil. riil dalam komputer memiliki rentang terbatas Floating-point yang tidak cocok salah satu dari nilai-nilai dalam rentang nilai yang tersedia akan dibulatkan ke salah satu nilai dalam rentang Error yang muncul akibat penghampiran di atas disebut galat pembulatan Teknik pembulatan yang umumnya dipakai komputer, yaitu: Pemenggalan (Chooping) Pembulatan ke digit terdekat (In-rounding)
Pembulatan Pada Bilangan Titik-kambang (Floating-point) Pemenggalan (Chopping) Misal diketahui: a = 0.d1d2d3…dndn+1…X10P flchop(a) = 0.d1d2d3…dndn+1…X10P Contoh pemenggalannya: = 0.31459265358…X101 flchop () = 0.314592X101 (6 digit mantis) Error = 0.00000065…x101
Pembulatan Pada Bilangan Titik-kambang (Floating-point) Pembulatan ke digit terdekat (In-rounding) Misal diketahui: a = 0.d1d2d3…dndn+1…X10P , jika < 5 , jika > 5 , jika = 5 dan n genap , jika = 5 dan n ganjil
Pembulatan Pada Bilangan Titik-kambang (Floating-point) Pembulatan ke digit terdekat (In-rounding) Contoh 1: = 0.31459265358…X101 dalam komputer 6 digit, pembulatan menjadi flround() = 0.314593X101 dengan error = 0.00000034642…X101 Pembulatan ke digit terdekat menghasilkan error yang lebih kecil dari pada pemenggalan
Pembulatan Pada Bilangan Titik-kambang (Floating-point) Pembulatan ke digit terdekat (In-rounding) Contoh 2: a = 0.568278571528X10-4 dalam komputer 7 digit, pembulatan menjadi flround(a) = 0.5682786X10-4 dalam komputer 8 digit, pembulatan menjadi flround(a) = 0.56827857X10-4
Aritmatika Bil. Titik-kambang (Floating-point) Permasalahan 1: Penjumlahan& pengurangan bilangan yang sangat kecil ke/dari bilangan yang lebih besar menyebabkan error Contoh: Digunakan komputer dengan mantis/riil 4 digit (basis 10), maka hitunglah: 1.557 + 0.04381 disamakan bentuknya 0.1557X101 + 0.4381X10-1
Aritmatika Bil. Titik-kambang (Floating-point) Penyelesaian Permasalahan 1: Samakan pangkat basisnya 0.1557X101 = 0.1557 X101 0.4381X10-1= 0.004381X101 + = 0.160081X101 Chopping 0.1600X101 In-rounding 0.1601X101 Error Pemenggalan= |(0.160081X101 ) – (0.1600X101 )| = 0.000081 Error Pembulatan = |(0.160081X101 ) – (0.1601X101 )| = 0.000019
Aritmatika Bil. Titik-kambang (Floating-point) Permasalahan 2: 0.56780X105 – 0.56430X105 (5 AS) Penyelesaian Permasalahan 1: 0.56780X105 0.56430X105 - 0.00350X105 normalisasi: 0.350X103 (3 AS) Chopping 0.350X103 In-rounding 0.350X103 hasil akhir hanya memiliki 3 AS (kehilangan 2 AS)
Aritmatika Bil. Titik-kambang (Floating-point)
Aritmatika Bil. Titik-kambang (Floating-point) Cara komputasi yang lebih baik dengan menghilangkan tanda pengurangan. Cara: Mengalikan bilangan/variabel yang mengandung tanda pengurangan dengan 1 Dimana 1 diperoleh dari kebalikan bilangan/variabel yang mengandung pengurangan Variabel yang mengandung pengurangan adalah maka harus dikalikan dengan 1 yang diperoleh dari
Aritmatika Bil. Titik-kambang (Floating-point)
Aritmatika Bil. Titik-kambang (Floating-point) Perkalian tidak perlu menyamakan pangkat memisahkan operasi pada mantis dan pangkat mantis dilakukan operasi perkalian biasa dilakukan operasi penambahan pada pangkat Pembagian mantis dilakukan operasi pembagian biasa dilakukan operasi pengurangan pada pangkat
Aritmatika Bil. Titik-kambang (Floating-point) Perkalian Hitung perkalian 0,4652X104 dengan 0,1456X10-1 (4 angka signifikan) Penyelesaian: Kalikan matriks: 0,4652 Jumlahkan pangkat: 4 0,1456 x -1 + 0,06773312 3 Hasil: 0,06773312X103 Normalisasi: 0,6773312X102 Chooping 0,6773X102 In-rounding 0,6773X102
Aritmatika Bil. Titik-kambang (Floating-point) Pembagian Hitung pembagian 0,8675X10-4 dengan 0,2543X10-2 (4 angka signifikan) Penyelesaian: Kalikan matriks: 0,8675 Jumlahkan pangkat: -4 0,2543 : -2 - 3,4113252 -2 Hasil: 3,4113252X10-2 Normalisasi: 0,34113252X10--1 Chooping: 0,3411X10-1 In-rounding: 0,3411X10-1
Aritmatika Bil. Titik-kambang (Floating-point) Contoh: menghitung akar-akar polinom x2 – 40x + 2 = 0 sampai (4 angka signifikan) Penyelesaian: rumusan y = ax2 – bx + c gunakan rumus: x1 = 20 + 19.95 39.95 (4 AS) x2 = 20 - 19.95 0.05 (1 AS) kurang akurat (kehilangan 3 AS) untuk menentukan x2 yg akurat, maka gunakan rumusan x1 x2 = c/a 39.95 x2 = 2/1 x2 = 2/39.95 x2 = 0.0500625…. Chopping x2 = 0.05006 (4 AS) In-rounding x2 = 0.05006 (4AS)
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned) Contoh mencari solusi sistem persamaan non-linear :
Latihan Diberikan beberapa bil. titik-kambang (floating-point) sbb: a = 0.4523123X10-4 b = 0.2365401X101 c = 0.4520156X10-4 Bila mesin operasi aritmatika memiliki 7 angka signifikan, hitunglah komputasi yg diberikan mesin tsb (dalam bentuk ternomalisasi): a – c a + b + c a * c a / b Carilah akar persamaan kuadrat x2 – 10.1x + 1 = 0, dengan rumus abc yg setiap kali perhitungan antara maupun hasil akhir dibulatkan dengan teknik: Chopping In-rounding Lakukan perhitungan langsung pada . Kemudian lakukan perhitungan yang lebih baik!