Urutan pelaksanaan instruksi (aliran program : program flow) selalu berawal dari atas menuju intruksi dibawahnya. Seperti air yang mengalir dari atas ke bawah. Urutan tersebut dapat berubah bila ada instruksi kontrol aliran program yang dapat menyebabkan berubahnya urutan pelaksanaan program. Pernyataan-pernyataan kontrol program dalam Pascal adalah:
1. GOTO nama_label;. Untuk melaksanaakan pernyataan yang ada di baris nama_label.
2. IF ungkapan_logika THEN pernyataan;. Bila ungkapan_logika benar maka pernyataan dikerjakan.
3. IF ungkapan_logika THEN pernyataan1 ELSE pernyataan2;. Bila ungkapan_logika benar maka pernyataan1 dikerjakan. Jika ungkapan_logika salah maka pernyataan2 dikerjakan.
4. CASE variabel OF
Daftar konstanta 1 : pernyataan 1; Daftar konstanta 2 : pernyataan 2; :
: :
Daftar konstanta n : pernyataan n
Pernyataan2 Pernyataan1
Nama_label
Ungk_ logis
Pernyataan SALAH
BENAR
Ungk_ logis
Pernyataan SALAH
BENAR
Ungk_ logis
Pernyataan1 Pernyataan2 BENAR
Bila nilai variabel sama dengan nilai yang ada dalam daftar konstanta 1 maka pernyataan 1 dikerjakan, bila sama dengan nila yang ada dalam daftar konstanta 2 maka pernyataan 2 dikerjakan, dst hingga pernyataan n. Bila tidak ada nilai dalam daftar konstanta yang sama dengan nilai variabel maka pernyataan m dikerjakan.
5. FOR var := awal TO akhir DO pernyataan; dan
FOR var := awal DOWNTO akhir DO pernyataan;
Untuk range nilai var = awal hingga var = akhir maka pernyataan akan dikerjakan ulang. Pada FOR-TO-DO, setiap setelah pernyataan dikerjakan maka nilai variabel var di naikkan, pada FOR-DOWNTO-DO nilai variabel var di turunkan.
Variabel =?
Pernyataan1 Pernyataan2 =DftrKonst1 =DftrKonst2
Pernyataann =DftrKonstn
Pernyataan1 Tidak ada di semua daftar
. . . . .
Variabel= DftrKonst1
Pernyataan1
Pernyataan2
Pernyataann
Pernyataanm Variabel= DftrKonst2
Variabel= DftrKonstn
SALAH
Benar
SALAH
Benar
SALAH
Benar
VAR = awal TO akhir
pernyataan;
VAR
VAR = awal DOWNTO akhir
pernyataan;
6. REPEAT pernyataan UNTIL ungkapan_logika;. Ulangi pernyataan hingga ungkapan_logika benar.
7. WHILE ungkapan_logika DO pernyataan;. Selama ungkapan_logika benar maka pernyataan akan dikerjakan berulang ulang.
Apabila pernyataan yang diperlukan lebih dari satu maka penulisan pernyataan-pernyataan tersebut harus diawali dengan begin dan diakhiri dengan end;. Operator yang digunakan dalam ungkapan logis adalah operator relasi dan operator boolean. Operator relasi ditunjukkan dalam Tabel 1 sedangkan operator boolean Tabel 2.
Tabel 1. Simbol dan arti operator relasi
Simbol operator Arti
Op1 < Op2 Operand 1 kurang dari operand 2 Op1 > Op2 Operand 1 lebih dari operand 2
Op1 <= Op2 Operand 1 kurang dari atau sama dengan operand 2 Op1 >= Op2 Operand 1 lebih dari atau sama dengan operand 2
Op1 = Op2 Operand 1 sama dengan operand 2. Bandingkan dengan := Op1 <> Op2 Operand 1 tidak sama dengan operand 2
Tabel 2. Simbol dan arti operator boolean
Simbol operator Arti
Not Op1 Negasi operand 1
Op1 and Op2 Operand 1 and operand 2 Op1 or Op2 Operand 1 or operand 2 Op1 xor Op2 Operand 1 xor operand 2
Hasil proses dari operator diatas tidak disimpan dalam variabel tertentu dan hanya untuk menyatakan kondisi benar dan kondisi salah. Dari kondisi ini keputusan diambil dan dapat menyebabkan perubahan urutan pelaksanaan program.
Pernyataan;
Ungkapan logika ? SALAH
BENAR
Pernyataan; Ungkapan logika ?
SALAH
Latihan 1: Pernyataan GOTO nama_label
Tujuan :
1. Mengetahui cara menggunakan loncatan tak bersyarat: GOTO
Langkah Percobaan
1. Tulislah program dibawah ini pada editor Turbo Pascal
Brs
ke Naskah program Keterangan
1 Program loncatan_tak_bersyarat;
2 (* --- *)
3 (* Nama : *)
4 (* NIM : *)
5 (* --- *)
6 Label ulang; Deklarasi sebuah label
7 Var counter : byte; Deklarasi sebuah variabel
8 Begin Awal program
9 Ulang: Baris yang ditandai dengan label ‘ulang’
10 Writeln('Nilai counter = ', counter);
Lihat hasilnya dan catat.
11 Writeln('Tekan enter menaikkan nilai counter');
12 Writeln('Tekan Ctrl+Break keluar');
13 Readln; Tunggu tombol [] ditekan
14 Goto ulang; Lompat ke label ulang
15 End. Akhir program
2. Kompilasi dan jalan program. Berikan respon pada perintah yang diberikan oleh program. Amati output program pada layar monitor dan catat hasilnya.
Data dari hasil pengamatan layar monitor
Baris Kolom
12345678901234567890123456788901234567890 Keterangan/komentar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Pengamatan data
Lengkapi kolom keterangan/komentar.
Lengkapilah pernyataan berikut
1. Deklarasi konstanta dilakukan dengan kata kunci: …….………
2. Penulisan label dalam program dilakukan dengan cara: ……….
……….
3. Penghentian program dengan paksa dilakukan dengan cara:
……….
……….
4. Apakah program dapat berhenti secara normal (pelaksanaan instruksi hingga baris 15)? Berikan penjelasan.
………
………
………
5. Apa fungsi dari pernyataan readln dalam program diatas ……….
……….
Latihan 2: Pernyataan IF-THEN dan IF-THEN-ELSE
Tujuan :
1. Mengetahui urutan pelaksanaan program yang mengandung pernyataan IF-THEN
dan IF-THEN-ELSE
Langkah Percobaan
1. Tulislah program dibawah ini pada editor Turbo Pascal
Brs
ke Naskah program Keterangan
1 Program Nilai_siswa;
2 (* --- *)
3 (* Nama : *)
4 (* NIM : *)
5 (* --- *)
6 Label ulang;
7 Var NilaiAngka : byte;
8 NilaiHuruf : char;
9 Begin
14 IF NilaiAngka > 100 THEN
15 Begin
16 Writeln('Nilai yang dimasukkan > 100');
17 Goto Ulang;
18 End;
19 IF NilaiAngka > 90 THEN NilaiHuruf := 'A'
20 ELSE
21 IF NilaiAngka >= 70 THEN NilaiHuruf := 'B'
22 ELSE
23 IF NilaiAngka >= 60 THEN NilaiHuruf := 'C'
24 ELSE
25 IF NilaiAngka >= 50 THEN NilaiHuruf := 'D'
26 ELSE
27 IF NilaiAngka >= 40 THEN NilaiHuruf := 'E';
28 Write('Nilai Angka = ', NilaiAngka);
29 Writeln(' (Nilai Huruf = ', NilaiHuruf, ')');
30 Writeln('Tekan Enter untuk keluar');
31 Readln; Tunggu tombol [] ditekan
32 End. Akhir program
2. Kompilasi dan jalan program. Berikan respon pada perintah yang diberikan oleh program. Amati output program pada layar monitor dan catat hasilnya.
Data dari hasil pengamatan layar monitor
Baris Kolom
12345678901234567890123456788901234567890 Keterangan/komentar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Pengamatan data
Lengkapi kolom keterangan/komentar.
Lengkapilah pernyataan berikut
1. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 200?
…….………..
2. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 20?
……….
3. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 65?
……….
4. Pesan apa yang diperoleh bila nilai angka yang diberikan berupa pecahan? Berikan penjelasan.
………
………
5. Apa pengaruh pernyataan readln; (baris 31) dalam program diatas?
……….
……….
Latihan 3: Pernyataan repeat – until dan while - do
Tujuan :
3. Mengetahui urutan pelaksanaan program yang mengandung pernyataan repeat –
until dan while - do
Langkah Percobaan
1. Tulislah program dibawah ini pada editor Turbo Pascal
Brs
ke Naskah program Keterangan
1 Program Nilai_siswa;
2 (* --- *)
3 (* Nama : *)
4 (* NIM : *)
5 (* --- *)
6 Var NilaiAngka : byte;
7 NilaiHuruf,
8 Key : char;
9 Begin
13 Repeat
14 Write('Masukkan Nilai Angka (0 .. 100) =');
15 Readln(NilaiAngka);
16 Writeln('Angka yang dimasukkan = ', NilaiAngka);
17 Until NilaiAngka <= 100;
18 Case NilaiAngka Of
19 91..100 : NilaiHuruf := 'A'
20 70..90 : NilaiHuruf := 'B'
21 60..69 : NilaiHuruf := 'C'
22 50..59 : NilaiHuruf := 'D'
23 0..40 : NilaiHuruf := 'E'
24 End;
25 Writeln('Nilai Huruf = ', NilaiHuruf);
26 Tekan [Y] untuk mengulang;
27 Key := readkey;
28 End;
4. Kompilasi dan jalan program. Berikan respon pada perintah yang diberikan oleh program. Amati output program pada layar monitor dan catat hasilnya.
Data dari hasil pengamatan layar monitor
Baris Kolom
12345678901234567890123456788901234567890 Keterangan/komentar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Pengamatan data
Lengkapi kolom keterangan/komentar.
Lengkapilah pernyataan berikut
1. Berapa nilai variabel Key pada baris 10? Bagaimana Anda dapat membuktikan?
…….………..
2. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 200?
……….
3. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 20?
……….
4. Pernyataan mana yang dikerjakan bila nilai angka yang diberikan adalah 65?
……….
4. Pesan apa yang diperoleh bila nilai angka yang diberikan berupa pecahan? Berikan penjelasan.
………
………
6. Apa yang dikerjakan komputer bila tombol yang ditekan adalah ’y’ bukan ’Y’?
……….