BILANGAN TITIK-KAMBANG (FLOATING-POINT)
-
Upload
mira-travis -
Category
Documents
-
view
386 -
download
28
description
Transcript of BILANGAN TITIK-KAMBANG (FLOATING-POINT)
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
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 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
Pnround Xddddafl 10....0)(^
321
nd^
1
1
n
n
n
n
d
d
d
d , jika < 51nd
, jika > 51nd
, jika = 5 dan n genap1nd
, jika = 5 dan n ganjil1nd
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 • maka harus dikalikan dengan 1 yang diperoleh dari
)1()( xxxxf
)1( xx
)1(
)1(
xx
xx
)1(
)1(
xx
xx
Aritmatika Bil. Titik-kambang (Floating-point)
)1()( xxxxf )1(
)1(
xx
xx
)1()(
)1(
)1(
)1(
)1(
))()1()1()1(( 22
xx
xxp
xx
x
xx
xxx
xx
xxxxxxx
1748,113607,223830,22
500
5001500
500)500(
p
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:
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)
2
42
2,1
acbbx
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned)
Kondisi buruk (ill conditioned)• Contoh mencari solusi sistem persamaan non-linear :
Latihan1. 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 – co a + b + co a * co a / b
2. 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
3. Lakukan perhitungan langsung pada . Kemudian lakukan perhitungan yang lebih baik!
101,10