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 di
KONTROL PROGRAM
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: GOTO nama_label;.
1. Untuk melaksanaakan pernyataan yang ada di baris
nama_label.Pernyataan1 Pernyataan2
Nama_label
IF ungkapan_logika THEN pernyataan;.2. Bila ungkapan_logika benar maka pernyataan dikerjakan.
SALAH Ungk_ Ungk_ BENAR logis logis BENAR SALAH
Pernyataan Pernyataan
IF ungkapan_logika THEN pernyataan1 ELSE pernyataan2;.
3. Bila ungkapan_logika benar maka pernyataan1 dikerjakan. Jika ungkapan_logika salah maka pernyataan2 dikerjakan.
SALAH
Ungk_ logis BENARPernyataan1 Pernyataan2
CASE variabel OF 4.
Daftar konstanta 1 : pernyataan 1; Daftar konstanta 2 : pernyataan 2;
: : :
Daftar konstanta n : pernyataan n ELSE pernyataan m; END; 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.
dan FOR var := awal DOWNTO akhir DO pernyataan;
Untuk range nilai var = awal hingga var = akhir maka pernyataan akan dikerjakan ulang. Pada REPEAT pernyataan UNTIL ungkapan_logika;.
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 Pernyataan1Tidak ada di semua daftar . . . . .
Variabel= DftrKonst1 Pernyataan1 Pernyataan2
Pernyataann Pernyataanm Variabel= DftrKonst2 Variabel= DftrKonstn
SALAH Benar SALAH Benar
SALAH Benar
5. FOR var := awal TO akhir DO pernyataan;
VAR = awal TO akhir pernyataan;
VAR
VAR = awal DOWNTO akhir pernyataan;
VAR
6. Ulangi pernyataan hingga ungkapan_logika benar.
Pernyataan; SALAH Ungkapan logika ?
BENAR WHILE ungkapan_logika DO pernyataan;.
7. Selama ungkapan_logika benar maka pernyataan akan dikerjakan berulang ulang.
SALAH Ungkapan logika ? BENAR
Pernyataan; 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 ArtiOp1 < 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.Pemakaian operator harus memperhatikan prioritas pelaksanaannya. Tabel prioritas telah disajikan dalam materi terdahulu.
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
1 Program loncatan_tak_bersyarat; 2 (* ----------------------------- *) 3 (* Nama : *) 4 (* NIM : *) 5 (* ----------------------------- *)
3
15
14
13
12
11
10
9
8
7
6
5
4
2
6 Label ulang; Deklarasi sebuah label
1
Data dari hasil pengamatan layar monitor Baris Kolom 12345678901234567890123456788901234567890 Keterangan/komentar
Brs ke Naskah program Keterangan
Akhir program 2.
14 Goto ulang; Lompat ke label ulang 15 End.
] ditekan
13 Readln; Tunggu tombol [
12 Writeln('Tekan Ctrl+Break keluar');
11 Writeln('Tekan enter menaikkan nilai counter');
10 Writeln('Nilai counter = ', counter); Lihat hasilnya dan catat.
9 Ulang: Baris yang ditandai dengan label ‘ulang’
8 Begin Awal program
7 Var counter : byte; Deklarasi sebuah variabel
Kompilasi dan jalan program. Berikan respon pada perintah yang diberikan oleh program. Amati output program pada layar monitor dan catat hasilnya.
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.……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
readln
5. Apa fungsi dari pernyataan dalam program diatas ………………………….
…………………………………………………………………………………………….
Latihan 2: Pernyataan
IF-THEN dan IF-THEN-ELSE Tujuan :
Mengetahui urutan pelaksanaan program yang mengandung pernyataan
IF-THEN 1.
dan IF-THEN-ELSE
Langkah Percobaan
1. Tulislah program dibawah ini pada editor Turbo Pascal Brs Naskah program Keterangan ke
1 Program Nilai_siswa; 2 (* ----------------------------- *) 3 (* Nama : *) 4 (* NIM : *) 5 (* ----------------------------- *)
6 Label ulang; NilaiAngka : byte;
7 Var NilaiHuruf : char;
8
9 Begin
10 Ulang:
11 Write('Masukkan Nilai Angka (0 .. 100) =');
12 Readln(NilaiAngka);
13 Writeln('Angka yang dimasukkan = ', NilaiAngka);
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 Kolom Baris Keterangan/komentar 12345678901234567890123456788901234567890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.……………………………………………………………………………………………
……………………………………………………………………………………………
readln;
5. (baris 31) dalam program diatas? Apa pengaruh pernyataan
…………………………………………………………………………………………….
…………………………………………………………………………………………….
Latihan 3: Pernyataan repeat – until dan while - do Tujuan :
Mengetahui urutan pelaksanaan program yang mengandung pernyataan
repeat – 3.
until while - do
dan Langkah Percobaan
1. Tulislah program dibawah ini pada editor Turbo Pascal Brs Naskah program Keterangan ke
1 Program Nilai_siswa; 2 (* ----------------------------- *) 3 (* Nama : *) 4 (* NIM : *) 5 (* ----------------------------- *)
NilaiAngka : byte;
6 Var
7 NilaiHuruf,
8 Key : char;
9 Begin 10 key := ’Y’;
11 While key = ’Y’ do
12 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
: NilaiHuruf := 'A'
19 91..100
: NilaiHuruf := 'B'
20 70..90
: NilaiHuruf := 'C'
21 60..69
: NilaiHuruf := 'D'
22 50..59
: NilaiHuruf := 'E'
23 0..40
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 Kolom Baris Keterangan/komentar 12345678901234567890123456788901234567890
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Pengamatan data Lengkapi kolom keterangan/komentar. Lengkapilah pernyataan berikut
Key
1. Berapa nilai variabel 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.……………………………………………………………………………………………
……………………………………………………………………………………………
y Y 6.
’ bukan ’ ’? Apa yang dikerjakan komputer bila tombol yang ditekan adalah ’
…………………………………………………………………………………………….
…………………………………………………………………………………………….