PRAKTIKUM MINGGU 3
PEMILIHAN KONDISI (SELECTION)
1. PILIHAN TUNGGAL
Bentuk paling sederhana pilihan tunggal adalah jika hanya ada satu pilihan kondisi yang
disediakan.
if kondisi then
true statement
CONTOH PERMASALAHAN 6 :
Menentukan luas keliling lingkaran dengan masukan data dari keyboard dan mengulang
penghitungan.
program ulanglagi;
uses crt;
const
phi = 3.14;
var
jari,luas,keliling : real;
lagi : char;
label ulang;
begin
ulang:
clrscr;
write(’Masukan jari-jari lingkaran = ’);
readln(jari);
luas=phi*jari*jari;
keliling=2*phi*jari;
writeln(‘Luas lingkaran = ‘,luas);
writeln(’Keliling lingkaran = ’,keliling);
writeln;
write(’Mau memasukkan bilangan lagi [Y/T] ? ’);readln(lagi);
if (lagi=’Y’) or (lagi=’y’) then goto ulang;
end.
2. PILIHAN GANDA
Digunakan untuk menentukan tindakan yang akan digunakan bila kondisi bernilai benar dan
salah.
if kondisi then
statement1
else
statement2
CONTOH PERMASALAHAN 7 :
Menentukan bilangan genap ganjil dari suatu bilangan.
program ganjilgenap;
uses crt;
var
bil : integer;
lagi : char;
begin
clrscr;
writeln('Program Menentukan Bilangan Ganjil / Genap');
writeln('==========================================');
write('Masukkan sembarang bilangan : ');readln(bil);
writeln;
if (bil mod 2 = 0) then
writeln(’Bilangan ’,bil,' termasuk bilangan genap')
else
writeln(’Bilangan ’,bil,' termasuk bilangan ganjil');
readln;
end.
2. PILIHAN MAJEMUK
Untuk menentukan tindakan yang akan digunakan disediakan lebih dari 2 alternatif. Merupakan
bentuk statement if dengan statement if lain di dalam if sebelumnya.
if kondisi1 then
statemen1
else
if kondisi2 then
statemen2
else
statemenberikutnya
CONTOH PERMASALAHAN 8 :
Mengelompokan nilai dengan ketentuan :
Jika nilai angka >= 90, maka nilai huruf = A
Jika nilai angka >= 80, maka nilai huruf = B
Jika nilai angka >= 70, maka nilai huruf = C
Jika nilai angka >= 60, maka nilai huruf = D
Jika nilai angka < 60, maka nilai huruf = E
program KelompokNilai;
uses crt;
var
nilai : integer;
ket : string;
huruf : char;
begin
writeln('PROGRAM PENGELOMPOKAN NILAI');
writeln(' ');
write('Masukkan nilai (0-100) : ');readln(nilai);
if(nilai>=81) then
begin
huruf := 'A';
ket := 'Lulus';
end
else
if(nilai>=70) then
begin
huruf := 'B';
ket := 'Lulus';
end
else
if(nilai>=60) then
begin
huruf := 'C';
ket := 'Lulus';
end
else
if(nilai>=40)then
begin
huruf := 'D';
ket := 'Gagal/Tidak Lulus';
end
else
begin
huruf := 'E';
ket := 'Gagal/Tidak Lulus';
end;
writeln;
writeln('Nilai huruf = ',huruf);
writeln('Keterangan = ',ket);readln;
end.
3. STRUKTUR CASE
Untuk masalah dengan dua pilihan atau lebih, struktur CASE dapat menyederhanakan penulisan
IF yang bertingkat-tingkat.
case ungkapan of
label1 : Statement1;
label2 : Statement2;
label3 : Statement3;
labeln : Statementn;
end;
CONTOH PERMASALAHAN 9 :
Pemilihan kode jurusan dengan struktur case
program jurusan;
uses crt;
var
jur,nama : string;
kode : char;
begin
write('Masukkan nama : ');readln(nama);
write('Pilih kode jurusan [A/B/C/D] : ');readln(kode);
case kode of
'A' : jur := 'Teknik Informatika';
'B' : jur := 'Manajemen Informatika';
'C' : jur := 'Sistem Informasi';
'D' : jur := 'Teknik Komputer';
end;
writeln;
writeln('Nama : ',nama);
writeln('Kode jurusan : ',kode);
writeln('Nama jurusan : ',jur);
readln;
end.
TUGAS
1. Menentukan huruf yang dimasukkan melalui keyboard huruf vokal atau konsonan
2. Menentukan bilangan terbesar dari 2 bilangan yang dimasukkan melalui keyboard
3. Menentukan bilangan terbesar dan terkecil dari 3 bilangan yang dimasukkan melalui
keyboard
4. Misalkan karyawan PT. Makmur dikelompokkan berdasarkan golongannya. Upah per jam
tiap karyawan bergantung pada golongannya, dengan ketentuan :
Golongan Upah per jam
A Rp. 10000,-
B Rp. 12000,-
C Rp. 15000,-
D Rp. 20000,-
Jumlah jam kerja normal selama 1 minggu adalah 48 jam. Kelebihan jam kerja dianggap
lembur dengan upah lembur adalah Rp.4000,- per jam untuk semua golongan karyawan.
Buat program menghitung gaji karyawan mingguan. Data yang dimasukan dari keyboard
adalah nama karyawan, golongan, jumlah jam kerja dalam 1 minggu. Berikut tampilannya :
1. Ringtone gokil
2. Nada sapa gokil
3. Cerita gokil
4. Keluar program
Bila anda mengetikkan kata selain REG GOKIL maka muncul pesan ’Maaf keyword yang
Anda masukkan salah’ dan program selesai.
Untuk menu gokil, bila Anda pilih angka 1 maka muncul pesan ’Terima kasih telah
menggunakan layanan ringtone gokil’
Untuk menu gokil, bila Anda pilih angka 2 maka muncul pesan ’Terima kasih telah
menggunakan layanan nada sapa gokil’
Untuk menu gokil, bila Anda pilih angka 3 maka muncul pesan ’Terima kasih telah
menggunakan layanan cerita gokil’
Untuk menu gokil, bila Anda pilih angka 4 maka program selesai.
6. Perbaiki program biling warnet sehingga dapat menghitung lama pemakaian dan total bayar
misal pemakaian dari jam 23.00 sampai jam 01.00.
7. Perbaiki program nomor 6 dengan menambah fasilitas login user. Bila login user sebagai
’personal’ maka tarip per jam Rp. 5000,- Bila login user sebagai ’member’ maka tarip per
jam Rp. 3000,-