Sebagaimana pembahasan pada algoritma, dalam bahasa pemrograman ini struktur percabangan terdiri dari beberapa macam, yaitu percabangan dengan 1 kondisi, 2 kondisi, lebih dari dua kondisi dan percabangan bersarang.
Perhatikan permasalahan berikut.
Sebuah Toko Baju memberlakukan diskon akhir tahun sebesar 20% untuk semua koleksi yang dijual. Namun diskon akan dinaikkan menjadi 25% jika total belanjaan lebih dari 200 ribu rupiah. Untuk itu toko tersebut membutuhkansebuah program untuk menghitung jumlah uang yang harus dibayarkan oleh pelanggan untuk baju-baju yang telah dibeli.
Percabangan dengan 1 kondisi dapat dituliskan
IF (kondisi) THEN
Pernyataan1
Pernyataan 2
dst
Jika dilihat pada permasalahan di atas, pada kasus 1, setiap pembelanjaan dapat diskon sebesar 20% dari harga normal. Namun jika total belanjaan lebih dari 200 ribu maka diskonnya menjadi 25%, maka hal ini dapat dinyatakan dalam algoritma sebagai berikut.
Pertama tentukan semua variabel terlebih, dahulu. Ada hargaTotalBelanja, prosentase diskon (skala 1-100), besar diskon, dan TotalBayar. Selanjutnya dibuat algoritma berikut.
Algoritma Diskon Baju
Variabel hargaNormal, ProsenDiskon,:integer BesarDiskon, hargaAkhir:bilangan real
1) READ TotalBelanja
2) ProsenDiskon=20
3) IF (TotalBelanja>=200000) THEN
4) ProsenDiskon=25
5) BesarDiskon=(ProsenDiskon/100)*TotalBelanja
6) TotalBayar=TotalBelanja-BesarDiskon
7) WRITE TotalBayar
8) END
Selanjutnya algoritma di atas akan dikonveris ke dalam bahasa pemrograman Pascal. Karena pseudocode yang kita bahas adalah pseudocode berbasis Pascal, maka tidak ada perubahan yang berarti. Dalam bahasa pascal, struktur percabangand engan 1 kondisi dituliskan,
if (kondisi) then
Pernyataan;
Jika pernyataan lebih dari satu maka dituliskan
if (kondisi) then Begin
Pernyataan1;
Pernyataan2;
dst;
end;
Percabangan Dengan 2 Kondisi
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.
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
else
Pernyataan2;
Sintaks di atas jika hanya menggunakan pernyataan tunggal untuk setiap syarat. Jika pernyataan lebih dari satu untuk tiap syarat, maka dapat ditambahkan begin dan end seperti berikut.
If (syarat1) then begin
Pernyataan1;
Pernyataan2;
end
else
begin
Pernyataan3;
Pernyataan4;
End;
Cara kerja nya bisa dijelaskan melalui gambar flowchart berikut :
Percabangan Lebih dari 2 Kondisi
Sebagaimana dalam penyajian algoritma dengan pseudocode, di Bahasa Pascal kita bisa menggunakan dua macam struktur untuk menyajian percabangan dengan lebih dari dua kondisi, yaitu dengan menggunakan struktur if then else if atau dengan menggunakan bentuk switch of.
1. Struktur if then else if
Dalam pseudocode, percabangan dengan lebih dari dua kondisi dituliskan sebagai berikut.
IF (kondisi1) THEN Pernyataan1
ELSEIF (kondisi2) THEN Pernytaan2
ELSE
Pernyataan3
2. Struktur case of
Jika ada kondisi dimana permasalahan dengan 5 kondisi (percabngan), maka penyajian algoritma menjadi memanjang ke kanan. Dan ini akan menjadi kurang menarik dan efektif dalam penulisan, meskipun hasilnya tetap sama. Alternatifnya adalah dengan menggunakan struktur case of sebagai mana pada pembahasan algoritma. Pada struktur case of, seluruh kemungkinan nilai didaftar dan diberikan pernyataan yang sesuai dengan nilai yang dimilki variabel.
Kekuranganya bahwa struktur ini hanya bekerja pada variabel dengan tipe data ordinal, yaitu tipe data yang dapat dihitung, dlam hal ini adalah integer, karakter atau tipe data set (tipe data terstruktur). Jika variabel yang akan diubah dalam bentuk case of belum menjadi salah satu bentuk ini maka perlu diubah ke salah satu bentuk tipe data.
Percabangan Bersarang
If bersarang atau nested if adalah percabangan di dalam percabangan. Kita bisa memasukkan struktur if then di dalam struktur if then yang lain sehingga bisa membentuk sesuatu yang lebih kompleks berbeda saat kita hanya menggunakan percabanganbiasa. Bentuk umum dari if bersarang adalah sebagai berikut :
If (kondisi1) then
If (kondisi2) then
Pernyataan1; Else
Pernyataan2;
Else
Pernyataan3;
Comments