SlideShare a Scribd company logo
TEST KONDISI
Algoritma Pemrograman

Drs. Lamhot Sitorus, M.Kom
Fakultas Ilmu Komputer
Universitas Katolik Santo Thomas
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 false
o Aksi, yang akan dilaksanakan jika kondisi yang
dipasangkan dengan aksi yang bersangkutan dipenuhi
2
Notasi
ALGORITMA
Depend on (Nama-Nama)
<kondisi-1> : <aksi-1>
<kondisi-2> : <aksi-2>
<kondisi-3> : <aksi-3>
....
<kondisi-n> : <aksi-n>

3
Notasi
• Dengan syarat :
o Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n
domain harganya [true, false]
o Kondisi-1 kondisi-2 kondisi-3 ... kondisin=
o Kondisi-1 kondisi-2 kondisi-3 ... kondisin mencakup semua kemungkinan
o Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n adalah
ekspresi boolean / logika yang mengandung
nama-nama sebagai operand
4
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
5
Notasi
Algoritma Terbesar
{diberikan a dan b, menuliskan a jika a b atau menuliskan b jika
b>a}
Kamus
a, b : integer
Algoritma
Input(a, b)
Depend On (a,b)
a b : Output(a)
b>a : Output(b)

6
Notasi Algoritmik Satu Kasus

S

IF (kondisi) THEN
B
Aksi
End-IF

7
Notasi Algoritmik Dua Kasus
IF (kondisi) THEN
Aksi-1
B
Else
S
Aksi-2
End-IF

8
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 :
oInput : a dan b integer
oProses : menuliskan harga yang lebih
besar
oOutput : a atau b
9
Notasi Algoritmik Dua Kasus
Algoritma Terbesar
{diberikan a dan b, menuliskan a jika a b atau
menuliskan b jika b>a}
Kamus
a, b : integer
Algoritma
Input(a, b)
IF (a b) THEN
Output(a)
Else
Output(b)
10
Notasi Algoritmik Multi Kasus
IF (kondisi-1) THEN
Aksi-1
Else IF (kondisi-2) THEN
Aksi-2
Else IF (kondisi-3) THEN
Aksi-3
.....
Else IF (kondisi-n) THEN
Aksi-n
Else
Aksi-m
End-IF

11
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 T
o Output:
 ‘Beku’ Jika T 0
 ‘Cair’ jika 0 < T 100
 ‘Uap’ jika T > 100

12
Notasi Algoritmik Multi Kasus
Algoritma Wujud_Air
{Diabaca T (integer) temperatur air dalam oC pada tekanan atmosfir
Harus dituliskan wujud air pada temperatur T}
Kamus
T : Integer
Algoritma
Input(T)
IF (T 0) THEN
Output(‘Beku’)
Else IF (T>0 AND T 0) THEN
Output(‘Cair’)
Else
Output(‘Uap’)
13
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

14
Notasi Algoritmik Test Kondisi
Bersarang
IF (kondisi-1) THEN
[Aksi-1a]
IF (kondisi-11) THEN
Aksi-11
ELSE
Aksi-12
End-IF-a
[Aksi-1b]
Else
[Aksi-2a]
IF (kondisi-21) THEN
Aksi-21
ELSE
Aksi-22
End-IF-b
[Aksi-2b]
End-IF

[Aksi]
IF (kondisi-11) THEN
Aksi-11
ELSE

Aksi-12
End-IF
[Aksi]

15
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 (a b c).
– 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
o
o
o
o

a,c,b jika a<c dan c<b
b,a,c jika b<a dan a<c
b,c,a jika b<c dan c<a
c,a,b jika c<a dan a<b
c,b,a jika c<b dan b<a

16
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 : integer
Algoritma
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)
17
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 : integer
Algoritma
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)
ELSE
Output(‘Data Salah Spesifikasi...’)
18
Notasi Algoritmik Test Kondisi
Bersarang
Algoritma urut_3
{dibaca 3 harga a,b dan c, a b c}
{harus ditulis mulai dari terkecil hingga terbesar}
Kamus
a, b, c : integer
Algoritma
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-IF
ELSE
IF (a<c) THEN
OUTPUT(b,a,c)
ELSE IF (b<c) THEN
OUTPUT(b,c,a)
ELSE
OUTPUT(c,b,a)
End-If
End-If

19
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,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 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,21
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
22
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,-

23
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
1
2
3
4
5

Gaji Tetap

Gaji Per Jam

Rp. 500.000
Rp. 300.000
Rp. 250.000
Rp. 100.000
Rp. 50.000

Rp. 5.000
Rp. 3.000
Rp. 2.000
Rp. 1.500
Rp. 1.000
24
Sampai ketemu di
materi berikutnya...

 Perulangan

25

More Related Content

What's hot

Konsepsentral - Materi 2 - TBO
Konsepsentral - Materi 2 - TBOKonsepsentral - Materi 2 - TBO
Konsepsentral - Materi 2 - TBO
ahmad haidaroh
 
Modul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox ProModul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox Pro
stephan EL'wiin Shaarawy
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
ahmad haidaroh
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
linda_rosalina
 
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
Ari Septiawan
 
7 analisa jaringan dengan metode aon
7  analisa jaringan dengan  metode aon7  analisa jaringan dengan  metode aon
7 analisa jaringan dengan metode aon
Simon Patabang
 
Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2
Muhammad Rifqi
 
Power Point Processor x86 and arm
Power Point Processor x86 and armPower Point Processor x86 and arm
Power Point Processor x86 and arm
Muhammad Najamuddin
 
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
Iqbal Ajib
 
Desain arsitektur
Desain arsitekturDesain arsitektur
Desain arsitekturqwiew
 
Mekanisme pembuatan keputusan
Mekanisme pembuatan keputusanMekanisme pembuatan keputusan
Mekanisme pembuatan keputusannovasaja
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
ahmad haidaroh
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
Cara Kerja CPU
Cara Kerja CPUCara Kerja CPU
Cara Kerja CPU
Alifia Febryna Anjastii
 

What's hot (20)

Konsepsentral - Materi 2 - TBO
Konsepsentral - Materi 2 - TBOKonsepsentral - Materi 2 - TBO
Konsepsentral - Materi 2 - TBO
 
Modul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox ProModul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox Pro
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
 
7 analisa jaringan dengan metode aon
7  analisa jaringan dengan  metode aon7  analisa jaringan dengan  metode aon
7 analisa jaringan dengan metode aon
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2Visualisasi Data di R dengan ggplot2
Visualisasi Data di R dengan ggplot2
 
Power Point Processor x86 and arm
Power Point Processor x86 and armPower Point Processor x86 and arm
Power Point Processor x86 and arm
 
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
Tugas sistem informasi manajemen muhammad iqbal razif 43217010028
 
Bab 5 komputer sederhana sap-1
Bab 5   komputer sederhana sap-1Bab 5   komputer sederhana sap-1
Bab 5 komputer sederhana sap-1
 
Desain arsitektur
Desain arsitekturDesain arsitektur
Desain arsitektur
 
Mekanisme pembuatan keputusan
Mekanisme pembuatan keputusanMekanisme pembuatan keputusan
Mekanisme pembuatan keputusan
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
Sap 2
Sap 2Sap 2
Sap 2
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
 
Cara Kerja CPU
Cara Kerja CPUCara Kerja CPU
Cara Kerja CPU
 

Similar to Materi 5. test kondisi

WLAN and Its benefit
WLAN and Its benefitWLAN and Its benefit
WLAN and Its benefit
guest91544b
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
Achmad Solichin
 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vbAris Saputro
 
Struktur dasar algoritma
Struktur dasar algoritmaStruktur dasar algoritma
Struktur dasar algoritma
MAFauzan
 
Struktur dasar algoritma
Struktur dasar algoritmaStruktur dasar algoritma
Struktur dasar algoritma
rezkyputraa
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
 
Bab 2 logaritma
Bab 2 logaritmaBab 2 logaritma
Bab 2 logaritma
Yayan_Eryandi
 
Pemrograman Komputer - 3
Pemrograman Komputer - 3Pemrograman Komputer - 3
Pemrograman Komputer - 3
Rolly Maulana Awangga
 
Pertemuan 5a.pptx
Pertemuan 5a.pptxPertemuan 5a.pptx
Pertemuan 5a.pptx
Menny SN
 
Modul 3 Visual Basic (Kondisional)
Modul 3 Visual Basic (Kondisional)Modul 3 Visual Basic (Kondisional)
Modul 3 Visual Basic (Kondisional)
Dnr Creatives
 
Un mat-ipa-2014-9a2b-1c3-21
Un mat-ipa-2014-9a2b-1c3-21Un mat-ipa-2014-9a2b-1c3-21
Un mat-ipa-2014-9a2b-1c3-21Firdika Arini
 
Soal un matematika ipa sma tahun 2014 14
Soal un matematika ipa sma tahun 2014 14Soal un matematika ipa sma tahun 2014 14
Soal un matematika ipa sma tahun 2014 14
SMPN 3 TAMAN SIDOARJO
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
Niken Halimy
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
Niken Halimy
 
Bilanganbulat dan pecahan
Bilanganbulat dan pecahanBilanganbulat dan pecahan
Bilanganbulat dan pecahan
Jusep Saputra Ir
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritmaformatik
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newasdammantap
 
Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1
Rolly Maulana Awangga
 

Similar to Materi 5. test kondisi (20)

WLAN and Its benefit
WLAN and Its benefitWLAN and Its benefit
WLAN and Its benefit
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb
 
Struktur dasar algoritma
Struktur dasar algoritmaStruktur dasar algoritma
Struktur dasar algoritma
 
Struktur dasar algoritma
Struktur dasar algoritmaStruktur dasar algoritma
Struktur dasar algoritma
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
 
Bab 2 logaritma
Bab 2 logaritmaBab 2 logaritma
Bab 2 logaritma
 
Pemrograman Komputer - 3
Pemrograman Komputer - 3Pemrograman Komputer - 3
Pemrograman Komputer - 3
 
Pertemuan 5a.pptx
Pertemuan 5a.pptxPertemuan 5a.pptx
Pertemuan 5a.pptx
 
Modul 3 Visual Basic (Kondisional)
Modul 3 Visual Basic (Kondisional)Modul 3 Visual Basic (Kondisional)
Modul 3 Visual Basic (Kondisional)
 
Un mat-ipa-2014-9a2b-1c3-21
Un mat-ipa-2014-9a2b-1c3-21Un mat-ipa-2014-9a2b-1c3-21
Un mat-ipa-2014-9a2b-1c3-21
 
Soal un matematika ipa sma tahun 2014 14
Soal un matematika ipa sma tahun 2014 14Soal un matematika ipa sma tahun 2014 14
Soal un matematika ipa sma tahun 2014 14
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
 
Bilanganbulat dan pecahan
Bilanganbulat dan pecahanBilanganbulat dan pecahan
Bilanganbulat dan pecahan
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritma
 
Daskom 3
Daskom 3Daskom 3
Daskom 3
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul new
 
Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1
 

Materi 5. test kondisi

  • 1. TEST KONDISI Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas
  • 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 false o Aksi, yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang bersangkutan dipenuhi 2
  • 3. Notasi ALGORITMA Depend on (Nama-Nama) <kondisi-1> : <aksi-1> <kondisi-2> : <aksi-2> <kondisi-3> : <aksi-3> .... <kondisi-n> : <aksi-n> 3
  • 4. Notasi • Dengan syarat : o Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n domain harganya [true, false] o Kondisi-1 kondisi-2 kondisi-3 ... kondisin= o Kondisi-1 kondisi-2 kondisi-3 ... kondisin mencakup semua kemungkinan o Kondisi-1, kondisi-2, kondisi-3, ..., kondisi-n adalah ekspresi boolean / logika yang mengandung nama-nama sebagai operand 4
  • 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 5
  • 6. Notasi Algoritma Terbesar {diberikan a dan b, menuliskan a jika a b atau menuliskan b jika b>a} Kamus a, b : integer Algoritma Input(a, b) Depend On (a,b) a b : Output(a) b>a : Output(b) 6
  • 7. Notasi Algoritmik Satu Kasus S IF (kondisi) THEN B Aksi End-IF 7
  • 8. Notasi Algoritmik Dua Kasus IF (kondisi) THEN Aksi-1 B Else S Aksi-2 End-IF 8
  • 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 : oInput : a dan b integer oProses : menuliskan harga yang lebih besar oOutput : a atau b 9
  • 10. Notasi Algoritmik Dua Kasus Algoritma Terbesar {diberikan a dan b, menuliskan a jika a b atau menuliskan b jika b>a} Kamus a, b : integer Algoritma Input(a, b) IF (a b) THEN Output(a) Else Output(b) 10
  • 11. Notasi Algoritmik Multi Kasus IF (kondisi-1) THEN Aksi-1 Else IF (kondisi-2) THEN Aksi-2 Else IF (kondisi-3) THEN Aksi-3 ..... Else IF (kondisi-n) THEN Aksi-n Else Aksi-m End-IF 11
  • 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 T o Output:  ‘Beku’ Jika T 0  ‘Cair’ jika 0 < T 100  ‘Uap’ jika T > 100 12
  • 13. Notasi Algoritmik Multi Kasus Algoritma Wujud_Air {Diabaca T (integer) temperatur air dalam oC pada tekanan atmosfir Harus dituliskan wujud air pada temperatur T} Kamus T : Integer Algoritma Input(T) IF (T 0) THEN Output(‘Beku’) Else IF (T>0 AND T 0) THEN Output(‘Cair’) Else Output(‘Uap’) 13
  • 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 14
  • 15. Notasi Algoritmik Test Kondisi Bersarang IF (kondisi-1) THEN [Aksi-1a] IF (kondisi-11) THEN Aksi-11 ELSE Aksi-12 End-IF-a [Aksi-1b] Else [Aksi-2a] IF (kondisi-21) THEN Aksi-21 ELSE Aksi-22 End-IF-b [Aksi-2b] End-IF [Aksi] IF (kondisi-11) THEN Aksi-11 ELSE Aksi-12 End-IF [Aksi] 15
  • 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 (a b c). – 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 o o o o a,c,b jika a<c dan c<b b,a,c jika b<a dan a<c b,c,a jika b<c dan c<a c,a,b jika c<a dan a<b c,b,a jika c<b dan b<a 16
  • 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 : integer Algoritma 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) 17
  • 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 : integer Algoritma 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) ELSE Output(‘Data Salah Spesifikasi...’) 18
  • 19. Notasi Algoritmik Test Kondisi Bersarang Algoritma urut_3 {dibaca 3 harga a,b dan c, a b c} {harus ditulis mulai dari terkecil hingga terbesar} Kamus a, b, c : integer Algoritma 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-IF ELSE IF (a<c) THEN OUTPUT(b,a,c) ELSE IF (b<c) THEN OUTPUT(b,c,a) ELSE OUTPUT(c,b,a) End-If End-If 19
  • 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,20
  • 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,21
  • 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 22
  • 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,- 23
  • 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 1 2 3 4 5 Gaji Tetap Gaji Per Jam Rp. 500.000 Rp. 300.000 Rp. 250.000 Rp. 100.000 Rp. 50.000 Rp. 5.000 Rp. 3.000 Rp. 2.000 Rp. 1.500 Rp. 1.000 24
  • 25. Sampai ketemu di materi berikutnya...  Perulangan 25