Pemilihan ifAlgoritma dan Dasar Pemrograman
Jurusan Teknik InformatikaFakultas Sains dan Teknologi
Ilustrasi Jika hari mendung, maka bawa
payung. Jika berbuat baik, maka
mendapat pahala. Jika berbuat jahat, maka mendapat dosa.
Jika kamu ingin pintar, maka kamu harus rajin belajar.
Definisi
Pemilihan if merupakan sebuah cara pengambilan keputusan berdasarkan suatu kondisi.
Dimana aksi akan dijalankan apabila kondisi terpenuhi, jika tidak terpenuhi maka aksi tidak akan dijalankan.
Kondisi
Kondisi merupakan ungkapan yang bernilai benar atau salah.
Kondisi dapat melibatkan operator relasi atau operator logika.
Operator RelasiNama Bahasa
Algoritma
Bahasa Pascal
Bahasa
C++
Sama dengan a = b a = b a == b
Tidak sama dengan a <> b a <> b a ! = b
Lebih kecil a < b a < b a < b
Lebih besar a > b a > b a > b
Lebih kecil sama dengan
a ≤ b a <= b a <= b
Lebih besar sama dengan
a ≥ b a >= b a >= bOperator relasi biasanya digunakan untuk menyatakan sebuah kondisi yang bernilai benar (1) atau salah (0).
Operator LogikaNama Bahasa
Algoritma
BahasaPascal
BahasaC++
Konjungsi (AND)
(a > b) and
(a <> 5)
(a > b) and
(a <> 5)
(a > b) &&
(a != 5)
Disjungsi (OR) (a > b) or (a <> 5)
(a > b) or (a <> 5)
(a > b) || (a != 5)
Negasi (NOT) not (a = b)
not (a = b)
! (a == b)Operator logika biasanya digunakan untuk
menyatakan sebuah kondisi yang bernilai benar (1) atau salah (0).
Pemilihan sederhana
atau
if (kondisi)aksi
if (kondisi)aksi1
elseaksi2
Flowchart
kondisi
aksi
benar
salah kondi
si
aksi1 aksi2
benar
salah
Problem 1
Bagaimana menentukan seseorang boleh nonton atau tidak berdasarkan usianya. Jika usianya di atas 17 tahun, maka boleh nonton. Jika tidak, maka tidak boleh nonton.
Algoritma Problem 1
usia : integerinput (usia)if (usia > 17)
output (“boleh nonton”)else
output (“tidak boleh nonton”)
Flowchart Problem 1
usia > 17
benar
salah
Cetak (“boleh
nonton”)
usia > 17
benar
salah
Cetak (“boleh
nonton”)
Cetak (“ tdk boleh
nonton”)
Pemilihan lebih dari 1 kondisiif (kondisi1)
aksi1else if (kondisi2)
aksi2else if (kondisi3)
aksi3else if (kondisiM)
aksiMelse
aksiN
Flowchart
...kondisi1
aksi1 aksi2
benar
salah kondi
si2
benar
aksiM
salah kondi
siM
benar
aksiN
Problem 2
Bagaimana menentukan nilai mahasiswa berdasarkan nilai ujian, jika:• 85 < nilai_ujian ≤ 100 nilai ‘A’• 70 < nilai_ujian ≤ 85 nilai ‘B’• 65 < nilai_ujian ≤ 70 nilai ‘C’• 40 < nilai_ujian ≤ 65 nilai ‘D’• 0 < nilai_ujian ≤ 40 nilai ‘E’
Algoritma Problem 2 nilai_ujian : integerinput (nilai_ujian)if (nilai_ujian > 85 and nilai_ujian ≤ 100)
output (“A”)else if (nilai_ujian > 70 and nilai_ujian ≤ 85)
output (“B”).....else
output (“E”)
Pemilihan lebih dari 1 aksi
if (kondisi)aksi1aksi2.......aksiN
elseaksiM
Pemilihan if bersarangif (kondisi_1)
aksi_1if
(kondisi_a)aksi_a
elseaksi_b
elseaksi_2
Problem 3
Bagaimana menentukan bilangan terbesar dari 3 buah bilangan!
Flowchart Problem 3
A > B
salah
benar
salah
Masukan A, B, C
A > C
Cetak A
benar
Cetak C
B > C
Cetak B
salah
benar
Cetak C
Flowchart untuk menentukan bilangan terbesar dari 3 buah bilangan
Latihan
1.Buatlah algoritma dan flowchart program yang menerima sebuah masukan berupa jam lembur. Jika jam lembur kurang dari 6 jam, maka akan menampilkan gaji lembur Rp. 100.000, jika jam lembur sama dengan 6 jam maka akan menampilkan gaji lembur Rp. 200.000, dan jika jam lembur lebih dari 6 jam maka akan menampilkan gaji lembur Rp. 300.000.
2.Buatlah algoritma dan flowchart program untuk menentukan apakah sebuah bilangan termasuk bilangan positif, negatif, atau tidak keduanya.
Tugas
1. Buatlah algoritma dan flowchat untuk menetukan apakah sebuah bilangan termasuk bilangan ganjil atau genap.
2. Buatlah algoritma dan flowchart program yang menerima masukan berupa 3 buah sisi segitiga. Periksa apakah segitiga tersebut siku-siku atau bukan!
3. Buatlah algoritma untuk problem 3.