Anda di halaman 1dari 6

NUS: ___________

[1997] b. program pqr;


var x,y=byte;
c. program xyz ;
1. Manakah identifier yang benar untuk menamakan nama program :
var x:=boolean;
a. prog-a
d. program klm;
b. prog_a
var z,y=char;
c. prog+a
d. prog//a
9. Manakah yang salah dari deklarasi di bawa ini :
a. var a = array[1..5] of integer ;
2. Manakah ekspresi yang tidak dapat dilakukan oleh tipe data real
b. var a : array[0..5] of byte ;
a. a := a + b
c. var a : array[2..6] of byte ;
b. a := a - b
d. var a : array[1..5] of real ;
c. a := a * b
d. a := a mod b
10. Manakah deklarasi yang salah di bawah ini :
a. type x = array[1..10] of byte ;
3. Tipe data di bawah ini mana yang tidak dapat melakukan operasi
b. type y : array[1..10] of integer ;
aritmatika
c. type z = array[0..9] of real ;
a. integer
d. type w = array[3..10] of integer ;
b. byte
c. real
11. Manakah yang salah dari deklarasi di bawah ini
d. boolean
a. function abc( a: byte ): real
b. function xyz( x: byte ) : byte ;
4. Yang memiliki hierarchi paling tinggi di antara operasi logika AND,
c. function klm(k,l : byte ) : real ;
OR dan NOT adalah
d. function stu( s: real ) ;
a. AND
12. Mana yang salah dari deklarasi di bawah ini
b. NOT
a. procedure abc ;
c. OR
b. procedure abc(a: byte ) ;
d. semua sama
c. procedure xyz( var x : integer ) ;
d. procedure klm(a, b : real ) : real ;
5. Yang paling rendah dari operasi logika AND, OR dan NOT adalah :
a. AND
13. Penggalan deklarasi program sbb :
b. NOT
type ar = array[1..10] of byte ;
c. OR
var a, ar ; I, b : byte ;
d. semua sama
procedure baca( var x : ar ) ;
begin for i := 1 to 10 do readln(x[i]) ; end ;
6. Manakah ekpresi yang tidak dapat dilakukan oleh tipe data integer
function jumlah( x : ar ) : byte ;
a. x := x + 5
var j : byte ;
b. y := y - z
begin j := 0 ; for i := 1 to 10 do j := j + x[i] mod i ; end ;
c. k := k / 5
begin
d. r := r * s
baca( a ) ; b := jumlah(a) ; writeln( b ) ;
end ;
7. Manakah yang salah dari deklarasi di bawah ini
a. program a;
Bila data yang dibaca berurutan sbb : 1, 2, 3, 4 ,5 ,6 ,7 ,8, 9, 10,
const k=10;
maka hasil output yang dicetak :
b. program abc ;
a. 10
const p:6;
b. 55
c. program pqr ;
c. 0
const r:=8;
d. salah semua
d. program satu;
const x>y;
14. Masih berhubungan dengan No. 13 di atas. Bila data yang dibaca
secara berurutan sbb: 10,9,8,7,6,5,4,3,2,1, maka output yang
8. Manakah yang benar dari deklarasi di bawah ini
dicetak adalah :
a. program abc;
a. 10
var x, y : real;
b. 22

Ujian Dasar Pemrograman Pascal 1-6 Seleksi Awal TOKI


NUS: ___________
c. 20 20. Masih menggunakan penggalan program no. 18 di atas bila
d. salah semua statement y := y + i ; diganti dengan y := y + 1 ; maka output yang
dicetak adalah :
15. Masih berhubungan dengan soal No. 13 di atas. Bila judul procedure a. 5
baca diubah dari procedure baca(var x : ar ) ; menjadi procedure b. 10
baca ( x : ar ), dan menggunakan data pada soal no. 14 di atas, maka c. 15
output yang dicetak adalah d. salah semua
a. 10
b. 22 21. Penggalan program pascal sbb:
c. 0
d. salah semua function fakto( n : byte ) : longint ;
begin
16. Penggalan program pascal dideklarasikan sbb : if n = 0 then fakto := 0
type ari = array[1..5] of byte ; else fakto := n * fakto(n-1) ;
var x : ari ; i , j : byte ; end ;
...................
for i := 1 to 5 do x[i] := 10 div i ; function di atas bila dipanggil dengan statemen y := fakto(5) ; maka
j := 0 ; for i := 5 downto 1 do j := j + x[i] ; y berharga :
writeln( j ) ; a. 0
b. 5
output yang dicetak dari penggalan program di atas adalah : c. 120
a. 5 d. salah semua
b. 22
c. 22.8 22. Masih berhubungan dengan penggalan program no. 21 di atas, bila
d. salah semua statemen
fakto := n * fakto(n-1)
17. Masih menggunakan soal no. 16 di atas, bila array diubah dari 5 diganti dengan
menjadi 10, begitupun juga pada for i : 1 to 10 do dan for i := 10 fakto := n + fakto(n-1)
downto 1 do, maka hasil outputnya sebagai berikut : dan dipaggil dengan
a. 28.3 y := fakto (6)
b. 28
c. 27 maka y berharga :
d. salah semua a. 21
b. 24
18. Penggalan program pascal sbb : c. 6
y := 0 ; d. salah semua
for i := 1 to 5 do
for j := 5 downto i do 23. Berikut ini penggalan program pascal :
y := y + i ;
writeln( y ) ; function abc( a, b : byte ) : longint ;
begin
hasil output yang dicetak adalah : if b = 0 then abc := 1
a. 15 else abc := a * abc(a, b-1) ;
b. 20 end ;
c. 35
d. salah semua Bila fucntion abc di atas dipanggil dengan
x := abc(5,3 ) ;
19. Masih menggunakan penggalan program no. 18 di atas, bila maka x berharga :
statement y := y + i ; diganti dengan y := y + j ; maka output yang
dicetak adalah : a. 15
a. 55 b. 125
b. 45 c. 1
c. 35 d. salah semua
d. salah semua

Ujian Dasar Pemrograman Pascal 2-6 Seleksi Awal TOKI


NUS: ___________
24. Masih berhubungan dengan function no. 23. di atas, fucntion abc
dipanggil dengan statemen a. 9
x := abc ( 3, 5) b. 10
maka x berharga : c. 11
a. 81 d. salah semua
b. 15
c. 243 29. Masih beruhungan dengan soal no. 28 di atas, berpa harga y yang
d. salah semua dicetak ?
a. 55
25. Masih berhubungan dengan function abc soal no. 23 di atas, bila b. 45
statemen c. 36
abc := a * abc(a, b-1) d. salah semua
diganti dengan
abc := a + abc(a,b-1)
dan dipanggil dengan 30. Penggalan program pascal sbb :
x := abc(3,4)
maka x berharga : a := 10 ; b := 0 ;
repeat b := b + 1 ; a := a - b ; until a > b ;
a. 13 writeln ( a, b ) ;
b. 12
c. 10 Berapa harga a yang dicetak ?
d. salah semua a. 10
b. 1
26. Penggalan program pascal sbb: c. 9
type kal = string[20] ; d. salah semua
procedure pqr( x : kal , n : byte) ;
begin 31. Masih berhubugan dengan no. 30 di atas, berapa harga b yang
if n > 0 then dicetak ?
begin write(x[n]); pqr(x,n-1) ; end ; a. 1
end; b. 10
c. 9
Bila dipanggil procedure dengan pqr(‘TOKI97’,6) ; d. salah semua
maka output yang dicetak adalah:
a. TOKI97
b. 79IKOT
c. TOKI
d. Salah semua
[1998]

27. Bila kata : string[20] = ‘kasur nababan rusak’ ; procedure pqr no. 26
di atas dipanggil dengan statemen pqr(kata, length(kata)); maka 1. Deklarasi yang tepat adalah
output yang dihasilkan adalah :
a. var A: String;
a. rusak kasur nababan
b. const A: Integer := 25;
b. nababan kasur rusak
c. type A = record;
c. kasur nababan rusak
d. type MagicNumber: Integer;
d. salah semua
e. Jawaban (a) – (d) benar semua

2. Pernyataan manakah yang boleh dipakai untuk


28. Penggalan program pascal sbb:
mendeklarasikan variabel dalam Pascal?
a. var A, B;
x := 0 ; y := 0 ;
b. var A: Real, B: Integer;
while x < 10 do
c. var A; B: Integer;
begin x := x + 1 ; y := y + x ; end ;
writeln( x , y ) ; d. var (A, B): Integer;
e. var A: Pointer; B: Integer;
Berapa harga x yang dicetak ?

Ujian Dasar Pemrograman Pascal 3-6 Seleksi Awal TOKI


NUS: ___________
3. Bagaimana cara mendeklarasikan konstanta bertipe? 8. Deklarasi manakah yang dapat diterima?
a. var A: Integer const = 100; a. var F: File of Text;
b. const A: Integer = 100; b. var F: File of Integer;
c. const A = 100; c. var F: File[1..10] of Integer;
d. var A: Integer = 100; d. var F: Text of Char;
e. const Integer A = 100; e. salah semua.

4. Carilah deklarasi yang tidak diperbolehkan: 9. Deklarasi manakah yang salah?


a. const A = 14; a. type Rec = record
B = A * 2.5; X, Y: Real;
b. const E1 = 'Division by zero'; end;
E2 = 'Overflow'; var F: File of Rec;
E3 = 'Invalid argument'; b. var F: File;
ErrMsg: array[1..3] of String = c. type A = array[1..10] of Byte;
(E1, E2, E3); var F: File of A;
c. const A = 40; d. var F: File of array;
B: Integer = A * 15; e. Tidak ada deklarasi yang salah
d. const A = 123;
B = Chr(A); 10. Deklarasi manakah yang salah?
e. Semua jawaban salah a. var E: record X, Y: Integer end;
b. var F: File of set of Char;
5. Deklarasi mana yang sahih dalam bahasa Pascal? c. var G: record
a. var A: String[70]; F: File;
b. var A = String; U: Integer;
c. var A: String[1024]; end;
d. var A: String[1..75]; d. var H: File of record X, Y: Integer end;
e. Semua jawaban salah e. Tidak ada deklarasi yang salah

6. Bagaimana cara mendeklarasikan array dua dimensi? 11. Deklarasi manakah yang salah?
a. var A: array[1..10, 1..10] of Char; a. var A: set of Real;
b. var B: array[1 to 10, 1 to 10] of Char; b. var B: array[1..10,1..10] of record
c. var C: matrix[1..10, 1..10] of Char; Flag: set of Byte;
d. var D: array[10, 10] of Char; R: Real;
e. var E: matrix[10, 10] of Char; end;
c. var C: set of (Nasi, Roti, Bakmi, Bakpau);
7. Deklarasi manakah yang benar? d. var D: array[1..10] of File;
a. type Anggota = record e. Tidak ada deklarasi yang salah
Nama: String[40];
NomorAnggota: Word; 12. Deklarasi manakah yang benar?
End; a. var R: array[True..False] of String;
b. type Anggota: record b. type P = set of Byte;
Nama = String; var R: array[P] of String;
NomorAnggota = Word; c. var Q: set of String;
End; d. type S = array[1, 5, 7..10] of Real;
c. type Anggota := record e. Salah semua
Nama := String[20];
NomorAnggota := Word;
End; 13. Manakah yang salah?
d. type Anggota = record a. function Gamma(I: Real): Real;
Nama: String[]; b. function Gamma(var I: Real): Real;
NomorAnggota: Word; c. function Gamma(var I): Real;
end; d. function Gamma(I: Real);
e. Semua deklarasi di atas salah e. semua deklarasi di atas benar

Ujian Dasar Pemrograman Pascal 4-6 Seleksi Awal TOKI


NUS: ___________
14. Penulisan program Pascal yang dibenarkan adalah 17. Tipe data manakah yang sanggup memuat nilai numerik
a. program Sederhana; sebesar 75000?
begin a. Integer
var C: Word; b. Byte
C := 275 * 400 + 5; c. Real
Writeln(C); d. Word
end. e. String
b. { program Sederhana; }
var W: Word; 18. Berapakah jangkauan tipe data Word?
begin a. 0…255
W := 61224; b. 0…65536
Writeln(W - 50000); c. 0…65535
end. d. -32768…32767
c. program Sederhana; e. Salah semua
var A: String;
begin 19. Turbo Pascal menyediakan tipe data enumerasi yang
A := ' tahun lalu belum ada komputer'; didefinisikan dengan menyebutkan nama-nama elemennya oleh
A := 200 + A; pemakai. Bila tipe data Nilai dapat bernilai Jelek, Kurang, Cukup, dan
Writeln(A); Baik, bagaimanakah cara menulisnya?
end. a. type Nilai = (Jelek, Kurang, Cukup, Baik);
d. program Matematika; b. type Nilai = Jelek, Kurang, Cukup, Baik;
var Jari-jari: Real; c. type Nilai = 'Jelek, Kurang, Cukup, Baik';
begin d. type Nilai = [Jelek, Kurang, Cukup, Baik];
Write('Jari-jari lingkaran = '); e. Salah semua.
Readln(Jari-jari);
Writeln('Keliling=',2 * Pi * Jari-jari); 20. Lihat kembali definisi Nilai di atas. Pernyataan manakah yang
end. tidak benar?
e. Semua program di atas salah! a. var Ket: array[Jelek..Baik] of Nilai;
b. var Ket: array[Jelek..Baik] of String;
15. Tipe data manakah yang dapat memuat bilangan pecahan? c. var Ket: Jelek;
a. Byte d. var Ket: set of Nilai;
b. Integer e. Salah semua
c. Boolean
d. Real 21. Misalkan N adalah variabel bertipe Nilai (lihat soal di atas),
e. LongInt maka operasi manakah yang tidak dibenarkan untuk N?
a. Inc(N);
16. Manakah yang salah: b. N := N + Jelek;
a. var X: Integer; c. Writeln(Ord(N));
begin d. if N >= Cukup then Writeln('Lulus');
for X := 1 to 25 do Writeln(X); e. Semua salah
end.
b. var X: Char; 22. Berikut ini adalah deklarasi sebuah program:
begin type IsiRoti = (Coklat, Pisang, Nanas);
for X := '1' to '9' do Writeln(X); var Isi: IsiRoti;
end. Manakah yang sahih di antara pernyataan-pernyataan berikut?
c. var X: LongInt; a. if Isi in IsiRoti then
begin Writeln('Nah, ini baru enak.');
for X := -50 downto -400 do Writeln(X); b. if Isi in [Coklat, Nanas] then
end. Writeln('Saya suka itu!');
d. var X: Real; c. if 'Coklat' in Isi then
begin Writeln('Suka roti coklat juga ya?');
for X := 0 to 5 do Writeln(X); d. if IsiRoti = [] then
end. Writeln('Harus pilih salah satu!');
e. Jawab (a) – (d) benar semua

Ujian Dasar Pemrograman Pascal 5-6 Seleksi Awal TOKI


NUS: ___________
e. if [Nanas] in Isi then e. semua ekspresi valid
Writeln('Memilih roti nanas.');

23. Dalam potongan program berikut, 27. Lihat kembali deklarasi di atas. Ekspresi mana yang
var Z1, Z2, Z3, Z4: set of Byte; dibenarkan dalam bahasa Pascal?
begin a. A := D div 10;
Z1 := [1, 2, 6, 8, 9]; b. if B and (F > 5) then Writeln('Ulangi!');
Z2 := [3, 6, 8, 12, 14]; c. C := A / 10;
Z3 := Z1 + Z2; d. F := Ord(E + E);
Z4 := Z1 * Z2; e. Semua ekspresi tidak benar
end.
Berapakah nilai akhir Z3 dan Z4? 28. Lihat kembali deklarasi di atas. Ekspresi mana yang tidak
a. Z3 = [6, 7, 8] benar?
Z4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] a. Inc(E);
b. Z3 = [6, 8] b. Inc(D);
Z4 = [1, 2, 3, 6, 8, 9, 12, 14] c. D := D + 1;
c. Z3 = [1, 2, 3, 6, 6, 8, 8, 9, 12, 14] d. E := Succ(E);
Z4 = [6, 6, 8, 8] e. semua ekspresi salah
d. Z3 = [1, 2, 3, 6, 8, 9, 12, 14]
Z4 = [6, 8] 29. Deklarasi mana yang salah dalam bahasa Pascal?
e. Salah semua a. var A: record
Nama, Alamat: String;
24. Manakah yang salah bila end;
var Size: array[1..150] of Real; b. type InfoRec = record
R: Real; Nama, Alamat: String;
I: Integer; end;
a. Size[I] := I; var A: InfoRec;
b. Size[R] := 15.5; c. var A: InfoRec = record
c. Size[I] := R; Nama, Alamat: String;
d. Size[2] := I / R; end;
e. Tidak ada yang salah d. Semua deklarasi di atas salah
e. Semua deklarasi di atas betul dan diperbolehkan
Deklarasi variabel berikut ini digunakan untuk menjawab soal-soal
berikut ini: 30. Untuk variabel A di atas, bagaimana cara mengakses variabel
var A: Integer; yang betul?
B: Boolean; a. A.'Nama' := 'Raden';
C: Integer; b. A:Nama := 'Raden';
D: Real; c. A.Nama := 'Raden';
E: Char;
d. Nama:A := 'Raden';
F: Byte;
e. Nama.A := 'Raden';
25. Dengan deklarasi variabel di atas, ekspresi manakah yang
benar dalam bahasa Pascal?
a. B := A + C > D;
b. C := A * 5 + D;
c. if A then C := C + A;
d. A := (B + C) * 7;
e. semua ekspresi salah

26. Lihat kembali deklarasi di atas. Ekspresi manakah yang tidak


sah dalam bahasa Pascal?
a. C := A and F;
b. D := A + C / 10;
c. D := A + C div 10;
d. if E = F then Writeln('Nilainya sama.');

Ujian Dasar Pemrograman Pascal 6-6 Seleksi Awal TOKI

Anda mungkin juga menyukai