Percabangan dalam bahasa pascal ada 2 macam yaitu if then else dan case of, pada bahasa C/C++ juga ada 2 macam yaitu if else (sama dengan if then else pada pascal) dan switch (sama dengan case of pada pascal)
1. Struktur if then else pada pascal
if (kondisi) then begin
perintah
end;
jika menggunakan else
if (kondisi) then begin
perintah
end //perhatikan, disini tidak menggunkan ';'
else begin
perintah
end;
Dapat juga menggunakan
if (kondisi) then begin
perintah
end
else (kondisi) begin
perintah
end;
Contoh :
if (i<0) then begin
writeln('bilangan negatif');
end;
Pada contoh diatas apabila suatu variable i yang bertipe integer, nilainya<0 maka program akan mengeluarkan tulisan "bilangan negatif" pada layar, sedang apabila i>=0 maka program tidak akan mengeluarkan apa-apa
Contoh 2 :
if (i<0) then begin
writeln('bilangan negatif');
end
else begin
writeln('bilangan bukan negatif');
end;
Pada contoh diatas apabila suatu variable i yang bertipe integer, nilainya<0 maka program akan mengeluarkan tulisan "bilangan negatif" pada layar, sedang apabila i>=0 maka program akan mengeluarkan tulisan "bilangan bukan negatif" pada layar
contoh 3 :
if (i<0) then begin
writeln('bilangan negatif');
end
else if (i=0) then begin
writeln('nol');
end
else begin
writeln('bilangan lebih dari 0');
end;
Pada contoh diatas apabila suatu variable i yang bertipe integer, nilainya<0 maka program akan mengeluarkan tulisan "bilangan negatif" pada layar, sedang apabila i=0 maka program akan mengeluarkan tulisan "nol" pada layar, sedang bila i>0 maka akan muncul "bilangan lebih dari 0".
Proses yang terjadi pada percabangan ini (contoh 3) adalah demikian : apabila tidak memenuhi kondisi 1 (i<0), maka akan lanjut ke kondisi 2(i=0), apa bila tidak memuhi kondisi 2 (yang artinya juga tidak memenuhi kondisi 1) maka akan lanjut ke kondisi 3.
if then else pada C/C++ sama dengan pascal, hanya sintaksnya saja yang berbeda, pada C/C++, contoh
if (i<0) {
printf("Negatif");
}
else if (i==0) {
printf("Nol");
}
else {
printf("Bilangan asli");
}
2. struktur case of pada pascal
case(variable) of begin
nilai1 :
nilai2 :
...
else begin
end;
end;
Contoh
case (x) of begin
1 : writeln('satu');
2 : writeln('dua');
end;
Pada contoh diatas, misalkan x adalah sebuah variable bertipe integer, ketika nilainya 1, maka akan dioutputkan "satu" pada layar, bila nilainya 2, maka akan dioutputkan "dua" pada layar. Bentuk diatas apabila dibuat dengan struktur if then else maka menjadi
if (x=1) then begin
writeln('satu');
end
else if (x=2) then begin
writeln('dua');
end;
case of lebih baik digunakan untuk kasus yang sudah pasti, contohnya x nilainya yang sudah pasti 1 atau 2 saja. Apabila suatu kasus yang nilainya belum pasti (seperti <0 atau >0 --> mencakup banyak hal), lebih baik menggunakan if then else.
struktur switch pada C/C++ :
switch(x) {
1 : { printf("satu"); break; }
2 : { printf("satu"); break; }
}
mohon diperhatikan, bahwa pada C/C++ harus menggunakan "break;"