materi 5. test kondisi

25
TEST KONDISI Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas

Upload: melva-amma-kalian

Post on 07-Dec-2014

636 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Materi 5. test kondisi

TEST KONDISI

Algoritma Pemrograman

Drs. Lamhot Sitorus, M.KomFakultas Ilmu Komputer

Universitas Katolik Santo Thomas

Page 2: Materi 5. test kondisi

2

Pengantar

• Test Kondisi atau Seleksi• Konstruktor terpenting dalam algoritma membuat

teks yang sama dapat menghasilkan eksekusi yang berbeda-beda.

• Mendefinisikan Test Kondisi adalah mendefinisikan :o Kondisi, yang berupa suatu ekspresi boolean yang

menghasilkan true atau falseo Aksi, yang akan dilaksanakan jika kondisi yang

dipasangkan dengan aksi yang bersangkutan dipenuhi

Page 3: Materi 5. test kondisi

3

Notasi

ALGORITMADepend on (Nama-Nama)

<kondisi-1> : <aksi-1><kondisi-2> : <aksi-2><kondisi-3> : <aksi-3>....<kondisi-n> : <aksi-n>

Page 4: Materi 5. test kondisi

4

Notasi

• Dengan syarat :o Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n

domain harganya [true, false]o Kondisi-1 kondisi-2 kondisi-3 ... kondisi-n = o Kondisi-1 kondisi-2 kondisi-3 ... kondisi-n

mencakup semua kemungkinano Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n adalah

ekspresi boolean / logika yang mengandung nama-nama sebagai operand

Page 5: Materi 5. test kondisi

5

Notasi

• Contoh - 1. Dibaca dua buah harga a dan b, a mungkin sama dengan b. Harus dituliskan harga yang lebih besar. Eksekusi akan menghasilkan dua kemungkinan menuliskan a jika a b, atau menuliskan b jika b > a. Tidak mungkin keduanya.• Spesifikasi :

• Input : a dan b integer• Proses : menuliskan harga yang lebih besar• Output : a atau b

Page 6: Materi 5. test kondisi

6

Notasi

Algoritma Terbesar {diberikan a dan b, menuliskan a jika ab atau menuliskan b jika b>a}Kamusa, b : integerAlgoritmaInput(a, b)Depend On (a,b)

ab : Output(a)b>a : Output(b)

Page 7: Materi 5. test kondisi

7

Notasi Algoritmik Satu Kasus

IF (kondisi) THEN AksiEnd-IF

BS

Page 8: Materi 5. test kondisi

8

Notasi Algoritmik Dua Kasus

IF (kondisi) THEN Aksi-1Else Aksi-2End-IF

B

S

Page 9: Materi 5. test kondisi

9

Notasi Algoritmik Dua Kasus

• Contoh - 2. Dibaca dua buah harga a dan b, a mungkin sama dengan b. Harus dituliskan harga yang lebih besar. Eksekusi akan menghasilkan dua kemungkinan menuliskan a jika a b, atau menuliskan b jika b > a. Tidak mungkin keduanya.• Spesifikasi :

o Input : a dan b integeroProses : menuliskan harga yang lebih

besaroOutput : a atau b

Page 10: Materi 5. test kondisi

10

Notasi Algoritmik Dua Kasus

Algoritma Terbesar {diberikan a dan b, menuliskan a jika ab atau

menuliskan b jika b>a}Kamus a, b : integerAlgoritma Input(a, b) IF (a b) THEN Output(a) Else Output(b)

Page 11: Materi 5. test kondisi

11

Notasi Algoritmik Multi KasusIF (kondisi-1) THENAksi-1

Else IF (kondisi-2) THENAksi-2

Else IF (kondisi-3) THENAksi-3

.....Else IF (kondisi-n) THEN

Aksi-nElse

Aksi-mEnd-IF

Page 12: Materi 5. test kondisi

12

Notasi Algoritmik Multi Kasus

• Contoh 3. Dibaca sebuah harga berupa bilangan bulat, yang mewakili pengukursan suhu air (dalam oC) pada tekanan atmosfir, harus dituliskan wujud air pada temperatur dan tekanan itu.• Spesifikasi :o Input: T (integer)o Proses : menuliskan wujud air sesuai dengan harga To Output :

‘Beku’ Jika T 0 ‘Cair’ jika 0 < T 100 ‘Uap’ jika T > 100

Page 13: Materi 5. test kondisi

13

Notasi Algoritmik Multi KasusAlgoritma Wujud_Air {Diabaca T (integer) temperatur air dalam oC pada tekanan atmosfir Harus dituliskan wujud air pada temperatur T}Kamus T : IntegerAlgoritma

Input(T)IF (T 0) THEN Output(‘Beku’)Else IF (T>0 AND T 0) THEN Output(‘Cair’)Else Output(‘Uap’)

Page 14: Materi 5. test kondisi

14

Notasi Algoritmik Test Kondisi Bersarang

• Artinya adalah suatu Test kondisi ada di dalam suatu test kondisi yang lain

• Kondisi yang ada didalam dianggap sebagai aksi

Page 15: Materi 5. test kondisi

15

Notasi Algoritmik Test Kondisi BersarangIF (kondisi-1) THEN

[Aksi-1a]IF (kondisi-11) THENAksi-11

ELSEAksi-12

End-IF-a[Aksi-1b]Else[Aksi-2a]IF (kondisi-21) THEN

Aksi-21ELSE

Aksi-22End-IF-b[Aksi-2b]End-IF

[Aksi]

IF (kondisi-11) THEN

Aksi-11

ELSE

Aksi-12

End-IF

[Aksi]

Page 16: Materi 5. test kondisi

16

Notasi Algoritmik Test Kondisi Bersarang

• Contoh-4. Dibaca 3 buah bilangan bulat a, b dan c. Harus dituliskan secara terurut mulai dari terkecil sampai dengan terbesar. Ketiga bilangan yang dibaca selalu berlainan harganya (abc).– Spesifikasi : Input : a, b, c integer Proses : Menuliskan harga yang dibaca mulai dari yang terkecil s/d

yang terbesar Output : a,b,c jika a<b dan b<c

o a,c,b jika a<c dan c<bo b,a,c jika b<a dan a<co b,c,a jika b<c dan c<ao c,a,b jika c<a dan a<bo c,b,a jika c<b dan b<a

Page 17: Materi 5. test kondisi

17

Notasi Algoritmik Test Kondisi Bersarang

Algoritma urut_1 {dibaca 3 harga a,b dan c, a b c} {harus ditulis mulai dari terkecil hingga terbesar}Kamus a, b, c : integerAlgoritma

Input(a, b, c)Depend On (a, b, c)

a<b<c : output (a,b,c)a<c<b : output (a,c,b)b<a<c : output (b,a,c)b<c<a : output (b,c,a)c<a<b : output (c,a,b)c<b<a : output (c,b,a)

Page 18: Materi 5. test kondisi

18

Notasi Algoritmik Test Kondisi Bersarang

Algoritma urut_2 {dibaca 3 harga a,b dan c, a b c} {harus ditulis mulai dari terkecil hingga terbesar}Kamus a, b, c : integerAlgoritma

Input(a, b, c)IF (a b AND a c AND b c) THEN

Depend On (a, b)a<b<c : output (a,b,c)a<c<b : output (a,c,b)b<a<c : output (b,a,c)b<c<a : output (b,c,a)c<a<b : output (c,a,b)c<b<a : output (c,b,a)

ELSEOutput(‘Data Salah Spesifikasi...’)

Page 19: Materi 5. test kondisi

19

Notasi Algoritmik Test Kondisi BersarangAlgoritma urut_3 {dibaca 3 harga a,b dan c, a b c} {harus ditulis mulai dari terkecil hingga terbesar}Kamus a, b, c : integerAlgoritma

INPUT(a, b, c)IF (a<b) THEN IF (b<c) THEN OUTPUT(a,b,c) ELSE IF (a<c) THEN OUTPUT(a,c,b) ELSE OUTPUT(c,a,b) End-IFELSE IF (a<c) THEN OUTPUT(b,a,c) ELSE IF (b<c) THEN OUTPUT(b,c,a) ELSE OUTPUT(c,b,a) End-IfEnd-If

Page 20: Materi 5. test kondisi

20

Soal Latihan

• Sebuah toko foto copy dalam menyambut HUT Kemerdekaan RI ke 66 memberikan potongan harga setiap pelanggan. Potongan yang diberikan tergantung pada jumlah foto copy yang dilakukan oleh pelanggan, yaitu Jika jumlah foto copy 50 diberikan potongan sebesar 5% dari jumlah harga. Tetapi Jika jumlah foto lebih dari 50 lembar diberikan potongan sebesar 7,5%.Buatlah algoritma untuk menghitung jumlah yang harus dibayar oleh pelanggan jika harga satu lembar foto copy Rp. 113,-

Page 21: Materi 5. test kondisi

21

Soal Latihan

• Sebuah toko foto copy dalam menyambut HUT Kemerdekaan RI ke 66 memberikan potongan harga setiap pelanggan. Potongan yang diberikan tergantung pada jumlah foto copy yang dilakukan oleh pelanggan, yaitu Jika jumlah foto copy 50 diberikan potongan sebesar 2,5%. Jika jumlah foto copy 100 diberikan potongan sebesar 5%. Jika jumlah foto copy 250 diberikan potongan sebesar 7,5% dan jika lebih maka diberikan potongan 12%. Buatlah algoritma untuk menghitung jumlah yang harus dibayar oleh pelanggan jika harga satu lembar foto copy Rp. 113,-

Page 22: Materi 5. test kondisi

22

Soal Latihan

• Sama dengan soal 1 di atas. Jika pelangan dibedakan atas dua jenis, yaitu Pelanggan “Tetap” dan “Tidak Tetap”. Jika jenis pelanggan adalah Tetap maka potongan diberlakukan seperti pada soal 1 di atas, tetapi jika jenis pelanggan Tidak Tetap maka potongan hanya diberikan sebesar 2% berapapun jumlah lembar foto copyannya

Page 23: Materi 5. test kondisi

23

Soal Latihan• Sebuah toko foto copy dalam menyambut HUT Kemerdekaan RI ke

66 memberikan potongan harga setiap pelanggan. Potongan yang diberikan tergantung pada jumlah foto copy yang dilakukan oleh pelanggan, yaitu Jika jumlah foto copy 50 diberikan potongan sebesar 2,5%. Jika jumlah foto copy 100 diberikan untuk 50 pertama diberi potongan 2,5% dan sisanya diberi potongan sebesar 5%. Jika jumlah foto copy 250 maka 100 lembar pertama diberikan potongan sebesar 5% dan sisanya diberikan potongan sebesar sebesar 7,5%. Jika lebih maka 100 pertama diberi potongan 5%, 150 lembar berikutnya diberi potongan 7,5% dan sisanya diberikan potongan sebesar 12,5%. Buatlah algoritma untuk menghitung jumlah yang harus dibayar oleh pelanggan jika harga satu lembar foto copy Rp. 113,-

Page 24: Materi 5. test kondisi

24

Soal Latihan• Pada suatu perusahaan, terdapat 5 golongan karyawan. Gaji

karyawan ditentukan berdasarkan gaji tetap dan juga dari lamanya bekerja. Gaji tetap dan gaji per jam tersebut tergantung kepada golongan karyawan sesuai dengan tabel dibawah ini. Jika karyawan bekerja lebih dari 150 jam, kelebihan dari 150 jam tersebut dihitung sebagai Lembur, dengan gaji perjam 1,5 kali gaji perjam biasa

Golongan Gaji Tetap Gaji Per Jam

1 Rp. 500.000 Rp. 5.0002 Rp. 300.000 Rp. 3.0003 Rp. 250.000 Rp. 2.0004 Rp. 100.000 Rp. 1.5005 Rp. 50.000 Rp. 1.000

Page 25: Materi 5. test kondisi

25

Sampai ketemu di materi berikutnya...

Perulangan