latihan01 d76 politel_r01122007

10

Click here to load reader

Upload: staffpengajar

Post on 28-Jan-2018

54 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Latihan01 d76 politel_r01122007

1

TK2042 Antar-muka Pengguna dan Periferal (2 sks) Dosen: Ir. Sihar, M.T. Kelas: Reguler-Peminatan Program studi Teknik Komputer Bandung – 2010 Referensi � Gilmore, C.M. Microprocessors: Principles and Applications. McGraw-Hill. 1995. � Simamora, S.N.M.P. “Diktat CE113 Sistem Komputer”. Program studi T. Komputer.

Politeknik TELKOM. Bandung. 2008. � Simamora, S.N.M.P. “Diktat TIK-2303 Arsitektur & Org. Komputer”. Program studi Teknik

Informatika, FTI. UNAI. Bandung. 2006. web-site kelas: superkelas.wordpress.com Installer TC 3.0 dapat di-download di: http://www.4shared.com/rar/U4Qq5s0xce/TC_online.html

Algoritma Matematika Informasi: Operator PerbandinganOperator PerbandinganOperator PerbandinganOperator Perbandingan

Klasifikasi Operator Perbandingan dalam matematika dasar adalah: lebih-besar (>), lebih-kecil

(<), sama-dengan (=), tidak sama-dengan (≠), lebih-besar atau sama-dengan (≥), lebih-kecil atau

sama-dengan (≤). Dan berikut notasi dalam algoritma dan pemrograman secara umum untuk operator perbandingan tersebut:

Notasi Matematika Notasi Algoritma dan Pemrograman (secara umum)

> > < <

= == ≠ !=

≤ <= ≥ >=

Latihan dan Kasus

1. Perhatikan konstruksi-algoritma berikut ini:

zT←(0xA7 ≥ DEC(54));

Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: zT. Solusi: Algoritma Matematika Informasi: Asumsikan data-numerik untuk masing-masing 0xA7 dan DEC(54) ditampungkan ke var: z1, dan z2;

z1←0xA7;

z2←DEC(54);

Page 2: Latihan01 d76 politel_r01122007

2

Oleh sebab itu, transformasi masing-masing z1 dan z2 dalam DEC, sebagai berikut: 0xA7 = (...)10;

= A.(16)1 + 7.(16)0 = 160 + 7

= (167)10 = DEC(167);

maka, z1=DEC(167); dan z2=DEC(54); apakah z1 ≥ z2 ...? jawab: Benar, atau True, atau bernilai 1.

2. Perhatikan konstruksi-algoritma berikut ini: n3←(DEC(41) ≠ 051) && (025 < DEC(51));

Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: n3. Solusi: Algoritma Matematika Informasi: Asumsikan lakukan hirarki expression sebagai berikut:

n1←025 < DEC(51);

n2←DEC(41) ≠ 051;

n3←n1&&n2; Uji nilai var: n1:

025 = (...)10;

= 2.(8)1 + 5.(8)0 = 16 + 5 = (21)10 = DEC(21);

maka, apakah 025 < DEC(51) ...? jawab: Benar, atau True, atau bernilai 1. Uji nilai var: n2:

051 = (...)10;

= 5.(8)1 + 1.(8)0 = 40 + 1 = (41)10 = DEC(41);

maka, apakah DEC(41) ≠ 051 ...? jawab: Salah, atau False, atau bernilai 0. Uji nilai var: n3:

n3←true && false; n3=false; =0; Isi var: n3 = Salah, atau False, atau bernilai 0.

3. Perhatikan konstruksi-algoritma berikut ini: me←(37H ≤ 037)||(DEC(33)=033); Tuliskan pemrograman C++ untuk menampilkan isi var: me. Solusi: source-code: nmr03.cpp #include<iostream.h>

void main()

{

int me;

me=(0x37<=037)||(33==033);

cout << me;

}

Page 3: Latihan01 d76 politel_r01122007

3

Tampilan jalannya program:

4. Perhatikan konstruksi-algoritma berikut ini:

oT0←(037 ≤ 7eh);

Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: oT0. Solusi: Algoritma Matematika Informasi: Asumsikan data-numerik untuk masing-masing 037 dan 7eh ditampungkan ke var: T1, dan T2;

T1←037;

T2←7eh; Oleh sebab itu, transformasi masing-masing z1 dan z2 dalam DEC, sebagai berikut: 037 = (...)10;

= 3.(8)1 + 7.(8)0 = 24 + 7

= (31)10 = DEC(31);

0x7E = (...)10;

= 7.(16)1 + E.(16)0 = 112 + 14

= (126)10 = DEC(126);

maka, T1=DEC(31); dan T2=DEC(126); apakah T1 ≤ T2 ...? jawab: Benar, atau True, atau bernilai 1.

5. Perhatikan konstruksi-algoritma berikut ini: zC←(DEC(77) > 072)||(075 ≠ DEC(61))&&(31H ≤ DEC(49));

Tuliskan pemrograman C++ untuk menampilkan isi var: zC. Solusi: source-code: nmr05.cpp #include<iostream.h>

void main()

{

int zC;

zC=(77>072)||(075!=61)&&(0x31<=49);

cout << zC;

} Tampilan jalannya program:

6. Perhatikan konstruksi-algoritma berikut ini: pR←(042 ≤ ceh)&&(DEC(29) ≠ 035)||(023 ≥ 13H);

Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: pR. Solusi: Algoritma Matematika Informasi:

Page 4: Latihan01 d76 politel_r01122007

4

Prioritas pengerjaan adalah Op. AND terlebih dahulu selanjutnya Op.OR, maka diselesaikan sebagai berikut (asumsikan expression tersebut ditampungkan ke var: r1):

r1←(042 ≤ ceh)&&(DEC(29 ≠ 035)); Transformasikan terlebih dahulu setiap data-numerik ke DEC:

042 = (...)10;

= 4.(8)1 + 2.(8)0 = 32 + 16 = (48)10 = DEC(48);

ceh = (...)10;

= c.(16)1 + e.(16)0 = 192 + 14 = (206)10 = DEC(206);

Untuk expression (042 ≤ ceh) ... jawab: True (bernilai 1); 035 = (...)10;

= 3.(8)1 + 5.(8)0 = 24 + 5

= (29)10 = DEC(29);

Untuk expression (DEC(29) ≠ 035) ... jawab: False (bernilai 0);

maka, dapat disimpulkan bahwa: r1←True && False; hasilnya=False;

Uji expression: (023 ≥ 13H); 023 = (...)10;

= 2.(8)1 + 3.(8)0 = 16 + 3

= (19)10 = DEC(19);

13H = (...)10;

= 1.(16)1 + 3.(16)0 = 16 + 3

= (19)10 = DEC(19);

maka, disimpulkan bahwa: apakah (023 ≥ 13H) ... jawab: True (bernilai 1)

Sehingga: pR←(False || True); hasilnya adalah True; Isi var: pR = True = 1;

7. Perhatikan konstruksi-algoritma berikut ini: oT0←(037 ≤ 7eh);

Tuliskan pemrograman C++ untuk menampilkan isi var: oT0. Solusi: source-code: nmr07.cpp #include<iostream.h>

void main()

{

int oT0;

oT0=(037<=0x7e);

cout << oT0;

}

Tampilan jalannya program:

Page 5: Latihan01 d76 politel_r01122007

5

8. Perhatikan source-code nmr07.cpp, lakukan modifikasi dengan konstruksi-algoritma berikut: jika oT0 bernilai 1; maka tampilkan “Bernilai True”; selain itu tampilkan “Bernilai False”;

Solusi: source-code: nmr08.cpp #include<iostream.h>

void main()

{

int oT0;

oT0=(037<=0x7e);

if(oT0==1) {

cout << "Bernilai True";

} else {

cout << "Bernilai False";

}

} Tampilan jalannya program:

9. Perhatikan konstruksi-algoritma berikut ini: me←(37H ≤ 037)||(DEC(33)=033); Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: me. Solusi: Algoritma Matematika Informasi: Transformasikan setiap data-numerik yang belum dalam DEC ke DEC, sebagai berikut: 37H = (...)10;

= 3.(16)1 + 7.(16)0 = 48 + 7 = DEC(55) 037 = (...)10;

= 3.(8)1 + 7.(8)0 = 24 + 7 = DEC(31)

033 = (...)10;

= 3.(8)1 + 3.(8)0 = 24 + 3 = DEC(27)

jika dituliskan: apakah 37H≤037 ... jawab: false atau bernilai 0;

jika dituliskan: apakah DEC(33)=033 ... jawab: false atau bernilai 0;

dan ditetapkan: me←false||false; maka, isi var: me = false = 0;

10. Perhatikan konstruksi-algoritma berikut ini: pR←(042 ≤ ceh)&&(DEC(29) ≠ 035)||(023 ≥ 13H);

Tuliskan pemrograman C++ untuk menampilkan isi var: pR. Solusi: source-code: nmr10d.cpp #include<iostream.h>

void main()

Page 6: Latihan01 d76 politel_r01122007

6

{

int pR;

pR=(042<=0xce)&&(29!=035)||(023>=0x13);

cout << pR;

} Tampilan jalannya program:

11. Perhatikan konstruksi-algoritma berikut ini:

n3←(DEC(41) ≠ 051) && (025 < DEC(51));

Tuliskan pemrograman C++ untuk menampilkan isi var: n3. Solusi: source-code: nmr11a.cpp #include<iostream.h>

void main()

{

int n3;

n3=(41!=051)&&(025<51);

cout << n3;

} Tampilan jalannya program:

12. Perhatikan konstruksi-algoritma berikut ini: meme←(a9H ≠ 0251)&&(b7h > 077)||(DEC(27) ≤ 033); Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: meme. Solusi: Algoritma Matematika Informasi: Transformasikan setiap data-numerik yang belum dalam DEC ke DEC, sebagai berikut: a9H = (...)10;

= a.(16)1 + 9.(16)0 = 160 + 9 = DEC(169) 0251 = (...)10;

= 2.(8)2 + 5.(8)1 + 1.(8)0 = 128 + 40 + 1 = DEC(169) b7h = (...)10;

= b.(16)1 + 7.(16)0 = 176 + 7 = DEC(183)

077 = (...)10;

= 7.(8)1 + 7.(8)0 = 56 + 7 = DEC(63)

Page 7: Latihan01 d76 politel_r01122007

7

033 = (...)10;

= 3.(8)1 + 3.(8)0 = 24 + 3 = DEC(27)

Uji expression (a9H ≠ 0251) ... jawab: False;

Uji expression (b7h > 077) ... jawab: True;

Uji expression (DEC(27) ≤ 033) ... jawab: True; Prioritas Op. AND terlebih dahulu dieksekusi selanjutnya Op. OR, maka diselesaikan sebagai berikut:

maka, isi var: meme = True = 1;

13. Perhatikan konstruksi-algoritma berikut ini: qT←(a5h ≥ DEC(56));

Tuliskan pemrograman C++ untuk menampilkan isi var: qT. Solusi: source-code: nmr13a.cpp #include<iostream.h>

void main()

{

int qT;

qT=(0xa5>=56);

cout << qT;

} Tampilan jalannya program:

14. Perhatikan konstruksi-algoritma berikut ini:

ze←(DEC(27) > 027)||(7ch ≠ 0x7c)&&(67H ≤ 036); Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: ze. Solusi: Algoritma Matematika Informasi: Transformasikan setiap data-numerik yang belum dalam DEC ke DEC, sebagai berikut:

027 = (...)10;

= 2.(8)1 + 7.(8)0 = 16 + 7 = DEC(23)

67H = (...)10;

= 6.(16)1 + 7.(16)0 = 96 + 7

Page 8: Latihan01 d76 politel_r01122007

8

= DEC(103) 036 = (...)10;

= 3.(8)1 + 6.(8)0 = 24 + 6 = DEC(30)

Uji expression (DEC(27) > 027) ... jawab: True;

Uji expression (7ch ≠ 0x7c) ... jawab: False;

Uji expression (67H ≤ 036) ... jawab: False; Prioritas Op. AND terlebih dahulu dieksekusi selanjutnya Op. OR, maka diselesaikan sebagai berikut:

maka, isi var: ze = True = 1;

15. Perhatikan konstruksi-algoritma berikut ini: hsl←(0101 ≤ dah)&&(DEC(98) ≠ 0x79)||(056 ≤ 033)&&(031 > DEC(27)); Tuliskan pemrograman C++ untuk menampilkan isi var: hsl. Solusi: Oleh sebab hasil dari operasi perbandingan dalam kondisi bilangan positip (hasil Benar/True

atau Salah/False yang direpresentasikan dalam masing-masing data-numerik 1 dan 0), maka lebih disarankan menggunakan tipe-data unsigned-int. Alasannya bahwa tipe-data ini dalam range atau jangkauan datanya tidak mengenal bilangan negatip, karena dimulai dari Bilangan 0. source-code: nmr15a.cpp #include<iostream.h>

void main()

{

unsigned int hsl;

hsl=(0101<=0xda)&&(98!=0x79)||(056<=033)&&(031>27);

cout << hsl;

} Tampilan jalannya program:

16. Perhatikan konstruksi-algoritma berikut ini: uL←(DEC(19) < 0101)&&(0x91 ≠ 91h)||(027 ≤ 33H); Tuliskan pemrograman C++ untuk menampilkan isi var: uL. Solusi: source-code: nmr16a.cpp #include<iostream.h>

void main()

{

Page 9: Latihan01 d76 politel_r01122007

9

unsigned int uL;

uL=(19<0101)&&(0x91!=0x91)||(027<=0x33);

cout << uL;

} Tampilan jalannya program:

17. Perhatikan konstruksi-algoritma berikut ini: cR←(0101 ≤ dah)&&(DEC(98) ≠ 0x79)||(056 ≤ 033)&&(031 > DEC(27)); Tuliskan Algoritma Matematika Informasi untuk menampilkan isi var: cR. Solusi: Untuk data-numerik: 0101, teridentifikasi dalam Basis Bilangan 8 (OCT) oleh sebab kodefikasi bilangan 0 di depan data-numerik. Dan untuk membedakannya dengan data-numerik Basis

Bilangan 2 (BIN), maka pada soal ditegaskan dengan penulisan: (...)2; Algoritma Matematika Informasi: Transformasikan setiap data-numerik yang belum dalam DEC ke DEC, sebagai berikut:

0101 = (...)10;

= 1.(8)2 + 0.(8)1 + 1.(8)0 = 64 + 0 + 1 = DEC(65)

dah = (...)10;

= 13.(16)1 + 10.(16)0 = 208 + 10 = DEC(218) 0x79 = (...)10;

= 7.(16)1 + 9.(16)0 = 112 + 9 = DEC(121) 056 = (...)10;

= 5.(8)1 + 6.(8)0 = 40 + 6 = DEC(46)

033 = (...)10;

= 3.(8)1 + 3.(8)0 = 24 + 3 = DEC(27)

031 = (...)10;

= 3.(8)1 + 1.(8)0 = 24 + 1 = DEC(25) Uji expression (0101 ≤ dah) ... jawab: True; Uji expression (DEC(98) ≠ 0x79) ... jawab: True; Uji expression (056 ≤ 033) ... jawab: False; Uji expression (031 > DEC(27)) ... jawab: False; Prioritas Op. AND terlebih dahulu dieksekusi selanjutnya Op. OR; namun oleh sebab ada dua Op.AND di posisi kanan dan kiri maka digunakan prinsip utama pengerjaan bahwa operasi eksekusi dijalankan dari kanan ke kiri (merujuk arah anak-panah Op. Assignment). Maka diselesaikan sebagai berikut:

Page 10: Latihan01 d76 politel_r01122007

10

maka, isi var: cR = True = 1;

18. Perhatikan konstruksi-algoritma berikut ini: meme←(a9H ≠ 0251)&&(b7h > 077)||(DEC(27) ≤ 033); Tuliskan pemrograman C++ untuk menampilkan isi var: meme. Solusi: source-code: nmr18z.cpp #include<iostream.h>

void main()

{

int meme;

meme=(0xa9!=0251)&&(0xb7>077)||(27<=033);

cout << meme;

} Tampilan jalannya program:

19. Perhatikan konstruksi-algoritma berikut ini: iM←(DEC(23) ≠ 023)&&((101)2 > 043)||(0x72 < 073)&&(c13h = 0171); Tuliskan pemrograman VBScript untuk menampilkan isi var: iM. Solusi: source-code: nmr19.htm <script language=VBScript>

im=(23 <> &o23) AND (5 > &o43) OR (&h72 < &o73) AND (&hc13 = &o171)

document.write(im)

</script>

Tampilan jalannya program:

20. Perhatikan konstruksi-algoritma berikut ini:

IM←(065 ≠ 65H)&&(7CH > 037)||(a3h ≥ 033) ||(110)2 ≤ 033); Tuliskan pemrograman JavaScript untuk menampilkan isi var: IM. Solusi: source-code: nmr20.htm <script language=JavaScript>

IM=(065!=0x65)&&(0x7c>037)||(0xa3>=033)&&(6<=033);

document.write("Hasil: ",IM)

</script>

Tampilan jalannya program: