latihan01 d76 politel_r01122007
TRANSCRIPT
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);
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;
}
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:
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:
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()
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)
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
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()
{
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:
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: