Lecturer Note VI Pencabangan/Pilihan (Kondisional) By :
Konsep Algoritma (1) Program menerima input dari user, diproses, hasilnya ditampilkan (output). Contoh: Program Persegipanjang.exe Input: Panjang dan Lebar Proses: Luas = Panjang * Lebar Output: Luas
Ex: Sequence (Urutan) Program persegipanjang; Var Luas, P, L : integer; Begin Luas := P * L; writeln(‘Masukkan Panjang : ’); read(P); writeln(‘Masukkan Lebar : ’); read(L); writeln(‘Luas : ’,Luas); End.
Sequence (Urutan) Jika Proses dilakukan sebelum Input maka Ouput menjadi salah walaupun tipe datanya benar.
Konsep Algoritma (2) Algoritma Dasar dibagi menjadi 3 yaitu 1. Sequence (Urutan) 2. Conditional (Pilihan/Pencabangan) 3. Looping (Pengulangan)
Sequence (Urutan) Sequence penting karena langkah-langkah program bergantung pada langkah sebelumnya. Luas = Panjang * Lebar, bisa dilakukan jika Panjang dan Lebar sudah diketahui dari masukan user. Setiap langkah akan mengubah status program. Ketika program pada posisi “read (Panjang)”, status program adalah menunggu masukan dari user yang akan disimpan pada variabel Panjang.
Contoh Program persegipanjang; Var Luas, P, L : integer; Begin Luas := P * L; {P & L belum ada nilainya} writeln(‘Masukkan Panjang : ’); read(P); writeln(‘Masukkan Lebar : ’); read(L); writeln(‘Luas : ’,Luas); End.
Pencabangan/Pilihan/Kondisional Pengambilan keputusan Pernyataan IF Pernyataan CASE
Pengambilan Keputusan Struktur runtunan hanya terdapat pada program sederhana Biasanya masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. Suatu aksi hanya dilakukan apabila persyaratan atau kondisi tertentu dipenuhi
Pernyataan IF -THEN Untuk satu kasus, bentuk pernyataannya: IF kondisi THEN pernyataan Pernyataan akan dilaksanakan apabila kondisi bernilai benar (true)
Pernyataan IF-THEN-ELSE Bentuk kedua IF adalah: Pada bentuk ini : IF kondisi THEN pernyataan _1 ELSE pernyataan _2 __ pernyataan_1 hanya akan dijalankan apabila kondisi bernilai true (benar) pernyataan_2 akan dijalankan apabila kondisi bernilai false (salah)
Pernyataan IF Bersarang Pernyataan If bersarang didalam IF- THEN- ELSE terdapat IF- THEN-ELSE yang lain. Pedoman pasangan ELSE dengan IF: 1. ELSE berpasangan dengan IF yang tepat di atasnya, dan terletak pada satu blok 2. Bila IF yang terletak tepat sebelum ELSE terletak di dalam BEGIN END, IF tersebut dikatakan terletak di dalam satu blok yang sama.
Contoh Penggunaan IF bersarang IF kondisi1 THEN IF kondisi2 THEN pernyataan_1;ELSEpernyataan_2; IF kondisi1 THEN BEGIN IF kondisi2 THEN pernyataan_1;ENDELSEpernyataan_2;
PROGRAM suhu1; Uses wincrt; Var suhu: real; Begin clrscr; Write('suhu='); Read(suhu); If suhu>37 then writeln ('suhu tinggi'); Writeln ('selesai'); End.
PROGRAM suhu1; Uses wincrt; Var suhu: real; Begin clrscr; Write('suhu='); Read(suhu); If suhu>37 then Writeln ('suhu tinggi') ELSE writeln('suhu tidak tinggi'); Writeln ('selesai'); End.
Pada format IF ELSE, pernyataan_1 maupun pernyataan_2, bisa berupa pernyataan majemuk Berikut ditampilkan variasi pernyataan majemuk dari IF ELSE (hal 91-94, BUKU Abdul Kadir I)
Pernyataan CASE Salah satu alternatif proses pengambilan keputusan selain IF Format penulisan pernyataan CASE : CASE nilai OF daftar_nilai_1:pernyataan_1;daftar_nilai_2:pernyataan_2;…daftar_nilai_m:pernyataan_m;ELSEpernyataan_n;END
Ketentuan dalam Pemakaian CASE Nilai dapat berupa ekspresi yang bertipe ordinal (misal Char, Byte, dan Boolean) Daftar_nilai dapat berupa satu atau beberapa konstanta bertipe ordinal, yang sesuai dengan tipe dari nilai Pengujian dilakukan dengan mencocokkan nilai dan daftar_nilai teratas. Jika ada yg cocok, maka akan dijalankan ‘pernyataan’ yg terletak sesudah tanda “:”, dilanjutkan menuju END. Jika tidak ada yg cocok, bagian ELSE akan dijalankan. Bagian ELSE bersifat opsional, dapat tidak disertakan
Variasi pemakaian CASE CASE Pil OF 1: Writeln(‘Pilihan anda adalah 1’); CASE Kodebulan OF 1,3,5,7,8,10,12: Writeln(‘Jumlah Hari = 31’); CASE Kar OF ‘A’..’Z’ : writeln(‘Huruf kapital’);
Diagram CASE Bandingkan diagram CASE dengan IF IF …. Else
Conditional (Pilihan) IF Kondisi1 THENCASE Ekspresi OF BEGINNilai1: Statement1; Statement 1 Nilai2 : Statement2; END ELSE {Not Kondisi1}Nilai3: Statement3; BEGINELSEStatement4; Statement 2END; END; IF Kondisi THENCASE Ekspresi OF BEGINNilai1: Statement1; Statement Nilai2: Statement2; END;Nilai3 : Statement3; Nilai4 : Statement4; END;
Studi Kasus 1 (IF) Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar maka mengirimkan pesan kesalahan.
Studi Kasus 2 (IF) Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih kecil dari Lebar program tidak melakukan apa-apa.
Challenge for next Week Buat program yang menerima masukan Panjang dan Lebar kemudian menampilkan Luas dari persegipanjang tersebut. Jika Panjang lebih besar dari Lebar menampilkan hasil. Jika Panjang sama dengan Lebar menampilkan pesan bahwa masukan adalah bujursangkar. Jika Panjang lebih kecil dari lebar maka menampilkan pesan kesalahan. Jelaskan ttg tipe data Boolean dan Char