1
PENJUMLAHAN (OVERVIEW)
Sistem Komputer 2
PENGURANGAN (OVERVIEW)
Pengubahan dari bilangan positif ke negatif -->
dengan 2’s complement
Contoh:
3
DIAGRAM BLOK – PENJUMLAHAN
& PENGURANGAN
4
OVERFLOW (OVERVIEW)
Jika penjumlahan 2 bilangan n digit
menghasilkan n+1 digit maka disebut
dengan overflow
Penjumlahan dengan komputer digital -->
overflow menjadi masalah karena ukuran
register yang terbatas
Komputer perlu mendeteksi adanya
overflow
Overflow tidak akan terjadi pada saat
penjumlahan bilangan yang berbeda
tanda
T.Informatika UAD 5
OVERFLOW (OVERVIEW)
Dideteksidengan mengamati carry out dengan
carry yang terjadi pada posisi sign bit
Jika sama maka overflow tidak terjadi
Jika beda maka terjadi overflow
Secara digital --> gunakan gerbang XOR
Overflow --> keluaran gerbang = 1
Tidak overflow --> keluaran gerbang = 0
T.Informatika UAD 6
PERKALIAN
Operasi Aritmatika
7
PENGALIAN
Operasi pengalian lebih rumit dibandingkan
operasi penjumlahan atau pengurangan, baik
dalam hardware maupun software
Ada beberapa jenis algoritma yang digunakan
dalam bermacam-macam komputer
8
PENGALIAN – UNSIGNED INTEGER
1 0 1 1 Multiplicand (11)
x 1 1 0 1 Mutiplier (13)
1 0 1 1
0 0 0 0 Partial
1 0 1 1 Product
1 0 1 1
1 0 0 0 1 1 1 1 Product (143)
9
PENGALIAN – UNSIGNED INTEGER
Pengalian meliputi pembentukan beberapa perkalian
parsial untuk setiap digit dalam multiplier. Perkalian
parsial ini kemudian dijumlahkan untuk
mendapatkan hasil pengalian akhir
Bila bit multiplier sama dengan 0, maka hasil
pengaliannya 0. Bila bit multiplier 1, maka hasil
pengaliannya sama dengan mutiplier
Hasil pengalian akhir diperoleh dengan
menjumlahkan perkalian parsial tersebut. Setiap hasil
perkalian parsial yang berurutan digeser satu posisi
ke kiri relatif terhadap hasil perkalian sebelumnya.
Pengalian dua buah integer biner n-bit menghasilkan
hasil perkalian sampai 2n-bit
10
PENGALIAN – UNSIGNED INTEGER
Control Logic membaca bit-bit multiplier
satu persatu
Bila Q0 = 1, multiplicand ditambahkan ke
register A; hasilnya disimpan ke register
A; setelah itu seluruh bit di register C, A
dan Q digeser ke kanan 1 bit.
Bila Q0 = 0, tidak terjadi penambahan;
seluruh bit di register C, A dan Q digeser
ke kanan 1 bit.
Proses tersebut dilakukan secara
berulang untuk setiap bit multiplier
Hasil perkalian akhir tersimpan di
register A dan Q.
11
PENGALIAN – UNSIGNED INTEGER
12
PENGALIAN – UNSIGNED INTEGER
yg diambil selalu Q0
M=1011
13
PENGALIAN KOMPLEMEN-2
Dengan algoritma pengalian di atas
1011 * 1101 = 1000 1111
Perkalian unsigned integer : 11 * 13 = 143
Perkalian komplemen-2 : -5 * -3 = -113
14
PERKALIAN UNSIGN &
KOMPLEMEN-2
Ada beberapa cara untuk menangani hal
tersebut:
konversi multiplier dan multicand jadi positif,
dikalikan; cari komplemen-2 dari hasilnya jika tanda
multiplier dan multiplicand berbeda
Menggunakan algoritma lain yang tidak
memerlukan transformasi, misalnya Algoritma Booth
15
ALGORITMA BOOTH
memiliki kelebihan kecepatan proses
perkaliannya, relatif terhadap pendekatan
langsung
terdapat register Q(multiplier), M(multiplicand),
A(accumulator), dan register 1-bit di kanan Q yg
ditandai dengan Q-1
hasil perkalian tersimpan di A dan Q
16
ALGORITMA BOOTH
A dan Q-1 diinisialisasi 0
control logic memeriksa bit-bit multiplier
satu-persatu beserta bit di kanannya
Jika kedua bit sama (1-1 atau 0-0), maka
seluruh bit di A, Q dan Q-1 digeser 1-bit ke
kanan
jika kedua bit berbeda, multiplicand
ditambahkan (0-1) atau dikurangkan (1-0)
ke register A, kemudian digeser ke kanan
pergeseran menggunakan Arithmetic
Shift
contoh : 1011 0101 1101 1010
17
ALGORITMA BOOTH
18
ALGORITMA BOOTH
contoh : 0111 * 0011 = 0001 0101
19
ALGORITMA BOOTH
sub
shift
add
1101
1–0
0–1
1-0
20
PEMBAGIAN
Operasi Aritmatika
21
PEMBAGIAN-UNSIGNED BINARY
1 3
1 1 1 4 7
1 1
3 7
3 3
4
T.Informatika UAD 22
PEMBAGIAN-UNSIGNED BINARY
E0
M divisor
A,Q dividend
Count n
T.Informatika UAD 23
PEMBAGIAN-UNSIGNED BINARY
1001 0011 : 1011 = 000 1101 + 0100
E A Q
0 1 0 0 1 0 0 1 1 Initial
M = 1011 1 0 0 1 0 0 1 1 0 Shift Left
M’ = 0101 (2nd-c) 0 1 0 1
1 0 1 1 1 A A - M
1 0 1 1 1 0 1 1 1 Set Q0
0 1 1 1 0 1 1 1 0 Shift Left
0 1 0 1
1 0 0 1 1 A A - M
1 0 0 1 1 1 1 1 1 Set Q0
0 0 1 1 1 1 1 1 0 Shift Left
0 1 0 1
0 1 1 0 0 A A - M
1 0 1 1
1 0 1 1 1 1 1 1 0 A A + M (restore A)
0 1 1 1 1 1 1 0 0 Shift Left
0 1 0 1
1 0 1 0 0 A A - M
1 0 1 0 0 1 1 0 1 Set Q0
T.Informatika UAD 24
remainder quotient
PEMBAGIAN KOMPLEMEN-2
Muatkan divisor ke M, dividend ke A dan Q. dividend
diekspresikan sbg komplemen-2 2n-bit.
Geser A dan Q 1-bit ke kiri
Bila M dan A memiliki tanda yg sama, lakukan A A
– M; bila tandanya beda, A A + M
Operasi tsb akan berhasil bila tanda A sesudah dan
sebelum operasi sama
bila berhasil (A dan Q = 0), set Q0 1
bila gagal (A dan Q <> 0), reset Q0 0 dan simpan A
sebelumnya
Ulangi langkah 2 sampai 4 utk setiap posisi bit di Q
Bila tanda divisor dan dividend sama maka quotient
ada di Q, jika tidak quotient adalah komplemen-2 dari
Q.
Remainder ada di A.
T.Informatika UAD 25
PEMBAGIAN KOMPLEMEN-2
T.Informatika UAD 26
PEMBAGIAN KOMPLEMEN-2
T.Informatika UAD 27
PEMBAGIAN KOMPLEMEN-2
T.Informatika UAD 28
PEMBAGIAN KOMPLEMEN-2
(-7)/(3)
dan (7)/(-3) akan menghasilkan
remainder yang berbeda. Hal ini
disebabkan operasi pembagian
didefinisikan sebagai
D=Q*V+R
dengan
D = dividend
Q = quotient
V = divisor
R = remainder
T.Informatika UAD 29
FLOATING POINT
Representasi & Operasi Aritmatika
30
REPRESENTASI
Notasi fixed point (radix point)
dimungkinkan untuk merepresentasikan
bilangan-bilangan positif dan negatif
dengan komponen pecahan
Pendekatan ini memiliki keterbatasan,
bilangan yang sangat besar dan pecahan
yang sangat kecil tidak dapat
direpresentasikan. Bagian quotient dalam
pembagian dua bilangan besar dapat
hilang
Dalam desimal, 123.000.000.000.000
dapat direpresentasikan sebagai 1,23 *
1014;
Demikian jugaT.Informatika
0,0000000000000123
UAD 31
REPRESENTASI
Pendekatan yang sama dapat dilakukan pada
bilangan biner
+ S * B +E
dengan
S : significant
B : base
E : exponent
32
FORMAT FLOATING POINT
1 8-bit 23-bit
1
1
1
1
34
FORMAT FLOATING POINT
Range bilangan:
Negatif : - (1 – 2-24) * 2127 dan - 0,5 * 2-128
Positif : 0,5 * 2-128 dan (1 – 2-24) * 2127
Ouf of range:
Negative overflow : < - (1 – 2-24) * 2127
Negative underflow : < - 0,5 * 2-128
Zero
Positive underflow : > 0,5 * 2-128
Positive overflow : > (1 – 2-24) * 2127
35
RANGE & KETELITIAN
Terdapat trade off antara range dan ketelitian : jumlah bit
exponent ditambah akan meningkatkan range tapi menurunkan
ketelitian
Untuk meningkatkan keduanya, jumlah bit exponent dan
significand ditambah
T.Informatika UAD 36
PENAMBAHAN & PENGURANGAN
FP
4 fase dasar algoritma penambahan dan
pengurangan bilangan floating point:
periksa apakan salah satunya bilangan nol
align significand (samakan exponent)
tambahkan atau kurangkan significand
normalisasi hasil
T.Informatika UAD 37
PENAMBAHAN & PENGURANGAN
FP
T.Informatika UAD 38
PERKALIAN & PEMBAGIAN FP
Perkalian & pembagian floating point relatif
lebih sederhana dibandingkan operasi
penambahan dan pengurangan
Perlu diperhatikan :
yang tersimpan dlm format floating point adalah
biased exponent, sehingga perlu dilakukan
pengurangan atau penambahan bias
Perlu pengecekan adanya overflow dan underflow
T.Informatika UAD 39
PERKALIAN FP
T.Informatika UAD 40
PEMBAGIAN FP
T.Informatika UAD 41
ANY
QUESTION?
T.Informatika UAD 42