Indentasi pada penulisan program adalah sangat penting. Kesalahan menuliskan indentasi akan menyebabkan kesalahan dalam memahami alur logika program. Sebagai contoh bisa dilihat potongan kecil program berikut.
procedure tes(a,b,c:integer);
var x:integer;
begin
x:=1;
if a < b then
if b < c then x:=2
else x:=3;
writeln(x);
end;
Pada program tersebut, ketika parameter a,b,c masing masing bernilai 1,2 dan 3, tidak akan terjadi kesalahan dalam memahami alur logikanya. Karena a < b terpenuhi dan b < c terpenuhi maka x bernilai 2. Masalah terjadi ketika parameter nilai a,b,c masing masing bernilai 2,1,3. Karena a < b tidak terpenuhi, maka sebagian pembaca program langsung terjebak mengeksekusi instruksi ‘else x:=3′, tanpa menghiraukan if yang ada di dalamnya. Padahal ‘else’ tersebut adalah kepunyaan ‘if b < c’ dan bukan miliknya ‘if a < b’. ‘x:=3′ tidak akan pernah tereksekusi, sehingga x akan bernilai 1 yang didapat dari instruksi awal yaitu ‘x:=1′. Kesalahan baca yang identik terjadi ketika nilai a,b,dan c masing masing bernilai 1,3,2. Untuk menghindari hal tersebut, maka indentasi pada else perlu dibetulkan menjadi
procedure tes(a,b,c:integer);
var x:integer;
begin
x:=1;
if a < b then
if b < c then x:=2
else x:=3;
writeln(x);
end;
Namun apabila else tersebut secara logika seharusnya memang merupakan kepunyaan if yang pertama, maka potongan programnya adalah
... if a < b then begin if b < c then x:=2 end else x:=3; ...
Sederhana memang, namun penting bagi mahasiswa yang sedang mengambil matakuliah pemrograman di semester awal.
Pak Heru masih ingat saya? Saya Lyla, teman pak Heru dulu yang dari Cilacap. Saya liat ada foto dari mybloglog pak Heru di blog saya (http://lylafitri.com). Oya saya pernah liat pak Heru dan keluarga di soto Pak Sholeh tp saya gak nyapa soalnya mungkin pak Heru lupa sama saya.
Comment by Lyla — January 9, 2009 @ 4:54 pm
Masih ingat. Apa kabar … ternyata nge-blog juga ya… iya… saya beberapa bulan yang lalu makan di soto pak Sholeh bersama keluarga… kalau jumpa nyapa aja …
Comment by heru — January 15, 2009 @ 12:04 pm