Pencabangan Bersarang

Jika pada suatu saat kita menjumpai sebuah pencabangan di dalam pencabangan, maka hal ini yang disebut sebagai pencabangan bersarang atau nested branching. Mengapa bisa timbul hal seperti ini? Hal ini dimungkinkan apabila kita akan memeriksa beberapa kondisi atau syarat sehingga kita tidak hanya membutuhkan satu pencabangan melainkan banyak pencabangan untuk memeriksa kondisi yang berbeda-beda.

Langsung saja kita lihat contoh programnya
Uses crt;
Var
nilai:integer;
Begin
Clrscr;
Write(‘Masukkan nilai Anda: ‘);
readln(nilai);
If nilai>=90 then
begin
writeln(‘Nilai Memuaskan’);
end
else
begin
If nilai>=80 then
begin
writeln(‘Nilai Baik’);
end
else
begin
If nilai>=60 then
begin
writeln(‘Nilai Cukup’);
end
else
begin
writeln(‘Nilai Kurang’);
end;
end;
end;
End.

Dalam program diatas, kita menggunakan tiga buah perintah IF yang saling bersarang. Sebagaimana sifat dari pencabangan bahwa hanya akan ada satu cabang saja yang dilalui program sedangkan yang lain akan diabaikan. Semuanya kembali kepada nilai yang diinputkan. Jika nilainya lebih besar dari 90, maka yang dicetak adalah Nilai memuaskan, sedangkan untuk nilai lebih besar dari 80, dicetak Nilai Baik dan seterusnya.
Bentuk lain dari pencabangan bersarang adalah perintah CASE … OF. Bentuk ini lebih sering digunakan untuk penulisan pencabangan bersarang karena strukturnya yang lebih sederhana. Coba perhatikan programnya untuk kasus atau permasalahan yang sama seperti diatas.

Uses crt;
Var
nilai:integer;
Begin
Clrscr;
Write(‘Masukkan nilai Anda: ‘);
readln(nilai);
case nilai of
90..100 : write(‘Nilai Memuaskan’);
80..89 : write(‘Nilai Baik’);
60..79 : write(‘Nilai Cukup’);
else write(‘Nilai Kurang’);
end;
End.

Bukankah dengan struktur CASE … OF, kita akan menjumpai program yang lebih singkat dan pendek untuk menghasikan output yang sama?
Operator
Istilah operator digunakan untuk melakukan suatu operasi. Ada 2 macam operator yang dikenal di dalam Pascal yaitu:
* Operator Simbol: biasanya diwakili dengan simbol =, <>, <, <=, >, >=
* Operator Logika, yaitu NOT, AND dan OR
Operator NOT akan menghasilkan nilai kebalikan dari nilai yang seharusnya. Jadi jika suatu pernyataan ataupun kondisi bernilai benar, maka dengan operator NOT akan dihasilkan nilai kebalikannya yaitu salah, demikian juga sebaliknya.
Operator AND dan OR biasanya akan digunakan untuk menggabungkan dua atau lebih (pada umumnya dua saja) pernyataan atau kondisi. Adapun hasil dari penggabungan dua pernyataan dengan operator AND atau OR adalah berbeda. Berikut ini dikenal sebagai tabel kebenaran atau truth table yang dapat dijadikan acuan untuk menentukan hasil dari suatu pengecekan.

Kondisi 1 Kondisi 2 Operator AND Operator OR
Benar Benar Benar Benar
Benar Salah Salah Benar
Salah Benar Salah Benar
Salah Salah Salah Salah

Suatu kesimpulan dapat kita ambil untuk kedua operator ini.
Operator AND akan bernilai BENAR, hanya jika kedua kondisi bernilai BENAR
Operator OR akan bernilai SALAH, hanya jika kedua kondisi bernilai SALAH