algoritma dan matematika_tif305_reg-sns
TRANSCRIPT
![Page 1: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/1.jpg)
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.
![Page 2: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/2.jpg)
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;
![Page 3: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/3.jpg)
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;
![Page 4: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/4.jpg)
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!
![Page 5: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/5.jpg)
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;
![Page 6: Algoritma dan Matematika_tif305_reg-sns](https://reader036.vdocument.in/reader036/viewer/2022081815/5872403d1a28ab102f8b76a3/html5/thumbnails/6.jpg)
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