Bagian Informasi
Sistem penilaian:
Jawaban benar = 4, jawaban salah = –1, jawaban kosong = 0, jawaban ganda= –1 .
Ekspresi Boolean adalah ekspresi yang dibentuk atas satu atau lebih operasi Boolean dari satu atau lebih
variable Boolean.
Sejumlah soal (atau jawaban) dituliskan dalam dua kolom, maka perhatikan penomoran soal dan
jawabannya.
1. Apabila dua buah bilangan 2n dan (1+3n) (di 6. Jumlah digit-digit pada bilangan 124 = 1+2+4 =
mana n adalah bilangan bulat positif) diakhiri 7. Berapakah jumlah digit-digit pada bilangan
dengan digit yang sama, maka digit tersebut 8666.251000 ?
adalah... (Catatan: bilangan dituliskan dengan A. 1
notasi desimal, tanpa diawali nol.) B. 3
C. 5
A. 6 D. 7
B. 7 E. 9
C. 8
D. 5 7. Manakah yang nilainya paling besar?
E. 3
A. 98101
2. Dalam dua keranjang terdapat total 22 buah B. 99100
bola. Bola-bola dalam keranjang pertama C. 10597
masing-masing beratnya 15 gram, sementara D. 10198
bola-bola dalam keranjang kedua masing-masing E. 10099
beratnya 20 gram. Berapa selisih perbedaan
berat isi kedua keranjang yang mungkin bila 8. Jika a, b, c, dan d adalah bilangan-bilangan bulat
diketahui bahwa berat seluruh bola adalah antara yang tidak nol dan tidak negatif serta tidak ada
380 hingga 400 gram? yang sama, dan diketahui pula a+b+c+d=18,
berapakah harga terbesar yang mungkin dari (ab
A. 90 gram – cd) ?
B. 65 gram
C. 75 gram A. 32
D. 105 gram B. 25
E. 85 gram C. 28
D. 18
3. Nilai dari 262 – 252 + 242 – 232 + … + 42 – 32 + E. 54
22 – 12 = …
9. Ali ingin membuat 800 cc larutan alcohol 15%
A. 431 dengan mencampur laruan alkohol 20% dan 4%.
B. 472 Berapakah beda volume larutan alcohol 20%
C. 371 dan volume 4% yang diperlukan ?
D. 351
E. 451 A. 110 cc
B. 106 cc
4. Jika 4! berarti 4.3.2.1=24. Digit terakhir dari 1! + C. 280 cc
2! + 3! + …+ 9999! adalah… D. 24 cc
A. 1 E. 300 cc
B. 3
C. 5 10. Berikut ini 4 pernyataan yang salah kecuali salah
D. 7 satu yang benar: (1) “Sekarang bukan hari
E. 9 Rabu”; (2) “Besok hari Jumat”; (3) “Kemarin
hari Minggu”; (4) “Pernyataan 2 dan 3 salah.”
5. Berapa persen bilangan antara 1 hingga 50 yang Hari apakah sekarang?
jika dikuadratkan, digit terakhirnya sama dengan
1? A. Selasa
A. 1 B. Rabu
B. 5 C. Kamis
C. 10 D. Jumat
D. 11 E. Sabtu
E. 20
A. 20
B. 27
C. 32
D. 45
E. 58
24. Jika hari ini ia berada di kota L maka paling 26. Diketahui bahwa hari ini ia berada di kota K dan
cepat berapa hari lagi ia akan berada di kota M? 7 hari kemudian ia kembali ke kota K. Diketahui
pula bahwa sepanjang perjalanannya itu ia hanya
A. 1 hari lagi kembali ke kota K di hari ke 7 saja dan ia melalui
B. 3 hari lagi kota N sebanyak dua kali, serta ia selalu
C. 2 hari lagi mengunjungi kota yang berbeda pada setiap
D. 5 hari lagi harinya (satu hari di satu kota pasti besoknya
E. 4 hari lagi berada di kota lain). Pada hari keberapakah ia
berada di kota N untuk terakhir kalinya dalam
25. Jika sekarang ia berada di kota N, maka berada perjalanan itu?
dimanakah 4 hari yang lalu jika diketahui selama
seminggu sebelumnya ia tidak berada di N dan A. 2
O, dan selalu mengunjungi kota yang berbeda B. 6
pada setiap harinya? C. 4
D. 3
A. Pasti di K. E. 5
B. Pasti di M.
C. Pasti di L.
D. Antara L atau K.
E. Antara K atau M.
A. Pernyataan (2)
B. Pernyataan (3)
C. Pernyataan (4)
D. Pernyataan (5)
E. Pernyataan (6)
Agar algoritma itu selalu menuliskan 'merah' Manakah perintah berikut yang berisi
maka kondisi yang tepat adalah pemanggilan-pemanggilan fungsi f diatas
yang akan mencetak harga true?
A. a berharga true yang lain tidak penting
B. c berharga true yang lain tidak penting A. writeln(f(57, 3) and f(62, 7));
C. b berharga false yang lain tidak penting B. writeln(f(53, 7) or f(62, 7));
D. b berharga true yang lain tidak penting C. writeln(f(24, 3) and f(42, 7));
E. a dan c keduanya harus true sementara D. writeln(f(24, 3) and f(47, 2));
b tidak penting E. writeln(f(43, 2) and f(72, 8));
41. Bila masing-masing dipanggil dengan perintah “satu(47)” dan “dua(47)” maka yang benar mengenai keluaran
keduanya adalah:
A. Keduanya mencetak bilangan yang sama.
B. “satu(47)” mencetak bilangan yang besarnya dua kali yang dicetak “dua(47)”.
C. “satu(47)” mencetak bilangan lebih kecil dari yang dicetak “dua(47)”.
D. Keduanya tidak mencetak apapun juga
E. Salah satu atau keduanya mencetak bilangan 0.
48. Jika fungsi tsb dipanggil dengan 49. Jika fungsi tsb dipanggil dengan
“writeln(apaini(414, 662));” berapakah yang “writeln(apaini(12345, 54321));” berapakah yang
dicetaknya? dicetaknya?
A. 1
B. 8 A. 2
C. 26 B. 3
D. 414 C. 13
E. 14 D. 7
E. 11
50. Jika fungsi tsb dipanggil dengan 51. Jika fungsi tsb dipanggil dengan
“writeln(apaitu(1001, 1331,9));” berapakah yang “writeln(apaitu(1000, 5040,7));” berapakah yang
dicetaknya? dicetaknya?
A. 2 A. 100
B. 7 B. 50
C. 3 C. 40
D. 11 D. 10
E. 13 E. 5
55. Jika array X berisi harga-harga sebagai berikut: 1, 56. Jika array X berisi harga-harga sebagai berikut: 1,
–3, 4, -2, -1, 6 (berarti juga n berharga 6) maka -1, 1, -1, 1, -1, 1 (berarti juga n berharga 7) maka
algoritma akan mencetak harga? algoritma akan mencetak harga?
A. -6 A. -1
B. 4 B. 4
C. 2 C. 1
D. 6 D. -3
E. 7 E. 7
procedure Bingo(t);
begin
if (t < 2) then
writeln('Bingo!')
else
begin
Bingo(t-1);
Bingo(t-2)
end;
end;
57. Berapa kalikah 'Bingo!' dituliskan jika procedure 58. Untuk menghasilkan tulisan 'Bingo!' antara 100 -
tersebut dipanggil dengan Bingo(6)? 200 kali procedure tsb harus dipanggil dengan
A. 6 cara bagaimana?
B. 1 A. Bingo(100)
C. 13 B. Bingo(11)
D. 20 C. Bingo(5)
E. 8 D. Bingo(10)
E. Bingo(15)
59. Mana pseudopascal di bawah ini yang jika dijalankan dapat mengurutkan tabel berikut:
i 1 2 3 4 5 6 7 8 9 10
data[i] 2 0 1 3 6 7 5 10 0 1
60. Mana pseudopascal di bawah ini yang paling tepat jika ingin melakukan pengecekan apakah bil merupakan
bilangan 2N (dengan 0<N<30, contohnya : 2, 4, 8, 16, dst.) atau bukan? Jika benar, akan menghasilkan
keluaran „Benar‟. Jika salah, akan menghasilkan keluaran „Salah‟.
A. readln(bil); C. readln(bil);
duaan:=false; duaan:=false;
z := 2; while (bil>0) do begin
for i:=1 to 30 do duaan:= (1=(bil mod 2)) or duaan;
if (bil = z*2) bil:=bil div 2;
then duaan:=true; end;
else z := z*2; if duaan
if duaan then writeln(„Benar‟)
then writeln(„Benar‟) else writeln(„Salah‟);
else writeln(„Salah‟);
D. readln(bil);
B. readln(bil); duaan:=false;
duaan:=false; temp:=1;
while (bil>0) do begin while (bil>0) do begin
duaan:= (1=(bil mod 2))xor duaan; temp:=2*temp;
bil:= bil div 2; if (bil=temp)
end; then duaan:=true;
if duaan end;
then writeln(„Benar‟) if duaan
else writeln(„Salah‟); then writeln(„Benar‟)
else writeln(„Salah‟);