Upload
duongnhan
View
221
Download
0
Embed Size (px)
Citation preview
Bahasa Program Komputer
Bahasa : Pascal
HandOut : Pertemuan 5
Materi : Percabangan IF dan Case
Jenis-jenis struktur percabangan
• Didalam bahasa pascal terdapat 2 jenis struktur percabangan, yaitu :• Struktur percabangan IF; dan
• Struktur percabangan CASE
Struktur Percabangan IF
• Struktur percabangan IF dibagi menjadi 3 cara :• IF untuk 1 kondisi pemecahan
• IF untuk 2 kondisi pemecahan
• IF bersarang (lebih dari 2 kondisi pemecahan)
Struktur Percabangan IF (cont’d)
• IF untuk 1 kondisi pemecahan• Syntax (Aturan Penulisan) :
IF ekspresi/kondisi THENBEGIN
AksiEND;
• Cara Kerja :AKSI akan dikerjakan jika EKSPRESI/KONDISI bernilai TRUE
• Contoh Kasus :Jika nilai >= 65 maka siswa dinyatakan lulus
• Solusi :IF nilai >= 65 THENBEGIN
writeln(‘Siswa dinyatakan lulus’);END;
Contoh Program IF Tunggal
Struktur Percabangan IF (cont’d)
• IF untuk 2 kondisi pemecahan• Syntax (Aturan Penulisan) :
IF ekspresi/kondisi THENBEGIN
Aksi 1ENDELSEBEGIN
Aksi 2END;
• Cara Kerja :• AKSI 1 akan dikerjakan jika EKSPRESI/KONDISI bernilai TRUE• AKSI 2 akan dikerjakan jika EKSPRESI/KONDISI bernilai FALSE
• Contoh Kasus :Jika nilai >= 65 maka siswa dinyatakan lulus; jika tidak maka siswa dinyatakan tidak lulus
Struktur Percabangan IF (cont’d)
• Solusi :IF nilai >= 65 THEN
BEGIN
writeln(‘Siswa dinyatakan lulus’);
END
ELSE
BEGIN
writeln(‘Siswa dinyatakan tidak lulus’);
END;
Contoh IF Ganda
Struktur Percabangan IF (cont’d)
• IF Bersarang (lebih dari 2 kondisi pemecahan)• Syntax (Aturan Penulisan) :
IF ekspresi/kondisi 1 THENBEGIN
Aksi 1ENDELSEBEGIN
IF ekspresi/kondisi 2 THENBEGIN
Aksi 2ENDELSEBEGIN
Aksi 3END;
END;
Struktur Percabangan IF (cont’d)
• Cara Kerja :• Jika EKSPRESI/KONDISI 1 bernilai TRUE maka :
• Aksi 1 akan dikerjakan
• Jika EKSPRESI/KONDISI 1 bernilai FALSE maka :• Jika EKSPRESI/KONDISI 2 bernilai TRUE maka :
• Aksi 2 akan dikerjakan• Jika EKSPRESI/KONDISI 2 bernilai FALSE maka :
• Aksi 3 akan dikerjakan
• Contoh Kasus :• Jika nilai UAS >= 65 maka siswa dinyatakan LULUS
jika tidak maka :• Jika Absensi siswa >= 80 maka siswa dinyatakan LULUS
jika tidak maka siswa dinyatakan TIDAK LULUS
Struktur Percabangan IF (cont’d)
• Solusi :IF nilai_UAS >= 65 THENBEGIN
writeln(‘Siswa dinyatakan lulus’);ENDELSEBEGIN
IF absensi_siswa >= 80 THENBEGIN
writeln(‘Siswa dinyatakan lulus’);ENDELSEBEGIN
writeln(‘Siswa dinyatakan tidak lulus’);END;
END;
Contoh IF lebih dari 2 kondisi
Contoh IF bersarang untuk menentukan bonus bagi pembeli berdasarkan total pembelian.Total >= 100.000 (Diskon 10%)Total 50.000 – 99.999 (1 Piring)Total 10.000 – 49.999 (2 Gelas)Total <= 10.000 (Tidak ada bonus)
AND dan OR
• Seringkali sebuah operator relasi tidak cukup untuk memeriksakondisi-kondisi yang ada.
• Pada keadaan seperti ini, operator AND dan OR sangat berguna.
Contoh pemakaian AND
PROGRAM Pilihan1;
USES crt;
VAR Pilihan:Integer;
BEGIN
Clrscr;
Writeln(‘Ketik pilihan dan akhiri dengan enter’);
Write(‘Pilihan (1-4): ‘);
Readln(Pilihan);
IF (Pilihan >=1) AND (Pilihan <=4) THEN
Writeln(‘Pilihan Benar)
ELSE
Writeln(‘Pilihan Salah’);
END.
IF (Pilihan >=1) AND (Pilihan <=4) THEN
Writeln(‘Pilihan Benar)
ELSE
Writeln(‘Pilihan Salah’);
Adalah alternative dari:
IF Pilihan >=1 THEN
IF Pilihan <=4 THEN
Writeln(‘Pilihan Benar)
ELSE
Writeln(‘Pilihan Salah’);
ELSE
Writeln(‘Pilihan Salah’);
Contoh pemakaian OR
PROGRAM Pilihan2;
USES crt;
VAR Pil:Integer;
BEGIN
Clrscr;
Writeln(‘Ketik pilihan dan akhiri dengan enter’);
Write(‘Pilihan (1-4): ‘);
Readln(Pil);
IF (Pil=1) OR (Pil=2) OR (Pil=3) OR (Pil=4) THEN
Writeln(‘Pilihan Benar)
ELSE
Writeln(‘Pilihan Salah’);
END.
Struktur Percabangan CASE
• Hampir sama dengan struktur percabangan IF, tetapi lebih cocok digunakan jika kondisi yang diperiksa sangat banyak
• Kondisi yang diperiksa harus berupa data ordinal (bertipe integeratau char), dan tidak boleh bertipe real
• Menggunakan operator relasional = (sama dengan) untuk melakukan pemeriksaan kondisi
Struktur Percabangan CASE (cont’d)
• Syntax :CASE variabel_yang_diperiksa OF
konstanta1 : aksi 1;
konstanta2 : aksi 2;
konstanta3 : aksi 3;
...
konstantaN : aksi N;
END;
Struktur Percabangan CASE (cont’d)
• Cara Kerja :• Aksi 1 akan dikerjakan jika variabel_yang_diperiksa = konstanta1• Aksi 2 akan dikerjakan jika variabel_yang_diperiksa = konstanta2• Aksi 3 akan dikerjakan jika variabel_yang_diperiksa = konstanta3• …… SDA• Aksi ke-N akan dikerjakan jika variabel_yang_diperiksa = konstantaN
Contoh Kasus :• Jika hari = 1 maka Tampil hari SENIN• Jika hari = 2 maka Tampil hari SELASA• Jika hari = 3 maka Tampil hari RABU• Jika hari = 4 maka Tampil hari KAMIS• Jika hari = 5 maka Tampil hari JUM’AT• Jika hari = 6 maka Tampil hari SABTU• Jika hari = 7 maka Tampil hari MINGGU
Struktur Percabangan CASE (cont’d)
• Solusi :CASE hari OF1 : writeln('Senin');2 : writeln('Selasa');3 : writeln('Rabu');4 : writeln('Kamis');5 : writeln('Jumat');6 : writeln('Sabtu');7 : writeln('Minggu');END;
Contoh Program Case
PERBEDAAN IF DAN CASE
Unggul yang mana antara struktur if dengan struktur case.? Sebenarnya kalau dikatakan unggul, keduanya sama-sama unggul.
Karena struktur case memiliki kelebihan dari pada struktur if, dan struktur if pun memiliki kelebihan dari pada struktur case.
Kelebihan statemen case terletak pada struktur script atau codenya yang lebih ringkas dibandingkan dengan struktur pada if.
Sedangkan kelebihan statemen if yaitu struktur if dapat menyelesaikan hampir seluruh permasalahan pada pascal, sedang case tidak bisa.
Mengapa statemen if dapat menyelesaikan hampir semua masalah pada pascal, sedangkan statemen case tidak bisa?
Karena pada statemen if dapat menjalankan suatu percabangan didalam percabangan yang disebut juga dengan istilah if bersarang, dan pada statemen case tidak ada hal yang seperti itu.
Perbandingan IF dan CASE
Latihan
1. Struktur percabangan dengan IFBuatlah program untuk menentukan apakah suatu bilangan bulat itu habis
dibagi 3 atau tidak.Contoh tampilan:
Masukkan sembarang bilangan bulat = 9Bilangan 9 habis dibagi 3.
(Petunjuk: gunakan konsep MOD dalam bilangan bulat)
2. Struktur percabangan dengan CASEBerdasarkan data berikut ini:A = TVRI D = ANTVB = RCTI E = INDOSIAR C = SCTVBuatlah program yang meminta masukan huruf saluran TV,kemudian program
menampilkan nama stasiun penyiarannya.