Minggu_6 TIF305

12
Operator Komplemen Ir. Sihar, MT. T. Informatika – FTI Bandung – 2016 TIF305 Organisasi dan Arsitektur Komputer (3 sks)

Transcript of Minggu_6 TIF305

Page 1: Minggu_6 TIF305

Operator Komplemen

Ir. Sihar, MT.T. Informatika – FTI

Bandung – 2016

TIF305 Organisasi dan Arsitektur Komputer (3 sks)

Page 2: Minggu_6 TIF305

Daftar Pustaka

1. Gilmore, C.M. (1995). Microprocessors: Principles and Applications. McGraw-Hill. ISBN:978-002-801-837-9

2. Mano, M. (1992). Computer System Architecture (3rd Edition). Prentice Hall. ISBN: 978-013-175-563-5

3. Patterson, D.A., Hennessy, J.L. (2013). Computer Organization and Design, Fifth Edition: The Hardware/Software Interface. Morgan Kaufmann. ISBN: 978-012-407-726-3

4. Simamora, S.N.M.P. (2002). “Diktat Kuliah SK-303 Arsitektur Komputer (3 sks)”. Dept. Sistem Komputer, Fak. Teknik. Institut Teknologi Harapan Bangsa. Bandung.

5. Simamora, S.N.M.P. (2016). Modul Belajar Praktis Algoritma dan Pemrograman, Penerbit Deepublish. Yogyakarta. ISBN:978-602-401-318-9.

Page 3: Minggu_6 TIF305

SImbol yang digunakan untuk Operator

KomplemenPada notasi statement/algoritma: ~

Pada notasi tabel kebenaran (truth-table): Â

Pada sirkuit/rangkaian:

Dalam hardware dan pemrograman, Operator Komplemen berperan untuk

merepresentasikan data numerik dalam bentuk negatip

Page 4: Minggu_6 TIF305

Transformasi BIT untuk bilangan negatip

Contoh: Tuliskan algoritma Matematika Informasi untuk mendapatkan BIN pada bilangan negatip dalam DEC sebagai berikut: DEC(-22) = ( ... )2

Solusi: Algoritma Matematika Informasi untuk transformasi BIN pada Bil. Negatip

(i). Positipkan nilai DEC tsb: (-22)10 (22) 10; dan tampungkan ke var: x(ii). Ubah x dalam BIN dengan panjang-bit=16; (22)10 = ( ... ) 2;

xxxx xxxx xxxx xxxx

(iii). Hasil x tersebut di-NOT-kan:(22)10 = (0000 0000 0001 0110) 2;(22)10 =

(iv). Selanjutnya hasil komplemen tsb ditambahkan dengan (1)2 :

(v). Maka didapatkan: (-22)10 = (1111 1111 1110 1010)2;

0000 0000 0001 01101111 1111 1110 1001

1111 1111 1110 10010000 0000 0000 0001

1111 1111 1110 1010

Page 5: Minggu_6 TIF305

Kasus: Buktikan: bahwa (-26) 10 = (1111 1111 1110 0110)2;

Solusi: Misalkan, DEC(60) + DEC(-26) = DEC( ... )

DEC(60) DEC(-26)

: 0000 0000 0011 1100: 1111 1111 1110 0110

: 10000 0000 0000 0010DEC(4)

sign: + (tanda-positip)

Maka, terbukti bahwa: (-26) 10 = (1111 1111 1110 0110)2;

Kasus: Buktikan: bahwa (-22) 10 = (1111 1111 1110 1010)2;

Solusi: Misalkan, DEC(25) + DEC(-26) = DEC( ... )

DEC(25) DEC(-22)

: 0000 0000 0001 1001: 1111 1111 1110 1010

: 10000 0000 0000 0011DEC(3)

sign: + (tanda-positip)

Maka, terbukti bahwa: (-22) 10 = (1111 1111 1110 1010)2;

Page 6: Minggu_6 TIF305

Kasus: Buktikan: bahwa (-43) 10 = (1111 1111 1101 0101)2;

Solusi: Misalkan, DEC(61) + DEC(-27) = DEC( ... )

DEC(61) DEC(-43)

: 0000 0000 0011 1101: 1111 1111 1101 0101

: 10000 0000 0001 0010DEC(18)

sign: + (tanda-positip)

Maka, terbukti bahwa: (-43) 10 = (1111 1111 1101 0101)2;

Kasus: Buktikan: bahwa (-107) 10 = (1111 1111 1001 0101)2;

Solusi: Misalkan, DEC(128) + DEC(-107) = DEC( ... )

DEC(128) DEC(-107)

: 0000 0000 1000 0000: 1111 1111 1001 0101

: 10000 0000 0001 0101DEC(21)

sign: + (tanda-positip)

Maka, terbukti bahwa: (-107) 10 = (1111 1111 1001 0101)2;

Page 7: Minggu_6 TIF305

Algoritma Matematika Informasi untuk mendapatkan nilai DEC dari

negatip-BIN

Misalkan: tuliskan algoritma Matematika Informasi untuk menyelesaikan persoalan berikut: (1111 1111 1101 0101)2 = ( ... )10;Solusi: x (1111 1111 1101 0101)2 ;

(i). Komplemen-kan BIN tsb: 1111 1111 1101 01010000 0000 0010 1010

(ii). Hasil komplemen tsb ditambahkan dengan (1)2 : 0000 0000 0010 10100000 0000 0000 0001

0000 0000 0010 1011

(iii). Nyatakan x tersebut dalam DEC: 0000 0000 0010 1011

DEC(43) (-1)10 (-43)10;

32 8 2 1 DEC(43)(iv). Kali-kan DEC dengan (-1)10 :

(v). Maka didapatkan: (1111 1111 1101 0101)2 = (-43)10;

Page 8: Minggu_6 TIF305

Kasus: Tuliskan algoritma Matematika Informasi untuk menyelesaikan persoalan berikut: (1111 1111 1001 0101)2 = ( ... )10;

Solusi: x (1111 1111 1001 0101)2 ;(i). Komplemen-kan BIN tsb: 1111 1111 1001 0101

0000 0000 0110 1010

(ii). Hasil komplemen tsb ditambahkan dengan (1)2 : 0000 0000 0110 10100000 0000 0000 0001

0000 0000 0110 1011

(iii). Nyatakan x tersebut dalam DEC: 0000 0000 0110 1011

DEC(107) (-1)10 (-107)10;

32 8 2 1 DEC(107)(iv). Kali-kan DEC dengan (-1)10 :

(v). Maka didapatkan: (1111 1111 1001 0101)2 = (-107)10;

64

Page 9: Minggu_6 TIF305

xxxx xxxx xxxx xxxx

(22)10 = (0000 0000 0001 0110) 2

(22)10 =

Penjumlahan BIT (binary-digit)

Aturan: (1)2 + (0)2 = (1)2

(0)2 + (1)2 = (1)2

(1)2 + (1)2 = (10)2

(1)2 + (1)2 + (1)2 = (11)2

(0)2 = (0)10 ;dan (1)2 = (1)10

Contoh: DEC(13) : 0000 0000 0000 1101DEC(28) : 0000 0000 0001 1100

0000 0000 0010 1001DEC(41)

32 8 1 DEC(41)terbukti

Contoh: Bila var: x1 diisikan DEC(22), lalu ditambahkan dengan 0x5C, selanjutnya ditambahkan ke 0102. Dan hasil-akhir ditampungkan kembali ke x1. Tuliskan nilai termutahir x1 menggunakan algoritma Matematika Informasi penjumlahan BIT dengan panjang 16-bit..

Solusi:

(5c)16 = (0000 0000 0101 1100) 2

(102)8 = (0000 0000 0100 0010) 2 (0000 0000 1011 0100)2

128 32 16 4

DEC(180)

Pem

bukti

an d

enga

n C+

+:

Page 10: Minggu_6 TIF305

Algoritma Komplemen

Contoh: Tuliskan algoritma Matematika Informasi untuk menyelesaikan persoalan berikut: ~(22)10 = ( ... )10

Solusi: Algoritma Matematika Informasi untuk komplemen dari sebuah bilangan:(i). Misalkan nilai DEC tsb ditampungkan ke var: x

(ii). Ubah x dalam BIN dengan panjang-bit=16; (22)10 = ( ... ) 2; xxxx xxxx xxxx xxxx

(22)10 = (0000 0000 0001 0110) 2;(22)10 =

(iii). Tambah-kan x dengan (1)2: 0000 0000 0001 01100000 0000 0000 0001

0000 0000 0001 0111

(iv). Hasil x tersebut di-NOT-kan: 0000 0000 0001 01111111 1111 1110 1000

(v). Selanjutnya hasil komplemen tsb ditambahkan dengan (1)2 :1111 1111 1110 10000000 0000 0000 0001

1111 1111 1110 1001

(vi). Nyatakan BIN tsb dalam DEC: (1111 1111 1110 1001)2 = ( ... )10

Page 11: Minggu_6 TIF305

lanjutan (vi). Nyatakan BIN tsb dalam DEC: (1111 1111 1110 1001)2 = ( ... )10

(a). Komplemen-kan x tsb: 1111 1111 1110 10010000 0000 0001 0110

(b). Tambah-kan x dengan (1)2: 0000 0000 0001 01100000 0000 0000 0001

0000 0000 0001 0111

(c). Nyatakan x tersebut dalam DEC: 0000 0000 0001 0111

16 4 2 1 DEC(23)DEC(23) (-1)10 (-23)10;

(d). Kali-kan DEC dengan (-1)10 :

(v). Maka didapatkan: (1111 1111 1110 1001)2 = (-23)10; (vii). Alhasil, didapatkan: ~(22)10 = (-23)10;

Algoritma dan pemrograman C++ Tampilan jalannya program

Page 12: Minggu_6 TIF305

Terapan Operasi: pergeseran bit, dan komplemen pada pemrograman C/C++

dan JavaScript adalah identik

#include<iostream.h>void main(){ int z=0x23; z=(z>>1); cout << z;}

Pergeseran bit untuk z=0x23;

<script language=JavaScript> z=0x23; z=(z>>1); document.write(z);</script>

#include<iostream.h>void main(){ int z=23; z=(~z); cout << z;}

Komplemen terhadap z, dimana z=23;

<script language=JavaScript> z=23; z=(~z); document.write(z);</script>