Pemrograman Komputer Asli

1. Perhatikan prosedur pengurutan bilangan berikut:
(0)procedure urut(n : integer; x : array of
real; var y : array of real);
(1) varj. k : integer;t : integer;
(2)begin
(3)for j := 0 to n do y[j] := x[j];
(4)for j := 0 to n - 1 do
(5)for k := j + 1 to n do
(6)begin
(7)if y[j] >= y[k] then
(8)begin
(9)t := y[j];
(10)y[k] := y[j];
(11)y[k] := t;
(12)end;
(13)end;
(14)end;
Apabila program dijalankan maka akan ada error. Baris manakah yang mengandung
kesalahan (error). Choose one answer.
a. 6
b. 13

c. 11
d. 1

2. Perhatikan fungsi faktorial berikut:

function faktorial(x:integer) : ............ ;
var i:integer;
begin
faktorial:=1;
if x>0 then

begin
for i:=1 to x do faktorial:=faktorial*i;
end;
end;

nilai untuk ......... adalah

Choose one answer.
a. String

b. Longint
c. Array of integer
d. Boolean

3. Perhatikan fungsi kombinasi berikut ini
function kombinasi(n, x : ..........) : real.;
var fakn, fakx, faknx:...............;
begin
for i:=1 to ndo fakn:=fakn*i;
for i:=1 to xdo fakx:=fakx*i;
for i:=1 to (n-x)do faknx:=faknx*i;
kombinasi:=fakn/(faknx*fakx);
end;
Nilai ........ tidak dapat diisi oleh :
Choose one answer.
a. Word
b. Single
c. Byte

d. Longint

4. Function Hasil(Var A,B : Integer) : Integer;
Begin
A := A + B; Hasil := A-B; End;
Var X,Y : Integer;
Begin
Hasil(X,Y); End
JikaX = 5 Dan Y = 4 Maka Hasil = .....
Choose one answer.
a. 5
b. Semua salah
c. 0
d. 4

5. begin
if ………...Executethen
begin
FName:=………….FileName+'.txt';
savestringgrid(grid,FName);
end;
end;


Supaya Prosedur tersebut dapat berfungsi sebagai menu untuk menyimpan file pada
software statistika, titik-titik tersebut seharusnya diisi dengan:

Choose one answer.

a. Save
b. Savefile
c. Savedialog
d. Saveoption
e. Savemode

6. Misalkan y dideklarasikan sebagai:
var y : array[1..5,1..3] of integer;
maka y tidak dapat digunakan dalam pembuatan:
Choose one answer.
a. Matriks berdimensi 3 x 5
b. Matriks berdimensi 5 x 3
c. Yij dengan i = 3 dan j = 3
d. Yij dengan i = 5 dan j = 3

7. Manakah pendeklasian tipe record yang benar dibawah ini :
(A).
Type
RecDosen = Record;
NIP : longint; nama : string [15]; End;
RecMhs = Record;
[20]; End;
NPM : integer; Nama : string [15]; End;
(B).
Type
Nilaiujian = Record
UTS,UAS : real; End;
DataMhs = Record
NPM : integer; Nama :string [15]; Nilai : Nilaiujian; End;
(C).
Type
RecPegawai : Record
Begin
nopeg = integer; nama = string


(D).
semua salah
Choose one answer.
a. B
b. A
c. D
d. C
8. Berikut ciri-ciri dari stringgrid kecuali:
Choose one answer.
a. Array pertama adalah kolom
b. Merupakan array dua dimensi
c. Bertipe string
d. Nilai awal array adalah 1
9. type
TUnivariat = Class
Function Rata-rata(X:array ofreal;n:integer):real;
end
Supaya type tersebut sukses untuk menghitung rata-rata, deklarasi pada function rata-rata
adalah
Choose one answer.

a. X:array of real; n: integer
b. X:array of integer; n: real
c. X: array of String; n:integer
d. X: array [1..n], n: integer
e. X: array of real; n string

10. function faktorial(x:integer):longint;
function kombinasi(n,x:integer):real;
Berdasarkan sintaks tersebut, pendeklarasian dari kedua function tersebut berbeda
disebabkan oleh:
Choose one answer.
a. Fungsi factorial memiliki rentang yang lebih panjang dibandingkan kombinasi

b. Fungsi kombinasi hanya berisi nilai bilangan bulat sedangkan factorial bisa berupa
pecahan
c. Fungsi factorial merupakan bagian kecil dari fungsi kombinasi
d. Fungsi factorial menghasilkan nilai bilangan bulat sedangkan fungsi kombinasi bisa
bernilai pecahan
e. Fungsi factorial mendukung pembentukan fungsi kombinasi


11. Perhatikan potongan program berikut:

var z: array[1..100] of real;
i:integer; hasil: real;
begin
i:=0; hasil:=0;
repeat
i:=i+1; z[i]:=1.2;
hasil:=hasil+z[i];
until hasil > 20;
end;

Maka nilai untuk hasil adalah:

Choose one answer.
a. 19.2
b. 20.2
c. 20.4

d. 19.4


12. Beda Procedure dengan Function adalah ...
Choose one answer.
a. Procedure mengembalikan suatu nilai, sedangkan function tidak
b. Procedure dan function tidak mengembalikan suatu nilai
c. Procedure tidak mengembalikan suatu nilai, function mengembalikan suatu nilai
d. Procedure dan function mengembalikan suatu nilai
13. Perhatikan program dibawah ini, jika n=5 maka outputnya adalah .....
Var i,n,bil ,hasil : integer;
Begin
bil:=1;For i := 1 To n Do
bil := bil * i; hasil= (bil); End.
Choose one answer.
a. 16
b. 120
c. 24
d. 5
14. For i:=1 to n do
for j:=1 to n do
stringgrid2.Cells[j-1,i-1]:=floattostr(B[i,j]);

Apakah maksud dari sintaks program tersebut?
Choose one answer.
a. Proses konversi nilai sel pada array
b. Pengulangan untuk menyimpan hasil pada sel array
c. Menampilkan nilai pada sel suatu array
d. Input nilai pada sel array
15. Yang tidak termasuk dalam Blok Deklarasi adalah :
Choose one answer.
a. Count
b. Function
c. Type

d. Procedure

16. Diantara judul prosedur berikut manakah yang tidak benar:
Choose one answer.
a. procedure hasil(x: real) : real;
b. procedure cetak(i:integer);
c. Procedure hasil(x: real; var b:real);
d. procedure cetak;

e. Misalkan y dideklarasikan sebagai :

17. var y : array[1..3,0..5] of integer;
maka y dapat digunakan dalam pembuatan:
Choose one answer.
a. Matriks berdimensi 4 x 6
b. Yij dengan i = 4 dan j = 5
c. Yij dengan i = 5 dan j = 3
d. Matriks berdimensi 3 x 6

18. Diantara objek lazarus berikut ini yang tidak memiliki indeks adalah:
Choose one answer.
a. Memo
b. Combo Box
c. Edit

d. ListBox

19. Looping pada WHILE DO dikerjakan minimal ... kali, sedangkan pada REPEAT...UNTIL
dikerjakan minimal .... kali.

Choose one answer.
a. 1 0
b. 0 0
c. 0 1
d. 1 1

20. Diantara judul fungsi berikut manakah yang benar:

Choose one answer.
a. function rata2(i:integer);
b. function cetak;
c. function Ambil : string;
d. function hasil(x: real; var b:real);

21. Begin
NamaBerkas:='akademik.dat';
acc:=false;
if FileExists(NamaBerkas) then
begin
assignFile(BerkasSiswa,NamaBerkas);
Reset(BerkasIPK);
acc:=True;

End
End

Program tersebut digunakan untuk :

Choose one answer.
a. Menciptakan berkas
b. Membuka berkas
c. Menutup berkas
d. Mengatur ulang berkas
e. Menyimpan berkas
22. misalkan x[1..10] adalah sebuah array yang penuh telah terisi dengan data dan y[1..10]
adalah array hasil pengurutan data x. Maka perintah untuk mendefinisikan median adalah:
Choose one answer.
a. median:=(y[n div 2]+y[(n+2) div 2])/2;
b. median:=(x[n div 2]+x[(n+2) div 2])/2;
c. median:=x[(n+1) div 2];
d. median:=y[(n+1) div 2];

23. For i:=1 to n do
for j:=1 to n do
A[i,j]:=strtofloat(stringgrid1.Cells[j-1,i-1]);

Apakah maksud dari sintaks program tersebut?

Choose one answer.
a. Pengulangan untuk menyimpan hasil pada sel array
b. Menampilkan nilai pada sel suatu array

c. Proses konversi nilai sel pada array
d. Input nilai pada sel array

24. Kal1 := ‘ ujian’; Kal2 :=’ akhir ’;
Hasil dari CONCAT(Kal2,Kal1, “Pascal”) adalah :

Choose one answer.
a. Akhir ujian pascal
b. Ujian akhir pascal
c. Ujian akhir
d. Akhir ujian
25. Program untuk menghasilkan output : 5 4 3 2 1 adalah.....
(A)
var i:byte;
begin
For i:= 5 to 1 Do Write(i);end.
(B)
var i:integer;
begin
For i:= 1 to 5 Do Write(i);end.
(C)
var i:integer;
begin
For i:= 5 downto 1 Do Writeln(i);end.
(D)
var i:byte;
begin
For i:= 5 downto 1 Do Write(i);end.

Choose one answer.

a.
b.
c.
d.

C
D
A
B

26. Perhatikan prosedur pengurutan bilangan berikut:

(0) procedure urut(n : integer; x : array of
real; var y : array of real);
(1) var j. k : integer; t : real;
(2) begin
(3) for j := 0 to n do y[j] := x[j];
(4) for j := 0 to n - 1 do
(5) for k := j + 1 to n do
(6) begin
(7) if y[j] >= y[k] then
(8) begin
(9) t := y[j];
(10) y[k] := y[j];
(11) y[k] := t;
(12) end;
(13) end;
(14) end;

Program tersebut apabila dijalankan hasil pengurutannya tetap salah, yang artinya ada
yang mesti diperbaiki yaitu baris ke:

Choose one answer.
a. 4
b. 10
c. 5
d. 11

27. Var I : Integer ;
Begin
For I := 1 To 2 Do Showmessage (‘Uas ’);
Showmessage (‘Oke‘); End.

Output dari program diatas adalah .....
A. Uas
Uas
Oke
B. Uas Oke
Uas Oke
C. Uas Uas
Oke

D. Uas Uas Oke

Choose one answer
a. C
b. D
c. A
d. B
28. Misalkan y dideklarasikan sebagai:
var y : array[1..3,1..5] of integer;
maka y dapat digunakan dalam pembuatan:

Choose one answer
a. Matriks berdimensi 3 x 5
b. Yij dengan i = 5 dan j = 3
c. Yij dengan i = 3 dan j = 3
d. Matriks berdimensi 5 x 3

29. Type
TRegression=class(TLinearModels)
End;

Pernyataan pada type tersebut menunjukkan karakteristik pemrograman berorientasi
objek yaitu :

Choose one answer
a. Pengkapsulan dan Pewarisan
b. Pewarisan dan Polimorfisme
c. Pengkapsulan
d. Polimorfisme
e. Pewarisan

30. Apabila dibagian deklarasi variabel sebagai berikut :
var x : array[1..10] of integer;
maka diantara pernyataan pengulangan berikut memenuhi indeks x tersebut kecuali:

Choose one answer.
a. for i := 1 to 5 do x[i] := i;
b. for i := 0 to 5 do x[i+1] := i;
c. for i := 1 to 10 do x[i] := i;
d. for i := 0 to 10 do x[i] := i;

31. procedureNS(x:real;var prob:real);
var i,n,denom:real;
begin
n:=1000;

denom:=0;
for i:= 1 to n dodenom:=denom+exp(-0.5*sqr((i-1)*x/n));
prob:= 0.5 -exp(-0.5*ln(2*phi))*abs(x)/n*denom
end;
Prosedur tersebut apabila dieksekusi masih mengandung kesalahan, Apakah
kesalahannya:
Choose one answer
a. Kesalahan proses looping
b. Looping tidak diakhiri “end”
c. Kesalahan dalam menuliskan formulasi
d. Penulisan nama prosedur
e. Deklarasi pada variabel dan penulisan “phi”

32. Untuk menghasilkan output seperti berikut ini, berapakah nilai x pada distribusi peluang
binomial? (gunakan fungsi dan prosedur untuk menyederhanakan program).

Choose one answer
a. 5
b. 2
c. 3
d. 1
e. 4

33. Diketahui program sebagai berikut:

unit Stats;
interface
type
TStats= class
functionA(u:real;v:real;w:real):real;
end;
implementation
function TStats.A(u:real;v:real;w:real):real;
begin
A:=u/v*w;
end;
end.

Apabila inputan untuk v dan w masing-masing adalah simpangan baku untuk dua
variabel dan u merupakan kovarians, maka unit Stats adalah unit untuk menghitung :
Choose one answer.
a. Angka baku untuk dua populasi
b. Proporsi
c. Transformasi variabel acak normal baku
d. Korelasi
e. Koefisien determinasi

34. Bagian-bagian yang harus ada dalam struktur unit adalah sebagai berikut, kecuali:

Choose one answer.
a. Procedure
b. Judul
c. Implementation
d. Interface

35. Perhatikan potongan program berikut:

var z: array[1..100] of real;
i:integer; hasil: real;
begin
hasil:=0;
for i:=1 to 10 do z[i]:=1.2;
for i:=1 to 10 do hasil:=hasil+z[i];
hasil:=hasil/length(z);
end;
Maka nilai untuk hasil adalah:
Choose one answer.
a. 0.12
b. 120
c. 12

d. 1.2

36. Perhatikan fungsi kombinasi berikut ini:
function kombinasi(n, x : integer) : .......;
begin
kombinasi:=faktorial

/

(faktorial(n-x)*faktorial(x));
end;

Nilai ........ tidak dapat diisi oleh

Choose one answer.
a. Byte
b. Extended
c. Single
d. Double

37. Output dari program berikut :

Var i ,hasil : integer;
Begin I :=1; While i