Program yang hanya berisi runtunan instruksi biasanya terdapat pada masalah sederhana
Seringkali suatu instruksi hanya bisa dilakukan jika ia memenuhi suatu syarat tertentu
Struktur pemilihan memungkinkan kita melakukan aksi jika suatu syarat dipenuhi
If kondisi then aksi
Endif
Keterangan :
Aksi hanya dilakukan bila kondisi bernilai benar(true). Bila kondisi bernilai salah (false), tdk ada aksi apapun yg dikerjakan. Kata endif digunakan untuk mempertegas awal dan akhir struktur if-then
kon disi
aksi
end
salah benar
Buatlah algoritma yang membaca
sebuah bilangan bulat, lalu mencetak pesan “genap” jika bilangan tersebut adalah genap.
Bilangan genap adalah bilangan yg habbis dibagi dgn 2 (sisa pembagian
=0). Oleh karena itu kita perlu membagi data masukan dgn 2. Jika masukan habis dibagi 2, maka kita tulis bahwa bilangan tersebut bilangan genap
Judul : Algoritma bilangan genap Kamus :
x : integer Algoritma :
input (x)
if x mod 2 = 0 then
output(‘ bilangan genap’) Endif
{}
If kondisi then aksi1
Else
aksi2 Endif
Keterangan :
aksi 1 dikerjakan jika kondisi bernilai benar, sebaliknya jika kondisi bernilai salah, maka aksi2 yang akan dilaksanakan.
kondisi
aksi1
end
salah
aksi2 benar
Buatlah algoritma dengan yang membaca sebuah bilangan bulat, lalu mencetak pesan “genap” jika bilangan tersebut adalah genap, atau “ganjil” jika bilangan tersebut adalah bilangan ganjil. !
1. Deklarasi variabel bernama bilangan dan x dengan tipe data integer
2. Baca data bilangan
3. X=bilangan mod 2
4. Jika x=0 maka tampilkan (“Bilangan genap”) lalu lompat ke langkah 6
5. Jika tidak maka tampilkan (“Bilangan ganjil”)
6. Selesai
Judul : Algoritma bilangan genap dan ganjil Kamus :
bilangan, x : integer Algoritma :
input (bilangan)
x bilangan mod 2 if x = 0 then
output(‘ bilangan genap’) Else
output(‘bilangan ganjil’) Endif
{}
If kondisi1 then aksi1
Else
if kondisi2 then aksi2
Else
if kondisi3 then aksi3
Endif Endif Endif
ko ndi
si1
aksi1
end salah
aksi2 benar
ko ndi
si2
aksi3 end
Indeks nilai mahasiswa ditentukan berdasarkan nilai ujian yg diraihnya.
Ketentuannya sbb:
Jika Nilai ujian >=80, indeks nilai = A
Jika Jika 70 <= nilai ujian <80, indeks nilai
= B
Jika 55 <= nilai ujian <70, indeks nilai = C
Jika 40 <= nilai ujian <55, indeks nilai = D
Jika <40, indeks nilai = E
Judul : Algoritma indek_nilai_ujian
Kamus :
nilai : real
indeks : char
Algoritma :
Input(nilai)
If nilai >= 80 then
indeks „A‟
Else
if (nilai >= 70) and (nilai <80) then
indeks „B‟
Else
if (nilai >= 55) and (nilai <70) then
indeks „C‟
Else
if (nilai >= 40) and (nilai <55) then
indeks „D‟
Else
indeks „E‟
Endif
Endif
Endif
Endif
Endif
Output (indeks)
{}
Buat Algoritma UpahKaryawan dengan PSEUDOCODE, dgn ketentuan SBB : Gol A : upah perjam 5000
Gol B : upah perjam 6000 Gol C : upah perjam 7000 Gol D : upah perjam 8000
JamKerjaNormal = 48 per minggu Upah lembur = 4000 per jam
Hasil yg diinginkan:
Input (Nama, gol, JJK)
jika JJK <= JamKerjaNormal maka Upahtotal=JJK*UpahPerjam
selain itu
JamLembur=JJK-JamKerjaNormal
Upahtotal=JamKerjaNormal*Upahperjam+Jamlembur *UpahLembur
Output (“Nama”, “UpahTotal”)
Judul : Algoritma Upah Karyawan Kamus : const JamKerjaNormal=48
const UpahLembur=4000 Nama : String gol : char JJK : integer
JamLembur: integer UpahPerjam : real Upahtotal : real Algoritma :
input (Nama,gol,JJK) if gol ="A" then
UpahPerjam<- 5000.00 else
if gol ="B" then
UpahPerjam<- 6000.00 else
if gol ="C" then
UpahPerjam<- 7000.00 else
if gol ="D" then
UpahPerjam<- 8000.00 endif
endif endif endif
if JJK<= JamKerjaNormal then UpahTotal<-JJK*Upahperjam else
Jamlembur=JJK-JamKerjaNormal
UpahTotal=JamKerjaNormal*Upahperjam+JamLe mbur*UpahLembur
endif
output("Nama", Upahtotal) {}
Digunakan untuk masalah dengan dua kasus atau lebih
Digunakan untuk menyederhanakan penggunaan if-then-else yang bertingkat
Case ekspresi
nilai 1 : aksi1
nilai 2: aksi2
nilai 3: aksi3
…
nilai n: aksin
otherwise : aksix
endcase
Buatlah algoritma membaca sebuah bilangan bulat yang nilainya terletak antara 1 sampai 4, lalu cetak tulisan angka tersebut. Misal bila dibaca angka 1, maka tercetak tulisan “satu”, bila dibaca 2, maka tercetak dilayar tulisan
“dua”, demikian seterusnya. Jika angka yg dimasukan selain 1. s.d 4, maka tulis pesan bahwa angka yg dumasukkan salah.
Judul : Algoritma mencetak konversi_angka_teks
Kamus :
angka : integer
Algoritma :
input (angka)
if angka = 1 then
output(„satu‟)
Else
if angka = 2 then
output(„dua‟)
Else
if angka = 3 then
output(„tiga‟)
Else
if angka = 4 then
output(„empat‟)
Else
output(„angka yg dimasukkan harus 1 s.d 4‟)
Endif
Endif
Endif
endif
Judul : Algoritma mencetak konversi_angka_teks
Kamus :
angka : integer
Algoritma :
input (angka)
Case angka
1 : output („satu‟)
2 : output („dua‟)
3: output („tiga‟)
4: output („empat‟)
Otherwise : output(„Angka yang dimasukkan salah‟)
endcase
Judul : Algoritma GenapGanjil
Kamus :
x : integer
Algoritma :
input (x)
if x mod 2=0 then
output(„Genap‟)
else
output(„Ganjil‟)
endif
Judul : Algoritma GenapGanjil
Kamus :
x : integer
Algoritma :
input (x)
case x mod 2
0 : output(„genap‟)
1 : output(„ganjil‟)
endcase
Buatlah algoritma dengan BIT dan Pseudo Code menggunakan struktur seleksi (if-then-else dan CASE) membaca nomor bulan (integer) , lalu menuliskan nama bulan sesuai dengan angka bulannya. Misal jika dibaca bulan 9, maka tercetak “September”.
Judul : Algoritma NamaBulan
Kamus :
no_bulan: integer
Algoritma : input (no_bulan) if no_bulan =“1" then output(“Januari”) else
if no_bulan =“2" then output(“Februari”) else
if no_bulan =“3" then output(“Maret”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) else
if no_bulan =“4" then output(“April”) endif
endif endif endif
Judul : Algoritma NamaBulan
Kamus :
no_bulan: integer
Algoritma :
input (no_bulan)
case no_bulan
1 : output („Januari‟)
2 : output („Februari‟)
3 : output („Maret‟)
4 : output („April‟)
5 : output („Mei‟)
6 : output („Juni‟)
7 : output („Juli‟)
8 : output („Agustus‟)
9 : output („September‟)
10 : output („Oktober‟)
11 : output („November‟)
1 2: output („Desember‟)
otherwise : output(„Bukan bulan yang benar‟)
endcase
Konstruksi CASE sering digunakan dalam pemilihan menu program. User cukup mengetik nomor menu, kemudian prosedur yang berasosiasi dgn nomor menu tsb dieksekusi. Misal sebuah program mempunyai nomor menu sbb:
MENU
1. Baca data
2. Cetak data
3. Ubah data
4. Hapus data
5. Keluar program
Buatlah algoritma mencetak menu tsb dan membaca nomor pilihan menu. Utk setiap menu yang dipilih, cukup tuliskan pesan berikut :
Anda memilih menu nomor <Nomor Menu>
Judul : Algoritma SimulasiMenuProgram
Kamus :
no_menu: char
Algoritma :
output („ MENU „)
output(„1. Baca data‟)
output(„2. Cetak data‟)
output(„3. Ubah data‟)
output(„4. Hapus data‟)
output(„5. Keluar program‟)
output(„Masukkan pilihan anda(1/2/3/4/5)?‟)
Input (no_menu)
Case no_menu
1 : output („Anda memilih nomor menu 1‟)
2 : output („Anda memilih nomor menu 2‟)
3 : output („Anda memilih nomor menu 3‟)
4 : output („Anda memilih nomor menu 4‟)
5 : output („Anda memilih nomor menu 5‟)
endcase
Buatlah algoritma empat persegi panjang menggunakan struktur case, dengan hasil yang diinginkan sebagai berikut :
Menu Program Empat Persegi Panjang 1. Hitung luas
2. Hitung keliling 3. Keluar program
Masukkan pilihan anda (1/2/3)?
Munir, Rinaldi. 2007. Algoritma &
Pemrograman. Bandung : Informatika.
Yulikuspartono. 2004. Pengantar Logika dan Algoritma. Yogyakarta: Andi Publisher.
Mulyanto , Aunur R. 2008. Rekayasa Perangkat Lunak Jilid 1. Jakarta:
Direktorat Pembinaan SMK-Depdiknas.
www.ilmukomputer.org