alpro i-latihan_kasus-r11102015

34
Latihan & Kasus Ir. Sihar, MT. T. Informatika – Fak. Teknik Bandung – 2015 Algoritma dan Pemrograman – I (4 sks)

Upload: staffpengajar

Post on 08-Jan-2017

67 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Alpro I-latihan_kasus-r11102015

Latihan & Kasus

Ir. Sihar, MT.

T. Informatika – Fak. Teknik

Bandung – 2015

Algoritma dan Pemrograman – I (4 sks)

Page 2: Alpro I-latihan_kasus-r11102015

Daftar Pustaka

1) Davis, S. R. (2004). C++ for Dummies-5th Edition. Wiley Publishing.

2) Sedgewick, R. (2003). Algorithms-third edition. Addison-Wesley.

3) Shaffer, C. A. (2009). A Practical Introduction to Data Structuresand Algorithm Analysis. Department of Computer Science, VirginiaTech.

4) Simamora, S.N.M.P. (2002). "Diktat SK-100 Dasar Komputer danPemrograman". Dept. Sistem Komputer, Fak. Teknik. ITHB.Bandung.

5) Simamora, S.N.M.P. (2011). "Diktat Kuliah TIF301 Algoritma danPemrograman-1". Program studi Teknik Informatika. Univ. BALE.Bandung.

6) Simamora, S.N.M.P. (2013). "Diktat Kuliah Algoritma danPemrograman-I". Program studi Teknik Informatika. UTAMA.Bandung.

7) Skiena, S. S. (1998). The Algorithm Design Manual. SpringerVerlag, New York.

Page 3: Alpro I-latihan_kasus-r11102015

Sebuah variabel, zK, adalah input-value by end-user diproses dengan statement

berikut: x1←2*zK;

Tuliskan algoritma dan pemrograman C++ untuk mendapatkan isi zK jika

menggunakan unary-method pada expression tersebut. Tunjukkan tampilan

jalannya program.

Kasus:

Solusi: Agar expression dapat ditransformasikan dalam bentuk unary-method, maka:

statement tersebut harus menggunakan variabel yang sama yakni zK; mengapa zK,

oleh sebab pada soal diminta isi zK. Dengan demikian, expression 2∗zK diubah

posisi menjadi: zK∗2; dan statement tersebut dapat ditulis-ulang kembali menjadi:

zK←zK∗2; ⇒ zK∗= 2; dan zK←input-value by end-user

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 4: Alpro I-latihan_kasus-r11102015

Kasus: Tuliskan algoritma dan pemrograman C++, jika variabel Y1 diisikan DEC(-2) dan isi

variabel x adalah 2 kali isi Y1 untuk statement berikut: z2←x+Y1;

Tunjukkan tampilan jalannya program.

Solusi: Konstruksi-algoritma: Y1←DEC(-2);

x←2∗Y1;

z2←x+Y1;

Algoritma Pseudocode:

deklarasi var: Y1,x,z2 ∈ Float;

Y1←DEC(-2);

x←2∗Y1;

z2←x+Y1;

tampilkan z2;

Oleh sebab dalam kasus tidak ada

spesifik penggunaan bilangan

bulat atau pecahan, maka tipe-

data yang digunakan boleh int

atau float. Dalam penyelesaian

ini digunakan float dengan

alasan, tipe-data ini telah

merepresentasikan juga bilangan

bulat (int).

Algoritma dan pemrograman C++:

Tampilan jalannya program:

Alternatif-1: Alternatif-2:

Page 5: Alpro I-latihan_kasus-r11102015

Sebuah variabel, x1 dan x1∈Bil.Pecahan, adalah input-value by end-user diproses

dengan statement berikut: x1←9+zK;

Tuliskan algoritma dan pemrograman C++ untuk mendapatkan isi x1 jika

menggunakan unary-method pada expression tersebut. Tunjukkan tampilan

jalannya program.

Kasus:

Solusi: Agar expression dapat ditransformasikan dalam bentuk unary-method, maka:

statement tersebut harus menggunakan variabel yang sama yakni x1; mengapa x1,

oleh sebab pada soal diminta isi x1. Dengan demikian, expression 9+x1 diubah

posisi menjadi: x1+9; dan statement tersebut dapat ditulis-ulang kembali menjadi:

x1←x1+9; ⇒ x1+=9; dan x1←input-value by end-user

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 6: Alpro I-latihan_kasus-r11102015

Kasus: Sebuah variabel, t1, dikalikan dengan DEC(-7), hasilnya dikurangkan kembali dengan

nilai awal, DEC(-7), dan ditampungkan kembali ke t1. Tuliskan algoritma dan

pemrograman C++ untuk mendapatkan berapa isi t1 terakhir (ter-update) jika t1

sebelumnya didapatkan dari input-value by end-user. Tunjukkan tampilan jalannya

program.

Solusi: Konstruksi-algoritma: t1←?;

t1←t1∗DEC(-7);

t1←t1−DEC(-7);

tampilkan t1;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Digunakannya tipe-data float untuk

menghindari hasil bersifat ambigue jika t1 di-

input-kan dalam bilangan pecahan

Page 7: Alpro I-latihan_kasus-r11102015

Kasus: Apabila diisikan DEC(125) ke variabel y, lalu di-MOD-kan dengan DEC(-2); lalu di-

MUL-kan dengan DEC(225); hasilnya di-ADD-kan dengan DEC(2). Tuliskan algoritma

pseudocode dan C++ beserta dengan tampilan jalannya program. Khusus untuk

algoritma dan pemrograman C++ gunakan unary-method pada expression untuk

statement yang dituliskan.

Solusi: Konstruksi-algoritma: y←DEC(125);

y←y%DEC(-2);

y←y∗DEC(225);

y←y+DEC(2);

tampilkan y;

MOD: modulo

MUL: multiply

ADD: add/sum

deklarasi var: y ∈ Int;

y←125;

y←y%-2;

y←y∗225;

y←y+2;

tampilkan y;

Algoritma Pseudocode: Algoritma dan pemrograman C++:

Tampilan jalannya program:

⇒ y=DEC(125);

⇒ y=DEC(1);

⇒ y=DEC(225);

⇒ y=DEC(227);

⇒tampilkan y=DEC(227);

Page 8: Alpro I-latihan_kasus-r11102015

Kasus: Berapakah nilai D, jika: D←A%B; untuk nilai A dan B berikut ini:

A←DEC(-27); B←DEC(2);

-27÷2 = -13 sisa -1, maka:

-27%2 = -1;

Algoritma dan pemrograman C++: Tampilan jalannya program:

A←DEC(28); B←DEC(-12);

28 ÷ -12 = -2 sisa 4, maka:

28 % -12 = 4;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Berlaku Hukum Komutatif:

X + Z = Z + X

X ∗ Z = Z ∗ X

Page 9: Alpro I-latihan_kasus-r11102015

Kasus: Berapakah nilai D, jika: D←A%B; untuk nilai A dan B berikut ini:

A←DEC(27); B←DEC(-2);

27 ÷ -2 = -13 sisa 1, maka:

27 % -2 = 1;

Algoritma dan pemrograman C++: Tampilan jalannya program:

A←DEC(-65); B←DEC(7);

-65÷7 = -9 sisa -2, maka:

-27%7 = -2;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Tidak berlaku Hukum Komutatif:

X − Z ≠ Z − X

X ÷ Z ≠ Z ÷ X

Page 10: Alpro I-latihan_kasus-r11102015

Kasus: Nilai awal DEC(1.5) ditampungkan ke sebuah variabel, p1, dikalikan dengan DEC(-7),

lalu ditambahkan dengan DEC(-7); hasilnya dikurangkan kembali dengan nilai awal

dan ditampungkan kembali ke p1. Tuliskan algoritma dan pemrograman C++ untuk

mendapatkan berapa isi p1 terakhir (ter-update) jika pada expression digunakan

unary-method pada statement yang dituliskan.

Solusi: Algoritma Pseudocode:

deklarasi var: p1 ∈ Float;

p1←DEC(1.5);

p1←p1∗DEC(-7);

p1←p1+DEC(-7);

p1←p1−DEC(1.5);

tampilkan p1;

Algoritma dan pemrograman C++: Tampilan jalannya program:

⇒ p1=DEC(1.5);

⇒ p1=DEC(-10.5);

⇒ p1=DEC(-17.5);

⇒ p1=DEC(-19);

⇒ tampilkan DEC(-19);

Page 11: Alpro I-latihan_kasus-r11102015

Kasus: Apabila diisikan DEC(125) ke variabel y, lalu di-DIV-kan dengan DEC(-2); lalu di-MUL-

kan dengan DEC(225); hasilnya di-SUB-kan dengan DEC(2). Tuliskan algoritma

pseudocode dan C++ beserta dengan tampilan jalannya program. Khusus untuk

algoritma dan pemrograman C++ gunakan unary-method pada expression untuk

statement yang dituliskan.

Solusi: Algoritma Pseudocode:

deklarasi var: y ∈ Float;

y←DEC(125);

y←y/DEC(-2);

y←y∗DEC(225);

y←y−DEC(2);

tampilkan y;

Algoritma dan pemrograman C++: Tampilan jalannya program:

⇒ y=DEC(125);

⇒ y=DEC(-62.5);

⇒ y=DEC(-14062.5);

⇒ y=DEC(-14064.5);

⇒ tampilkan DEC(- 14064.5);

DIV: divide

MUL: multiply

SUB: substraction

Page 12: Alpro I-latihan_kasus-r11102015

Kasus: Jika diketahui sebuah algoritma pseudocode berikut ini:

deklarasi var: x,G,t∈ Bil.Pecahan;

x←DEC(1.5);

t←?;

masukkan t;

G←2÷(x+(t/2);

tampilkan G;

Tuliskan algoritma dan pemrograman C++ untuk mendapatkan G, sertakan dengan

tampilan jalannya program.Solusi:

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 13: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Jika diketahui sebuah statement berikut ini: zL←A∗4; jika diasumsikan variabel A

diisikan DEC(3), selesaikan persoalan berikut ini:

a). Tuliskan algoritma dan pemrograman C++ untuk mendapatkan zL jika operator

yang digunakan ADD. b). Tuliskan algoritma dan pemroograman C++ seperti pada a)

namun expression digunakan unary-method.

a). Konstruksi-algoritma:

A*4 = A+A+A+A;

sehingga : zL← A+A+A+A;

Algoritma dan pemrograman C++:

Tampilan jalannya program:

b). Konstruksi-algoritma:

zL← A+A+A+A;

Ubah expression dalam unary-method, maka

gunakan 1-variabel yang sama; misalkan: zL

sehingga : zL← zL+zL+zL+zL;

Statement menjadi:

Algoritma dan pemrograman C++:

zL+=zL;

zL+=zL;

Page 14: Alpro I-latihan_kasus-r11102015

Untuk mentransformasikan operator

MUL⇒ ADD: x+x+x+x+x;

Untuk mentransformasikan sebuah

expression menjadi dalam bentuk

unary-method, maka harus

menggunakan 1-variabel, boleh x atau

z bergantung pada statement.

Kasus: Perhatikan statement berikut: z←x∗5; jika variabel x diisikan DEC(4), tuliskan

algoritma dan pemrograman C++ untuk expression menggunakan unary-method dan

operator ADD. Tunjukkan tampilan jalannya program.

Solusi: Konstruksi-algoritma: x←DEC(4);

z←x+x+x+x+x;

Diubah expression dalam unary-method: misalkan: var: x;

x+=x;

x+=x;

x+=4;

tampilkan x;

Algoritma dan pemrograman C++:

Tampilan jalannya program:

4+4+4+4+4;

8

12

4

16

4

4

20

⇒ DEC(4)+DEC(4);

⇒ DEC(8)+DEC(8);

⇒ DEC(16)+DEC(4);

⇒ tampilkan DEC(20);

x+x+x+x+x;

Page 15: Alpro I-latihan_kasus-r11102015

tidak memenuhi

Kasus: Ubahlah statement berikut dalam expression dengan unary-method:

z←a+a+a+a+a+a+a;

jika variabel a diisikan DEC(5), dengan algoritma dan pemrograman C++; tunjukkan

tampilan jalannya program.Solusi: Konstruksi-algoritma: a←DEC(5);

z←a+a+a+a+a+a+a;

Diubah expression dalam unary-method: misalkan: var: a;

a+=a;

a+=a;

a+=a;

a+=5;

tampilkan z;

⇒ DEC(5)+DEC(5);

⇒ DEC(10)+DEC(10);

⇒ DEC(20)+DEC(20);

⇒ DEC(40)+DEC(5)

⇒ tampilkan DEC(45);

Kesimpulan: expression pada

statement tsb, tidak dapat

ditransformasikan dengan

unary-method.

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 16: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Jika ditetapkan formula: A ÷ B = C sisa D; dalam operator MOD: A%B=D, maka

jelaskanlah bentuk pecahan berikut,

bahwa A adalah identilk dan sama-dengan (4 ∗ 7) + 3;

Buktikan dengan algoritma dan pemrograman C++ dan tunjukkan tampilan jalannya

program.

7

34

7

34Konstruksi-algoritma:

7

31

7

3)74(=

+∗A=31;

B=7;

C=4;

D=3;

sehingga: 31%7 = 3;

Algoritma dan pemrograman C++:

Tampilan jalannya program:

A ÷ B = C sisa D ditransformasikan dalam bentuk pecahan

menjadi:( )

B

DBC

B

DC

+∗=

Page 17: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Jika ditetapkan formula: A ÷ B = C sisa D; dalam operator MOD: A%B=D, maka

jelaskanlah bentuk pecahan berikut,

bahwa A adalah identilk dan sama-dengan (2 ∗ 12) + 1;

Buktikan dengan algoritma dan pemrograman C++ dan tunjukkan tampilan jalannya

program.

12

12

12

12Konstruksi-algoritma:

12

25

12

1)122(=

+∗A=25;

B=12;

C=2;

D=1;

sehingga: 25%12 = 1;

Algoritma dan pemrograman C++:

Tampilan jalannya program:

A ÷ B = C sisa D ditransformasikan dalam bentuk pecahan

menjadi:( )

B

DBC

B

DC

+∗=

Page 18: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Jika ditetapkan formula: A ÷ B = C sisa D; dalam operator MOD: A%B=D, maka

jelaskanlah bentuk pecahan berikut,

bahwa A adalah identilk dan sama-dengan (0 ∗ 14) + 11;

Buktikan dengan algoritma dan pemrograman C++ dan tunjukkan tampilan jalannya

program.

14

11

14

11Konstruksi-algoritma:

14

11

14

11)140(=

+∗A=11;

B=14;

C=0;

D=11;

sehingga: 11%14 = 11;

Algoritma dan pemrograman C++:

Tampilan jalannya program:

A ÷ B = C sisa D ditransformasikan dalam bentuk pecahan

menjadi:( )

B

DBC

B

DC

+∗=

Page 19: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Pada sebuah balok, diketahui panjang=1.5cm, lebar=5.5cm, tinggi=2cm. Tuliskan

algoritma dan pemrograman C++ untuk menghitung volume balok tersebut, dan

tunjukkan tampilan jalannya program.

Konstruksi-algoritma: Volume-balok = panjang∗lebar∗tinggi;

Vb⇒Volume-kubus;

p⇒panjang;

l⇒lebar;

t⇒tinggi;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 20: Alpro I-latihan_kasus-r11102015

Solusi:

Kasus: Tuliskan algoritma dan pemrograman C++ untuk menghitung volume kubus apabila

nilai sisi kubus dalam kelompok bilangan pecahan dan didapatkan dengan metode

input-value by end-user. Tunjukkan tampilan jalannya program.

Konstruksi-algoritma: Volume-kubus = sisi∗ sisi ∗ sisi;

Vk⇒Volume-kubus;

s⇒sisi;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 21: Alpro I-latihan_kasus-r11102015

Kasus: Sebuah variabel, t2, dikalikan dengan DEC(-2), lalu ditambahkan dengan DEC(2);

hasilnya dikurangkan kembali dengan nilai awal, DEC(-2), dan ditampungkan kembali

ke t2. Tuliskan algoritma dan pemrograman C++ untuk mendapatkan berapa isi t2

terakhir (ter-update) jika t2 sebelumnya didapatkan dari input-value by end-user.

Tunjukkan tampilan jalannya program.

Solusi: Konstruksi-algoritma: t2←?;

t2←t2∗DEC(-2);

t2←t2+DEC(2);

t2←t2−DEC(-2);

tampilkan t1;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Digunakannya tipe-data float untuk

menghindari hasil bersifat ambigue jika t2 di-

input-kan dalam bilangan pecahan

Page 22: Alpro I-latihan_kasus-r11102015

Kasus: Jika dinyatakan bahwa (2.1)3 = (2.1)∗(2.1)∗(2.1), maka tuliskan algoritma dan

pemrograman C++ untuk mendapatkan Z, jika diketahui statement berikut:

Z ← Z5 + 5;

dimana, nilai Z didapatkan dari input-value dari end-user dan Z ∈ Bilangan Pecahan.

Sertakan juga dengan algoritma pseudocode.

Tunjukkan tampilan jalannya program.

Solusi: Algoritma Pseudocode: deklarasi var: Z ∈ float;

Z←?;

masukkan Z;

Z5 ← Z ∗ Z ∗ Z ∗ Z ∗ Z;

sehingga: Z← Z ∗ Z ∗ Z ∗ Z ∗ Z + 5;

tampilkan Z;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 23: Alpro I-latihan_kasus-r11102015

Kasus:

Solusi:

Jika diketahui suatu lingkaran dengan jari-jari = r, tuliskan algoritma dan

pemrograman C++ untuk menghitung luas lingkaran jika input-value didapatkan

dengan dua cara yaitu: deklarasi pada program (ditetapkan range: 12 s.d 17 cm), dan

input-value by end-user.

Tunjukkan tampilan jalannya program untuk masing-masing cara tersebut.

Luas lingkaran = π.r2

π = 3.14

Cara deklarasi Cara input-an

range untuk r sebagai input-value: 12 s.d 17 cm

Algoritma dan pemrograman C++:

Tampilan jalannya program:

Algoritma dan pemrograman C++:

Tampilan jalannya program:

Page 24: Alpro I-latihan_kasus-r11102015

Kasus:

Solusi:

Jika diketahui modifikasi pengerjaan operator matematika dengan unary-method

adalah: A=A+15; menjadi A+=15, maka: tuliskan algoritma dan pemrograman C++

untuk statement berikut:

X←X%43;

jika X merupakan hasil deklarasi: X←DEC(15) dan expression ditransformasi dengan

unary-method.

Berapakah nilai X?

Sertakan dengan algoritma pseudocode.

Algoritma Pseudocode: deklarasi var: X ∈ int;

X←15;

X%=43;

tampilkan x;

output: X=15;

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 25: Alpro I-latihan_kasus-r11102015

Kasus:

Solusi:

Jika diketahui suatu algoritma berikut: suatu bilangan ditampungkan ke suatu variabel

zK lalu ditambahkan dengan 5, selanjutnya isi variabel zK tsb dikalikan dengan 1.5 dan

terakhir dikurangkan dengan 10. Jika bilangan tsb adalah kelompok bilangan: 15 s.d 35,

tulislah algoritma dan pemrograman C++ untuk menampilkan isi akhir dari operand-hasil

apabila bilangan tsb hasil deklarasi. Sertakan juga dengan algoritma pseudocode.

Algoritma Pseudocode: deklarasi var: zK ∈ float;

zK←16.4;

zK←zK+5;

zK←zK∗1.5;

zK←zK−10;

tampilkan zK;

range zK: 15 s.d 35

Algoritma dan pemrograman C++: Tampilan jalannya program:

Apabila statement pada expression

ditemukan bilangan pecahan (sebagai

konstanta, K), maka variabel pada

statement tersebut nyatakan dalam

float (pecahan)

Page 26: Alpro I-latihan_kasus-r11102015

Kasus: Tuliskan Algoritma Matematika Informasi untuk mendapatkan z dan buktikan dengan

algoritma dan pemrograman C++, jika diketahui statement berikut:

z ← x•y;

dimana, x←DEC(10) dan y←0x1B;

Tunjukkan tampilan jalannya program.

Solusi: Algoritma Matematika Informasi:

DEC(10) : 001 010

0x1B : 011 011 •

DEC(10) ← 001 010

sehingga, z=DEC(10);

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 27: Alpro I-latihan_kasus-r11102015

Kasus: Tuliskan Algoritma Matematika Informasi untuk mendapatkan a3 dan buktikan

dengan algoritma dan pemrograman C++, jika diketahui statement berikut:

a3 ← a1+a2;

dimana, a1←0210 dan a2←0xc3;

Tunjukkan tampilan jalannya program.

Solusi:

Algoritma dan pemrograman C++: Tampilan jalannya program:

Algoritma Matematika Informasi:

0210 : 1000 1000

0xc3 : 1100 0011 +

DEC(203)←1100 1011

sehingga, a3=DEC(203);

Page 28: Alpro I-latihan_kasus-r11102015

Kasus: Tuliskan Algoritma Matematika Informasi untuk mendapatkan z3 dan buktikan dengan

algoritma dan pemrograman C++, jika diketahui statement berikut:

z3 ← z1⊕z2;

dimana, z1←0xf2 dan z2←0111;

Tunjukkan tampilan jalannya program.

Solusi:

Algoritma dan pemrograman C++: Tampilan jalannya program:

Algoritma Matematika Informasi:

0xf2 : 011 110 010

0111 : 001 001 001 ⊕

DEC(187)←010 111 011

sehingga, z3=DEC(187);

Page 29: Alpro I-latihan_kasus-r11102015

Kasus: Tuliskan algoritma dan pemrograman C++ untuk mendapatkan c, jika diketahui

statement berikut:

c ← a≠b;

dimana, a←DEC(21) dan b←DEC(-91);

Tunjukkan tampilan jalannya program.

Solusi:

Algoritma dan pemrograman C++: Tampilan jalannya program:

jika dituliskan expression: a≠≠≠≠b, dan hasilnya ditampungkan ke c maka nilai c

bernilai TRUE (nilai TRUE direpresentasikan dengan DEC(1)); karena DEC(21)

tidak sama dengan DEC(-91).

Page 30: Alpro I-latihan_kasus-r11102015

Kasus: Sebuah variabel, t2, menampung hasil dari statement: {DEC(42) < 0x2A} • {0110 >

23h} + {(01101)2 ≥ DEC(21)}. Tuliskan konstruksi-algoritma untuk menentukan isi

variabel tersebut, dan buktikan dengan algoritma dan pemrograman C++. Sertakan

dengan tampilan jalannya program.

Solusi: Oleh sebab pada expression terdapat bilangan bukan basis-10 (decimal), maka terlebih

dahulu ditransformasikan ke dalam decimal agar memudahkan melihat hirarki nilai

bilangannya.

0x2A = (2)(16) + (10)(1) = 32+10 = DEC(42)

0110 = (1)(64) + (1)(8) + 0 = 64+8 = DEC(72)

23h = (2)(16) + (3)(1) = 32+3 = DEC(35)

(01101)2 = (1)(8) + (1)(4) + 0 + (1)(1) = DEC(13)

Konstruksi-algoritma:

Nilai FALSE direpresentasikan dengan DEC(0), sehingga t2 berisi nilai DEC(0).

Page 31: Alpro I-latihan_kasus-r11102015

Konstruksi-algoritma:

lanjutan...

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 32: Alpro I-latihan_kasus-r11102015

Kasus: Sebuah variabel z yang berperan sebagai operand-hasil menampung statement:

z ← a1 + a2 • a3; dimana masing-masing isi variabel a1, a2, dan a3 dituliskan berikut

ini:

a1 ← {0x7 ≤ DEC(-12)};

a2 ← {DEC(-12) > DEC(-12)};

a3 ← {DEC(10) ≠ ah};

Tuliskan konstruksi-algoritma untuk menentukan isi z, dan buktikan dengan algoritma

dan pemrograman C++. Sertakan dengan tampilan jalannya program.

Solusi: Dalam menuliskan sebuah algoritma dan pemrograman dapat dilakukan dengan

berbagai cara, dan hal ini dapat diterima dengan alasan sebuah algoritma tersebut

pada dasarnya adalah bersifat unik; namun tetap harus berdasar konstruksi persoalan

yang disajikan. Setiap expression bernilai bukan dalam decimal, terlebih dahulu

ditransformasikan ke dalam decimal.

Konstruksi-algoritma:

a1 ← {0x7 ≤ DEC(-12)};

0x7 = (7)(1) = DEC(7)

sehingga:

a1 ← {DEC(7) ≤ DEC(-12)};

maka nilai a1 bernilai FALSE

a2 ← {DEC(-12) > DEC(-12)};

sehingga:

maka nilai a2 bernilai FALSE

a3 ← {DEC(10) ≠ ah};

ah=0xa= (10)(1) = DEC(10)

sehingga:

a3 ← {DEC(10) ≠ DEC(10)};

maka nilai a3 bernilai FALSE

Page 33: Alpro I-latihan_kasus-r11102015

lanjutan...Dituliskan kembali statement tersebut menjadi:

z ← a1 + a2 • a3;

z ← FALSE + FALSE • FALSE;

z = FALSE;

Nilai FALSE direpresentasikan dengan DEC(0), sehingga z berisi nilai

DEC(0).

Keterangan:

+ : OR

• : AND

FALSE + FALSE

FALSE

Alternatif-1

Algoritma dan pemrograman C++: Tampilan jalannya program:

Page 34: Alpro I-latihan_kasus-r11102015

lanjutan...

Alternatif-2

Algoritma dan pemrograman C++: Tampilan jalannya program: