2. Menggunakan konstruksi IF-THEN (jika-maka)
dalam bentuk pernyataan :
if kondisi then
aksi
endif
Ingatlah bahwa aksi sesudah kata then akan
dikerjakan hanya jika kondisi bernilai true.
3. Dibaca sebuah bilangan bulat dari suatu
piranti masukkan. Diminta mencetak pesan
“bilangan genap” jika bilangan tersebut
adalah genap. Bilangan genap adalah
bilangan yang habis dibagi dengan 2. Tulislah
algoritmanya.
Algoritma Mencetak Pesan “Bilangan Genap”
1. Read A
2. if A mod 2 = 0 then
3. write “Bilangan Genap”
4. end if
4. Menggunakan konstruksi IF-THEN-ELSE (jika-maka-
kalau tidak) dalam bentuk pernyataan:
if kondisi then
aksi 1
else
aksi 2
endif
Aksi 1 akan dilaksanakan jika kondisi bernilai
benar, tetapi jika kondisi bernilai salah,
maka aksi 2 yang akan dilaksanakan.
5. Tulislah algoritma yang membaca sebuah
bilangan bulat, lalu menuliskan pesan
“genap” jika bilangan tersebut adalah genap
atau “ganjil” jika bilangan tersebut adalah
bilangan ganjil.
Algoritma Cetak “Ganjil” atau “Genap”
1. Read bil
2. if bil mod 2 = 0 then
3. write genap
4. write ganjil
5. endif
6. Masalah yang mempunyai tiga buah kasus atau
lebih tetap dapat dianalisis dengan struktur IF-THEN-
ELSE sebagaimana halnya pada masalah
dengan dua kasus
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
endif
endif
endif
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
else
if kondisi4 then
aksi4
endif
endif
endif
endif
7. Contoh menentukan wujud air
Tuliskan algoritma yang membaca termperatur air,
T, (dalam satuan derajat celcius) pada tekanan
normal, lalu menentukan apakah wujud air
tersebut dalam keadaan padat (T < 0 ), cair
(0<T<100), atau gas (T>100).
Penyelesaian
Misalkan suhu air adalah T
Analisis kasus
Kasus 1, jika T < 0, maka air berwujud padat
Kasus 2, jika 0 < T < 100, maka air berwujud cair
Kasus 3, jika T > 100, maka air berwujud uap
8. PROGRAM WujudAir
(Menentukan wujud air: padat, cair, atau gas, bergantung pada
suhunya )
DEKLARASI
T : real (suhu air, dalam derajat celcius)
ALGORITMA
read(T)
if T > 0 then
write(‘padat’);
else
if (T > 0) and (T < 100) then
write(‘cair’)
else
if T > 100 then
write(‘gas atau uap’)
endif
endif
endif
9. Menentukan bilangan terbesar dari 3 bilangan bulat dengan
membaca 3 bilangan tersebut
PROGRAM Maksimun
Deklarasi
A, B, C, maks : integer
Algoritma
Read(A,B,C)
If A>B then
maks = A
else
maks = B
end if
If C> maks then
maks = C
endif
Write(maks)
10. program ifTigaKasus;
var bil:integer;
begin
write('masukan sebuah bilangan'); readln(bil);
if (bil<0) then
begin
writeln(bil,' merupakan bilangan NEGATIF');
end else
if (bil=0) then
begin
writeln(bil,' merupakan bilangan NOL');
end else
begin
writeln(bil,' merupakan bilangan POSITIF');
end;
end.
11. 1. Dibaca dua buah bilangan yang membedakan apakah A > B,
apabila lebih besar maka berkomentar “Benar”
2. Dibaca dua buah bilangan yang membedakan apakah A < B,
apabila lebih kecil maka berkomentar “Salah”
3. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia
Melar”
4. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100
5. Apabila nilai ujian < 60, maka “Tidak Lulus”
6. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari
total belanja
7. Menentukan bilangan yang dimasukkan adalah bilangan
genap
8. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan
Diskon”. [Total Belanja = Quantity Barang*Harga Brg]
9. Menentukan tahun yang dimasukkan adalah tahun kabisat
12.
13. Struktur CASE dapat digunakan untuk
menganalisis penyeleksian dua kasus
atau lebih dan bentuknya adalah lebih
sederhana dari pada struktur IF-THEN-ELSE
yang memiliki bentuk
bertingkat-tingkat
Kondisi1, kondisi2, … kondisiN dapat
bernilai benar atau salah. Tiap kondisi
diperiksa nilai pertama sampai
ditemukan kondisi yang benar.
Jika kondisi ke-k benar, maka aksi ke-k
dilaksanakan, selanjutnya keluar dari
struktur CASE
Aksi yang dipasangkan dengan kondisi ke-k
dapat lebih dari satu, karena itu ia berupa
runtunan
Jika tidak ada satupun kondisi yang benar,
maka aksi sesudah otherwise (optional)
dikerjakan.
case (nama)
kondisi1 : aksi1
kondisi2 : aksi2
kondisi3 : aksi3
.
.
.
kondisiN : aksiN
[otherwise aksiX]
endcase
14. Buatlah algoritma yang membaca sebuah
angka bulat yang nilainya terletak antara 1
sampai 4, lalu menuliskan ke piranti keluaran
angka tersebut dalam kata-kata. Misalkan
bila dibaca angka 1, maka tercetak tulisan
“satu”, bila dibaca 2, maka tercetak tulisan
“dua”, demikian seterusnya. Jika angka yang
dimasukkan selain 1 sampai 4 tuliskan pesan
bahwa angka yang dimasukkan salah.
15.
16.
17. Algoritma NAMA_BULAN
{ Mencetak nama bulan berdasarkan nomor bulannya }
DEKLARASI
AngkaBulan : integer { 1..12 }
DESKRIPSI :
read(AngkaBulan)
case(AngkaBulan)
AngkaBulan=1 : write(‘Januari’)
AngkaBulan=2 : write(‘Februari’)
AngkaBulan=3 : write(‘Maret’)
AngkaBulan=4 : write(‘April’)
AngkaBulan=5 : write(‘Mei’)
AngkaBulan=6 : write(‘Juni’)
AngkaBulan=7 : write(‘Juli’)
AngkaBulan=8 : write(‘Agustus’)
AngkaBulan=9 : write(‘September’)
AngkaBulan=10 : write(‘Oktober’)
AngkaBulan=11 : write(‘Nopember’)
AngkaBulan=12 : write(‘Desember’)
otherwise write(‘Bukan nomor bulan yang benar’)
endcase
18. program NAMA_BULAN;
{ Mencetak nama bulan berdasarkan nomor bulannya }
(* DEKLARASI *)
var
AngkaBulan : integer;
(* DESKRIPSI *)
begin
write(‘Masukkan angka bulan (1 – 12) : ‘);
readln(AngkaBulan);
case AngkaBulan of
1 : writeln(‘Januari’);
2 : writeln(‘Februari’);
3 : writeln(‘Maret’);
4 : writeln(‘April’);
5 : writeln(‘Mei’);
6 : writeln(‘Juni’);
7 : writeln(‘Juli’);
8 : writeln(‘Agustus’);
9 : writeln(‘September’);
10 : writeln(‘Oktober’);
11 : writeln(‘Nopember’);
12 : writeln(‘Desember’);
else writeln(‘Bukan nomor bulan yang benar’);
end;
end.
19. Tidak semua bahasa pemrograman
menyediakan struktur CASE (misalnya Bahasa
Fortran). Bahasa Pascal dan C menyediakan
struktur ini. Jika bahasa pemrograman tidak
menyediakan struktur CASE, maka struktur
CASE dapat diganti dengan struktur IF-THEN-ELSE
yang ekivalen
20. 1. Buatlah algoritma yang membaca angka bulan (integer), lalu menuliskan nama
bulan sesuai angka bulannya. Misalnya jika dibaca bulan 8, maka tercetak
‘Agustus’.
2. Sebuah program mempunyai menu sebagai berikut:
===== MENU =====
1. Baca data
2. Cetak data
3. Ubah data
4. Hapus data
5. Keluar program
=================
Pilihan Anda =
=================
Buatlah algoritma yang mencetak menu tersebut dan membaca nomor pilihan
menu. Untuk nomor menu yang dipilih, tuliskan pesan seperti contoh berikut
Anda memilih menu nomor
Yang dalam hal ini adalah nomor menu yang dipilih oleh pengguna
3. Buatlah algoritma untuk menentukan: luas empat persegi panjang, keliling empat
persegi panjang, dan panjang diagonal, lengkapi program dengan pilihihan menu:
1) Luas, 2) Keliling, 3) Panjang diagonal, 4) Keluar program. Pada setiap pilihan
menu, dibaca panjang dan lebar empat persegi panjang.
Luas persegi panjang = P * L
Keliling persegi panjang = 2*panjang + 2*lebar
Diagonal = sqrt(P*P + lebar*lebar)