LayoutprogramdalamPascalyangbenaradalah:
a.
end
program
type
var
[program
[identifier];
begin
[identifier];
[identifier];
utama];
b.program[identifier]
var[identifier]
begin
[programutama]
end;
procedure[identifier]
begin
end.
c.begin
end.
d.var[identifier]
begin
[programutama]
end;
e.type[identifier]
var[identifier]
begin
program[identifier]
[programutama]
end.
Pembahasan:
Struktur
prorgam
pascal
program
uses
label
const
type
var[nama_variabel];
proceduresatu;
begin
{statemenuntukprosedursatu}
end;
yang
benar
adalah:
[nama_program];
[nama_unit];
[nama_label];
[nama_konstanta];
[nama_tipe];
proceduredua;
begin
{statemenuntukprosedursatu}
end;
functiontiga:tipedata;
begin
{statemenuntukprosedursatu}
end;
begin{awalprogramutama}
{statemenstatemendariprogramutama}
end.
{akhir
dari
prorgam
utama}
Dengan pengetahuan struktur program Pascal di atas, maka dapat disimpulkan struktur program Pascal yang benar
adalah
opsi
c.
Kesalahan untuk opsi d adalah bahwa akhir dari program utama selalu menggunakan END. (menggunakan titik)
bukan END; (bukan titik koma)
TOP
Contoh
soal
deklarasi
const
i:integer=100;
b.
var
x:array[1..100][1..100]
of
byte
c. type Hari=(Senin,Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu)
d.
var
_data=record
nama:string[10];
nis:string[10];
end;
e.
var
t:array['a'..'z']
of
integer
Pembahasan:
Opsi a. BENAR, deklarasi tersebut merupakan deklarasi konstanta bertipe. Untuk mendeklarasikan konstanta bertipe
adalah:
constidentifier:tipedata=nilai
opsi
b.
SALAH.
Cara
mendeklarasikan
tipe
ada
array
pada
bahasa
Pascal
adalah:
Contoh
soal
Tipe
data
record
object
pointer
array
Pembahasan:
Matriks adalah sekumpulan data numerik yang tersusun dalam bentuk baris dan kolom yang mempunyai tipe data
sama.
opsi a. record adalah sebuah tipe data terstruktur yang dapat menampung data dengan tipe data yang berbedabeda.
opsi b. object adalah tipe data terstruktur yang dapat terdiri dari tipe data yang berbeda serta header method. Yang
dimaksud method dalam sebuah objek adalah kumpulan modul yang dapat mengoperasikan objek tersebut.
opsi c. pointer adalah tipe data yang bersifat dinamis.
opsi d. array adalah sebuah tipe data terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap
komponen mempunyai tipe data yang sama.
opsi e. set adalah sebuah tipe data terstruktur yang mempunyai tipe data sama dan urutan datanya tidak
diperhatikan.
Jawaban: b. array
TOP
Contoh
soal
statemen
terstruktur
Penggalan
repeat
program
b:=b+1;a:=ab;until
sbb:
a:=10;b:=0;
a>b
Berapahargaayangdicetak?
writeln(a,b);
a.
b.
c.
d.salahsemua
10
1
9
Pembahasan:
Statemen repeat until adalah statemen perulangan dengan pengujian kondisi di bawah. Perulangan dijalankan
hingga
kondisi
pada
until
terpenuhi.
Dari soal di atas, dapat dibuat tabel untuk mempermudah perhitungan nilai a.
Nilai
b
Nilai
0
19statemenpertamab:=b+1;a:=ab
a
10
dari tabel di atas, kondisi a>b telah terpenuhi, sehingga nilai akhir dari a adalah 9
Jawaban: c. 9
TOP
Contoh
soal
Prosedur
dan
fungsi
function
b.
function
c.
function
d.
function
e.semuadeklarasidiatasbenar
Gamma(var
Gamma(var
Gamma(I:Real):Real;
I:Real):Real;
I):Real;
Gamma(I:Real);
Pembahasan:
Deklarasi function pada Pascal adalah:
function
identifier
atau
functionidentifier(parameters):type;
type;
Sebuah fungsi harus mempunyai nama fungsi (identifier), formal parameter (parameters) dan harus
mempunyai tipe hasil (type). Pada bahasa Pascal, sebuah prosedur atau fungsi dapat terdiri dari daftar formal
parameter yang cara penulisannya: (params; params; params). Tiap grup formal parameter harus
mengikuti
cara
penulisan
di
bawah
ini:
identifier,
identifier:
type
value
parameters
Contoh
soal
Rekursi
end;
Function
if
n=0
fakto(n:byte):longint
begin
then
fakto:=0
else
fakto:=n*fakto(n1)
functiondiatasbiladipanggildenganstatemeny:=fakto(5);makayberharga:
a.
b.
c.
d.salahsemua
0
5
120
Pembahasan:
Yang dimaksud dengan rekursi adalah sebuah prosedur atau fungsi yang memanggil dirinya sendiri. Pada fungsi di
atas, fungsi fakto dipanggil dengan parameter n-1, sehingga jika dipanggil fakto(5), maka proses akan nampak
seperti diagram berikut:
Mula-mula FAKTO(5) dipanggil sehingga menyebabkan statemen n * FAKTO(n-1) dieksekusi, yang bemilai:
5
*
FAKTO(4).
FAKTO(4)
akan
mengeksekusi
statemen:
4
*
FAKTO(3).
FAKTO(3)
akan
mengeksekusi
statemen:
3
*
FAKTO(2).
FAKTO(2)
akan
mengeksekusi
statemen:
2
*
FAKTO(1).
FAKTO(1)
akan
mengeksekusi
statemen:
1
*
FAKTO(0),
FAKTO(0)
sendiri
bemilai
0,
sehingga
statemen:
1 * FAKTO(0) bemilai 0, yang berarti FAKTO(1) menghasilkan nilai 0 yang dikembalikan pada FAKTO(2),
2
*
FAKTO(1)
->
2
*
0
=
0.
Hasil
0
ini
dikembalikan
pada:
3
*
FAKTO(2)
->
3
*
0
=
0.
Hasil
0
ini
dikembalikan
pada:
4
*
FAKTO(3)
->
4
*
0
=
0.
Hasil
0
ini
dikembalikan
pada:
5 * FAKTO(4) -> 5 * 0 = 0.
Jawaban a. 0
TOP
Contoh
soal
File
a.varF:Text;
begin
Assign(F,MYTEXT.TXT);
Reset(F);
end.
b.varF:Text;
begin
Assign(F,MYTEXT.TXT);
Rewrite(F);
end.
c.varF:Text;
begin
Rewrite(F,MYTEXT.TXT);
end.
d.varF:Text,
begin
Assign(F,MYTEXT.TXT);
Rewrite(F,128);
end.
e.varF:Text
begin
Assign(F,MYTEXT.TXT);
Append(F);
end.
Pembahasan:
Text adalah salah satu dari tipe data file. Sebuah file yang dibuka dengan tipe data text, akan mempunyai
karakteristik terdiri dari suatu baris dan setiap baris diakhir dengan tanda akhir baris (end of line). Akhir dari file text
adalah tanda End of file (CTRL-Z).
Untuk membuat file pada Turbo Pascal adalah dengan menggunakan statemen: REWRITE, deklarasi untuk perintah
REWRITE adalah:
procedureRewrite(varF:File[;Recsize:Word]);
di mana F adalah sembarang tipe file, sedangkan Recsize adalah digunakan apabila F adalah file tidak bertipe.
Jawaban: b.
TOP
Contoh
(Seleksi Tingkat Propinsi TOKI 2004)
138.Pemyataanmanakahyangvalid?
soal
Pointer
a.
b.
c.
d.
e.var^A:Integer;
var
var
var
var
A:^Integer;
A:@Integer;
A:Integer^;
A^:Integer;
Pembahasan:
Tipe pointer adalah tipe data khusus yang bersifat dinamis. Bentuk umum dari deklarasi pointer adalah:
typeidentifier=^tipedata
Tanda ^ di depan nama tipe data harus ditulis seperti apa adanya, berarti menunjukkan bahwa identifier adalah
bertipe pointer. Tipedata yang digunakan bisa berupa sembarang tipe data seperti Integer, Char, Boolean ataupun
Record.
Jawaban: a. varA:^Integer;