Olimpiade Sains Kota (OSK) 2012 - Komputer

1

Bilangan prima adalah bilangan bulat yang hanya habis dibagi dengan 1 dan bilangan itu sendiri. Ada berapa banyak bilangan prima pada rentang 1..100?

A. 25

B. 24

C. 23

D. 22

E. 21

2

Jika N! adalah 1x2x3x...xN, berapakah angka terakhir bukan 0 dari 20!

A. 1

B. 2

C. 4

D. 6

E. 8

3

Karto memiliki x eskrim dan setiap eskrim ada batangnya. Karto menyimpan setiap batang eskrim yang telah dimakannya. Jika Karna sudah mengumpulkan y buah batang eskrim, maka dia bisa menukarkannya dengan satu buah eskrim. Untuk x = 100 dan y = 5 maka berapakah total eskrim yang dimiliki Karto?

A. 100

B. 114

C. 120

D. 124

E. 125

Deskripsi untuk soal nomor 4 - 6

Ada 4 orang yang diinterview mengenai penghasilannya. Sebut saja namanya A,B,C,D dan profesi mereka E,F,G,H. Setiap orang memberikan 2 pernyataan. Namun, pernyataan yang dapat dipercaya hanyalah pernyataan yang membicarakan pekerjaan asli orang tersebut.

Pernyataan lain bisa benar maupun salah.

Berikut pernyataan keempat orang tersebut:

A: G memiliki penghasilan 3 kali lipat dari penghasilan F. E memiliki penghasilan lebih besar daripada saya.

B: F memiliki penghasilan lebih besar daripada G. C pekerjaannya adalah H atau E.

C: Saya memiliki penghasilan lebih besar daripada E. F memiliki penghasilan paling rendah.

D: G memiliki penghasilan 2 kali lipat dari penghasilan F. Saya memiliki penghasilan lebih besar daripada H.

4

Siapakah yang perkerjaannya adalah E?

A. A

B. B

C. C

D. D

E. C atau D

5

Apakah pekerjaan dari D?

A. E

B. F

C. G

D. H

E. G atau H

6

Manakah pernyataan berikut yang benar?

A. Jika A adalah seorang H, maka C adalah seorang F

B. Jika B adalah seorang F, maka C adalah seorang H

C. Jika C adalah seorang G, maka B adalah seorang H

D. Jika D adalah seorang E, maka C adalah seorang G

E. Jika A adalah seorang H, maka D adalah seorang E

7

0, 1, 2, 1, 2, 3, 3, 4, 5, 7, ..., ..., ...

A. 8, 9, 15

B. 9, 10, 20

C. 7, 9, 13

D. 7, 8, 14

E. 7, 9, 22

8

Berapa jumlah kemungkinan kata (kombinasi huruf) yang bisa dibentuk dari huruf-huruf ini : 'l', 'a', 'b', 'a'?

A. 24

B. 22

C. 12

D. 14

E. 20

9

x = 0.147;

y = sqrt(0.147);

z = 0.1472;

maka

A. y> x > z

B. x> y > z

C. x> z > y

D. y> z > x

E. z> x > y

10

Suatu negara hanya memiliki pecahan uang 11, 12, dan 13. Berapakah nominal yang tidak bisa dinyatakan dengan pecahan-pecahan tersebut?

A. 37

B. 46

C. 53

D. 69

E. 74

11

Diketahui FPB(a,b)=c. Jika a>b dan b=210, berapakah nilai a dan c yang mungkin sehingga c merupakan nilai terbesar dari pilihan di bawah ini?

A. 426 dan 6

B. 216 dan 6

C. 637 dan 7

D. 294 dan 7

E. 637 dan 14

Deskripsi untuk soal nomor 12 - 14

Pada suatu balap mobil diketahui ada 5 pembalap yang ikut serta. Jika tidak ada yang start bersamaan berapa kemungkinan urutan finish jika:

12

Tidak ada yang finish bersamaan

A. 720

B. 120

C. 60

D. 30

E. 5

13

Tidak ada yang finish bersamaan dan pembalap yang start pada posisi ganjil harus finish pada posisi ganjil juga A. 8 B. 12 C. 16 D. 24 E. 36

14

Tidak ada yang finish bersamaan dan pembalap yang start pada posisi genap tidak boleh finish pada posisi genap

A. 86

B. 66

C. 46

D. 36

E. 26

15

Ada sebuah dadu ajaib 6 sisi yang imbalance (tidak seimbang). Peluang munculnya angka 1..6 jika melempar dadu tersebut berbeda-beda, sesuai dengan fungsi p(x) = x/21, untuk 0<x<7. Jika dadu tersebut dilempar 2 kali dan hasilnya dijumlahkan, berapa nilai total yang peluang munculnya paling besar?

A. 5

B. 6

C. 7

D. 8

E. 9

16

Pada suatu hari, si a memilih 11 bilangan secara acak di antara 1..21. Kesebelas bilangan tersebut tidak ada yang sama. Selanjutnya a akan menghitung ada berapa pasang bilangan a dan b pada 11 bilangan tersebut yang memenuhi a mod b = 0 dan a tidak sama dengan b. Pernyataan manakah di bawah ini yang benar?

A. Bisa saja tidak ada satu pasang bilangan pun yang memenuhi syarat tersebut.

B. Minimal ada 1 pasang bilangan yang memenuhi syarat tersebut.

C. Minimal ada 2 pasang bilangan yang memenuhi syarat tersebut.

D. Minimal ada 3 pasang bilangan yang memenuhi syarat tersebut.

E. Minimal ada 4 pasang bilangan yang memenuhi syarat tersebut.

17

Ada 100 orang yang sedang mengantri untuk menggunakan toilet umum. Ternyata ada tepat 4 orang di antara mereka yang lahir pada tanggal 1. Pernyataan manakah di bawah ini yang paling benar

A. Mungkin ada x (x>4) orang yang berulang tahun pada tanggal yang sama di antara 100 orang tersebut.

B. Tidak mungkin ada 4 orang yang berulang tahun pada tanggal yang sama (selain tanggal 1) di antara 100 orang tersebut.

C. Pasti ada 4 orang yang berulang tahun pada tanggal yang sama (selain tanggal 1) di antara 100 orang tersebut.

D. Tidak mungkin ada x (x>4) orang yang berulang tahun pada tanggal yang sama di antara 100 orang tersebut.

E. Ada lebih dari 2 pernyataan (antara A - D) yang benar.

18

Pada suatu hari, a, b, c, dan d pergi ke pasar. Mereka melihat ada 4 barang yang sedang didiskon 90% dan mereka memutuskan untuk membeli keempat barang tersebut. Dalam perjalanan pulang, mereka bertemu teman mereka, e yang ternyata sedang membutuhkan keempat barang tersebut. e ingin mengetahui harga masing-masing barang tersebut dan menanyakannya pada a, b, c, dan d. Sayangnya mereka berempat sudah lupa harga masing-masing barang tersebut sehingga mereka hanya memberitahukan jumlah masing-masing barang yang dibeli beserta total harganya. Setelah mendapat informasi tersebut, e berkata, “wah, sayang sekali, saya masih belum dapat menentukan harga setiap barang tersebut hanya berdasarkan keterangan dari kalian.”. e merupakan orang yang pandai menghitung dan informasi yang diperolehnya adalah:

  • A membeli x barang i, 2 barang ii, 1 barang iii, dan 3 barang iv seharga Rp 15.000,00.

  • B membeli 3 barang i, 1 barang ii, 3 barang iii, dan 4barang iv seharga Rp 25.000,00.

  • C membeli 4 barang i, 2 barang ii, 3 barang iii, dan 5 barang iv seharga Rp 31.000,00.

  • D membeli 2 barang i, 1 barang ii, 2 barang iii, dan 3 barang iv seharga Rp 18.000,00. Berapakah nilai x?

A. 0

B. 1

C. 2

D. 3

E. 4

19

Dalam sebuah ruang terdapat 6 komputer dan 2 kabel yang identik. Sebuah kabel dapat menghubungkan tepat 2 komputer. Dua komputer hanya dapat terhubung oleh maksimal 1 kabel. Ada berapa macam pemasangan kabel yang mungkin dalam ruangan tersebut?

A. 15

B. 105

C. 75

D. 12

E. semua salah

20

Ibu Martha sedang belanja di pasar. Ia hendak berbelanja tepung untuk membuat kue. Ia hanya membawa uang Rp 10.000,00. Sementara itu ia melihat 5 merk tepung, dengan spesifikasi sebagai berikut:

Merk Harga Jumlah kue yang dapat dihasilkan
A Rp 1.000 2
B Rp 3.000 5
C Rp 4.000 7
D Rp 2.000 5
E Rp 2.000 6

Toko yang Ibu Martha datangi hanya memiliki tepat satu unit tepung untuk setiap merknya. Berapa kue yang dapat Ibu Martha hasilkan dengan batasan uang yang ia miliki?

A. 17

B. 18

C. 20

D. 21

E. 25

21

Suatu keluarga yang terdiri dari seorang pria dan seorang wanita menghabiskan 7 pasta gigi selama 120 hari. Suatu keluarga lain yang terdiri dari 2 wanita dan 3 orang pria menghabiskan 3 pasta gigi selama 20 hari. Berapa pasta gigi yang dihabiskan oleh sebuah keluarga yang terdiri dari 4 wanita dan seorang pria selama 60 hari?

A. 11

B. 12

C. 10

D. 9

E. 8

Deskripsi untuk soal nomor 22 - 24

Di negeri tempat Timo tinggal, terdapat 5 kota: kota A, kota B, kota C, kota D, dan kota E. Timo memiliki sebuah jam pasir ajaib. Ketika jam pasir itu dibalik, ia dapat berpindah tempat secara seketika, namun tidak semua rute perpindahan tempat dari setiap kota yang ada tersedia. Jam pasir ajaib tersebut juga memiliki batasan pemakaian. Rute perpindahan kota yang disediakan oleh jam pasir tersebut adalah : A ke B, A ke C, B ke C, C ke E, D ke E, D ke A, dan E ke B.

22

Saat ini Timo berada di kota D. Jika jam pasir tersebut hanya dapat dipakai maksimum 2 kali, kota mana sajakah yang dapat dicapai oleh Timo?

A. A

B. B

C. C

D. E

E. Semua salah

23

Jika jam pasir tersebut dapat dipakai tanpa batas, perjalanan manakah yang tidak dapat Timo lakukan dengan menggunakan jam pasir tersebut?

A. Dari kota A menuju kota D

B. Dari kota D menuju kota C

C. Dari kota A menuju kota E

D. Dari kota E menuju kota B

E. Dari kota C menuju kota B

24

Jika jam pasir tersebut dapat dipakai tanpa batas, rute perjalanan manakah yang dapat ditambahkan dalam layanan jam pasir tersebut, supaya Timo dapat menempuh perjalanan dari kota manapun menuju kota manapun?

A. Dari kota E ke kota A

B. Dari kota A ke kota D

C. Dari kota C ke kota D

D. Dari kota D ke kota B

E. Dari kota B ke kota E

25

Bilangan kuadrat A adalah bilangan dimana terdapat bilangan bulat B sehingga B*B = A. Ada berapa bilangan kuadrat antara 212 hingga 2012?

A. 20

B. 25

C. 30

D. 44

E. 49

26

Semua bilangan di bawah ini bisa dihasilkan dari penjumlahan dua buah bilangan prima, kecuali:

A. 73

B. 61

C. 46

D. 59

E. 84

Deskripsi untuk soal nomor 27 - 30

Sebuah pohon keluarga terdiri dari 10 anggota keluarga A, B, C, D, E, F, G, H, I, dan J. Diketahui beberapa fakta sebagai berikut

  • J adalah anak tunggal. Dia juga keponakan dari C

  • E adalah ibu dari I

  • B adalah ibu menantu dari F

  • A dan B adalah pasangan suami-istri yang memiliki dua anak. Keduanya laki-laki.

  • G memiliki paman D

  • H adalah seorang perempuan, sedangkan adik dan kakaknya semuanya laki-laki.

  • D adalah kakak ipar E

Semua orang terhubung dalam pohon keluarga dan tidak ada orang yang hilang.

27

Siapakah yang tidak bisa ditentukan jenis kelaminnya?

A. A

B. C

C. F

D. I

E. J

28

Siapakah yang pasti lebih tua dari C?

A. A

B. D

C. F

D. E

E. G

29

Yang mungkin menjadi adik dari H adalah?

A. C

B. F

C. I

D. J

E. E

30

Ayah dari J adalah?

A. A

B. C

C. F

D. D

E. G

Deskripsi untuk soal nomor 31 - 34

Perhatikan potongan program berikut:

for i := 0 to ((1 shl n) – 1 do
begin
  for j := 0 to n - 1 do
  begin
    if((i and (1 shl j)) <> 0)then
    write('1')
  else
    write('0');
  end;
writeln;
end;
31

Jika kode di atas dijalankan dengan n = 3, maka banyak angka 0 yang dihasilkan oleh instruksi pada baris ke-5 adalah:

A. 5

B. 4

C. 3

D. 2

E. 1

32

Agar keluaran kode di atas sama dengan 1100, maka nilai n yang harus diinput adalah:

A. 5

B. 4

C. 3

D. 2

E. 1

33

Untuk setiap baris hasil keluaran, selisih jumlah angka 1 paling banyak adalah:

A. n*n

B. n*(n-1)/2

C. n

D. log(n)

E. log(n)/2

34

Agar keluaran kode di atas menjadi angka 0 semua pada baris ganjil dan hanya sebuah angka 1 pada baris genap paling kiri, maka baris kelima harus diganti menjadi:

A. if ((i and (1 shl j)) = 1) then

B. if ((i or (1 shl j)) = 0) then

C. if ((j and (1 shl i)) = 1) then

D. if ((j or (1 shl i) = 0) then

E. if ((j xor (1 shl i) = 0) then

Deskripsi untuk soal nomor 35 - 36

Perhatikan potongan program berikut:

x := x xor y;
x := y xor x;
x := x xor y;
35

Jika nilai awal x dan y adalah 3 dan 4, maka setelah kode di atas dijalankan nilainya adalah:

A. x=4, y=3

B. x=4, y=4

C. x=5, y=4

D. x=6, y=4

E. x=7, y=4

36

Jika nilai awal x dan y adalah 1 dan 0, maka setelah kode di atas dijalankan nilainya adalah:

A. x=1, y=0

B. x=0, y=1

C. x=0, y=0

D. x=1, y=1

E. x=1, y=2

Deskripsi untuk soal nomor 37 - 39

Perhatikan potongan program berikut:

procedure swap(a,b,c:integer);
var
 temp : array[1..20]:integer;
 i,j : integer;
begin
 j := 1;

 for i := b+1 to c do
 begin
   temp[j] := x[i];
   j := j+1;
 end;

 for i := a to b do
 begin
   temp[j] := x[i];
   j := j+1;
 end;

 j := 1;

 for i := a to c do
 begin
   x[i] := temp[j];
   j := j+1;
 end;
end;
37

Jika array x berisi (1,2,3,4,5,6). Dan dilakukan pemanggilan swap(2,4,6) maka akan menghasilkan output :

A. 1,6,5,4,3,2

B. 1,5,6,4,2,3

C. 1,4,5,6,2,3

D. 1,5,6,2,3,4

E. 1,2,5,6,3,4

38

Jika array x berisi (6,4,3,5,1,2). Dan dilakukan pemanggilan swap(1,2,4) dan swap(3,4,5) maka akan menghasilkan output :

A. 3,5,1,4,6,2

B. 4,3,1,5,6,2

C. 1,3,6,4,5,2

D. 4,3,5,1,6,2

E. 3,5,1,6,4,2

39

Jika array x berisi (5, 8, 10, 11, 25, 30, 33, 42, 49, 54, 63, 64, 66, 75, 78, 84, 93, 96). Dan diinginkan baris tersebut tersusun terbalik. Berapa kali minimal pemanggilan swap dilakukan?

A. 16

B. 17

C. 18

D. 19

E. 20

Deskripsi untuk soal nomor 40 - 41

Perhatikan potongan program berikut:

function ox (m,n:integer):integer;
begin
  if n=1 then ox := m
  else if (n and 1)=0 then
    ox := ox(m,n shr 1) *
    ox(m,n shr 1)
  else
    ox := ox(m,n shr 1) *
    ox(m,n shr 1) * m;
end;
40

Berapa kali fungsi ox dijalankan jika m=4 dan n=10?

A. 8

B. 10

C. 13

D. 15

E. 16

41

Berapa hasil ox(2,10)?

A. 2048

B. 1024

C. 1280

D. 128

E. 20

42

Perhatikan potongan program berikut:

A := 0
for i := C to D do
 A :=(A+i) mod 5
output (A)

Jika output yang muncul di layar adalah 3 dan nilai variabel C dan D hanya boleh berada di antara 0..255, ada berapa banyak kemungkinan pasangan nilai C dan D yang menghasilkan output tersebut?

A. 2

B. 5

C. 1326

D. 2652

E. 5253

Deskripsi untuk soal nomor 43 - 44

Perhatikan potongan program berikut:

b = 0
while c > 1 do
 b = b + (a mod 2) * c
 a = a/2
 c = c/2
b = b + (a mod 2) * c
43

Nilai variabel a hanya dapat berada di antara 0..255 dan nilai variabel c hanya dapat berada di antara 0..65535. Jika c diinisialisasi dengan 512 dan nilai akhir b adalah 20, berapa nilai awal a?

A. 5

B. 10

C. 192

D. 160

E. 96

44

Jika nilai awal a adalah 107 dan nilai akhir b adalah 13, berapa nilai awal c?

A. 2

B. 4

C. 8

D. 16

E. 32

Deskripsi untuk soal nomor 45 - 46

Perhatikan potongan program berikut:

a:=7; b:=1;
while(a<=n) do
begin
  a:=a+b;
  b:=b+1;
end;
writeln(a);
45

Berapakah nilai n yang tidak mungkin supaya output program tersebut adalah 52?

A. 41

B. 45

C. 49

D. 50

E. semua mungkin

46

Jika nilai n adalah 200, berapakah nilai variabel b di akhir potongan program?

A. 21

B. 22

C. 23

D. 24

E. 25

Deskripsi untuk soal nomor 47 - 48

Perhatikan potongan program berikut:

procedure haha(d:string);
var
  i:integer;
  tmp:string;
begin
  if (length(d)=n) then
    writeln(d)
  else

  for i:=1 to n do
  begin
    str(i,tmp);
    haha(d+tmp);
  end;
end;

catatan :

  • length() digunakan untuk menghitung panjang suatu string, contoh : length('TOKI') = 4

  • str() digunakan untukmengubah variabel bertipe integer menjadi bertipe string
47

Jika n bernilai 4, apakah 4 baris pertama dari output yang diberikan oleh pemanggilan haha('12')?

A.

1234
1243
1324
1342

B.

1212
1213
1214
1221

C.

1211
1212
1221
1222

D.

1211
1212
1213
1214
48

Untuk mencetak seluruh permutasi urutan bilangan asli < n, bagaimana seharusnya prosedur haha dipanggil?

A. haha('0')

B. haha('1')

C. haha('123')

D. haha('012')

E. semua salah

Deskripsi untuk soal nomor 49 - 50

Perhatikan potongan program berikut:

for i:=1 to 4 do begin
 for j:=1 to x do write(' ');
 for j:=y downto i do write('*');
 writeln;
end;
49

Untuk menghasilkan output seperti di bawah ini:

*******
*****
***
*

Nilai x dan y harus diganti dengan …

A. i dan 4

B. i dan 7

C. i-1 dan 4-i

D. i-1 dan 7-i

E. i-1 dan 8-i

50

Untuk menghasilkan output seperti di bawah ini:

*
**
***
****

Nilai x dan y harus diganti dengan …

A. 4 dan 2*i

B. 4-i dan 2*i

C. 4 dan 2*i-1

D. 4-i dan 2*i-1

E. Semua salah