Dasar Pemrograman MODUL 06 PERCABANGAN
DIDALAM PEMROGRAMAN KONDISI DIKENAL DALAM BENTUK IF, CASE ATAUPUN YANG SETARA PERNYATAAN IF PADA BENTUK IF, PERNYATAAN HANYA AKAN DIJALANKAN KALAU KONDISI BERNILAI BENAR. YANG TERPENTING DARI BAGAN ALUR DIATAS ADALAH KONDISINYA. KODISILAH YANG MENENTUKAN APAKAH SEBUAH PERNYATAAN PROGRAM AKAN DIEKSEKUSI ATAU TIDAK KONDISI PERNYATAAN True (benar) False (Salah) CONTOH PSEUDOCODE DARI BENTUK PERNYATAAN IF ADALAH : VARIABEL : SUHU : BILANGAN NYATA MULAI MASUKKAN SUHU TUBUH PADA VARIABLE SUHU JIKA SUHU > 37 MAKA NYATAKAN PANAS SELESAI
C++ PASCAL INCLUDE <IOSTREAM.H> VOID MAIN (VOID) { FLOAT SUHU; COUT << “MASUKKAN SUHU : ”; CIN >> SUHU; IF (SUHU > 37) { COUT << “PANAS”}; COUT << “SELESAI” } VAR SUHU : REAL; BEGIN WRITE (‘MASUKKAN SUHU : ’); READLN(SUHU); IF SUHU > 37 THEN WRITELN(‘PANAS’); WRITELN(‘SELESAI’) END. PADA PERNYATAAN DIATAS “PANAS” TIDAK SELALU DITAMPILKAN TERGANTUNG KEPADA NILAI YANG DIMASUKKAN OLEH USER. TETAPI PERNYATAAN ‘SELESAI’ AKAN SELALU DITAMPILKAN KARENA TIDAK TERGANTUNG KEPADA KONDISI IF
PERNYATAAN IF....ELSE IF KONDISI(-KONDISI) YANG HARUS DIPENUHI PERNYATAAN …… ELSE KONDISI SENDIRI MERUPAKAN SUATU EKSPRESI BERTIPE BOOLEAN, ARTINYA HANYA DAPAT BERNILAI BENAR (TRUE) ATAU SALAH (FALSE) KONDISI PERNYATAAN PADA BENTUK INI : PERNYATAAN SESUDAH IF AKAN DIEKSEKUSI KALAU KONDISI BERNILAI BENAR PERNYATAAN SESUDAH ELSE AKAN DIEKSEKUSI KALAU KONDISI BERNILAI SALAH TRUE (BENAR) FALSE (SALAH)
C++ Pascal Include <iostream.h> void main (void) { float suhu; cout << “Masukkan Suhu : ”; cin >> suhu; if (suhu > 37) { cout << “Panas”;} else { cout << “Tidak Panas”;} cout << “Selesai” } Var Suhu : Real; Begin Write (‘Masukkan Suhu : ’); Readln(Suhu); If Suhu > 37 then writeln(‘Panas’) Else WriteLn(‘Tidak Panas’) Writeln(‘Selesai’) End.
PERNYATAAN IF..ELSE IF Diskon 20% Diskon 15 % Harga Buku = 2500 Jumlah Buku >= 50 Diskon 20% Diskon 15 % Diskon 10 % Tdk Ada Diskon Jumlah Buku >= 35 Jumlah Buku >= 20 Harga Buku = 2500 PERNYATAAN IF..ELSE IF
Bahasa C++] Bahasa Pascal #include <iostream.h> void main(void) { int Jumlah_Buku; float harga; cout << “Jumlah Buku: “<< endl ; cin >> Jumlah_Buku; if (Jumlah_Buku >= 50) harga= Jumlah_Buku * 0.8 * 2500; cout<< “Total harga: ”<< harga; } else if (Jumlah_Buku >= 35) harga= Jumlah_Buku * 0.85 * 2500; if (Jumlah_Buku >= 20 harga= Jumlah_Buku * 0.9 * 2500; cout << “Total harga: ”<< harga; harga= Jumlah_Buku * 2500; cout<< ”Total Harga: ”<< harga; Var Jumlah_Buku : integer; Harga_Buku : real; Begin Write (‘Jumlah Buku = ‘); ReadLn(Jumlah_Buku); IF Jumlah_Buku >= 50 then Harga:= Jumlah_Buku * 0.8 * 2500; WriteLn(‘Total Harga= ‘, Harga); End Else IF Jumlah_Buku >= 35 then Harga:= Jumlah_Buku * 0.85 * 2500; IF Jumlah_Buku >= 20 Harga:= Jumlah_Buku * 0.9 * 2500; Harga:= Jumlah_Buku * 2500; End; End.
PERNYATAAN CASE PERNYATAAN CASE DIGUNAKAN UNTUK MENYEDERHANAKAN KONSTRUKSI IF..ELSE IF YANG TERLALU BANYAK. SEBAGAI CONTOH, PROGRAM BERIKUT: If ( x = 0) then Writeln(‘X bernilai 0’) Else if (x = 1) then Writeln(‘X bernilai 1’) Else if (x = 2) then Writeln(‘X bernilai 2’) Else if (x = 3) then Writeln(‘X bernilai 3’) Else Writeln(‘X tidak bernilai 0, 1, 2, ataupun 3’); DAPAT DIGANTI MENJADI LEBIH RINGKAS DAN MUDAH DIBACA DENGAN PROGRAM BERIKUT: Case x of 0 : Writeln(‘X bernilai 0’); 1 : Writeln(‘X bernilai 1’); 2 : Writeln(‘X bernilai 2’); 3 : Writeln(‘X bernilai 3’); else Writeln(‘X tidak bernilai 0, 1, 2, ataupun 3’);; End;
Pernyataan Case Lihat contoh penggunaan case dibawah ini
CONTOH SOAL 1. TULISLAH ALGORITMA DAN PROGRAM YANG MENAMPILKAN ’GENAP’ JIKA SUATU BILANGAN ADALAH BILANGAN GENAP ATAU ’GANJIL’ JIKA BILANGAN TERSEBUT ADALAH BILANGAN GANJIL. NILAI MASUKAN ADALAH BILANGAN BULAT, YAITU X, DIMANA 0 ≤ X ≤ 65535. KELUARAN DARI PROGRAM INI ADALAH ’BILANGAN GENAP’ ATAU ’BILANGAN GANJIL’. 2. TULISLAH ALGORITMA DAN PROGRAM YANG MEMINTA MASUKAN BILANGAN BULAT DARI PENGGUNA. JIKA PENGGUNA MEMASUKKAN 0, PROGRAM MENAMPILKAN ’MINGGU’; JIKA PENGGUNA MEMASUKKAN 1, PROGRAM MENAMPILKAN ’SENIN’, DAN SETERUSNYA SAMPAI DENGAN ’SABTU’. JIKA PENGGUNA MEMASUKKAN NILAI DI LUAR JANGKAUAN 0 SAMPAI DENGAN 6, PROGRAM MENULISKAN ’HARI TIDAK VALID’