REPRESENTASI KOMPUTER DARI BILANGAN
MAKALAH
Disusun untuk Memenuhi Tugas Mata Kuliah Analisis Numerik
yang dibina oleh Ibu Rissa Asdiyanti., S.Si.,M.Si.
Oleh
1. Dwi Aruma Urnika (160312604813)
2. Erviana Amalia Rizka (160312601923)
3. Karisma Chicha W.P (160312604813)
4. Riki Noviandi (160312604879)
5. Wiskandar (160312601710)
6. Zidni Ilma Khusnia (160312604892)
UNIVERSITAS NEGERI MALANG
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
JURUSAN MATEMATIKA
PROGRAM STUDI S1 MATEMATIKA
Agustus 2018
KATA PENGANTAR
Puji syukur penulis haturkan kepada Tuhan Yang Maha Esa atas segala limpahan
rahmat, kemudahan, dan karunia-Nya sehingga penulis dapat menyelesaikan Makalah
Representasi Komputer dari Bilangan sesuai yang di harapkan.
Penulis mengucapkan terima kasih kepada semua pihak yang telah membantu dalam
penyelesaian makalah ini, terutama rasa terimakasih yang sebesar-besarnya kepada Ibu Rissa
Asdiyanti., S.Si.,M.Si, selaku dosen pengampu mata kuliah Analisis Numerik yang telah
memberikan bimbingan, sehingga makalah ini dapat terselesaikan tepat waktu.
Penulis berharap, makalah ini dapat bermanfaat bagi pembaca, menambah
pengetahuan dan mempermudah praktikum yang hendak dilakukan.
Akhirnya penulis menyadari bahwa banyak terdapat kekurangan dalam penulisan
makalah ini, baik dari materi maupun teknik penyajiannya. Oleh karena itu penulis
mengharapkan kritik dan saran yang konstruktif demi kesempurnaan makalah laporan ini
untuk ke depannya.
Malang, 27 Agustus 2018
Penulis,
BAB I
PENDAHULUAN
1.1 Latar Belakang
Analisa Numerik adalah suatu analisis/teknik penyelesaian problem
matematika(disertai data) diformulasikan atau diolah sedemikian rupa sehingga problem
tersebut dapat diselesaikan secara numerik (dengan hitungan angka-angka) dan secara
analitik.
Penggunaan metode atau analisis numerik diharapkan dapat mengatasi berbagai
kelemahan-kelemahan metode yang ada sebelumnya. Dapat dipahami pula bawa pada
umumnya permasalahan dalam sains dan teknologi digambarkan dalam persamaan
matematika. Persamaan ini sulit diselesaikan dengan model analitik sehingga diperlukan
penyelesaian pendekatan numerik. Dengan metode numerik, manusia terbebas dari hitung
menghitung manual yang membosankan . Sehinggga waktu dapat lebih banyak digunakan
untuk tujuan yang lebih kreatif, seperti penekanan pada formulasi problem atau
interpretasi solusi dan tidak terjebak dalam rutinitas hitung menghitung. Salah satu bagian
penting yang dipelajari dalam analisis numerik adalah mengenai representasi komputer
dari suatu bilangan.
Komputer digital adalah alat perhitungan utama dalam analisis numerik, dan
akibatnya sangat penting untuk memahami bagaimana mereka beroperasi. Di dalam
bagian ini, akan dipelajari bagaimana angka diwakili dalam komputer, dan di bagian yang
lain akan dipelajari beberapa konsekuensi dari representasi komputer angka dan
aritmatika komputer.
1.2 Rumusan Masalah
1. Bagaimana representasi komputer dari bilangan?
2. Apa yang dimaksud chopping (pemotongan) dan rounding (pembulatan) dari
suatu bilangan?
3. Bagaimana menentukan keakuratan dari representasi floating point?
4. Apa yang dimaksud dengan underflow dan overflow?
1.3 Tujuan
1. Untuk mengetahui bagaimana representasi komputer dari bilangan
2. Untuk mengetahui definisi chopping (pemotongan) dan rounding (pembulatan)
dari suatu bilangan
3. Untuk mengetahui cara menentukan keakuratan dari representasi floating point
4. Untuk mengetahui definisi underflow dan overflow
BAB II
PEMBAHASAN
2.1 Representasi Komputer dari Bilangan
Sebagian besar komputer memiliki mode integer dan mode floating-point untuk
mewakili angka. Modus integer hanya digunakan untuk mewakili bilangan bulat, dan itu
akan tidak memperhatikan kami lebih jauh. Bentuk floating-point digunakan untuk
mewakili bilangan real. Angka-angka yang dibolehkan bisa sangat bervariasi ukurannya,
tetapi ada batasan pada angka yg lebih besar dan jumlah digit. Representasi floating-point
terkait erat dengan apa yang disebut notasi ilmiah dalam banyak teks matematika sekolah
menengah. Basis bilangan yang digunakan dalam komputer jarang desimal. Sebagian
besar digital komputer menggunakan basis 2 (binary) system bilangan atau beberapa
varian seperti basis 8 (oktal) atau basis 16 (heksadesimal).
Contoh
(a) Di basis 2, digitnya adalah 0 dan 1. Sebagai contoh konversi bilangan berbasis 2
ke desimal, kita mempunyai
Ketika menggunakan angka dibeberapa basis lain, kita akan sering
menggunakan (𝑥)𝛽 untuk menunjukkan bahwa angka x harus ditafsirkan dalam
sistem bilangan berbasis 𝛽.
(b) Di basis 16, digitnya adalah 0, 1, . . ., 9, A, . . ., F. Sebagai contoh konversi
angka tersebut ke desimal, kita mempunyai
Misalkan 𝛽 menunjukkan angka basis yang digunakan di komputer. Kemudian
bilangan tak nol x di komputer pada dasarnya disimpan dalam bentuk
𝑥 = 𝜎 . (. 𝑎1 𝑎2 . . . 𝑎𝑖 )𝛽 . 𝛽 𝑒 (1.2.1)
dengan 𝜎 = +1 𝑎𝑡𝑎𝑢 − 1, 0 ≤ 𝑎𝑖 ≤ 𝛽 − 1, 𝑒 bilangan bulat, dan
Istilah 𝜎 disebut tanda, 𝑒 disebut eksponen, dan (. 𝑎1 . . . 𝑎𝑖 )𝛽 disebut mantissa dari angka
floating-point x. Bilangan 𝛽 juga disebut radix, dan titik sebelum 𝑎1 di (1.2.1) disebut
titik radix, sebagai contoh, titik desimal (𝛽 = 10), titik biner (𝛽 = 2). Bilangan bulat t
memberikan jumlah basis 𝛽 digit dalam sebuah pernyataan. Kita akan selalu
mengasumsikan
𝑎1 ≠ 0
memberikan apa yang disebut pernyataan floating-point yang dinormalkan. Kita juga
akan mengasusmsikan
𝐿≤𝑒≤𝑈 (1.2.2)
yang kemungkinan membatasi ukuran x. Angka 𝑥 = 0 selalu diperbolehkan, yang
digunakan untuk pernyataan khusus. Tabel 1.1 berisi nilai-nilai 𝛽, 𝑡, 𝐿 𝑑𝑎𝑛 𝑈 untuk
sejumlah komputer umum. Penggunaan dari 𝛽, 𝑡, 𝐿 𝑑𝑎𝑛 𝑈 untuk menentukan karakteristik
aritmatika yang didasarkan pada [Forsythe et al. (1977), hal. 11]. Beberapa komputer
menggunakan penempatan titik radix yang berbeda (misalnya, CDC CYBER). Kita telah
mengubah batas eksponennya sehingga batas ukuran angka floating-point akan benar
ketika menggunakan teori bagian ini. Kita juga menyertakan hasil untuk pernyataan
presisi ganda pada beberapa komputer yang menyertakannya di perangkat keras. Pada
Tabel 1.1 ada kolom tambahan yang akan dijelaskan nanti.
Keterangan :
S/D : Presisi tunggal atau ganda;
R/C : Pembulatan atau Pemotongan;
𝛽 ∶ Bilangan dasar;
𝑡 ∶ digit pada mantissa [lihat (12.1)];
𝐿, 𝑈 ∶ Limit Eksponen [lihat (1.2.2)];
𝛿 ∶ Daerah unit [lihat(1.2.12)];
𝑀 ∶ Bilangan bulat yang dapat terikat [lihat(1.216)];
2.2 Chopping (Memotong) dan Rounding (Membulatkan)
Sebagian besar bilangan real x tidak dapat menunjukkan dengan tetap representasi
floating-point yang sebelumnya telah di berikan, dengan demukian mereka harus
didekati oleh nomor terdekat yang dapat ditunjukkan pada mesin jika memungkinkan.
Diberikan bilangan acak x, misalkan fl(x) menunjukkan aprokmasi mesin, jika ada. Maka
ada dua cara menghasilkan fl(x) dari x yaitu dengan memotong dan membulatkan.
Misal sebuah bilangan real x ditulis sebagai
(1.2.3)
dengan 𝑎1 ≠ 0, dan anggap 1.2.2. representasi pemotongan x diberikan oleh
Alasan untuk memperkenalkan pemotongan karena banyak computer menggunakan
pemotongan yang lebih baik dari pembulatan pada operasi aritmatika.
Representasi pembulatan diberikan oleh
Pada formula terakhir, , (.0 ·· · · 0l) yang dinotasikan dengan −𝑡 . meskipun
definisi dari fl(x) agak formal menghasilkan definisi standar pembulatan yang orang telah
pelajari tentang bilangan desimal. Variasi dari definisi ini kadang-kadang digunakan
untuk memiliki pembulatan yang tidak bias. Dalam kasus ini, jika
(1) 𝑎𝑡+1 = dan (2) 𝑎𝑗 = 0 untuk j ≥ 𝑡 + 2
2
Maka akan dibulatkan ke atas atau ke bawah berdasarkan apakah 𝑎𝑡 adalah ganjil
atau genap. Dari sini kita mendapatkan aturan pembulatan yang tidak bias yang
kebanyakan orang pelajari untuk pembulatan desimal, tetapi selanjutnya kita akan
mengasumsikan dengan definisi yang lebih sederhana (1.2.5)-(1.2.6).
Dengan bilangan real x, kita mempunyai fl (x) ≠ x. Melihat dari relatif (atau
persentase) kesalahan, dapat ditunjukan sebagai berikut
𝑥−𝑓𝑙(𝑥)
=-ϵ (1.2.7)
𝑥
dengan
−−𝑡+1 ϵ 0 dipotong fl (x) (1.2.8)
1 −𝑡+1 1 −𝑡+1
−2 ϵ 2
dibulatkan fl ( x) (1.2.9)
Kita akan menunjukkan hasil (1.2.8) untuk pemotongan ;
Asumsikan = +1, untuk kasus = -1 tidak akan kita pilih tanda ϵ. Dari (1.2.3) dan
(1.2.4) kita punya
x - fl ( x) = (.00 … 0𝑎𝑡+1 . . ) . 𝑒
Misalkan = - 1,
0 x - fl ( x) (.00 … 0 . . ) . 𝑒
= [−𝑡−1 + −𝑡−2 + ⋯ ] . 𝑒
−𝑡−1
= [1−−1 ] . 𝑒 = . −𝑡+𝑒
𝑥 − fl ( 𝑥) −𝑡+𝑒
0 (.𝑎
𝑥 1 𝑞2
−𝑡
= 𝑡+1
(.100… )
Pembuktian (1.2.8) dan (1.2.9) sama.
Rumus (1.2.7) biasanya ditulis dalam bentuk yang ekuivalen
𝑓𝑙(𝑥) = (1 + 𝜖)𝑥 (1.2.10)
di mana 𝜖 diberikan oleh (1.2.8) atau (1.2.9). Jadi, 𝑓𝑙(𝑥) dapat dianggap sebagai
gangguan relatif yang kecil dari 𝑥. Rumus untuk 𝑓𝑙 ini juga memungkinkan kita untuk
menangani secara tepat efek dari pembulatan atau pemotongan error (galat) dalam
operasi aritmatika komputer. Definisi dari 𝑓𝑙(𝑥) dan penggunaan (1.2.10) banyak
digunakan dalam menganalisis efek dari galat (error) pembulatan.
2. 3 Akurasi dari Representasi Floating-Point
Akan dijelaskan dua langkah yang memberikan ide yang cukup tepat dari akurasi
yang mungkin pada representasi floating-point. Yang pertama terkait erat dengan hasil
galat (error) sebelumnya (1.2.7) – (1.2.9) untuk 𝑓𝑙(𝑥).
Pembulatan unit (satuan) dari komputer adalah bilangan 𝛿 yang memenuhi : (1)
bilangan floating-point positif , dan (2) bilangan terkecil di mana
𝑓𝑙(1 + 𝛿) > 1 (1.2.11)
Jadi, untuk setiap bilangan floating point 𝛿̂ < 𝛿, kita punya 𝑓𝑙(1 + 𝛿̂ ) = 1 , dan 1 + 𝛿̂
dan 1 identik dengan aritmatika komputer. Hal ini akan memberikan ukuran yang tepat
dari banyaknya digit keakuratan dalam representasi bilangan. Banyak program komputer
portabel berkualitas tinggi menggunakan pembulatan satuan untuk mencatat akurasi
maksimal yang mungkin di komputer yang digunakan.
Pembulatan satuan 𝛿 dapat dengan mudah dihitung, dan diberikan oleh
𝛽 −𝑡+1 𝑑efinisi pemotongan dari 𝑓𝑙(𝑥) (1.2.12)
𝛿 = {1 −𝑡+1
𝛽
2 𝑑efinisi pembulatan dari 𝑓𝑙(𝑥)
Akan ditunjukkan rumus ini untuk aritmatika yang sudah dibulatkan pada mesin
biner. Pertama, harus ditunjukkan
𝑓𝑙(1 + 2−𝑡 ) > 1 (1.2.13)
Tulis
1 + 2−𝑡 = [(0.10 … )2 + (0.00 … 010 … )2 ]21
posisi t+1
= (0.10 … 010 … )2 . 21 (1.2.14)
Bentuk 𝑓𝑙(1 + 2−𝑡 ), dan perhatikan bahwa terdapat 1 pada posisi t+1 dari mantissa.
Maka, dari (1.2.6)
𝑓𝑙(1 + 2−𝑡 ) = (0.1 … 01)2 . 21 = 1 + 2−𝑡+1
posisi t+1
Maka (1.2.13) memenuhi
fl (1 + 2−1 ) ≠ 1 + 2−1
pada faktanya 𝛿 tidak lebih kecil dari 2−1 dengan mudah periksa kembali (1.2.14). Jika 𝛿̂
< 𝛿, maka 1 + 𝛿̂ adalah 0 saat t + 1 dai mantissa di (1.2.14): dan definisi (1.2.15) dari
pembulatan yang mengimplikasikan fl (1 + 𝛿̂ ) = 1.
Panjang kedua dari keakuratan maksimal yang dapat dicapai dalam representasi angka
dibelakang titik dengan menemukan bilangan bulat M terbesar yang mana
m adalah bilangan bulat dan 0 ≤ m ≤ 𝑀 → fl (m) = m (1.2.15)
yang mengimplikasikan fl (M + 1) ≠ M + 1. Itu dibiarkan menjadi masalah untuk
menunjukkan
M = 𝛽′ (1.2.16)
Bilangan M dan 𝛿 untuk berbagai komputer yang diberikan pada tabel 1.1. serupa dengan
komputer round (R) atau chop (C).
Contoh untuk PRIME komputer dengan ketetapan tunggal,
M = 223 = 8388608.
Maka setiap bilangan bulat dengan 6 digit desimal dan lebih dari 7 digit desimal dapat
disimpan dengan tepat pada ketetapan utama dalam representasi floating point. Untuk
satuan pembulatan,
𝛿 = 2−22 = 2.38 x 10−7 chopped arithmatic
𝛿 = 2−23 = 1.19 x 10−7 rounded arithmatic
Penggunaan PRIME dapat menggunakan chopped maupun rounded aritmatika yang
tersedia untuk keduanya.
Di hampir semua kasus, rounded aritmatika lebih disukai daripada chopped aritmatik.
Ini diperiksa secara lebih rinci di bagian selanjutnya, tetapi alasan utamanya terletak
pada tanda bias dalam (1.2.8) dibandingkan dengan kurangnya bias seperti di (1.2.9).
2.4 Underflow & Overflow
Ketika batas eksponen (1.2.2) dilanggar, maka nomor x yang terkait (1.2.1) tidak
dapat diwakili dalam komputer. Sekarang lihat apa yang dikatakan tentang kemungkinan
kisaran besarnya x.
Angka di belakang titik positif terkecil adalah
𝑥𝐿 = (.10. . .0)𝛽 . 𝛽 𝑈 = (1 - 𝛽 −𝑡 ) . 𝛽 𝑈
Jadi semua bilangan-bilangan floating-point x harus memenuhi
𝑥𝐿 ≤ |𝑥| ≤ 𝑥𝑈
Dalam bahasa Fortran sebagian besar komputer, jika operasi aritmatika mengarah untuk
hasil x yang mana |𝑥| > xu, maka ini akan menjadi kesalahan fatal dan program akan
berakhir. Ini disebut overflow error. Sebaliknya, jika
0 < |𝑥| < 𝑥𝐿
maka biasanya ft (x) akan dihimpun menjadi nol dan perhitungan akan terus berlanjut.
Ini disebut underflow error.
Contoh Perhatikan nilai 𝑥 = 𝑠10 pada komputer mainframe IBM. Maka akan ada
kesalahan underflow jika
𝑠10 < 16−65
Jadi 𝑥 = 𝑠10 akan di himpun ke nol jika |𝑠| < 1,49 𝑋 108 . Juga, akan ada sebuah
overflow error jika
𝑠10 < 1663
atau equivalen dengan
|𝑠| < 3,9 𝑋 107
BAB III
PENUTUP
3.1 Kesimpulan
Sebagian besar komputer memiliki mode integer dan mode floating point untuk
mewakili angka. Mode integer digunakan untuk mewakili bilangan bulat. Sedangkan
mode floating point digunakan untuk mewakili bilangan real. Bilangan yang dibolehkan
bervariasi ukurannya, tetapi ada batasan yang lebih besar dan banyaknya digit.
Representasi floating point terkait dengan notasi jumlah, sebagian besar komputer digital
menggunakan basis 2 (biner), basis 8 (oktal), atau basis 16(heksadesimal).
Bilangan real tidak dapat menunjukkan dengan tepat representasi floating point.
Maka harus didekati oleh nomor terdekat yang dapat ditunjukkan pada mesin, dengan
cara memotong dan membulatkan suatu bilangan.
DAFTAR RUJUKAN
Atkinson, Kendall E. 1989. An Introduction to Numerical Analysis. USA: John Wiley &
Sons, Inc.