A. 13
B. 14
C. 15
D. 16
E. 17
2. Diketahui empat bilangan bulat positif W, X, Y dan Z yang juga memenuhi W < X < Y < Z. Jika hasil kali
W dan Y adalah 32, dan hasil kali X dan Z adalah 50. Berpakah nilai X dikali Y ?
A. 20
B. 25
C. 36
D. 40
E. 44
3. Berapa langkah minimal yang dibutuhkan untuk mengurutkan deret {3, 2, 1, 5, 7, 4, 8, 6, 10,
9} secara menaik apabila langkah yang hanya dapat anda lakukan adalah menukar posisi dari 2
buah bilangan manapun?
A. 4
B. 5
C. 6
D. 7
E. 8
4. 11100 mod 41 =
A. 1
B. 19
C. 20
D. 29
E. 40
5. Berapa banyak angka antara 100 hingga 1000 yang habis dibagi 3 dan 5 tetapi tidak habis
dibagi 30?
A. 48
B. 40
C. 30
D. 20
E. 18
6. 1/2 + 1/6 + 1/12 + 1/20 +… + 1/9900 =
A. 99/100
B. 96/100
C. 98/100
D. 97/100
E. 100/100
7. Bilangan 6075 habis dibagi bilangan-bilangan positif: n1, n2,.. n3 dst. Jika bilangan-bilangan
tersebut dijumlahkan adalah …
A. 11281
B. 11282
C. 11283
D. 11284
E. 11285
12. Kini giliran anda untuk mengambil pertama kali. Berapakan yang anda ambil pertama kali
agar anda akhirnya menang?
A. 1
B. 2
C. 3
D. 4
E. 5
13. Anda mendapat giliran pertama untuk mengambil dan anda selama ini menjaga situasi agar
anda akhirnya menang. Jika permainan berlangsung hingga lawan telah anda mengambil
berturut-turut 3, 1, 5, 5, dan 4, dan berikutnya giliran anda. Berapakah jumlah kelereng
yang sudah anda ambil sebelum pengambilan anda yang berikutnya (tidak termasuk yang
akan anda ambil)?
A. 7
B. 10
C. 12
D. 15
E. 20
14. Anda mendapat giliran pertama untuk mengambil dan anda selama ini menjaga situasi agar
anda akhirnya menang. Jika selama permainan lawan selalu mengambil sebanyak-
banyaknya. Berapakah jumlah kelereng yang akhirnya anda kumpulkan hingga selesai
(dan anda menang tentunya)?
A. 7
B. 10
C. 12
D. 15
E. 20
Untuk soal no 15 - 19
Ekspresi logika berikut menggunakan operator and, or, dan not. Operator and mensyaratkan kedua operand harus
bernilai benar untuk menjadikan ekspresi bernilai benar dan selain itu ekspresi bernilai salah. Operator or hanya
mensyaratkan salah satu berharga benar (termasuk boleh keduanya benar) untuk menjadikan ekspresi bernilai benar, jika
kedua operand salah maka ekspresi menjadi salah. Operator not adalah untuk menegasikan (yang benar menjadi salah
dan yang salah menjadi benar) operand yang tertulis setelahnya.
15. Dari nilai- nilai berikut, pernyataan mana yang bernilai salah jika C, D, E, F bernilai benar. A, B bernilai salah?
A. (A and B) or ((C and D) or E) and F
B. (A or B) and ((C or D) and E) or F
C. (A and B) and ((C or D) or E) or F
D. (A and B) and ((C and D) and E) and F
E. ((A or B) or (C or D) or E) and F
16. Dari nilai- nilai berikut, pernyataan mana yang bernilai benar jika C, D, E, F bernilai salah. A, B bernilai benar?
A. (A and B) or ((C and D) or E) and F
B. (A or B) and ((C or D) and E) or F
C. (A and B) and ((C or D) or E) or F
D. (A and B) and ((C and D) and E) and F
E. ((A or B) or (C or D) or E) and F
17. Dari nilai- nilai berikut, pernyataan mana yang bernilai salah jika A, C, D, E bernilai benar. B, F bernilai salah,
kecuali?
A. (A and B) or ((C and D) or E) and F
B. (A or B) and ((C or D) and E) or F
C. (A and B) and ((C or D) or E) or F
D. (A and B) and ((C and D) and E) and F
E. ((A or B) or (C or D) or E) and F
18. Dari nilai- nilai berikut, pernyataan mana yang bernilai benar jika B, C, D, E bernilai benar. A, F bernilai salah?
A. (F or B) and ((C or D) and E) or A
B. (F and B) or ((C and D) or E) and A
C. (A and B) and ((C or D) or E) or F
D. (F and B) and ((C and D) and E) and A
E. ((A or B) or (C or D) or E) and F
19. Ekspresi not((not(a))or(b)) sama dengan
A. (a)and(not(b))
B. (a)or(not(b))
C. (not(a))and(not(b))
D. TRUE
E. FALSE
20. Sebuah lingkaran akan dibagi-bagi menjadi sejumlah bidang yang dibentuk dengan
menggambar garis lurus yang memotong dua tepi lingkaran.
Dengan menggambar 3 garis sebagai berikut, terbentuk 4 atau 5 bidang
23. Dari deskripsi soal di atas, jika E sedang ingin tidur, sehingga dia duduk di sebelah jendala
pada barisan paling belakang,maka ada berapa kemungkinan posisi duduk yang dapat
dibentuk?
A. 4
B. 5
C. 6
D. 7
E. 8
24. Dari deskripsi soal di atas, jika E sedang ingin tidur, sehingga dia duduk di sebelah jendela
pada barisan paling belakang, dan G tidak duduk di barisan paling depan,maka dapat kita
pastikan, bahwa orang yang duduk di posisi 1 adalah..
A. A
B. B
C. C
D. D
E. E
25. Perhatikan gambar persegi ajaib berukuran 4x4 di bawah ini:
4 ? 5 X
14 Z 11 ?
? 6 Y 3
1 ? 8 13
Jika persegi ajaib tersebut diisi bilangan bulat dari 1 sampai dengan 16 sedemikian rupa
sehingga total bilangan- bilangan dalam setiap kolom/baris/diagonal adalah sama, maka X
+ Y + Z = ...
A. 34
B. 33
C. 32
D. 31
E. 30
28. Apabila nilai n=5, maka function orakarik akan mengembalikan nilai…
A. 210
B. 325
C. 206
D. 206
E. 300
29. Apabila nilai n=8, maka function orakarik akan mengembalikan nilai…
A. 69281
B. 92681
C. 69821
D. 96821
E. 98261
30. Apabila function orakarik mengembalikan nilai 6235301, maka nilai awal dari n adalah…
A. 9
B. 10
C. 11
D. 12
E. 13
Code untuk Soal 31
33. Jika dipanggi movpush(movpush(500, 11), movpush(685, 110)), Maka nilai kembalian
dari function diatas adalah..
A. 1500
B. 1789
C. 2019
D. 1306
E. 1460
Soal Untuk No 34 dan 35
function k(a:integer):integer;
begin
if(a=1) then
k:=1
else
k:=k(k(a-1));
end;
36. Programa akn mencetak NOTHING jika nilai a,b,c dan d adalah…
A. a=True, b=False, c=False, d=True
B. a=False, b=True, c=False, d=True
C. a=True, b=True c=False, d=True
D. a=True, b=False, c=True, d=True
E. a=True, b=True, c=True, d=True
37. Programa akn mencetak OLIMPIADE TI dengan komposisi Boolean berikut, kecuali…
A. a=True, b=False, c=False, d=True
B. a=False, b=True, c=False, d=True
C. a=True, b=False c=False, d=False
D. a=True, b=False, c=True, d=True
E. a=False, b=False, c=True, d=True
38. Perhatikan baris ke-3, ekspresi logika apa yang tepat agar program selalu mencetak
OLIMPIADE TI untuk semua kemungkinan nilai a, b, c, dan d…
A. not((not a) xor b) and (c xor (not d)
B. not a or (a or b) and (c xor (not c))
C. (c or d) and d xor (a and b) or (not c)
D. (a and b) xor (notd)
E. (c or d) and (not b)
while a>b do
begin
a :=a-b;
b :=b+1;
c :=c+b;
d :=d+a;
end;
writeln(c,’ ‘,d)
39. Jika diberi nilai awal a = 50, b = 10, c = 0, d = 0, maka program akan mencetak…
A. 90 50
B. 50 90
C. 40 80
D. 80 40
E. 30 90
40. Jika diberi nilai awal a = 100, b =10, c = 0, d = 0, maka program akan mencetak…
A. 98 340
B. 340 98
C. 430 89
D. 89 430
E. 67 345
Untuk Soal No 44 - 46
44. Banyak angka 1 yang dihasilkan program diatas jika n bernilai 4 adalah...
A. 30
B. 31
C. 32
D. 33
E. 34
45. Jika n=3, maka yang tercetak pada baris ke-6 adalah…
A. 111
B. 110
C. 101
D. 001
E. 010
46. Yang tercetak apabila n = 4 pada baris ke-7 adalah…
A. 0110
B. 1010
C. 0011
D. 1111
E. 0000
Untuk Soal No 47-49
procedure graf(x: integer);
var i: integer;
begin
if x >= 0 then
begin
graf(x - 1);
graf(x - 1);
for i := 0 to x - 1 do
writeln('*');
graf(x - 2);
end;
end;
50. Bila nilai a, b,c dan d berturut-turut adalah 0, 10, 9, dan 35. Nilai c setelah melewati
potongan program tersebut adalah…
A. -2
B. -1
C. 0
D. 1
E. 2