Document 7923955

Download Report

Transcript Document 7923955

BILANGAN TITIK-KAMBANG
(FLOATING-POINT)
Angka Signifikan (AS)
0,000123
0,00123
1,23 x 104
1,230 x 104
1,2300 x 104
 mengandung 3 AS (nol bkn merupakan AS)
 mengandung 3 AS (nol bkn merupakan AS)
 mengandung 3 AS (memakai notasi ilmiah)
 mengandung 4 AS (memakai notasi ilmiah)
 mengandung 5 AS (memakai notasi ilmiah)
Representasi Bil. Real/Riil dalam
Komputer
1. Bilangan Titik-tetap (fixed-point)
–
–
Setiap bilangan riirl disajikan dengan sejumlah
desimal tetap.
Contoh:
62.358
0.013
1.000
2. 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 signifikannya 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
^
flround (a)  0.d1d 2 d 3 ... d n X 10 P
^
dn
dn
, jika d n  1 < 5
dn 1
, jika d n  1 > 5
dn
, jika d n  1 = 5 dan n genap
dn 1
, jika d n  1 = 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
1. dalam komputer 7 digit, pembulatan menjadi
flround(a) = 0.5682786X10-4
2. 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 ( x  1  x )
( x 1  x )
• maka harus dikalikan dengan 1 yang diperoleh dari ( x  1  x )
f ( x)  x( x  1  x ) ( x  1  x )
( x 1  x )
Aritmatika Bil. Titik-kambang (Floating-point)
( x 1  x )
f ( x)  x( x  1  x )
( x 1  x )
x(( x  1) 2  ( x  1 x )  ( x  1 x )  ( x ) 2 )

( x 1  x )
x( x  1  x)

( x 1  x )
x
x

 p( x) 
( x 1  x )
( x 1  x )
500
500
p(500) 

 11,1748
500  1  500 22,3830  22,3607
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
–
–
–
–
tidak perlu menyamakan pangkat
memisahkan operasi pada mantis dan pangkat
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:
b  b 2  4ac
x1, 2 
2
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
1.
2.
3.
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):
o
a–c
o
a+b+c
o
a*c
o
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:
a.
Chopping
b.
In-rounding
Lakukan perhitungan langsung pada 10,1  10 . Kemudian
lakukan perhitungan yang lebih baik!