Program yang hanya berisi runtunan instruksi biasanya ... · Struktur pemilihan memungkinkan kita...
Transcript of Program yang hanya berisi runtunan instruksi biasanya ... · Struktur pemilihan memungkinkan kita...
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.
kon
disi
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