Anda di halaman 1dari 5

Laporan Praktikum I Analisis Numerik

Syarif Abdullah (G551150381)

Matematika Terapan Departemen Matematika FMIPA IPB


E-mail: syarif abdullah@apps.ipb.ac.id
25 Februari 2016
Deskripsi: Mengambil 1 soal latihan dari buku Scientific Computing With
Case Studies, Dianne P. OLeary Challenge 1.4, Tuliskan dengan LaTex dan
modifikasi menjadi soal untuk dikerjakan dalam Scilab.
Soal :
1. Sesuai program berikut,
x = 1;
delta = 1 / 2(53);
for j=1:2(20),
x = x + delta;
end
Jelaskan hasil dari program tersebut dan jelaskan pengetahuan tentang
foating-point.
2. Kita tahu bahwa untuk setiap bilangan positif x, 2x adalah bilangan
yang lebih besar dari x. Apakah ini benar untuk bilangan floating point?
Jalankan program ini dan jelaskan hasil anda.
x = 1;
twox = 2 * x;
k = 0;
http
File

://syarif abdullah.student.ipb.ac.id/
dibuat dengan LYX Program

while (twox > x)


x = twox;
twox = 2*x;
k = k + 1;
end
3. Kita tahu bahwa penjumlahan dan perkalian adalah kommutatif
x + y = y + x, xy = yx,
dan assosiatif,
((x + y) + z) = x + (y + z), (xy)z = x(yz),
dan bahwa distributif perkalian pada penjumlahan:
x(y + z) = xy + xz.
Berikan contoh bilangan floating point x, y, dan z untuk setiap penjumlahan adalah tidak assosiatif. Temukan suatu contoh similar dari perkalian,
dan contoh ketiga menunjukkan bahwa perkalian floating point tidak selalu berlaku distributif pada penjumlahan.
4. Tuliskan suatu expresi Scilab yang memberikan nilai jawaban NaN dan
yang memberikan -Inf.
JAWAB:
1. Diperoleh hasil iterasi algoritma dengan pengulangan 1 sampai 220 yaitu
x = 1.
>x=1;
>delta=1/2(53);
>for j=1:220
> x=x+delta;
>end
>disp(x)
1.
2

Kebanyakan komputer digital mempunyai dua buah cara penyajian bilangan riil, yaitu bilangan titik-tetap (fixed point) dan bilangan titikkambang (floating point). Dalam format bilangan titik-kambang setiap
bilangan disajikan dengan jumlah digit berarti yang sudah tetap. Sebagai
contoh, bilangan riil 2457654 dinyatakan sebagai 0.2457654 103 dalam
format bilangan titik kambang dengan basis 10, atau 2.457654 102 .
2. Pada program di atas,
>x=1;
>twox=2*x;
>k=0;
>while (twox>x)
> x=twox
> twox=2*x
> k=k+1;
>end
akan didapatkan hasil akhir,
twox =
3

8.98D+307
x=
8.98D+307
twox =
Inf
x=
Inf
twox =
Inf

Diperoleh hasil iterasi algoritma menggunakan sofware Scilab hasil akhirnya


akan inf. Pada hasil terlihat bahwa ada bilangan yang dijadikan floating
point, yaitu 8contohnya 8.98D+307, dengan mantisa 8.98, base adalah D,
dan E adalah +307.
3. Terdapat dua buah kasus serius yang menyebabkan timbulnya galat pembulatan pada operasi penjumlahan dua buah bilangan titik-kambang:
Kasus 1: Penjumlahan (termasuk pengurangan) bilangan yang sangat kecil ke (atau dari) bilangan yang lebih besar menyebabkan timbulnya galat
pembulatan.
Galat pembulatan pada Kasus 1 ini terjadi karena untuk menjumlahkan
dua buah bilangan yang berbeda relatif besar, pangkatnya harus disamakan
terlebih dahulu (disamakan dengan pangkat bilangan yang lebih besar).
Caranya adalah dengan menggeser digit-digit (atau bit) bilangan yang
pangkatnya lebih kecil. Pergeseran digit (atau bit) ini mengakibatkan
adanya digit (atau bit) yang hilang.
Kasus 2: Pengurangan dua buah bilangan yang hampir sama besar (nearly
equal). Bila dua bilangan titik-kambang dikurangkan, hasilnya mungkin
mengandung nol pada posisi digit mantis yang paling berarti (posisi digit
paling kiri). Keadaan ini dinamakan kehilangan angka bena (loss of significance). Baik pemenggalan maupun pembulatan ke digit terdekat menghasilkan jawaban yang sama.
Operasi perkalian dan pembagian dua buah bilangan titik-kambang tidak
memerlukan penyamaan pangkat seperti halnya pada penjumlahan Perkalian
dapat dilakukan dengan mengalikan kedua mantis dan menambahkan kedua pangkatnya. Pembagian dikerjakan dengan membagi mantis dan mengurangkan pangkatnya. Selain itu, register dengan panjang ganda dibutuhkan untuk menyimpan hasil antara. Hasil akhir dipotong ke dalam
register tunggal.
.
Sekian Terimakasih.

Anda mungkin juga menyukai