SISTEM BILANGAN BERTANDA (SIGNED...

31
SISTEM BILANGAN BERTANDA (SIGNED INTEGER) Dasar Komputer MKB2122 1 Bongga Arifwidodo

Transcript of SISTEM BILANGAN BERTANDA (SIGNED...

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