Anda di halaman 1dari 25

Pertemuan 5

SELEKSI / PEMILIHAN
WAYAN GALIH PRATAMA, S.TI., M.T.I.
Seleksi / Pemilihan
• Struktur pemilihan memungkinan program
mengerjakan suatu aksi jika suatu kondisi/syarat
terpenuhi
• Dengan adanya pemilihan, maka instruksi tidak lagi
dikerjakan secara sekuensial seperti pada runtunan
• Intruksi akan dikerjakan berdasarkan syarat yang
ditetapkan
Seleksi - Satu Kasus
• Pseudocode

• Aksi di dalam IF dikerjakan jika kondisi bernilai


benar
Seleksi - Satu
Kasus

Flowchart

• Aksi akan selalu


dikerjakan jika kondisi
bernilai true
• Ketika kondisi bernilai
false, maka aksi akan
dilewati dan langsung
menuju aksi lain atau
langsung menuju akhir
program
Contoh Seleksi Satu Kasus
• Buatlah algoritma yang menerima input bilangan bulat lalu
mencetak ”genap” ke layer jika bilangan yang diinputkan
adalah bilangan genap
ALGORITMA BilanganGenap
{ mencetak “genap” jika bilangan bulat yang dimasukkan adalah
bilangan genap }

DEKLARASI:
x : integer

ALGORITMA:
read(x)
if x mod 2 = 0 then
write(“genap”)
endif
Contoh
Seleksi
Satu
Kasus
Flowchart BilanganGenap
Seleksi - Dua Kasus
Seleksi - Dua Kasus
Contoh Seleksi Dua Kasus
• Buatlah algoritma yang menerima input bilangan bulat lalu
mencetak ”genap” ke layer jika bilangan tersebut adalah
bilangan genap atau “ganjil” jika bilangan itu adalah ganjil
ALGORITMA BilanganGenapGanjil
{ mencetak “genap” jika bilangan bulat yang dimasukkan adalah
bilangan genap atau “ganjil” jika bilangan bulat itu adalah bil ganjil}

DEKLARASI:
x : integer

ALGORITMA:
read(x)
if x mod 2 = 0 then
write(“genap”)
else
write(“ganjil”)
endif
Contoh
Seleksi
Dua
Kasus
Flowchart
BilanganGenapGanjil
Seleksi - Bertingkat
Algoritma C++
IF kondisi1 THEN if (kondisi1) {
aksi1 aksi1
ELSE } else {
IF kondisi2 THEN if (kondisi2) {
aksi2 aksi2
ELSE } else {
IF kondisi3 THEN if (kondisi3) {
aksi3 aksi3
…. ….
ENDIF }
ENDIF }
ENDIF }
Seleksi -
Bertingkat
Contoh Seleksi Bertingkat
• Buatlah algoritma yang membaca sebuah bilangan bulat,
lalu menentukan apakah bilangan tersebut positif, negatif,
atau nol
ALGORITMA JenisBilanganBulat
{ mencetak “genap” jika bilangan bulat yang dimasukkan adalah
bilangan genap atau “ganjil” jika bilangan bulat itu adalah bil ganjil}

DEKLARASI:
x : integer

ALGORITMA:
read(x)
if x mod 2 = 0 then
write(“genap”)
else
write(“ganjil”)
endif
Contoh Seleksi Bertingkat
• Pseudocode
ALGORITMA JenisBilanganBulat
{ menentukan apakah bilangan bulat positif, negatif, atau nol }

DEKLARASI:
x : integer

ALGORITMA:
read(x)
if x > 0 then
write(“positif”)
else
if x < 0 then
write(“negatif”)
else
if x = 0 then
write(“nol”)
endif
endif
endif
Contoh Seleksi Bertingkat
• Bagaimana flowchart contoh kasus
JenisBilanganBulat ?
Contoh Kasus
• Buatlah algoritma yang menerima input temperatur
air ( anggap satuannya celcius ), lalu menentukan
wujud air tersebut ( padat, cair, atau gas ). Dimana
ketentuannya adalah:
• Temperatur dibawah atau sama dengan 0, maka air
berwujud padat
• Temperatur diantara 0 – 100, maka air berwujud cair
• Temperatur diatas atau sama dengan 100, maka air
berwujud uap
Konstruksi CASE

• Untuk
menyederhanakan
seleksi IF
bertingkat
Flowchart
CASE
Contoh
ALGORITMA MencetakNamaBulan
{ menampilkan nama bulan ke layer sesuai dengan angka bulan yang diinputkan user }

DEKLARASI:
bulan : integer

ALGORITMA:
read(bulan)
if bulan == 1 then
write(“Januari”)
else
if bulan == 2 then
write(“Februari”)
else
if bulan == 3 then
write(“Maret”)
….
endif
endif
endif
Contoh
ALGORITMA MencetakNamaBulan
{ menampilkan nama bulan ke layer sesuai dengan angka bulan yang diinputkan user }

DEKLARASI:
bulan : integer

ALGORITMA:
read(bulan)

case(bulan):
1 : write(“Januari”)
2 : write(“Februari”)
3 : write(“Maret”)
4 : write(“April”)
5 : write(“Mei”)
….
12 : write(“Desember”)
otherwise write(“Nama bulan tidak ada”)
end case
Contoh Kasus
• Indeks nilai mahasiswa ditentukan berdasarkan
nilai ujian yang diraihnya. Ketentuan pemberian
nilai indeks adalah sebagai berikut:
• 85 – 100, maka indeks nilai = A
• 75 – 84, maka indeks nilai = B
• 60 – 74, maka indeks nilai = C
• 40 – 59, maka indeks nilai = D
• 0 – 39, maka indeks nilai = E
• Buatlah algoritma yang membaca nama mahasiswa
dan nilai ujiannya (dalam angka), kemudian
mencetak nama mahasiswa, nilai ujian dan nilai
indeksnya
Contoh Kasus
• Buatlah algoritma yang memungkinkan user dapat
memilih untuk menentukan luas persegi atau
keliling persegi panjang.
• Masukan program adalah Panjang dan Lebar
• Luas = Panjang * Lebar
• Keliling = 2 * (Panjang + Lebar)
• Lengkapi program dengan pilihan menu: 1) Luas, 2)
Keliling
• Pada setiap pilihan menu, dibaca Panjang dan
Lebarnya, lalu hitung hasilnya sesuai menu yang
dipilih user dan tampilkan hasilnya ke layar
Tugas – Soal 1
• Misalkan karyawan PT. XYZ dikelompokkan berdasarkan golongannya.
Upah karyawan bergantung pada golongannya (lihat table).
• Jumlah jam kerja normal seminggu adalah 48 jam.
• Kelebihan jam kerja dianggap lembur dengan upah lembur:
• 3 jam pertama Rp.6000 / jam
• Kelebihan jam berikutnya karyawan menerima upah Rp.3000 / jam
• Buatlah algoritma yang membaca nama karyawan, golongan, dan
jumlah jam kerjanya dalam seminggu. Program akan menampilkan
nama karyawan, golongan, jumlah jam kerja dan upah / gaji karyawan
dalam seminggu.
Golongan Upah / jam
A Rp.4000
B Rp.5000
C Rp.6000
D Rp.7500
Tugas - Soal 2
• Buatlah algoritma yang membaca tiga Panjang (integer) tiga
buah sisi sebuah segitiga a, b, c. Kemudian menentukan
apakah segitiga tersebut membentuk segitiga siku-siku,
lancip, atau tumpul. Dan jika segitiga siku-siku, tentukan
sikunya terletak disisi mana.
• Gunakan hukum Phytagoras
SEKIAN & TERIMAKASIH
WAYAN GALIH PRATAMA, S.TI., M.T.I.

Anda mungkin juga menyukai