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
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:
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;
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;
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:
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:
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.
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);
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);
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;
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;
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
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;
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

Pergeseran Bit-sns

  • 1.
    fti.unibba.ac.id Hal. 1 FTI305Organisasi 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 12C 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: AlgoritmaMatematika 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 Transformasikanselanjutnya 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 Transformasikanterlebih 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 Lakukanpergeseran 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