Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
ALGO_MATEMATIKA
1. 1 | H a l
Algoritma Matematika Informasi
Dosen: Ir. Sihar, MT.
Program studi T. Informatika, FTI
Bandung 2016
Referensi:
[1] Gilmore, C.M. Microprocessors: Principles and Applications. McGraw-Hill. 1995.
[2] Mano, M. Computer System Architecture (3rd Edition). Prentice Hall. 1992.
[3] Simamora, S.N.M.P. Modul Belajar Praktis Algoritma dan Pemrograman. Penerbit
Deepublish, Yogyakarta. 2016. ISBN: 978-602-401-318-9.
[4] Simamora, S.N.M.P., "WLAN Implementation in High-floor Indoor Office Building for
Communication Successfull Solution", Proceeding, International Conference on Open
Source for Higher Education (ICOSic) March 15th, 2010, Sebelas Maret University (UNS),
Solo, ISBN: 979-498-560-0.
[5] Simamora, S.N.M.P. "Sebaran Acak pada Distribusi Pergerakan Node dalam Mobile Ad-
Hoc Network". Proceeding SNIT (Seminar Nasional Inovasi dan Teknologi) 2015, Univ.
BSI. Bandung. hal:A.67-A.73. ISBN: 978-602-99213-9-7.
[6] Simamora, S.N.M.P. "Perancangan Topologi Dinamis Secara Acak Dalam Mobile Ad-Hoc
Network Dengan Pendekatan Pemodelan". Jurnal Simetris Vol.6 No.1 April 2015.
Fak.Teknik, Universitas Muria Kudus. hal.119-128. ISSN : 2252-4983.
[7] Simamora, S.N.M.P. "Analisis Qos Pada Layanan Jaringan Dalam Mobile Ad-Hoc
Network". Seminar Nasional Teknologi Informasi & Komunikasi Terapan (SEMANTIK)
2015. Universitas Dian Nuswantoro, Semarang. hal.309-314. ISBN: 979-26-0280-1.
[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.
[9] Simamora, S.N.M.P. "Teknik Cross Layer Design Sebagai Dukungan Dalam Routing
Packet-Data". IT Journal, STMIK Potensi Utama Medan, Vol.3 No.1. April 2014: hal:22-
32. ISSN:2252-746X.
[10] 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.
[11] Tanenbaum, A. S. Structured Computer Organization, 5th edition. Prentice Hall
International Editions. 2005.
[12] Zaks, R. From Chips to Systems: An Introduction to Microprocessors. Longman Higher
Education. 1979.
2. 2 | H a l
Soal
1. Sebuah bilangan, 021, ditampungkan ke var: z1, lalu di-OR-kan dengan konstanta K,
hasilnya lalu di-XOR-kan dengan DEC(5). Apabila isi K=DEC(177), maka kerjakan
persoalan berikut ini:
a) Tuliskan Algoritma Matematika Informasi untuk menampilkan isi termutahir (terbaru)
pada var: z1.
Solusi:
Konstruksi-algoritma
z1←021;
K←DEC(177);
z1←z1+K;
z1←z1⊕DEC(5);
tampilkan z1;
Algoritma Matematika Informasi:
Oleh sebab nilai operand-data yang dilibatkan pada operasi Boolean harus dalam bentuk
bit (BIN), maka ditransformasikan setiap nilai operand-data.
021 = ( ... )2;
Transformasikan terlebih dahulu ke DEC, setelah itu dari DEC ke BIN; yakni sebagai
berikut:
021 = ( ... )10;
= (2)(8)1 + (1)(8)0;
= 16 + 1;
= (17)10;
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
direkonstruksi menjadi: (10001)2;
DEC(177) = ( ... )2;
177 ÷ 2 = 88 sisa 1
88 ÷ 2 = 44 sisa 0
44 ÷ 2 = 22 sisa 0
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
direkonstruksi menjadi: (10110001)2;
DEC(5) = ( ... )2;
5 ÷ 2 = 2 sisa 1
2 ÷ 2 = 1 sisa 0
1 ÷ 2 = 0 sisa 1
direkonstruksi menjadi: (101)2;
3. 3 | H a l
Lakukan penyamaan panjang bit agar memudahkan saat pemrosesan operasi Boolean:
021 : 10001 = 00010001
DEC(177) : 10110001
DEC(5) : 101 = 00000101
021 : 00010001
K : 10110001 +
DEC(177) ← 10110001
DEC(5) : 00000101 ⊕
DEC(180) ← 10110100
maka, z1 = DEC(180);
b) Tuliskan algoritma dan pemrograman C++ untuk menyelesaikan persoalan ini.
Solusi:
#include<iostream.h>
void main()
{
int z1=021,K=177;
z1=z1|K;
z1=z1^5;
cout << z1;
}
Tampilan jalannya program
2. Merujuk pada soal No. 1 tersebut, apabila isi termutahir var: z1 tersebut digeser 2-bit ke
kanan dan hasilnya ditampungkan kembali ke z1, maka:
a) Tuliskan Algoritma Matematika Informasi untuk menampilkan isi termutahir (terbaru)
pada var: z1.
Solusi:
Konstruksi-algoritma
z1←DEC(180);
z1←(z1>>2);
tampilkan z1;
Algoritma Matematika Informasi:
Transformasikan terlebih dahulu DEC-to-BIN
DEC(180) = ( ... )2;
= 10110100
Lakukan pergeseran 2-bit ke kanan pada biner yang didapatkan tersebut
awal ⇒ 10110100;
hilangkan 2-bit di sisi kanan ⇒ 101101;
tambahkan 2-tmp (‘x’) di sisi kiri ⇒ xx101101;
isikan ‘x’ dengan bit 0 ⇒ 00101101;
4. 4 | H a l
Nyatakan nilai BIN tersebut dalam DEC agar dapat diinterpretasikan dalam
human-platform (dibuktikan dalam bilangan yang dipahami end-user)
00101101 = ( ... )10;
= 0 + 0 + (1)(2)5 + 0 + (1)(2)3 + (1)(2)2 + 0 + (1)(2)0
= 32 + 8 + 4 + 1
= (45)10;
Hasil: DEC(180) digeser 2-bit ke kanan = (00101101) = DEC(45);
b) Tuliskan algoritma dan pemrograman C++ untuk menyelesaikan persoalan ini.
Solusi:
#include<iostream.h>
void main()
{
int z1=180;
z1=(z1>>2);
cout << z1;
}
Tampilan jalannya program
3. Sebuah bilangan DEC(-18) ditampungkan ke var: A1, maka tuliskan Algoritma Matematika
Informasi untuk mentransformasikan A1 dalam representasi bit (bilangan BIN) negatip.
Solusi:
Algoritma Matematika Informasi transformasi bilangan DEC negatip dalam BIN:
Langkah-1: positipkan DEC tersebut, dan tampungkan ke sebuah variabel, misalkan: zK
(-18)10 ⇒ (18)10;
zK←DEC(18);
Langkah-2: representasikan zK dalam BIN dengan panjang 16-bit
zK = DEC(18) = xxxx xxxx xxxx xxxx;
= 0000 0000 0001 0010
Langkah-3: komplemenkan BIN tersebut
0000 0000 0001 0010 ⇒ 1111 1111 1110 1101
Langkah-4: hasil komplemen tersebut tambah-kan dengan (1)2;
1111 1111 1110 1101
0000 0000 0000 0001 +
1111 1111 1110 1110
maka, DEC(-18) = (1111 1111 1110 1110)2;
Pembuktian: misalkan, DEC(-18) + DEC(20) = DEC( ... ); harus sama dengan: (0010)2;
DEC(-18) = 1111 1111 1110 1110
DEC(20) = 0000 0000 0001 0100 +
DEC(2) ← 10000 0000 0000 0010
terbukti!
5. 5 | H a l
4. Nyatakan nilai DEC dari sebuah bit, 1111 1111 0101 1000 dengan Algoritma Matematika
Informasi.
Solusi:
Algoritma Matematika Informasi transformasi bilangan BIN negatip dalam DEC:
Misalkan tampungkan BIN tersebut ke sebuah variabel, misalkan: zT
Langkah-1: komplemen-kan zT tersebut
1111 1111 0101 1000 ⇒ 0000 0000 1010 0111
Langkah-2: tambah-kan BIN tersebut dengan (1)2;
0000 0000 1010 0111
0000 0000 0000 0001 +
0000 0000 1010 1000
zT ←0000 0000 1010 1000;
Langkah-3: nyatakan zT tersebut dalam DEC
zT = 0000 0000 1010 1000 = DEC( ... );
= 128 + 32 + 8
= DEC(168);
Langkah-4: kali-kan DEC tersebut dengan (-1)10;
DEC(168) ∗ DEC(-1) = DEC(-168);
maka, (1111 1111 0101 1000)2 = DEC(-168);
Pembuktian: misalkan, DEC(-168) + DEC(170) = DEC( ... ); harus sama dengan: (0010)2;
DEC(-168) = 1111 1111 0101 1000
DEC(170) = 0000 0000 1010 1010 +
DEC(2) ← 10000 0000 0000 0010
terbukti!
5. Jika bilangan DEC(19) ditampungkan ke var: B1, maka selesaikanlah persoalan berikut ini:
a) Tuliskan Algoritma Matematika Informasi untuk menentukan isi terbaru (termutahir)
var: B1 untuk statement berikut: B1←(~B1);
Solusi:
Algoritma Matematika Informasi untuk transformasi nilai komplemen sebuah DEC:
Tampungkan DEC ke sebuah var: B1
Langkah-1: transformasikan DEC dalam BIN dengan panjang 16-bit
B1 = DEC(19) = xxxx xxxx xxxx xxxx;
= 0000 0000 0001 0011
Langkah-2: tambah-kan B1 dengan (1)2;
0000 0000 0001 0011
0000 0000 0000 0001 +
0000 0000 0001 0100
B1 ←0000 0000 0001 0100;
Langkah-3: komplemen-kan B1 tersebut
0000 0000 0001 0100 ⇒ 1111 1111 1110 1011
Langkah-4: hasil komplemen tersebut tambah-kan dengan (1)2;
6. 6 | H a l
1111 1111 1110 1011
0000 0000 0000 0001 +
1111 1111 1110 1100
Langkah-5: nyatakan BIN tersebut dalam DEC
B1←1111 1111 1110 1100;
i. komplemen-kan B1
1111 1111 1110 1100 ⇒ 0000 0000 0001 0011
ii. tambah-kan BIN tersebut dengan (1)2;
0000 0000 0001 0011
0000 0000 0000 0001 +
0000 0000 0001 0100
B1 ←0000 0000 0001 0100;
iii. nyatakan BIN tersebut dalam DEC
B1 = 0000 0000 0001 0100 = DEC( ... );
= 16 + 4
= DEC(20);
iv. kali-kan dengan (1)10;
DEC(20) ∗ DEC(-1) = DEC(-20);
v. maka, didapatkan bahwa:
1111 1111 1110 1100= DEC(-20);
Dengan demikian, nilai termutahir (terbaru) B1 adalah DEC(-20);
b) Tuliskan algoritma dan pemrograman C++ untuk persoalan ini.
Solusi:
Konstruksi-algoritma
B1←DEC(19);
B1←(~B1);
tampilkan B1;
#include<iostream.h>
void main()
{
int B1=19;
B1=(~B1);
cout << B1;
}
Tampilan jalannya program