sistem bilangan bertanda (signed integer)...sistem bilangan bertanda (signed integer) ... mkb2122 1...
TRANSCRIPT
SISTEM BILANGAN BERTANDA (SIGNED INTEGER)
Dasar Komputer
MKB21221
Bongga Arifwidodo
• Di dalam matematika, bilangan negatif biasanya
dinyatakan dengan cara menambahkan tanda “−” di
depan bilangan tersebut.
• Namun di dalam komputer, bilangan hanya dapat
dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol
yang lainnya, sehingga diperlukan suatu cara untuk
mengkodekan tanda minus.
sign-and-magnitude
ones' complement
two's complement
Metode Sistem Bilangan Bertanda (Signed Integer)
Sign-and-Magnitude
✓ Dalam sistem biner, representasi bilangan signed berisi :
a. tanda (sign)
b. besar nilai (magnitude)
Untuk menyatakan tanda bilangan (positif atau negatif), dapat digunakan salah satu bit
yang ada untuk menyatakan tanda tersebut.
0 “+” (sign bit bilangan positif)
1 “-” (sign bit bilangan negatif)
Most Significant Bit
Dasar Komputer (MKB2122) 5
A6 A5 A4 A3 A2 A1 A0
0 1 1 0 1 0 0 = + 52
B6 B5 B4 B3 B2 B1 B0
1 1 1 0 1 0 0 = - 52
Bit Tanda
Bit Tanda
Magnitude
Magnitude
Sign-and-Magnitude
Bilangan sign-magnitude menggunakan 1 bit paling kiri untuk menyatakan
tanda (0: positif, 1: negatif) dan bit sisanya menyatakan magnitude (besar
nilai bilangan). Bilangan 4-bit:
Sign-and-Magnitude
contoh 1
Telah ditentukan bahwa m = 4.
Jika pada konversi unsigned bit 410 = 1002
Maka pada Sign Magnitude:
410 = 01002 dan -410 = 11002
Representasi dalam
heksadesimal:
11002 = C16Representasi dalam
heksadesimal:
01002 = 416
Sign-and-Magnitude
0 “+” (sign bit bilangan positif)
1 “-” (sign bit bilangan negatif)
contoh 2
Jika m = 8. (8 bit)
Maka pada Sign Magnitude:
410 = 000001002 dan -410 = 100001002Representasi dalam
heksadesimal:
100001002 = 8416Representasi dalam heksadesimal:
000001002 = 0416
Sign-and-Magnitude
One’s complement
9
• Merupakan perbaikan dari Sign Magnitude
• Dilakukan hanya pada bilangan bernilai negatif
dengan cara menginversi dari nilai positifnya.
• Tetap menggunakan sign bit untuk MSB.
0 “+” (sign bit bilangan positif)
1 “-” (sign bit bilangan negatif)
Telah ditentukan bahwa m = 4.
Jika pada konversi unsigned bit 410 = 1002
Maka pada One’s Complement:
410 = 01002 dan -410 = 10112
Jika m = 8.
Maka pada One’s Complement:
410 = 000001002 dan -410 = 111110112
Representasi dalam
heksadesimal:
10112 = B16Representasi dalam
heksadesimal:
01002 = 416
Representasi dalam
heksadesimal:
111110112 = FB16Representasi dalam heksadesimal:
000001002 = 0416
10
One’s complement
Dasar Komputer (MKB2122) 11
Bilangan
Heksadesimal
Bilangan biner
Q3 = 23 Q2 = 22 Q1 = 21 Q0 = 20
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
A 1 0 1 0
B 1 0 1 1
C 1 1 0 0
D 1 1 0 1
E 1 1 1 0
F 1 1 1 1
Tabel :
Dasar Komputer (MKB2122) 12
“Terlihat bahwa 1’s complement dapat dibentuk dengan
mengkomplemenkan tiap bit bilangan, termasuk bit tanda”
One’s complement
two’s complement
13
Merupakan perbaikan dari Sign Magnitude dan One’s
Complement
Dilakukan hanya pada bilangan bernilai negatif
dengan meng-inkremen (tambah 1) dari one’s
complement.
Tetap menggunakan sign bit untuk MSB.
0 “+” (sign bit bilangan positif)
1 “-” (sign bit bilangan negatif)
Dasar Komputer (MKB2122) 14
• Ubah bit awal menjadi komplemen pertama
• Tambahkan 1 pada bit terakhir (LSB)
• Misal :
1 0 1 1 0 1
0 1 0 0 1 0
1
0 1 0 0 1 1
Biner Awal = 45
1’ complement
Tambah 1 pada LSB
2’ complement
two’s complement
Two’s Complement
Telah ditentukan bahwa m = 4.
Jika pada konversi unsigned bit 410 = 1002
+410 = 01002
-410
11002 Sign Magnitude
10112 One’s Complement12
11002 Two’s Complement
+ increment
15
Dasar Komputer (MKB2122) 16
Telah ditentukan bahwa m = 18.
Jika pada konversi unsigned bit 1810 = 100102
+1810 = 0100102
-1810
1100102 Sign Magnitude
1011012 One’s Complement12
1011102 Two’s Complement
+ increment
Binary coded decimal (BCD)
17
Digunakan untuk pemrosesan data
dalam aplikasi bisnis
Konversikan setiap digit desimal ke
dalam empat digit biner
“+” 1010
“-” 1011
Binary Coded Decimal
Digit Desimal Kode BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
+ 1010
- 1011
18
Binary Coded Decimal
+410
+ 4
1010 0100 +410 = 1010 0100 BCD
-410
- 4
1011 0100 -410 = 1011 0100 BCD
19
ARITMATIKA ONES COMPLEMENT
• Perhatikan penjumlahan berikut :
diket : m=5 bit
20
Di Komplemen
kan
(+5) 0 0101
(+2) - 0 0010 -
(+5) 0 0101
(-2) + 1 1101
+
+ 3 1 |0 0010
1+
00011
overflow
Tidak perlu Di
Komplemen kan
(-5) 1 1010
(-2) + 1 1101 +(-5) 1 1010
(-2) + 1 1101 +
- 7 1 |1 0111
1+
1 1000
overflow
Ambiguitas -0 dan +0 pada one’s Complement
21
Tidak
dikomplemenkan
(-15) 1 0000
(-15) + 1 0000 +
(-15) 1 0000
(-15) + 1 0000 +
- 30 1 |0 0000
1+
0 0001overflow
Hasil yang didapatkan bukanlah -30 tetapi malah +1, hal
ini dikarenakan terdapat ambiguitas pengertian -0 dan
+0 pada ones complemen, sehingga bilangan overflow -
30 tidak dapat didefinisikan dengan baik.
ARITMATIKA TWOS COMPLEMENT
• Penjumlahan 2 buah bilangan positif
Asumsi m = 5 bit
22
+ 9 0 1001
+ 4 + 0 0100 +
+13 0 1101
• Penjumlahan bilangan positif yang bernilai lebih
besar dari bilangan negatifnya
Asumsi m = 5 bit
+ 9 0 1001
- 4 + 1 1100 +
+ 5 1|0 0101
Nilai – 4 diubah ke dalam komplemen 2
1011 + 1 = 1100
Carry register
ARITMATIKA TWOS COMPLEMENT
23
• Penambahan bilangan positif yang bernilai lebih
kecil dari bilangan negatifnya
Asumsi m = 5 bit
- 9 1 0111
+ 4 + 0 0100 +
- 5 1 1011
Nilai – 9 diubah kedalam komplemen 2
0110 + 1 = 0111
hasil dikomplemenkan lagi untuk membuktikan hasil -5
1011 diubah ke dalam twos complement : 0100 + 1 = 0101
Tanda negatif
• Penjumlahan dua bilangan negatif
Asumsi m=5 bit
24
ARITMATIKA TWOS COMPLEMENT
- 9 1 0111
- 4 + 1 1100 +
- 13 1 1 0011
Nilai – 9 diubah kedalam komplemen 2 0110 + 1 =
0111
Nilai – 4 diubah kedalam komplemen 2 1011 + 1 =
1100
diabaikan (carry register), sehingga hasilnya adalah 10011 (sum=-13)
ARITMATIKA TWOS COMPLEMENT
• Penjumlahan dua bilangan yang sama besar dansaling berlawanan tanda
Asumsi m = 5 bit
25
- 9 1 0111
+ 9 + 0 1001 +
0 1 0 0000
Nilai – 9 diubah kedalam komplemen 2 0110 + 1 =
0111
diabaikan (carry register), sehingga
hasilnya adalah 00000 (sum = +0)
ARITMATIKA TWOS COMPLEMENT - overflow-
bilangan positif + bilangan positif = bilangan negatif
bilangan negatif + bilangan negatif = bilangan positif
26
ARITMATIKA TWOS COMPLEMENT - overflow-
• Kondisi overflow penjumlahan bilangan positifmenghasilkan bilangan negatif.
Asumsi m=0
27
+ 8 0 1000
+ 9 + 0 1001 +
+17 1 0001
tanda negatif, sebenarnya hasil adalah 10001 (sum = +17) bukan
-1
Jadi angka 1 memiliki nilai bukan tanda
ARITMATIKA TWOS COMPLEMENT - overflow-
• Kondisi overflow penjumlahan bilangan negatifmenghasilkan bilangan positif
Asumsi m= 5 bit
28
- 9 1 0111
- 9 + 1 0111 +
-18 1 0 1110
Nilai – 9 diubah kedalam komplemen 2 0110 + 1 =
0111
Nilai – 9 diubah kedalam komplemen 2 0110 + 1 =
0111
tanda negatif
sehingga hasilnya 01110 (sum = -18) bukan +14.
Pembuktian hasil : 01110 diubah ke dalam komplemen
210001+1=10010 = 18
Contoh lain aritmatika twos complement
- 5 1 1011
- 4 + 1 1100 +
- 9 1 1 0111
29
Ke carry
Register
ARITMATIKA BCD
0110 0011 (+63)
0100 1001 (+49) +
1010 1100 (+112) masih salah jadi ditambah 6
0110 (biner 6) +
1011 0010 (+112) masih salah jadi ditambah 6
0110 (biner 6) +
1 0001 0010 (+112) sudah sesuai
30