Aritmatika Komputer
Aritmatika Komputer
Aritmatika Komputer
Disusun oleh :
Kelas IF.6
2009
Kata Pengantar
Dengan mengucapkan syukur kehadirat Allah SWT akhirnya makalah tugas Pemodelan
dan Simulasi dengan tema Peramalan dengan Model Exponensial Smooting ini dapat
diselesaikan tepat waktu sesuai jadwal yang ditentukan. Shalawat dan salam semoga terlimpah
kepada junjunan kita Nabi Muhammad SAW.
Terima kasih dan penghargaan yang sebesar-besarnya kami sampaikan kepada semua
pihak yang telah membantu dalam penyusunan makalah ini baik secara langsung atau pun
tidak.Harapan yang besar adalah agar makalah ini dapat bermanfaat khususnya bagi kami dan
umumnya kepada masyarakat.
Kami menyadari banyak kekurangan dan kelemahan dalam makalah ini.Oleh karena itu
kami mengharapkan kritik dan masukan dari semua pihak untuk penyempurnaan makalah
selanjutnya.Semoga makalah ini bermanfaat bagi kita semua.
Bandung, 8 Januari 2010
Penyusun
i
Daftar isi
Kata Pengantar............................................................................................................................................................ i
Daftar isi..................................................................................................................................................................... ii
3.1 DEFINISI................................................................................................................................................22
3.2 NOTASI.................................................................................................................................................23
3.3 REPRESENTASI BILANGAN FIXED-POINT.............................................................................................24
3.4 MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT...................................................................24
3.5 ARITMATIKA FIXED-POINT..................................................................................................................25
3.6 OVERFLOW DAN UNDERFLOW...........................................................................................................25
3.6.1 MENDETEKSI OVERFLOW.................................................................................................................25
3.7 PRESISI GANDA...................................................................................................................................26
3.8 ARITMATIKA PRESISI GANDA..............................................................................................................26
BAB 4 KESIMPULAN.............................................................................................................................. 27
ii
Daftar Tabel
Tabel 1.1................................................................................................................................................2
Tabel 1.2................................................................................................................................................3
iii
Daftar Gambar
iv
BAB 1
ARITMATIKA KOMPUTER
Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah
komputer. Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam
Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder,
1.2 ADDER
Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan
aritmetika. ALU akan dijelaskan lebih detail pada bab 3. Ada 2 jenis Adder :
1. Rangkaian Adder yang hanya menjumlahkan dua bit disebut Half Adder.
Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masingmasing
hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.
1
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan
Cy(Carry Out) = 1.
Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S danCy).
A B S Cy
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabel 1.1
Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari
gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika
AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar
berikut:
Gambar 1-1
1.4 FULL ADDER
Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas),
oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran
A B C S Cy
0 0 0 0 0
2
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tabel 1.2
S=ABC+ABC+ABC+ABC
S=AÅBÅC
Cy = A B C + A B C + A B C + A B C
Cy = AB + AC + BC
Gambar 1-2
3
Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan
berfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full
Adder yang diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiri
dari 4 buah Full Adder yang tersusun parallel sehingga membentuk sebuah penjumlahbit.
1.6 PENJUMLAHAN
Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses.
Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan
dan 1 + 1. Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah
dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam
kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh
Contoh :
1. 102+ 102
1 Carry out
10
10 +
100
4
2. 01002 + 01112
1 Carry
0100
0111 +
1011
11111
01111
11101
10111+
11000102
Sandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yang
disandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikan
adalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry dari
Jika
jumlah biner dan jumlah BCD sama, yaitu AC (Auxillary Carry) = 0 dan Carry
Contoh :
Biner = 1 0 0 0 0 1 1 1 (Cy=0; AC = 0)
5
BCD = 1 0 0 0 0 1 1 1 = 8 7 (desimal)
Jika
jumlah biner tidak sama dengan jumlah desimal maka memerlukan pengaturan
tambahan :
Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil
penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible
Contoh :
1 11
1.7 PENGURANGAN
bilangan negatif.
Komputer hanya bekerja pada bilangan “0” dan “1” dan tidak mengenal bilangan
(Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah
“0” untuk bilangan positif dan “9” untuk bilangan negatif. Untuk bilangan negatif,
6
pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan pada
dan komplemen-9.
Komplemen10
Pada komplemen10,
bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan.
Contoh :
500 (0) 5 0 0
255 - (9) 7 4 5 +
245 1 (0) 2 4 5
Cy Dihilangkan
Komplemen-9
Pada komplemen-9,
Contoh :
Komplemen-9 dari-255.
255 - (9) 7 4 4 +
2 451 (0) 2 4 4
1+(Cy)
(0) 2 4 5 Cy Ditambahkan
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlakuuntuk
Contoh :
Komplemen-10dari -500.
255 (0) 2 5 5
500 - (9) 5 0 0 +
244+1
(9) 2 4 5
Komplemen-9 dari-500.
255 (0) 2 5 5
500 - (9) 4 9 9 +
8
24 5 (9) 7 5 4 (9 menunjukkan negatif)
245
(9) 2 4 5
membalik angkanya saja. Jika “0” dibalik menjadi “1”, dan jika “1” dibalik menjadi
hasil akhir).
· Komplemen -2Contoh :
Komplemen-2dari –5 (0101).
9 (0) 1 0 0 1
5 - (1) 1 0 1 1 +
4 1 (0) 0 1 0 0
Cy Dihilangkan
·Komplemen1
9
Contoh :
Komplemen-1dari –5 (0101).
9 (0) 1 0 0 1
5 - (1) 1 0 1 0 +
4 1 (0) 0 0 1 1
(0) 0 1 0 0
Cy Ditambahkan
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi
Contoh :
Komplemen-2dari –9.
5 (0) 0 1 0 1
9 - (1) 0 1 1 1 +
0011 +1
(1) 0 1 0 0
Komplemen-1dari –9.
10
1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya).
5 (0) 0 1 0 1
9 - (1) 0 1 1 0 +
0100
(1) 0 1 0 0
1.8 Perkalian
Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem
bilangan lainnya.
9 1001
10 x 1010 x
90 0000
1001
0000
1001 +
1011010
64 0 16 8 02 0 = 90
Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan (Shift
9 X 10
11
Register A Register B Register P
diubah
kekanan
1001 1 0 1 00000000
P diMSBnya.
1001 0000
1001 1 001001000
1001100100100
M M = 1, Reg A ditambahkan
pada P diMSBnya
10110100
01011010
0 64 0 16 8 0 2 0 =90
1.9 Pembagian
Kebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari pengurangan
Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi
Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser
kekiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor).
Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiriharus
ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satubit, dimulailagi
Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkan
setelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.
13
BAB 2
Floating Point Arithmetic
*
Bilangan Floating Point memiliki bentuk umum : + m b, dimana m (disebut juga
exponent.
Gambar 2-3
Contoh: Pada gambar diatas, menunjukkan tentang panjang bit pada bilangan floating point
m = 23 bit, e =8 bit, dan S (bit sign) = 1. Jika nilai yang tersimpan di S adalah 0, maka
bilangan tersebut adalah positif dan jika nilai yang tersimpan pada S adalah 1, maka bilangan
tersebut adalah negatif. Bilangan exponent pada contoh diatas, hanya dapat digunakan pada
bilangan positif 0 hingga 255. Untuk dapat menggunakan bilangan exponent negatif dan
positif, nilai bulat yang disebut dengan bias, dikurangkan dengan bilangan pada kolom
exponent dan menghasilkan bilangan exponent akhir. Misalkan pada contoh diatas
menggunakan bias = 128, maka bilangan exponent akhirnya memiliki range antara 128
(disimpan sebagai 0 pada kolom exponent) hingga +127 (disimpan sebagai 255 pada kolom
exponent). Berdasarkan bentuk seperti ini, bilangan exponent +4 dapat digunakan dengan
menyimpan 132 pada kolom exponent, sedangkan bilangan exponent 12 dapat digunakan
denganmenyimpan 116 pada kolom exponent. Anggap b = 2, maka bilangan floating point
seperti 1,75 dapat menggunakan salah satu dari bentuk umum seperti pada gambar berikut:
14
Gambar 2-4
presisinya, maka bilangan tersebut dibuat dalam bentuk ternormalisasi (normalized forms).
Suatu bilangan floating point telah ternormalisasi jika most significant bit (MSB) dari
mantissanya adalah 1. Karena itu, diantara ketiga bentuk diatas dari bilangan 1,75, maka
bentuk yang telah ternormalisasi\ adalah bentuk yang paling atas, dan disarankan untuk
digunakan.
Karena nilai MSB dari bilangan Floating Point yang telah ternormalisasi selalu 1,
maka bit ini tidak disimpan, sehingga nilai mantissa yang tersimpan adalah 1.m. Sehingga
S
untuk bilangan floating point bukan nol yang ternormalisasi memiliki bentuk (1)
*(1.m)* e128ͤ²¹
2
Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan-
bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka
bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama
15
dengan bilangan lain.
floating point
1 Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan
exponensialnya
2 Jumlahkan: hasilpenjumlahan10,0010 * 24
Gambar 2-5
16
2.4 Perkalian
a
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2 dan Y = mx *
b
2 setara dengan X * Y = (mx * my)* a+b
2
Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah :
1 Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
Contoh: Perkalian antara dua bilangan floating point X = 1,000 * 2ˉ² dan Y = ¬1,010 * 2ˉ¹
skema seperti tampak pada gambar berikut :
Gambar 2-6
17
2.5 Pembagian
a b
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2 dan Y = mx * 2
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1 Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
-1,0100 *2ˉ¹
Pembagian dari dua bilangan floating point diilustrasikan menggunakan skema seperti
18
Gambar 2-7
IEEE membuat dua bentuk bilangan floating point standard. Bentuk basic dan
bentuk extended. Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu single -
precision dan double precision format. Single precision format adalah model 32bit sedangkan
double precision format adalah 64bit. Pada single extended format setidaknya menggunakan
exponentnya adalah 8bit. Bentuk single precision ditunjukkan pada gambar berikut.
m= 0 m≠0
e=0 0 Terdenormalisasi
e = 255 ±∞ Tidak Terdefinsi
Tabel5.1.
19
2.8 IEEE Double Precision Format
Bentuk ini memiliki kolom exponent 11 bit dan kolom nilai mantissa sebesar 52 bit.
20
BAB 3 ARITMATIKA FIXED-POINT
3.1 Definisi
Komputer menetapkan titik desimal pada titik tertentu. Umumnya ditetapkan pada titik kiri
terjauh dari word sehingga komputer akan memperlakukan semua angka sebagai pecahan.
Sistem ini akan mempermudah rutin aritmatika. Programmer harus membuat koreksi pada
masukan dan keluaran program jika ingin mengubah letak titik desimal.
Fixed-point pada intinya adalah integer yang berskala oleh faktor tertentu. Sebagai contoh,
bilangan real 1,23 dapat dilihat sebagai 123/100; di sini, faktor skalanya adalah 100. Penting
untuk dicatat bahwa faktor penskalaan ditentukan oleh jenis, berlaku untuk semua nilai dari
suatu tipe fixed-point. Di sisi lain, floating-point menyimpan faktor skala sebagai bagian dari
Untuk menambah atau mengurangi fixed-point dua komplemen, hanya dengan menambah
atau mengurangi bilangan bulat yang mendasarinya. Hal yang sama dilakukan untuk
perkalian atau pembagian, hasil perlu diskala ulang-untuk hasil perkalian harus dibagi dengan
faktor skala, untuk pembagian perlu dikalikan dengan faktor skala. Untuk membuktikannya,
misalkan kita ingin mengalikan dua bilangan real a dan b, disimpan sebagai fixed-point
dengan faktor penskalaan S. Jika kita mengalikan bilangan bulat yang mendasarinya, kita
memperoleh aS · bS = abS2. Namun, nilai yang kita inginkan adalah abS, jadi kita perlu untuk
membagi dengan S.
21
3.2 Notasi
Ada berbagai notasi yang dapat digunakan untuk mewakili panjang word dan radix point
dalam binary fixed-point. Di bawah ini, f merepresentasikan jumlah bit fraksional, m jumlah
besaran atau integer bit, s jumlah sign bit, dan b jumlah total bit.
Qf : Prefix “Q”. Sebagai contoh, Q15 mewakili sejumlah pecahan dengan 15 bit. This
notation is ambiguous since it does not specify the word length, however it is usually
assumed that the word length is either 16 or 32 bits depending on the target processor
in use. Notasi ini ambigu karena tidak menentukan panjang word, namun biasanya
diasumsikan bahwa panjang word adalah 16 atau 32 bit, tergantung pada target
bilangan bit dan 30 bit disimpan sebagai pecahan 32-bit bilangan berkomplemen 2.
fx m .b : Perfix “fx” mirip dengan di atas, tetapi menggunakan panjang word sebagai
item kedua dalam pasangan titik. Contoh, fx1.16 menggambarkan angka dengan 1
s :m : f : Merupakan notasi lain termasuk sign bit, seperti ini digunakan dalam PS2
GS User’s Guide. Hal ini juga berbeda dari penggunaan konvensional dengan
menggunakan titik dua periode bukan sebagai pemisah. Sebagai contoh, dalam notasi
22
3.3 REPRESENTASI BILANGAN FIXED-POINT
contoh :
Contoh desimal utk representasi 5 digit. Jika diasumsikan posisi point adalah :
Maka :
Merepresentasikan
0 1 313.757 5
a. representasi mid-point
b. representasi integer
c. representasi pecahan
floating-point
direpresentasikan
23
3.5 ARITMATIKA FIXED-POINT
Register 8 bit menyangga bilangan dalam bentuk komplemen dua dengan bit paling kiri
sebagai bit sign. Bilangan positif dan negatif maksimum dan minimum direpresentasikan.
OVERFLOW
Hasil operasi aritmatika terlalu besar utk disimpan dalam lokasi yg dialokasikan
untuknya.
UNDERFLOW
Hasil tersebut terlalu kecil utk disimpan dalam lokasi yg dialokasikan untuknya.
a. Menggunakan bit ekstra yang ditambahkan ke bagian kiri dari bit sign.
i. Bit ekstra diset ke nilai yang sama seperti bit sign sebelum penambahan atau
pengurangan
iii. Jika bit ekstra dan bit sign berbeda setelah operasi, maka telah terjadi overflow
i. Menggunakan ADD jika sign berbeda, dan SUBSTRACT jika signnya sama,
Contoh :
Salah satu cara mengurangi overflow dengan meningkatkan panjang penyimpanan yang
dialokasikan untuk setiap representasi bilangan. Jika 1 lokasi dalam memori panjangnya tidak
cukup maka 2 lokasi yang bersebelahan dapat digunakan. Bilangan yang disimpan dengan
cara ini disebut double precision number atau double length number.
Aritmatika yang menggunakan bilangan presisi ganda. Lebih lamban namun sering
digunakan karena mesin dengan word yang lebih panjang lebih mahal.
25
BAB 4 Kesimpulan
Dari uraian di atas kami dapat menyimpulkan bahwa, ALU atau aritmathic and logic unit dapat
melakukan kalkulasi biner. Pada Hakikatnya semua komponen lain dalamkomputer ada untuk
melayani ALU. ALU hanya bisa menangani bilangan bulat (integer), tetapi pada kenyataanya ALU juga
bisa menangani bilangan pecahan atau real.Bilangan Pecahan yang dapat ditangani oleh ALU
bentuknya FPU atauFloating Point Unit terpisah dari maths co-processor, co-processor dalam chip
terpisah (46DX +).
Mulai timbul masalah saat akan menyimpanbilangan negatif.Komputer tidak mengenal tanda
minus.
Sign-Magnitude Representation
Bit paling kiri menunjukkan magnitude
integer (positif atau negatif) sign bit
+18 = 00010010
- 18 = 10010010
Kekurangannya : ada 2 buah angka nol: nol
positif (00000000) dan negatif (10000000).
26
Untuk menanggulangi masalah yang ditimbulkan apabila ada 2 buah angka nol,
komputer pada saat ini menggunakan dua komplemen representasi. Satu bit paling kiri
dijadikan bernilai negatif,kemudian dijumlahkan dengan bit sisanya. Nalar manusia paling
gampang, gunakanValue Box:
Misal 8-bit:
-128 64 32 16 8 4 2 1
Mengapa 1 bit paling kiri?
Karena Porsi sama besar:
Negatif = -128
positif= (64 + 32 + 16 + 8 + 4 + 2 + 1) = 127. Keuntungan dari 2 komplemen ayitu hanya ada
satu nol, apabila nol dinegasikan. Tetapi Terjadi ketimpangan representasi nilainegatif dan
positif untuk jumlah bit tertentumisal untuk 8-bit, range bilangan bulat yangterwakili adalah:
-128 … 127 (bukan 128 tapi 128 - 1). Inilah yang terjadi pada komputer kita, apabila
dilihat dari tipe data bahasa peograman apapun.
Keuntungan 2 komplemen :
1. Tidak perlu ada sirkuit pengurangan, hanya ada komplemen dan penjumlahan
2. Perlakuan sama untuk penjumlahan maupun pengurangan : LANGUNG
DIJUMLAHKAN.
3. Panjang bit bilangan-bilangan yang dijumahkan maupun hasilnya, harus sama.
4.2.3 Overflow
4.2.4 Perkalian
27