Anda di halaman 1dari 5

1.

Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
REPEAT
WRITE(‘A’);
A := A + 1;
UNTIL A > 5;

Jawab:

Nilai awal A bernilai 1.


Looping (Pengulangan berupa Repeat-Until).
Perintah WRITE(‘A’);untuk menampilkan huruf A di layar.
A:=A+1; berarti nilai awal A ditambah 1, maka nilai A menjadi
2.
Lalu bertemu dengan UNTIL A>5; maka pascal secara otomatis
menanyakan apakah A lebih besar daripada 5? Jika nilai A tidak
terpenuhi, maka pascal akan melakukan pengulangan Repeat-
Until. Nilai A adalah 2 yang berarti kondisi tidak terpenuhi,
maka pascal akan melakukan pengulangan Repeat-Until sampai
nilai A>5.
1. Repeat- Write(‘A’) AA
A:=3
2. Repeat- Write(‘A’) AAA
A:=4
3. Repeat- Write(‘A’) AAAA
A:=5
4. Repeat- Write(‘A’) AAAAA
A:=6
5. Kondisi looping repeat terpenuhi, maka pascal tidak
melakukan pengulangan.

Tampilan di Layar:

AAAAA

2. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
B := 5;
REPEAT
WRITE(B);
A := A + 1;
UNTIL A>5;

Jawab:

Nilai awal A adalah 1.


Nilai awal B adalah 5.
Looping (Pengulangan berupa Repeat-Until)
Perintah WRITE(B);untuk menampilkan nilai B di layar. Maka
yang ditampilkan adalah angka 5. Bukan huruf B.
A:=A+1; berarti nilai awal A ditambah 1, maka nilai A
menjadi 2.
Lalu bertemu dengan UNTIL A>5; maka pascal secara otomatis
menanyakan apakah A lebih besar daripada 5? Jika nilai A
tidak terpenuhi, maka pascal akan melakukan pengulangan
Repeat-Until. Nilai A adalah 2 yang berarti kondisi tidak
terpenuhi, maka pascal akan melakukan pengulangan Repeat-
Until sampai nilai A > 5.
1. Repeat- Write(B)  55
A:=3
2. Repeat- Write(B) 555
A:=4
3. Repeat- Write(B) 5555
A:=5
4. Repeat- Write(B) 55555
A:=6
5. Kondisi looping repeat terpenuhi, maka pascal tidak
melakukan pengulangan.

Tampilan di Layar:

55555

3. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
REPEAT
B := 1;
REPEAT
WRITE(‘*’);
UNTIL B=1;
WRITELN;
A := A + 1;
UNTIL A>3;

Jawab:

Nilai awal A adalah 1.


Looping (Pengulangan berupa Repeat Until)
Nilai awal B adalah 1.
Bertemu kembali dengan Looping (Pengulangan berupa Repeat
Until).
Perintah WRITE(‘*’); untuk menampilkan Bintang (*) di layar.
Bertemu UNTIL B=1; berarti looping tersarang B terpenuhi dan
dilanjutkan ke perintah selanjutnya.
Bertemu WRITELN; untuk mencetak baris baru.
A:=A+1; berarti nilai awal A ditambah 1, maka nilai A
menjadi 2.
Lalu bertemu dengan UNTIL A>3; maka pascal secara otomatis
menanyakan apakah A lebih besar daripada 3? Jika nilai A
tidak terpenuhi, maka pascal akan melakukan pengulangan
Repeat-Until. Nilai A adalah 2 yang berarti kondisi tidak
terpenuhi, maka pascal akan melakukan pengulangan Repeat-
Until sampai nilai A>3.
1. Repeat-Write(‘*’) *
*
A:=3
2. Repeat-Write(‘*’) *
*
*
A:=4
3. Kondisi looping repeat terpenuhi karena nilai A sudah di
atas 3, maka pascal tidak melakukan pengulangan.

Tampilan di Layar:

*
*
*

4. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
WHILE A<=3 DO
Begin
B := 1;
REPEAT
WRITE(‘*’);
UNTIL B=2;
WRITELN;
A := A + 1;
END;

Jawab:

Nilai awal A adalah 1.


Looping (Pengulangan berupa While Do)
Nilai awal B adalah 1.
Bertemu kembali dengan Looping (Pengulangan berupa Repeat-
Until).
Perintah WRITE(‘*’); untuk menampilkan Bintang (*) di layar.
Bertemu UNTIL B=2; berarti looping tersarang B belum
terpenuhi dan akan kembali untuk melakukan pengulangan.
Melakukan perintah Write(‘*’); lagi untuk menampilkan
Bintang (*) di layar.
Bertemu UNTIL B=2; berarti looping tersarang B belum
terpenuhi dan akan kembali untuk melakukan pengulangan.
Kondisi ini akan terjadi berulang – ulang hingga batas yang
tidak terhingga karena pengulangan Repeat-Until akan
menghentikan pengulangan jika kondisinya sudah terpenuhi,
sedangkan untuk menuju kondisi yang terpenuhi memerlukan
penambahan terhadap variabel, namun dalam teks di atas tidak
ditemukan penambahan variabel, maka pengulangan untuk
menulis bintang akan terjadi terus menerus dan tidak akan
berhenti sebelum kita sendiri yang menghentikan jalannya
program secara manual.
1. Repeat- Write(‘*’) ***
A:=2
2. Repeat- Write(‘*’) ****
A:=2
3. Repeat- Write(‘*’) *****
A:=2
4. Repeat- Write(‘*’) ******
A:=2
5. Kondisi looping repeat tidak akan pernah terpenuhi karena
tidak terdapat penambahan variable di dalam pengulangan
repeat until tersarang. Jika kondisi tidak terpenuhi
terjadi secara terus – menerus maka pengulangan akan
berlanjut terus tanpa pernah berakhir kecuali jalannya
program kita hentikan secara manual.

Tampilan di Layar:
**************************************************************
**************************************************************
********************************************************………
Dan tidak akan pernah berhenti

5. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
REPEAT
FOR B := 1 TO 3 DO
WRITE(‘*’);
WRITELN;
A := A + 1;
UNTIL A>3;

Jawab:

Nilai awal A adalah 1.


Looping (Pengulangan berupa Repeat Until).
Bertemu kembali dengan Looping (Pengulangan berupa For Do).
Perintah WRITE(‘*’); untuk menampilkan Bintang (*) di layar.
Pengulangan For Do akan melakukan penambahan variabel sacara
otomatis sehingga kini pascal mengingat memori variable B
bernilai 2. Namun ini bukan merupakan looping For Do
tersarang karena tidak memakai blok (di awali begin di
akhiri end;) jadi pascal hanya akan melakukan pengulangan 1
perintah di depan pengulangan For Do segingga perintah yang
diulang adalah perintah mencetak bintang, sedangkan perintah
untuk mencetak baris baru tidak dikerjakan.
Pascal telah melakukan perintah WRITE(‘*’); dan telah
mencetak 2 bintang di layar.
Telah melakukan penambahan variable secara otomatis dan
kondisi For Do masih terpenuhi karena nilai B=3 dan 3 masih
akan dikerjakan dalam proses pengulangan.
Perintah WRITE(‘*’);untuk menampilkan Bintang (*) di layar.
Dan sekarang di layar telah tercetak 3 bintang.
Lalu pascal melakukan penambahan variable secara otomatis
dan nilai b adalah 4.
Kondisi tidak terpenuhi karena dalam program pengulangan
hanya diminta dari 1 hingga 3, dan 4 sudah melebihi 3, maka
karena tidak terpenuhi pengulangan telah berakhir dan
dilanjutkan dengan perintah setelahnya yaitu perintah
WRITELN;.
Perintah WRITELN; untuk mencetak baris baru pada layar.
A:=A+1; berarti ini merupakan perintah untuk menambahkan
nilai dari variable A. Nilai awal variable A adalah 1,
sekarang menjadi 2 karena nilai A ditambah 1.
Bertemu dengan UNTIL A>3; perintah ini menanyakan apakah A
bernilai lebih dari 3?, nilai A kurang dari 3 maka
pernyataan tersebut salah dan pengulangan tetap berlanjut
sampai nilai A>3.
1. Repeat- Write(‘*’) ***
***
A:=3
2. Repeat- Write(‘*’) ***
***
***
A:=4
3. Kondisi looping repeat terpenuhi, maka pascal tidak
melakukan pengulangan.

Tampilan di Layar:

***
***
***

Anda mungkin juga menyukai