STRUKTUR KONTROL
Struktur WHILE-DO
False C
true
statement
Contoh : program untuk mencetak bilangan bulat positif yang lebih kecil dari
20.
digit := 1;
WHILE digit <= 20 DO
Begin
Write(digit);
digit := digit + 1;
End.
Contoh :
Var
I : integer;
Begin
I := 0;
While I < 5 Do
Begin
WriteLn(I);
I := I + 1;
End;
End.
Hasilnya :
0
1
2
3
4
Penjelasan :
Perulangan dari While akan terus dikerjakan bila kondisinya masih benar.
Dalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti
kondisi di dalam While masih terpenuhi dan perulangan akan selesai setelah
nilai I lebih besar atau sama dengan 5.
*
** *
*****
*******
Program While_bersarang
Uses Crt ;
Var
Baris {-Pencacah Baris-}
Kolom {-Pencacah Kolom-}
Jumbaris : Integer ; {-Jumlah Baris-}
Begin
ClrScr ;
Write (‘Jumlah Baris :’) ;
ReadLn (Jumbaris) ;
Baris := 1 ;
While Baris <= Jumbaris do
Begin
{-Menulis * yang pertama-}
write (‘*’: Jumbaris + 1 – baris) ;
{-Menulis * selanjutnya-}
Kolom := 2 ;
While kolom <= (2*baris-1) do
Begin
Write (‘*’)
Kolom := kolom + 1 ; {-Naikkan kolom-}
End ;
Writeln ; {-Pindah baris-}
Baris := baris + 1 ; {-Naikkan baris-}
End;
End.
Struktur REPEAT-UNTIL
statement
false
C
true
digit := 1;
REPEAT
write (digit);
digit := digit + 1
UNTIL digit > 5 ;
Contoh :
Var Var
I : integer; I : integer;
Begin Begin
I := 0; I := 0;
Repeat While I < 5 Do
I := I + 1; Begin
Writeln(I); WriteLn(I);
Until I = 5; I := I + 1;
End. End;
End.
Hasilnya:
Hasilnya :
1 0 0
2 1 1
3 2
4 3
5 4
Struktur FOR
Sintaks dari statement For dalam bentuk diagram adalah sebagai berikut :
Bentuk Umum :
a. FOR id := v1 TO v2 DO statement
b. FOR id := v1 DOWNTO v2 DO statement
To
DownTo
Bentuk Proses :
id = v1 id = v1
t = v2 t = v2
false false
id <= t id >= t
true true
statement statement
Contoh :
Var
I : integer;
Begin
For I := 1 to 5 Do Writeln(‘Pascal’);
End.
Hasilnya :
Pascal
Pascal
Pascal
Pascal
Pascal
Penjelasan :
Berarti statement WriteLn(‘Pascal’) akan diulang sebanyak 5 kali, yaitu dengan
penghitung I dari nilai awal 1 sampai dengan nilai akhir 5.
Contoh :
Penulisan statement yang akan diproses berulang kali tersebut dapat juga
ditulis dalam bentuk blok statement (diawali dengan Begin dan diakhiri dengan
And), walaupun hanya berisi sebuah statement saja, sebagai berikut :
Var
I : integer;
Begin
For I := 1 to 5 Do
Begin
WriteLn(‘Pascal’);
End;
End.
Hasilnya :
Pascal
Pascal
Pascal
Pascal
Pascal
FOR_BERSARANG
Contoh :
*
**
***
****
*****
******
*******
********
Program for_bersarang
Const
Akhir := 8 ;
Var
Baris, kolom : integer
Begin
For baris := 1 to akhir do
Begin
For kolom := 1 to baris do
Write (‘*’) ;
WriteLn ;
End ;
End.
Uses Crt ;
Var
R : char ;
Begin
Clrscr ;
For R := ‘A’ to ‘Z’ do
Write ( R ) ;
End.
Hasil :
ABC………..dst
Struktur IF
Bentuk Umum :
Bentuk Flowchart :
True
IF TERSARANG
False R True
True False
R
Statement_1 Statement_2
Contoh : If - Then
Var
NilaiUjian : real;
Ket : string[11];
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai yang didapat ? ‘);
Readln(NilaiUjian);
If NilaiUjian > 60 Then Ket :=’Lulus’;
Writeln(Ket);
End.
Hasilnya :
Nilai yang didapat ? 70
Lulus
FlowChart :
Begin
yes
NilaiUjian > 60;
no
Ket := 'Lulus'
WriteLn(Ket)
End.
Contoh : If - Then - else
Var
NilaiUjian : real;
Ket : string[11];
Begin
Write(‘Nilai yang didapat ? ‘);
Readln(NilaiUjian);
If NilaiUjian > 60 Then
Writeln(‘Lulus’);
Else
Writeln(‘Tidak Lulus’);
End.
Hasilnya :
Nilai yang didapat ? 70
Lulus
FlowChartnya :
Begin
no yes
NilaiUjian > 60;
End.
Struktur CASE
Decision
cll-1 cll-n
S-1 S-n
S-2
S-3
....dst....
keterangan :
cll = case label list
Contoh :
1:
1,2,3,4:
1..5:
‘A’:
‘A’,’B’:
‘A’..’D’:
Contoh :
Hasil :
Nilai huruf yang didapat C
cukup
Contoh :
Struktur GOTO
Contoh :
Label 10,selesai;
Begin
Writeln(‘Bahasa’);
Goto 100;
Writeln(‘Basic’);
100;
Writeln(‘Pascal’);
Goto selesai;
Writeln(‘Cobol’);
Selesai;
End.