Algoritma 1 *)
Statement Pemilihan (lanjutan)
Pertemuan Ke-6
if kondisi then
aksi1
else
aksi2
endif
Pemilihan Dua Kasus
Menggunakan konstruksi IF-THEN-ELSE (jika-maka-kalau tidak) dalam bentuk pernyataan:
Aksi1 akan dilaksanakan jika kondisi bernilai benar, tetapi jika kondisi bernilai salah, maka aksi2 yang akan dilaksanakan.
Contoh Masalah Dua Kasus
Algoritma Cetak_Ganjil_atau_Genap
Deklarasi
Bil : integer
Deskripsi
Read(Bil)
if Bil mod 2 = 0 then
write(‘genap’)
else
write(‘ganjil’)
endif
EndAlgoritma
Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menuliskan pesan “genap” jika bilangan tersebut adalah genap atau “ganjil” jika bilangan tersebut adalah bilangan ganjil.
Pemilihan 3 kasus atau lebih
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
Contoh pemilihan tiga kasus atau lebih
Tuliskan algoritma untuk menentukan wujud air 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:
Contoh pemilihan tiga kasus atau lebih
Algoritma 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
EndAlgoritma
Contoh
Membuat algoritma untuk menentukan bilangan terbesar dari 3 bilangan bulat dengan membaca 3 bilangan tersebut
Algoritma Bilangan 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)
EndAlgoritma
Contoh
Algoritma PemilihanTigaKasus;
Deklarasi
bil:integer;
Algoritma
write('masukan sebuah bilangan’);
readln(bil);
if (bil<0) then
writeln(bil,'merupakan bilangan NEGATIF');
else
if (bil=0) then
writeln(bil,' merupakan bilangan NOL');
else
writeln(bil,' merupakan bilangan POSITIF');
endif
endif
EndAlgoritma
Membuat algoritma untuk menentukan bilangan positif, negatif dan nol
1. Buatlah algoritma untuk menentukan discount belanja
Jika belanja > 500.000, maka discoubnt 15%
Jika belanja 300.000 sampai dengan 500.000 discount 10%“
Jika belanja < 300.000 maka tidak mendapatkan diskon”.
Total Belanja = jumlah belanja - discount
2. Buatlah algoritma untuk menentukan jabatan
Jika Id_jabatan = “JF001” maka Nama_jabatan = “Manager”,
Jika Id_jabatan = “JF002” maka Nama_jabatan = “Programmer”,
Jika Id_jabatan = “JF003” maka Nama_jabatan = “Finance”,
Jika Id_jabatan = “JF004” maka Nama_jabatan = “Staff”.
Tugas
Referensi
Anita Sindar RMS, S.T.M.T.I. 2019. Struktur Data Dan Algoritma Dengan C++. https://books.google.co.id/books?id=GP_ADwAAQBAJ.
Niklus Wirth, Algoritma dan Struktur Data, Andi Yogyakarta 1997
Lafore, Robert. 2002. Science Data Structures and Algorithms in Java (2nd Edition). http://www.amazon.com/Data-Structures-Algorithms-Java-2nd/dp/0672324539.
Emy Setyaningsih. 2012. Struktur Data.
Heri Sismoro, Struktur Data Pemrograman Dengan Pascal, Andi Offset 2004
Insap Santosa, Struktur Data Menggunakan Turbo Pascal 6.0, Andi Offset 2004
Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Informatika 2012
Donald Knuth, The Art Of Computer Programming, Volume 1 / Fundamental Algorithms, 2nd edition, Addison Wesley