1. fti.unibba.ac.id Hal. 1
FTI305 Organisasi dan Arsitektur Komputer (3 sks)
Dosen: Ir. Sihar, MT.
Program studi T. Informatika
Fak. Teknologi Informasi
Bandung – 2016
Referensi:
[1] Burns, R. Programming Concepts in C++. Xlibris Publisher. 2014. ISBN: 978-1499044836.
[2] Davis, S.R. Beginning Programming with C++ For Dummies, 2nd Edition. For Dummies
Publisher. 2014. ISBN-13: 978-1118823873.
[3] Null, L. Lobur, J. The Essentials of Computer Organization and Architecture, 4th Edition. Jones &
Bartlett Learning Publisher. 2014. ISBN: 978-1284045611.
[4] Roberts, E. Programming Abstractions in C++, 1st Edition. Pearson Publisher. 2013. ISBN: 978-
0133454840.
[5] Simamora, S.N.M.P. "Dynamics System Modeling Approach in Node Mobility on Mobile Ad-
hoc Network". The 1st Conference on Information Technology, Computer, and Electrical
Engineering (CITACEE 2013). 16 November 2013. Departement of Computer Engineering,
Univ. Diponegoro. hal.35-39. ISSN: 2338-5154.
[6] Simamora, S.N.M.P. “Diktat Organisasi dan Arsitektur Komputer”. Program studi T.
Informatika, Fak. Teknologi Informasi. Univ. BALE. Bandung. 2012.
[7] Simamora, S.N.M.P. Modul Belajar Praktis Algoritma dan Pemrograman. Penerbit Deepublish,
Yogyakarta. 2016. ISBN: 978-602-401-318-9.
[8] Simamora, S.N.M.P."Analisis Metode Cross-Layer Design dalam Efisiensi Trafik Kanal dengan
Pendekatan Teknik Penjadwalan".Seminar Nasional Inovasi dan Rekayasa Teknologi (SNIRT)
2014, Fak. Teknik, Univ. 17 AGustus 1945 Cirebon. hal.95-100. ISSN: 2406-9663.
Pergeseran BIT (Binary-Digit)
Bit (binary-digit), umumnya diistilahkan dalam Bahasa Indonesia dengan biner, adalah salah
satu basis bilangan (data numerik) yang digunakan dalam platform sistem
komputer/komputer (machine-platform). Selain Bit, dikenal juga hexadecimal (sistem basis
bilangan 16), dan octal (octadecimal).
Rentang (range bilangan) Bit adalah 0 sampai dengan 1 (asumsi Bilangan Bulat). Dan
berikut tabel konversi antar-basis bilangan: DEC, HEX, OCT, BIN.
DEC HEX OCT BIN (4-bit)
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 8 10 1000
9 9 11 1001
10 A 12 1010
11 B 13 1011
2. fti.unibba.ac.id Hal. 2
12 C 14 1100
13 D 15 1101
14 E 16 1110
15 F 17 1111
Kodefikasi atau identificator yang digunakan pada heksal (HEX) adalah 0x (didepan bilangan
tersebut) atau ...h (di belakang bilangan tersebut, tanpa membedakan karakter kapital atau
kecil).
Contoh: -Transformasikan 0x2a dalam nilai decimal.
Solusi:
Algoritma Matematika Informasi
0x2a = (2a)16 = 2ah = DEC( ... );
= 2.(16)1 + a.(16)0;
= 32 + 10;
= (42)10 = DEC(42);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int aL=0x2a;
cout << dec << aL;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Transformasikan 027 dalam nilai decimal.
Solusi:
Algoritma Matematika Informasi
027 = (27)8 = DEC( ... );
= 2.(8)1 + 7.(8)0;
= 16 + 7;
= (23)10 = DEC(23);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int L=027;
cout << dec << L;
return 0;
}
Ditampilkan sebagai berikut:
3. fti.unibba.ac.id Hal. 3
Contoh: -Transformasikan DEC(47) dalam nilai octal.
Solusi:
Algoritma Matematika Informasi
DEC(47) = (47)10 = ( ... )8;
47 ÷ 8 = 5 sisa 7;
5 ÷ 8 = 0 sisa 5;
disusun menjadi: (57)8 = 057;
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int bil=47;
cout << oct << bil;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Transformasikan DEC(161) dalam nilai heksal.
Solusi:
Algoritma Matematika Informasi
DEC(97) = ( ... )16;
161 ÷ 16 = 10 sisa 1;
10 ÷ 16 = 0 sisa 10; 10 ⇒ A;
disusun menjadi: (a1)16 = 0xA1 = A1h;
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int T=161;
cout << hex << T;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Transformasikan DEC(161) dalam nilai bit.
Solusi:
Algoritma Matematika Informasi
DEC(97) = ( ... )2;
161 ÷ 2 = 80 sisa 1;
4. fti.unibba.ac.id Hal. 4
80 ÷ 2 = 40 sisa 0;
40 ÷ 2 = 40 sisa 0;
20 ÷ 2 = 10 sisa 0;
10 ÷ 2 = 5 sisa 0;
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (10100001)2;
Contoh: -Transformasikan (10100001)2 dalam nilai decimal.
Solusi:
Algoritma Matematika Informasi
(10100001)2 = ( ... )10;
= (1)(2)7 + (0)(2)6 + (1)(2)5 + (0)(2)4 + (0)(2)3 + (0)(2)2 + (0)(2)1 + (1)(2)0;
= 128 + 32 + 1;
= (161)10;
= DEC(161);
Contoh: -Jika diketahui isi var: q1 adalah DEC(11), maka lakukan pergeseran 2-bit ke kiri.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(11) = ( ... )2;
11 ÷ 2 = 5 sisa 1;
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1011)2;
Lakukan pergeseran 2-bit ke kiri pada biner yang didapatkan tersebut
awal ⇒ 1011;
berikan 2-tmp (‘x’) di sisi kiri ⇒ xx1011;
geser ⇒ 1011xx;
isikan ‘x’ dengan bit 0 ⇒ 101100;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(101100)2 = DEC( ... );
= (1)(2)5 + (0)(2)4 + (1)(2)3 + (1)(2)2 + (0)(2)1 + (0)(2)0 ;
= 32 + 0 + 8 + 4 + 0 + 0;
= (44)10 = DEC(44);
Hasil: DEC(11) digeser 2-bit ke kiri = (101100)2 = DEC(44);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int q1=11;
5. fti.unibba.ac.id Hal. 5
q1=(q1<<2);
cout << q1;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: zK adalah DEC(11), maka lakukan pergeseran 2-bit ke
kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(11) = ( ... )2;
11 ÷ 2 = 5 sisa 1;
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1011)2;
Lakukan pergeseran 2-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 1011;
hilangkan 2-bit di sisi kanan ⇒ 10;
tambahkan 2-tmp (‘x’) di sisi kiri ⇒ xx10;
isikan ‘x’ dengan bit 0 ⇒ 0010;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(0010)2 = DEC( ... );
= (0)(2)3 + (0)(2)2 + (1)(2)1 + (0)(2)0 ;
= 0 + 0 + 2 + 0;
= (2)10 = DEC(2);
Hasil: DEC(11) digeser 2-bit ke kanan = (0010)2 = DEC(2);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int zK=11;
zK=(zK>>2);
cout << zK;
return 0;
}
Ditampilkan sebagai berikut:
6. fti.unibba.ac.id Hal. 6
Contoh: -Jika diketahui isi var: bil adalah 0x11, maka lakukan pergeseran 3-bit ke kiri.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu HEX-to-DEC
0x11 = (11)16 = 11h = DEC( ... );
= (1).(16)1 + (1).(16)0;
= 16 + 1;
= (17)10 = DEC(17);
Lalu transformasikan selanjutnya DEC-to-BIN
DEC(17) = ( ... )2;
17 ÷ 2 = 8 sisa 1;
8 ÷ 2 = 4 sisa 0;
4 ÷ 2 = 2 sisa 0;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (10001)2;
Lakukan pergeseran 3-bit ke kiri pada biner yang didapatkan tersebut
awal ⇒ 10001;
berikan 3-tmp (‘x’) di sisi kiri ⇒ xxx10001;
geser ⇒ 10001xxx;
isikan ‘x’ dengan bit 0 ⇒ 10001000;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(10001000)2 = DEC( ... );
= (1)(2)7 + (0)(2)6 + (0)(2)5 + (0)(2)4 +(1)(2)3 +(0)(2)2 +(0)(2)1 +(0)(2)0 ;
= 128 + 0 + 0 + 0 + 8 + 0 + 0 + 0;
= (136)10 = DEC(136);
Hasil: 0x11 digeser 3-bit ke kiri = (10001000)2 = DEC(136);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int bil=0x11;
bil=(bil<<3);
cout << bil;
return 0;
}
Ditampilkan sebagai berikut:
7. fti.unibba.ac.id Hal. 7
Contoh: -Jika diketahui isi var: wK adalah 026, maka lakukan pergeseran 1-bit ke kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu OCT-to-DEC
026 = (26)8 = 26h = DEC( ... );
= (2).(8)1 + (6).(8)0;
= 16 + 6;
= (22)10 = DEC(22);
Lalu transformasikan selanjutnya DEC-to-BIN
DEC(22) = ( ... )2;
22 ÷ 2 = 11 sisa 0;
11 ÷ 2 = 5 sisa 1;
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (10110)2;
Lakukan pergeseran 1-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 10110;
hilangkan 1-bit di sisi kanan ⇒ 1011;
tambahkan 1-tmp (‘x’) di sisi kiri ⇒ x1011;
isikan ‘x’ dengan bit 0 ⇒ 01011;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(01011)2 = DEC( ... );
= (0)(2)4 + (1)(2)3 + (0)(2)2 + (1)(2)1 + (1)(2)0 ;
= 0 + 8 + 0 + 2 + 1;
= (11)10 = DEC(11);
Hasil: 026 digeser 1-bit ke kanan = (01011)2 = DEC(11);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int wK=026;
wK=(wK>>1);
cout << wK;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: hs1 adalah DEC(31), maka lakukan pergeseran 1-bit ke kiri.
8. fti.unibba.ac.id Hal. 8
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(31) = ( ... )2;
31 ÷ 2 = 15 sisa 1;
15 ÷ 2 = 7 sisa 1;
7 ÷ 2 = 3 sisa 1;
3 ÷ 2 = 1 sisa 1;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (11111)2;
Lakukan pergeseran 1-bit ke kiri pada biner yang didapatkan tersebut
awal ⇒ 11111;
berikan 1-tmp (‘x’) di sisi kiri ⇒ x11111;
geser ⇒ 11111x;
isikan ‘x’ dengan bit 0 ⇒ 111110;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(111110)2 = DEC( ... );
= (1)(2)5 + (1)(2)4 +(1)(2)3 +(1)(2)2 +(1)(2)1 +(0)(2)0 ;
= 32 + 16 + 8 + 4 + 2 + 0;
= (62)10 = DEC(62);
Hasil: DEC(31) digeser 1-bit ke kiri = (111110)2 = DEC(62);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int hs1=31;
hs1=(hs1<<1);
cout << hs1;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: zP adalah 41h, maka lakukan pergeseran 4-bit ke kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu HEX-to-DEC
41h = (41)16 = 0x41 = DEC( ... );
= (4).(16)1 + (1).(16)0;
= 64 + 1;
= (65)10 = DEC(65);
9. fti.unibba.ac.id Hal. 9
Transformasikan selanjutnya DEC-to-BIN
DEC(65) = ( ... )2;
65 ÷ 2 = 32 sisa 1;
32 ÷ 2 = 16 sisa 0;
16 ÷ 2 = 8 sisa 0;
8 ÷ 2 = 4 sisa 0;
4 ÷ 2 = 2 sisa 0;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1000001)2;
Lakukan pergeseran 4-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 1000001;
hilangkan 4-bit di sisi kanan ⇒ 100;
tambahkan 4-tmp (‘x’) di sisi kiri ⇒ xxxx100;
isikan ‘x’ dengan bit 0 ⇒ 0000100;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(0000100)2 = DEC( ... );
= (0)(2)6 +(0)(2)5 +(0)(2)4 + (0)(2)3 + (1)(2)2 + (0)(2)1 + (0)(2)0 ;
= 0 + 0 + 0 + 0 + 4 + 0 + 0;
= (4)10 = DEC(4);
Hasil: 41h digeser 4-bit ke kanan = (0000100)2 = DEC(4);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int zP=0x41;
zP=(zP>>4);
cout << zP;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: ank1 adalah 051, maka lakukan pergeseran 5-bit ke kiri.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu OCT-to-DEC
051 = (51)8 = DEC( ... );
= (5).(8)1 + (1).(8)0;
= 40 + 1;
= (41)10 = DEC(41);
10. fti.unibba.ac.id Hal. 10
Transformasikan terlebih dahulu DEC-to-BIN
DEC(41) = ( ... )2;
41 ÷ 2 = 20 sisa 1;
20 ÷ 2 = 10 sisa 0;
10 ÷ 2 = 5 sisa 0;
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (101001)2;
Lakukan pergeseran 5-bit ke kiri pada biner yang didapatkan tersebut
awal ⇒ 101001;
berikan 5-tmp (‘x’) di sisi kiri ⇒ xxxxx101001;
geser ⇒ 101001xxxxx;
isikan ‘x’ dengan bit 0 ⇒ 10100100000;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(10100100000)2 = DEC( ... );
= (1)(2)10 + (0)(2)9 + (1)(2)8 + (0)(2)7 + (0)(2)6 + (1)(2)5 + (0)(2)4 + (0)(2)3 + (0)(2)2 +
(0)(2)1 + (0)(2)0 ;
= 1024 + 0 + 256 + 0 + 0 + 32 + 0 + 0 + 0 + 0 + 0;
= (1312)10 = DEC(1312);
Hasil: 051 digeser 5-bit ke kiri = (10100100000)2 = DEC(1312);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int ank1=051;
ank1=(ank1<<5);
cout << ank1;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: sns adalah DEC(100), maka lakukan pergeseran 6-bit ke
kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(100) = ( ... )2;
100 ÷ 2 = 50 sisa 0;
11. fti.unibba.ac.id Hal. 11
50 ÷ 2 = 25 sisa 0;
25 ÷ 2 = 12 sisa 1;
12 ÷ 2 = 6 sisa 0;
6 ÷ 2 = 3 sisa 0;
3 ÷ 2 = 1 sisa 1;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1100100)2;
Lakukan pergeseran 6-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 1100100;
hilangkan 6-bit di sisi kanan ⇒ 1;
tambahkan 6-tmp (‘x’) di sisi kiri ⇒ xxxxxx1;
isikan ‘x’ dengan bit 0 ⇒ 0000001;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(0000001)2 = DEC( ... );
= (0)(2)6 + (0)(2)5 + (0)(2)4 + (0)(2)3 + (0)(2)2 + (0)(2)1 + (1)(2)0 ;
= 0 + 0 + 0 + 0 + 0 + 0 + 1;
= (1)10 = DEC(1);
Hasil: DEC(1) digeser 6-bit ke kanan = (000001)2 = DEC(1);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int sns=100;
sns=(sns>>6);
cout << sns;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: aK adalah DEC(91), maka lakukan pergeseran 2-bit ke
kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(91) = ( ... )2;
91 ÷ 2 = 45 sisa 1;
45 ÷ 2 = 22 sisa 1;
22 ÷ 2 = 11 sisa 0;
11 ÷ 2 = 5 sisa 1;
12. fti.unibba.ac.id Hal. 12
5 ÷ 2 = 2 sisa 1;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1011011)2;
Lakukan pergeseran 2-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 1011011;
hilangkan 2-bit di sisi kanan ⇒ 10110;
tambahkan 2-tmp (‘x’) di sisi kiri ⇒ xx10110;
isikan ‘x’ dengan bit 0 ⇒ 0010110;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(0010110)2 = DEC( ... );
= (0)(2)6 + (0)(2)5 + (1)(2)4 + (0)(2)3 + (1)(2)2 + (1)(2)1 + (0)(2)0 ;
= 0 + 0 + 16 + 0 + 4 + 2 + 0;
= (22)10 = DEC(22);
Hasil: DEC(91) digeser 2-bit ke kanan = (0010110)2 = DEC(22);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int aK=91;
aK=(aK>>2);
cout << aK;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: b1L adalah DEC(19), maka lakukan pergeseran 2-bit ke kiri.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu DEC-to-BIN
DEC(19) = ( ... )2;
19 ÷ 2 = 9 sisa 1;
9 ÷ 2 = 4 sisa 1;
4 ÷ 2 = 2 sisa 0;
2 ÷ 2 = 1 sisa 0;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (10011)2;
Lakukan pergeseran 2-bit ke kiri pada biner yang didapatkan tersebut
13. fti.unibba.ac.id Hal. 13
awal ⇒ 10011;
berikan 2-tmp (‘x’) di sisi kiri ⇒ xx10011;
geser ⇒ 10011xx;
isikan ‘x’ dengan bit 0 ⇒ 1001100;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(1001100)2 = DEC( ... );
= (1)(2)6 + (0)(2)5 + (0)(2)4 + (1)(2)3 + (1)(2)2 + (0)(2)1 + (0)(2)0 ;
= 64 + 0 + 0 + 8 + 4 + 0 + 0;
= (76)10 = DEC(76);
Hasil: DEC(19) digeser 2-bit ke kiri = (1001100)2 = DEC(76);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int b1L=19;
b1L=(b1L<<2);
cout << b1L;
return 0;
}
Ditampilkan sebagai berikut:
Contoh: -Jika diketahui isi var: aju adalah 0171, maka lakukan pergeseran 2-bit ke kanan.
Solusi:
Algoritma Matematika Informasi
Transformasikan terlebih dahulu OCT-to-DEC
0171 = (171)8 = DEC( ... );
= (1).(8)2 + (7).(8)1 + (1).(8)0;
= 64 + 56 + 1;
= (121)10 = DEC(121);
Transformasikan selanjutnya DEC-to-BIN
DEC(121) = ( ... )2;
121 ÷ 2 = 60 sisa 1;
60 ÷ 2 = 30 sisa 0;
30 ÷ 2 = 15 sisa 0;
15 ÷ 2 = 7 sisa 1;
7 ÷ 2 = 3 sisa 1;
3 ÷ 2 = 1 sisa 1;
1 ÷ 2 = 0 sisa 1;
disusun menjadi: (1111001)2;
14. fti.unibba.ac.id Hal. 14
Lakukan pergeseran 2-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 1111001;
hilangkan 2-bit di sisi kanan ⇒ 11110;
tambahkan 2-tmp (‘x’) di sisi kiri ⇒ xx11110;
isikan ‘x’ dengan bit 0 ⇒ 0011110;
Nyatakan nilai biner tersebut dalam DEC agar dapat diinterpretasikan dalam human-
platform (dibuktikan dalam bilangan yang dipahami end-user)
(0011110)2 = DEC( ... );
= (0)(2)6 + (0)(2)5 + (1)(2)4 + (1)(2)3 + (1)(2)2 + (1)(2)1 + (0)(2)0 ;
= 0 + 0 + 16 + 8 + 4 + 2 + 0;
= (30)10 = DEC(30);
Hasil: 0171 digeser 2-bit ke kanan = (0011110)2 = DEC(30);
Dituliskan dalam algoritma dan pemrograman C++ sebagai berikut:
#include<iostream>
using namespace std;
int main()
{
int aju=0171;
aju=(aju>>2);
cout << aju;
return 0;
}
Ditampilkan sebagai berikut:
Download aplikasi translator:
http://www.4shared.com/file/-qwXB9tece/devcpp-4992_setup.html
Kunjungi web-site: http://unibba.ac.id/fti/
Selamat Belajar