Tuesday, August 14, 2012

Program Pascal


Dengan deklarasi berikut:
Type warna=(merah,kuning,hijau,biru,hitam,putih,jingga);
Var w:warna;
Perintah mana yang salah?
a. If w in [warna] then writeln(‘ada’);
b. w:=merah;
w:=w + kuning;
c. w:=[merah];
d. w:=hijau;
dec(w);
e. w:=’Merah’;
Jawab:
d. w:=hijau;
dec(w);
Pembahasan:
Variabel w adalah variabel yang mempunyai tipe data enumerasi yang merupakan salah satu tipe data ordinal. Karena merupakan tipe data ordinal, maka variabel w dapat dioperasikan dengan fungsi atau prosedur seperti ORD, DEC, INC, PRED, dan SUCC.

Program Pascal


Tipe variabel ekspresi manakah yang tidak dapat ditampilkan dengan procedure Writeln?
a. Type T=Integer;
b. Type T=String;
c. Type C=Char;
d. Type T=(Small, Medium, Large)
e. Semua valid
Jawab:
d. Type T=(Small, Medium, Large)
Pembahasan:
Opsi d adalah tipe data enumerasi. Tipe data enumerasi tidak dapat ditampilkan dengan perintah Writeln.

Program Pascal


Deklarasi function manakah yang tidak diizinkan?
a.       Function density(x:real):real;
b.      Function density(b:byte):byte;
c.       Function density(var s:string):real;
d.      Function density(var data):byte;
e.       Function density;
Jawab:
e. Function density;
Pembahasan:
Untuk penulisan function , harus ada nilai kembali.

Program Pascal

Deklarasi prosedur manakah yang dibenarkan?
a.       procedure hapus;
b.      procedure hapus(s:string);
c.       procedure hapus(var s:string);
d.      procedure hapus(s:string):boolean;
e.       procedure hapus(var data);
Jawab:
d. procedure hapus(s:string):boolean;
Pembahasan:
Untuk penulisan prosedur, tidak diperbolehkan adanya nilai kembali. Sedangkan parameter tanpa tipe data (pada opsi e), dapat dibenarkan.

Program Pascal

Tipe di bawah ini mana yang tidak dapat melakukan operasi aritmatika?
a.       integer
b.      byte
c.       real
d.      boolean
e.       word
Jawab:
d. boolean

Program Pascal


Manakah yang mendeklarasikan tipe enumerasi dengan tepat?
a.       Type a=integer;
b.      Type a=1..300;
c.       Type a=(baik, jelek, buruk);
d.      Type a=[baik, jelek, buruk];
e.       Type a=baik, jelek, buruk;
Jawab:
c. Type a=(baik, jelek, buruk);

Program Pascal

program Uji;
var T:Text;
i,j,k:integer;
begin
Assign(T, 'INPUT.TXT’);
Reset(T);
Readln(T, i, j, k);
Writeln(i,’ ’ j,’ ’, k);
Readln(T,i);
Readln(T,j);
Writeln(i,’ ’,j);
Close(T);
End.

Bila isi file INPUT.TXT adalah sebagai berikut:
1
3
2
4
5
6
bagaimana output program ini?
a. 2 3 1
4 5
b. 1 0 0
3 2
c. 1 3 2
4 5
d. 1 3 2
5 6
e. Terjadi runtime error karena isi file INPUT.TXT tidak sesuai untuk program ini.
Jawab:
e. Terjadi runtime error karena isi file INPUT.TXT tidak sesuai untuk program ini

Program Pascal

program Uji;
var T:Text;
i,j,k:integer;
begin
Assign(T, 'INPUT.TXT’);
Reset(T);
Readln(T, i, j, k);
Writeln(i,’ ’ j,’ ’, k);
Readln(T,i);
Readln(T,j);
Writeln(i,’ ’,j);
Close(T);
End.

Misalkan file INPUT.TXT berisi baris-baris sebagai berikut:
3 1 4 9
5 2 6
8 7
0
Bagaimanakah output dari program tersebut?
a. 3 1 4 9
5 2 6
8 7

b. 3 1 4
9 5

c. 3 1 4
5 2
d. 3 1 4
5 8

e. Terjadi runtime error karena isi file INPUT.TXT tidak sesuai untuk program ini.
Jawab:
d. 3 1 4
5 8
Pembahasan:
Perintah Readln akan melakukan pembacaan di baris berikutnya. Perintah Readln pertama akan melakukan pembacaan pada file baris pertama, perintah Readln berikutnya melakukan pembacaan pada baris ke dua dan perintah Readln terakhir melakukan pembacaan pada baris ketiga.

Program Pascal


Begin
Assign(Output,'ABC.TXT’);
Rewrite(Outptut);
Write(‘GO GET GOLD’);
Close(Output);
       end.
Program diatas akan menghasilkan:...
a.    File'ABC’ dengan isi 'GO GET GOD’
b.    Run-time error.
c.    Tidak dapat dicompile karena variable 'Output' tidak ada
d.   Tidak menghasilkan apa-apa
e.    Tidak ada yang benar
Jawab:
a. File 'ABC’ dengan isi 'GO GET GOD’
Pembahasan:
Perintah Assign(Output,’ABC.TXT’) adalah perintah yang mengarahkan standard output (keluaran) kepada file ABC.TXT. Jika tidak dirubah, maka standard output adalah pada monitor.

Program Pascal


Function Sum(const A,B:Integer): Integer;
Begin
Sum:=A+B;
end;
Begin
Writeln(Sum(5,10));end.
Apa yang dihasilkan oleh program diatas :
a.       5
b.      10
c.       15
d.      20
e.       Tidak bisa di compile.
Jawab:
c. 15
Pembahasan:
Parameter const a,b:integer merupakan parameter konstanta (constant parameter).