a. 20
b. 35
c. 15
d. 10
e. 30
2. 2^2018 mod 3 =
a. 1
b. 2
c. 3
d. 5
a. 2
b. 4
c. 6
d. 8
e. 1
4. Sebuah program diberi perintah untuk menyusun beberapa angka dari 0101. Berapa banyak susunan
yang dapat dibuat oleh program itu?
a. 5
b. 6
c. 7
d. 8
e. 9
5. Programmer yang terkenal akan kemampuan dan hasil programnya memutuskan untuk menerima
murid yang akan mewarisi dan melanjutkan usahanya. Namun, untuk menjadi muridnya. Calon-calon
yang mendaftar terlebih dahulu diseleksi secara ketat. Alhasil tersisa a, b, c, d, e, namun yang akan
terpilih hanya ada 3 org. Berapa cara yang dapat dilakukan agar si programmer dapat memilih muridnya?
a. 50
b. 55
c. 60
d. 65
e. 70
6. Adi dan sepuluh temannya sedang mendapatkan tugas prakarya. Mereka harus membuat dari kertas
warna-warni bilangan-bilangan dari 1 sampai dengan 100 kemudian menempelkannya di selembar
karton yang panjang. Adi kebagian untuk membuat semua angka yang tidak habis dibagi dengan 2.
Berapa banyak angka lima yang harus Adi buat?
a. 25
b. 26
c. 27
d. 28
e. 29
7. Sebuah tangki air memiliki enam buah kran air di bagian dasarnya. Jika semua kran dibuka maka
tangki yang terisi penuh akan habis isinya dalam 8 jam. Berapa jamkah yang dibutuhkan untuk
menghabiskan isi tangki bila hanya 4 buah kran yang dibuka?
a. 12
b. 10
c. 11
d. 13
e. 9
8. 1^1 x 2^2 x 3^3 x 4^4 x 5^5 x ... x 30^30 dapat habis dibagi oleh 10^n. Berapakah bilangan n terbesar
yang mungkin?
a. 100
b. 130
c. 110
d. 150
e. 170
Tiga orang pecatur senior L, M, N dan 3 orang pecatur pemula O, P, Q bertanding dalam sebuah
turnamen. Semua pecatur akan bertanding satu sama lain masing-masing satu kali pertemuan.
-Diawal turnamen nilai seluruh peserta adalah 0.
-Jika pecatur senior kalah dalam satu game, nilainya akan dikurangi 2.
-Jika pecatur pemula kalah dalam satu game, nilainya akan dikurang 1.
-Jika sebuah pertandingan berakhir dengan seri, maka pertandingan tersebut akan diulang
Berapakah nilai maksimum yang dapat diraih oleh seorang pecatur senior, jika dia menderita 2
kekalahan dalam turnamen tersebut?
A. 4
B. 2
C. 0
D. 3
E. 1
10. Berapa permainan yang harus dimenangkan oleh seorang pecatur pemula untuk menempatkan
posisinya dalam klasemen diatas seorang pecatur senior yang pernah kalah sekali dari pecatur senior
lainnya ?
A. 2
B. 4
C. 3
D. 1
E. 5
11. Jika P memenangkan seluruh permainan kecuali satu game melawan L dan tidak kalah dari
pemenang dalam turnamen tersebut, Siapakah yang mungkin akan menjadi juara dalam turnamen
tersebut ?
A. O atau Q
B. L atau P
C. M atau N
A. Q, S, P, T, R
B. R, Q, T, P, S
C. R, S, P, Q, T
D. T, R, Q, P, S
E. P, S, R, Q, T
13. Jika ia mengunjungi R lebih dahulu daripada P, mana yang pasti benar?
14. Joko sering berbohong. Dia hanya jujur sehari dalam seminggu. Satu hari dia berkata: "Aku
berbohong pada Senin dan Selasa". Pada hari selanjutnya dia berkata: "Hari ini adalah salah satu dari
hari Minggu, Sabtu atau Kamis". Pada hari selanjutnya dia berkata: "Aku berbohong pada Jum'at dan
Rabu". Pada hari apa dia berkata jujur?
A. Senin
B. Selasa
C. Kamis
D. Jumat
E. Minggu
15. 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 Berapa bidang maksimal yang dihasilkan dengan 3 garis?
A. 9
B. 5
C. 7
D. 6
E. 8
16. Dua kelas masing-masing terdiri atas 30 siswa. Satu siswa dipilih dari tiap-tiap kelas. Peluang terpilih
keduanya perempuan adalah 23/180. Peluang terpilih keduanya laki-laki adalah …
a. 3/36
b. 5/36
c.7/36
d.11/36
e. 13/36
17. Di suatu provinsi, diadakan lomba voli tiap 3 tahun sekali, lomba bulutangkis tiap 4 tahun sekali,
lomba sepak bola tiap 7 tahun sekali, dan lomba tenis tiap 6 tahun sekali. Pada tahun 2000 semua lomba
tersebut diadakan. Berapa kali terdapat lebih dari satu lomba dalam setahun dalam periode antara tahun
2005 dan tahun 2017?
B. 8 kali
C. 9 kali
D. 10 kali
18. Ada 3 pedagang keliling: Ali, Bahar, dan Cholil, yang secara berkala mengunjungi kota A untk
berjualan.
• Ali mengunjungi kota A setiap 10 hari sekali dan terakhir ia datang 3 hari yang lalu.
• Bahar mengunjungi kota A setiap 6 hari sekali dan besok ia akan datang.
• Cholil mengunjungi kota A setiap dua minggu sekali dan terakhir ia datang 5 hari yang lalu.
Berapa hari lagikah berikutnya mereka akan bersamaan mengunjungi kota A pada hari yang sama?
a. 101
b. 15
c. 45
d. 66
e. 37
19. 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
20. Var
i, j, x: integer
Begin
i := 15
j := 20
if j >< 10 then
i := j mod 4
if j := 0 then inc(x)
Write(x)
a. 0
b. 1
c. 2
d. 3
e. 4
for i := 1 to n do begin
for j := 1 to n do begin
for k := 1 to n do begin
writeln('Hello');
end;
end;
end;
Dengan sembarang harga n > 0, keluaran 'Hello’ akan dicetak berulang-ulang dalam sejumlah baris yang
A. Merupakan konstanta
22. c := 0; d := 0;
while (a>b) do
begin
a:= a-b;
c:= c+1;
d:= d+b;
writeln(c, ‘, ‘,d)
end;
Jika nilai a=23, b=4, maka keluaran dari algoritma di atas adalah:
A. 3, 33
B. 1, 4
C. 0, 0
D. 6, 23
E. 5, 2
23. var
i, ans, x: integer;
begin
ans := 0;
x := 80;
for i := 1 to x do begin
end;
writeln(ans);
end.
a. 29
b. 28
c. 27
d. 26
e. 25
a. T
b. F
c. T or F
d. Not T or T
25. Ekspresi logika yang sesuai dengan (P and (not Q) or (not P) xor P) adalah
b. P or (not Q)
c. P xor Q
d. (P or Q) and not P
e. (Q or P) xor P
Essay
26. Iwan selalu berbohong pada hari Senin, Selasa, Rabu dan berkata jujur pada hari-hari lainnya. Di lain
pihak Budi selalu berbohong pada hari Kamis, Jumat, Sabtu dan berkata jujur pada hari-hari lainnya.
Pada suatu hari terjadi percakapan berikut:
27. Jika sedang tidak marah, Didi biasanya suka bernyanyi sepanjang hari. Jika sebaliknya, dia tidur-
tiduran sepanjang hari di kamarnya. Tetapi dia juga akan tidur-tiduran di kamarnya jika dalam keadaan
sakit. Gara-gara tiduran, dia tidak bisa memberikan makan bebek-bebeknya sehingga makanan bebeknya
akan tersisa. Sore ini terlihat makanan bebeknya tidak tersisa. Apakah Didi sedang marah? Tidak
28. Nina baru saja membuka tabungan di Bank B*I. Supaya ATMnya aman maka dia harus membuat 4
digit PIN sedemikian sehingga jika PIN-nya dikali dengan angka 4 maka hasilnya adalah PIN dengan
urutan digit terbalik. Tentukan PIN yang dimiliki oleh Nina? 2178
apabila kemarin ia membeli x ekor bebek, maka hari ini ia akan membeli 2x ekor
ayam
apabila kemarin ia membeli y ekor ayam, maka hari ini ia akan membeli 3y ekor
bebek
33. Aang, Budi, Cici, Dika dan Eno bermain ayam-bebek. Setiap anak menjadi
ayam atau bebek, tetapi tidak kedua-duanya. Ayam selalu jujur dan bebek selalu
berdusta. Aang berkata bahwa Budi adalah ayam. Cici berkata bahwaDika adalah
bebek. Eno berkata Aang bukan bebek. Budi berkata Cici bukan ayam. Dika
berkata bahwa Eno dan Aang adalah binatang yang berbeda. Ada berapa anak
yang menjadi bebek dalam permainan ini? 4
34. Saat belanja di sebuah pusat perbelanjaan, Pak Dengklek berencana membeli
beberapa permen untuk 5 keponakannya. Dalam kotak terdapat 17 permen
dengan 4 rasa, yaitu 2 permen rasa anggur, 3 permen rasa jeruk, 7 permen rasa
mangga, dan 5 permen rasa strawberry. Pak Dengklek ingin membelikan permen
untuk kelima keponakannya dengan rasa yang sama. Berapakah jumlah permen
paling sedikit yang harus dibeli agar selalu diperoleh 5 permen dengan rasa yang
sama? 14
35. SMA X memiliki 6 kelas dengan banyak siswa pada setiap kelas adalah 16
pria dan 16 wanita. Jika untuk kepengurusan OSIS dipilih satu orang dari setiap
kelas, maka peluang 2 orang wanita yang menjadi pengurus OSIS adalah
15/64
36. Di dalam suatu kotak terdapat 2N buah bola dan di antaranya terdapat N bola
berwarna putih dan N bola beraneka warna secara unik (satu bola satu warna,
tidak ada yang sama) dan tidak putih. Berapa banyak kombinasi untuk memilih N
bola dari 2N bola itu? (Catatan: Dalam perhitungan kombinasi, AAB dan ABA
dianggap sama.) 2^n
37. Ibu Dina sedang mencoba untuk membuka usaha ‘bakery’ disebuah ruko di
perumahan elit di kawasan Cibubur. Dari resep yang ia pelajari, untuk suatu
campuran adonan brownies kukus diperlukan 1½ cangkir terigu dan 4½ cangkir
air. Bila ternyata sisa tepung terigu yang tersisa di lemari tinggal ¾ cangkir,
berapa cangkirkah air yang diperlukan ? 2 ¼ (pecahan campuran)
38. Sebuah password (kata sandi) yang terdiri dari 5 angka. Angka ke-4 lebih
besar daripada angka ke-2 dengan selisih 4. Sementara angka ke-3 kurang dari
angka ke-2 dengan selisih 3. Angka pertama adalah 3 kali lipat angka terakhir.
Ada 3 pasang angka dengan jumlah 11. Berapakah angka ke-4 dari password
tersebut? 9
39. Seorang wanita menerima warisan sebesar 1/3 dari harta suaminya seorang
pengusaha yang meninggal dunia karena kecelakaan pesawat. Dan tiga orang
putranya juga menerima masing‐masing 1/3 dari sisanya. Jika wanita tersebut
dan salah seorang anaknya menerima total sebesar Rp. 6 milyar, berapakah total
harta yang ditinggalkan oleh pengusaha tersebut ? 10.8 Miliar
40. Jika operasi (a mod b) adalah sisa dari operasi pembagian a oleh b,
berapakah (7^7.777.777 mod 100) + (5^5.555.555 mod 10)? 12
41. Jika diketahui Budi saat ini memiliki tingkat kemahiran 2 dan akan melawan
4 orang lainnya dengan nilai Ai dan Bi sebagai berikut:
Berapakah tingkat kemahiran maksimal yang akan diperoleh Budi? 6
Berapakah tingkat kemahiran minimum yang harus dimiliki Budi supaya bisa
mengalahkan semua lawan-lawannya? 2
43. Pak Dodi memiliki 10 pot bunga dengan tiap – tiap pot bunga ditanami jenis bunga
yang unik. Pot-pot bunga tersebut diletakkan sejajar dalam satu baris. Suatu hari,
Pak Dodi memutuskan untuk mengubah susunan pot-pot bunga tersebut dengan
syarat tidak boleh ada sebarang dua pot bunga yang bersebelahan pada susunan
sebelumnya akan tetap bersebelahan pada susunan yang baru. Berdasarkan syarat
tersebut, berapa banyak susunan pot-pot bunga baru dapat dibuat oleh Pak Dodi.
117.846.525.644
Diberikan program seperti di bawah ini. Berapakah output dari program tersebut?
385
var i,j,k,sum:integer;
begin
sum:=0;
for i:= 1 to 10 do
begin
j:=0; k:=i;
while (k>0) do
begin
sum:=sum+j+k;
j:=j+1; k:=k-1;
end;
end;
writeln(sum);
end.
45. Diberikan fungsi seperti di bawah ini. Berapakah nilai dari f(8, 4)? 4
begin
if a = b then
f := 1
f := 0
end;
46. var data: array[1..10] of integer = (8, 12, 16, 20, 12, 14, 16, 20, 20, 22);
begin
if b = 0 then itik := a
end;
function bebek(x: integer):integer;
begin
end;
begin
writeln(bebek(1));
end.
i, j: integer;
begin
for i := 1 to 7 do
inc(cnt[arr[i]]);
for i := 1 to 10 do
for j := 1 to cnt[i] do
write(i);
end. 1122357
48. SERTIFIKAT
Format Masukan:
Masukan terdiri dari 2 baris. Baris pertama berisi bilangan bulat N. Bari kedua
berisi N buah bilangan Ai, di mana Ai menyatakan nilai dari siswa ke-i yang
dipisahkan dengan spasi.
Format Keluaran:
Batasan:
5
2
87 100 89 100 90
8
3
87 99 89 99 90 90 99 70
Pak Blangkon baru saja kembali ke Negeri TOKI. Karena kangen dengan Pak
Dengklek, diapun berencana memberikan oleh-oleh berupa N buah batu giok.
Setiap giok ke-i memiliki berat Bi. Pak Blangkon tahu bahwa Pak Dengklek hanya
mau menerima sekumpulan batu giok jika memiliki berat yang berbeda-beda dan
faktor perseketuan terbesar berat dari sekumpulan batu giok tersebut bernilai
sama dengan 1.
Diberikan sekumpulan N batu giok dengan berat masing-masing Bi (1 <= i <= N).
Anda diminta untuk membuat sebuah program yang menentukan apakah
sekumpulan batu giok layak sebagai hadiah sesuai dengan keinginan Pak
Dengklek.
Format Masukan:
Masukan terdiri dari 2 baris. Baris pertama berisi bilangan bulat N. Baris kedua
berisi N buah bilangan Bi yang menyatakan berat giok ke-i yang dipisahkan
dengan spasi.
Format Keluaran:
Tuliskan LAYAK jika berat sekumpulan N batu giok tersebut sesuai dengan
keinginan Pak Dengklek. Sebaliknya tuliskan TIDAK LAYAK.
Batasan:
2
TIDAK LAYAK
10 15
3
TIDAK LAYAK
50 625 75
3
LAYAK
7 9 11
5
LAYAK
2 3 7 11 17
Diberikan nilai N, M, X, dan Y. Anda diminta untuk membuat sebuah program yang
menentukan nomor berapa yang ada di baris ke-X dan kolom ke-Y dari grid
berukuran N baris dan M kolom.
Batasan :
1 N, M 10^9
1 X N
1 Y M
Format Input :
Format Output :
Sebuah baris yang berisi sebuah bilangan bulat yang menandakan nomor berapa
yang ada di baris ke-X dan kolom ke-Y dari grid berukuran N baris dan M kolom.
7811 1
7836 3
7865 2
7845 4
7878 1
48. #include<bits/stdc++.h>
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,data[100001],ans=0;
multiset<int> m;
cin >> n;
for(int i=0;i<n;i++){
m.insert(data[i]);
}
int mx = *max_element(data,data+n);
return 0;
int N,B,FPBnow;
bool Sudah[100005];
return fpb(y,x%y);
int main(){
else FPBnow = fpb(B,FPBnow); //Selain itu, maka kita cari FPB antara
batu saat ini dengan batu yang lain
if(FPBnow == 1) cout << "LAYAK" << endl; //Jika FPB nya 1, maka batunya layak
else cout << "TIDAK LAYAK" << endl; //Jika tidak, maka tidak layak
50. var
M, N, x, y : longint;
begin
readln(M, N, x, y);
// asumsikan kita memiliki fungsi min(a,b) yang akan mengembalikan nilai terkecil
diantara a dan b
end;