Bab 3 Struktur Percabangan 95
Jika kita menginputkan harga sebesar 500000 maka nilai harga total menjadi .. a. 475000
b. 500000 c. 25000
d. 0 e. 525000
3. Diberikan potongan kode program berikut. p:=4;
q := 7; if pq then
p=p-q; writelnp;
Keluaran dari algoritma di atas adalah .... a. 4
b. 7 c. 3
d. -3 e. 11
4. Perhatikan potongan kode program berikut. if bil=3 then
write‘bagus’; if bil=3 then
write‘biasa’; Jika sebelumnya diberikan nilai bil := 3 maka outputnya adalah ..
a. error b. Bagus
c. Biasa d. Bagusbiasa
e. Tidak muncul apa apa 5. Perhatikan potongan kode program berikut.
Hasil:=b+c; If ab then
begin c:=a;
b:=a; a:=c;
end;
96 Pemrograman Dasar SMK Kelas X Sem 2
hasil:=a-b; Jika sebelumnya diberikan nilai a:=9 dan b:=3 maka outputnya adalah ...
a. 6 b. -6
c. 9 d. 3
e. 12
B. Essay
1. Buatlah program, dimana user diminta menginputkan 3 bilangan dan outputnya adalah bilangan terbesar
Bab 3 Struktur Percabangan 97
3.2. KEGIATAN BELAJAR 2PERCABANGAN DENGAN 2 KONDISI
3.2.1. Tujuan Pembelajaran
Sisiwa memahami algoritma percabangan dengan dua kondisi
3.2.2. Aktivitas Kegiatan Belajar 3.2.2.1. Mengamati
Perhatikan kedua source codeberikut : Kode Program 1
Program DiskonBaju; var hargaNormal, ProsenDiskon:integer;
BesarDiskon, hargaAkhir: real; Begin
write‘Masukkan total harga pembelian: ‘ ; readln TotalBelanja;
ProsenDiskon:=20; if TotalBelanja=200000 then
ProsenDiskon:=25; BesarDiskon=ProsenDiskon100TotalBelanja;
TotalBayar=TotalBelanja-BesarDiskon; writeln‘Total harga yang harus dibayar adalah : ‘, TotalBayar:6:2;
end.
Kode Program 2
Program DiskonBaju; var hargaNormal, ProsenDiskon:integer;
BesarDiskon, hargaAkhir: real; Begin
write‘Masukkan total harga pembelian: ‘ ; readln TotalBelanja;
if TotalBelanja=200000 then ProsenDiskon:=25
Else ProsenDiskon:=25;
BesarDiskon=ProsenDiskon100TotalBelanja; TotalBayar=TotalBelanja-BesarDiskon;
writeln‘Total harga yang harus dibayar adalah : ‘, TotalBayar:6:2;
98 Pemrograman Dasar SMK Kelas X Sem 2
end.
3.2.2.2. Menanya
Dari kedua source code diatas buat lah pertanyaanseperti : 1. Adakah perbedaan antara 2 source code diatas ?
2. Apakah kedua source code tersebut jika dibuat program akan menghasilkan output yang sama?
3. Manakah yang lebih baik di antara kode di atas? 4. Kode 1 menggunakan percabnagan dengan 1 kondisi sedangkan kode 2 menggunakan
percabangan dengan dua kondisi, mengapa disebut demikian? 5. Bagaimana format penulisan percabangan 2 kondisi dalam Bahasa pascal?
6. Bagaimna cara kerja dari percabangan 2 kondisi?
3.2.2.3. Mengumpulkan InfromasiMencoba
Pada dasarnya program di atas adalah program untuk menyelesaikan permasalahan yang sama, hanya beda dalam penyajian saja. Hal ini sebagaimna pembahasan pada semester 1,
bahwa ada percabngan dengan 1 kondisi, 2 kondisi atau lebih. Pada percabangan 1 kondisi, ketika kondisi dipenuhi maka proses tertentu akan dijalankan,
jika tidak maka tidak dilakukan apa-apa. Padahal dalam kehidupann nyata, permasalahan seringkali terjadi melibatkan dua kondisi. Misalkan “Jika nilai lebih besar 60 maka lulus, jiak tidak,
ma ka tidak lulus”; “Jika rajin belajar maka naik kelas, jika tidak maka tinggal kelas”; “Jika bobot
truk=100 ton maka tidak boleh lewat, jika kurang dari itu boleh lewat”. Kenyatannya seperti itu dalam kehidupan sehari-hari sehingga percabangan dengan dua kondisi lebih banyak digunakan.
Seperti halnya pada contoh di atas, sebenarnya mempunyai dua kondisi, jika total belanja 200 ribu maka diskonnya 20 jika lebih besar atau sama dengan 200 ribu maka diskonnya menjadi
25. Oleh karena itu pada percabangan dengan 1 kondisi pernyataan Prosendiskon:=20
diletakkan sebelum struktur if then, karena digunakan sebagai nilai default dari prosen diskon. Hal ini dapat disjajikan dalam bentuk yang lebih cocok menggunakan struktur if then else sebagai
bentuk percabangan dengan dua kondisi. Dalam percabangan 2 kondisi ini digunakan struktur if then else. Format penulisannya
hampir sama dengan percabangan 1 kondisi bedanya di tambah dengan else. Bentuk umum penulisan if then else sebagai berikut :
If syarat then Pernyataan1