1. 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);
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);
2. Tipe di bawah ini mana yang tidak dapat melakukan operasi aritmatika?
a. integer
b. byte
c. real
d. boolean
e. word
Jawab: d. Boolean
a. integer
b. byte
c. real
d. boolean
e. word
Jawab: d. Boolean
3. 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.
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.
4. 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.
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.
5. 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.
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.
6. 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’;
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.
7. Pada deklarasi di atas, jika variabel W1 berisi [merah,kuning,hijau] dan variabel W2 berisi [merah,kuning,hitam] maka, jika diberikan statemen W3:=W1+W2, W3 akan berisi:
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau,hitam] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: a. [merah,kuning,hijau,hitam] Pembahasan: Operator + pada tipe data himpunan adalah gabungan atau union.
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau,hitam] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: a. [merah,kuning,hijau,hitam] Pembahasan: Operator + pada tipe data himpunan adalah gabungan atau union.
8. Jika diberikan statemen W3:=W1-W2, W3 akan berisi:
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: c. [hijau] Pembahasan: Operator – pada tipe data himpunan adalah operator difference. Konsep Dasar Pemrograman Prosedural 61
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: c. [hijau] Pembahasan: Operator – pada tipe data himpunan adalah operator difference. Konsep Dasar Pemrograman Prosedural 61
9. Jika diberikan statemen W3:=W1*W2, W3 akan berisi:
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau,hitam] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: c. [hijau,hitam] Pembahasan: Operator * pada tipe data himpunan adalah operator irisan. SOAL-SOAL INPUT / OUTPUT
a. [merah,kuning,hijau,hitam] b. [merah,kuning,hijau,merah,kuning,hitam] c. [hijau,hitam] d. [merah,kuning,merah,kuning,hijau, hitam] e. [merah,kuning] Jawab: c. [hijau,hitam] Pembahasan: Operator * pada tipe data himpunan adalah operator irisan. SOAL-SOAL INPUT / OUTPUT
10. Perhatikan potongan program berikut ini : Begin Writeln((10 shr 1) shl 2); end. Apa yang dihasilkan oleh program diatas…
a. 18 b. 19 c. 20 d. 21 e. 22
Jawab: c. 20 Pembahasan: Operator SHR adalah operasi pergeseran bit ke kanan dan operasi shl adalah operasi pergeseran bit ke kiri. 10 shr 1 = 5 ? (1010 shr 1 = 0101 = 5) 5 shl 2 = 20 (0101 shl 2 = 10100 = 20) SOAL-SOAL STRUKTUR KONTROL
a. 18 b. 19 c. 20 d. 21 e. 22
Jawab: c. 20 Pembahasan: Operator SHR adalah operasi pergeseran bit ke kanan dan operasi shl adalah operasi pergeseran bit ke kiri. 10 shr 1 = 5 ? (1010 shr 1 = 0101 = 5) 5 shl 2 = 20 (0101 shl 2 = 10100 = 20) SOAL-SOAL STRUKTUR KONTROL