OLIMPIADE SAINS PROVINSI (OSP)
BIDANG INFORMATIKA 2008
Untuk dikerjakan Selama 150 menit (2 ½ jam)
Bagian Informasi
Sistem penilaian:
Jawaban benar = 4, jawaban salah = –1, jawaban kosong = 0, jawaban ganda= –1 .
penjelasan sejumlah notasi yang digunakan dalam naskah soal.
• N! adalah bilangan faktorial N yang berharga hasil perkalian semua bilangan bulat mulai dari 1 sampai
dengan N.
• Bilangan non-negatif adalah bilangan yang tidak berharga negatif (nol termasuk bilangan non-negatif).
• Notasi “A mod B”, dengan A dan B bilangan-bilangan bulat menghasilkan sisa pembagian A dengan B,
misalnya 10 mod 3 = 1 karena 10 jika dibagi 3 akan menyisakan 1.
• Notasi “A div B”, dengan A dan B bilangan-bilangan bulat menghasilkan hasil pembagian A dengan B,
dengan hanya mengambil bilangan bulatnya saja misalnya 10 div 3 = 3 karena 10 dibagi 3 berharga
3,333… dan bilangan bulatnya 3.
• Notasi “abs(A)” dengan A bilangan nyata akan menghasilkan harga positif dari bilangan tersebut.
Misalnya abs(-4.5) = 4.5 dan abs(3.2) = 3.2.
• Notasi “trunc(A)” dengan A bilangan nyata akan menghasilkan bilangan bulatnya saja, misalnya trunc(4.5)
= 4, dan trunc(-4.5) = -4.
• Notasi “sqrt(A)” dengan A bilangan nyata non-negatif maka menghasilkan akar dari A (atau √A),
misalnya sqrt(9) = 3.
• Notasi “length(A)” dengan A merupakan string menghasilkan panjang dari string tersebut (termasuk
semua karakter di dalamnya), misalnya length(‘Viva TOKI 2008’) = 14.
• Operasi boolean adalah operasi logika . Untuk membantu mengingatnya berikut ini table opersi-operasi
yang muncul dalam naskah soal..
A B not A A and B A or B
FALSE FALSE TRUE FALSE FALSE
FALSE TRUE TRUE FALSE TRUE
TRUE FALSE FALSE FALSE TRUE
TRUE TRUE FALSE TRUE TRUE
• 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.
Bagian Analitika (Logika) dan Arimatika (30 soal)
1. Pepen berdiri sejauh 18 meter di sebelah utara
Tugu Pemuda, Fanny berdiri 24 meter di sebelah
barat Tugu yang sama. Berapakah jarak terdekat
antara Fanny dan Pepen yang dapat ditempuh ?
a. 30 meter
b. 900 meter
c. 6 meter
d. 42 meter
e. 90 meter
2. Apabila dua buah bilangan 2n dan 5n (di mana n
adalah bilangan bulat positif) dimulai dengan
digit yang sama, maka digit tersebut adalah...
(Catatan: bilangan dituliskan dengan notasi
desimal, tanpa diawali nol.)
a 9
b 5
c 6
d 7
e 3
Soal Bidang Informatika Halaman 1 OSP 2008 - TOKI XIV 2009
3. Manakah yang nilainya paling besar?
a. 99100
b. 98101
c. 10597
d. 10198
e. 10099
4. Jika a, b, c, d dan e adalah bilangan-bilangan bulat
yang tidak nol dan tidak negatif serta tidak ada
yang sama, dan diketahui pula a+b+c+d=10,
berapakah harga terbesar yang mungkin dari ab
+cd ?
a. 10
b. 32
c. 25
d. 14
e. > 50
5. 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.)
a. 2N
b. (2N / 2)
c. 2N
d. N!
e. (2N)! / N!
6. Pak Dengklek memiliki buku yang bernomor
halaman mulai 1 s.d. N. Jika semua nomor
halaman buku tersebut ditulis secara berderet
dibutuhkan 552 digit. Berapakah N?
a. 205
b. 210
c. 211
d. 212
e. 220
7. Berapa banyak segi empat yang terbentuk dari
tabel berukuran 3x3?
d. 36
e. 27
f. 30
g. 40
h. 35
8. Pak Ganesh menulis angka 1 s.d. 10000. Berapa
banyak angka 1 yang muncul pada hasil tulisan
Pak Ganesh?
a. 5000
b. 1000
c. 3001
d. 2092
e. 3505
9. 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?
a. Kurang dari 8 kali
b. 8 kali
c. 9 kali
d. 10 kali
e. Lebih dari 10 kali
10. Tahun "semi-kabisat" adalah tahun yang bukan
merupakan tahun kabisat, tetapi jika tiap
bilangan penyusun angka tahunnya dijumlahkan,
hasilnya habis dibagi dengan 4. Ada berapa
tahun "semi-kabisat" semenjak tahun 1901
hingga 1960?
a. 10
b. 12
c. 15
d. 16
e. 18
11. Jika n adalah sebuah bilangan bulat ganjil, maka:
(i) n3 – n2 pasti ganjil
(ii) n2 – n pasti genap
(iii) n3 – n pasti ganjil
(iv) n4 – n2 pasti genap
Pernyataan yang benar adalah:
a. (i), (iii)
b. (i), (ii), (iii)
c. (ii), (iv)
d. (ii), (iii), (iv)
e. (iv)
12. Pak Dengklek pertama kali pergi ke pasar
Kliwon tanggal 3 Januari 2008 dan kemudian 4
Soal Bidang Informatika Halaman 2 OSP 2008 - TOKI XIV 2009
hari sekali setelah itu (7 Januari 2008, 11 Januari
2008, dst).
Pak Ganesh pertama kali pergi ke pasar Kliwon
tanggal 4 Januari 2008 dan kemudian 5 hari
sekali setelah itu (9 Januari 2008, 14 Januari
2008, dst).
Pak Blangkon pertama kali pergi ke pasar
Kliwon tanggal 5 Januari 2008 dan kemudian 6
hari sekali setelah itu (11 Januari 2008, 17 Januari
2008, dst).
Jika bertepatan pada hari yang sama, mereka
selalu pergi ke pasar Kliwon bersama-sama.
Pada tanggal berapa ketiga orang tersebut pergi
bersama-sama untuk kedua kalinya?
a. 27 April 2008
b. 28 April 2008
c. 29 April 2008
d. 30 April 2008
e. 1 Mei 2008
13. Si Upik pandai menjumlahkan, namun ia hanya
dapat menulis angka 1 dan 2. Oleh karena itu,
saat Upik ingin menuliskan sebuah angka yang
lebih dari 2, ia menuliskan beberapa angka 1 dan
beberapa angka 2 sedemikian sehingga jika
dijumlahkan jumlahnya adalah bilangan tersebut.
Contohnya, untuk menuliskan angka 3, Upik
memiliki tepat 3 cara yaitu 12, 21, atau 111
(1+2=3 ; 2+1=3 ; 1+1+1=3). Untuk
menuliskan angka 2, sebenarnya Upik memiliki 2
cara yaitu 2 dan 11 (2=2; 1+1=2), tapi hanya ada
1 cara untuk menuliskan angka 1. Berapa banyak
cara Upik untuk menuliskan angka 8?
a. 21
b. 25
c. 30
d. 34
e. 55
14. Pak Dengklek ingin membagikan buku tulis
kepada 100 anak panti asuhan. Masing-masing
anak mendapat setidaknya satu buku tulis, dan
tidak ada anak yang mendapat lebih dari lima
buku tulis. Tidak ada seorang anak pun yang
mendapat buku tulis lebih banyak dari jumlah
buku tulis yang dimiliki dua orang anak lainnya.
Jika Aseng, Adi, dan Ujang adalah anak panti
asuhan dan Aseng mendapat tiga buku tulis,
maka pernyataan manakah yang benar di bawah
ini:
(i) Ujang mungkin hanya mendapat satu buku
tulis.
(ii) Jika diketahui Ujang mendapat empat buku
tulis, maka Adi tidak mungkin mendapat
satu buku tulis.
(iii) Tidak mungkin ada anak yang mendapat
tepat lima buku tulis.
a. (i) dan (ii) benar
b. (i) dan (iii) benar
c. (ii) dan (iii) benar
d. (i), (ii), dan (iii) benar
e. Pilihan a sampai d salah semua
15. Pak Dengklek mempunyai anak-anak asuh yang
terdiri dari 38 anak laki-laki dan 48 anak
perempuan. Tiap kelompok dua anak laki-laki
dan satu anak perempuan bisa bermain lompat
tali, sementara tiap kelompok dua anak
perempuan dan satu anak laki-laki bisa bermain
petak umpet. Jika ada anak yang tidak dapat
membentuk kelompok, maka mereka tidak
bermain. Manakah sisa anak yang tidak bermain
yang mungkin:
(i) 1 anak laki-laki dan 1 anak perempuan
(ii) 2 anak laki-laki
(iii) 2 anak perempuan
a. (i) dan (ii) benar
b. (i) dan (iii) benar
c. (ii) dan (iii) benar
d. (i), (ii), dan (iii) benar
e. Pilihan a sampai d salah semua
16. Suatu hari Pak Dengklek mengajak Pak Ganesh
bermain. Mula-mula Pak Dengklek memberikan
sebuah kertas yang sudah bergambar segi empat
berukuran 8 cm x 9 cm lalu meminta Pak
Ganesh menggambar N buah titik di atas kertas
itu sedemikian sehingga tidak ada dua buah titik
yang berjarak kurang dari 5 cm (semua titik yang
digambar tidak boleh berada di luar segi empat
yang sudah tergambar sebelumnya, tetapi boleh
di dalam atau tepat pada garis segi empat
tersebut). Pak Dengklek menang jika Pak
Ganesh tidak mampu menggambar N buah titik
dengan syarat tersebut. Berapa N minimal agar
Pak Dengklek pasti menang?
a. 5
b. 6
c. 7
d. 8
e. 9
17. Pada suatu hari, empat alumni TOKI (berinisial
A, B, M, dan P) bertemu. Dua diantaranya
membawa pasangan masing-masing makan
bersama di warung makan. Kursi yang
digunakan bernomor 1 sampai N (secara
berurutan) dan meja yang digunakan berbentuk
Soal Bidang Informatika Halaman 3 OSP 2008 - TOKI XIV 2009
lingkaran sehingga kursi 1 selain bersebelahan
dengan kursi 2 juga bersebelahan dengan kursi
N. Terdapat satu kursi pemisah antara kursi yang
diduduki A dan kursi yang diduduki M. P duduk
tepat di sebelah A. Yang membawa pasangan,
duduk bersebelahan dengan pasangannya
masing-masing. A membawa pasangannya pada
pertemuan tersebut. B duduk tepat di sebelah M.
Tidak ada kursi kosong.
(i) Keempat alumni TOKI duduk di kursi
yang nomornya berurutan
(ii) A duduk di sebelah B
(iii) M tidak membawa pasangannya pada
pertemuan tersebut
(iv) B tidak duduk di sebelah P
(v) M tidak duduk di sebelah P atau P tidak
duduk di sebelah B
Berapa banyak pernyataan yang pasti benar?
a. 3
b. 1
c. 4
d. 2
e. 0
18. Pada suatu hari di bulan Juli 2007, Pak Dengklek
bertamu ke rumah Pak Ganesh.
Pak Dengklek berkata, "Aku datang dengan
membawa hadiah ulang tahun untukmu. Tetapi
maaf, terlambat delapan minggu dan tiga hari."
Pak Ganesh menjawab, "Terima kasih. Aku
juga sudah menyiapkan kado untuk ulang
tahunmu, enam minggu dan enam hari lagi."
Kapankah ulang tahun Pak Ganesh berikutnya?
a. 258 hari lagi
b. 259 hari lagi
c. 306 hari lagi
d. 307 hari lagi
e. 365 hari lagi
19. Perhatikan tabel berikut:
• A , W ,
X, Y, Z
adalah bilangan bulat.
• Bilangan-bilangan di kolom terkanan adalah
jumlah dari bilangan-bilangan di sebelah
kirinya pada baris yang sama.
• Bilangan-bilangan di baris terbawah adalah
jumlah dari bilangan-bilangan di sebelah
atasnya pada kolom yang sama.
Berapakah A?
a. 23
b. 25
c. 28
d. 30
e. 32
20. Di dalam sebuah kotak terdapat 10 bola merah,
9 bola kuning, dan 8 bola biru. Pak Dengklek
membuang satu persatu bola dari dalam kotak
secara acak. Berapa jumlah maksimal bola yang
boleh dibuang oleh Pak Dengklek sehingga di
dalam kotak tetap terdapat 3 bola dengan warna
yang sama?
a. 17
b. 18
c. 19
d. 20
e. 21
21. Jika bilangan x habis dibagi 7 dan bilangan y
habis dibagi 21, pernyataan-pernyataan manakah
yang benar?
(i) x dan y kemungkinan adalah bilangan yang
sama
(ii) y-x akan berupa bilangan non-negatif
(iii) Faktor persekutuan terbesar dari x dan y
adalah 7
a. Pernyataan (i) dan (ii) benar
b. Pernyataan (i) dan (iii) benar
c. Pernyataan (ii) dan (iii) benar
d. Pernyataan (i), (ii), dan (iii) benar
e. Pilihan a sampai d salah semua
22. Jika dari sebuah kotak Anda hanya boleh
melangkah ke kotak lain yang bersebelahan
Soal Bidang Informatika Halaman 4 OSP 2008 - TOKI XIV 2009
X X X X 28
X X Y Y 30
Y Z W X 20
W W Z Y 16
A 19 20 30
Z
secara vertikal atau horizontal (tidak boleh
diagonal), berapa banyak jalur berbeda dari
kotak A untuk sampai ke kotak Z dengan
jumlah langkah minimal?
a. 8
b. 10
c. 12
d. 18
e. 20
23. Jika dari sebuah kotak Anda hanya boleh
melangkah ke kotak lain yang bersebelahan
secara vertikal atau horizontal (tidak boleh
diagonal), berapa banyak jalur berbeda dari
kotak A untuk sampai ke kotak Z dengan
jumlah langkah minimal dan tanpa melalui kotak
X?
a. 8
b. 10
c. 12
d. 18
e. 20
24. Sebuah bilangan bulat positif X memiliki ciriciri
sebagai berikut:
(i) Terdiri dari 5 digit, dan dapat dibagi
habis dengan 5
(ii) Digit pertama (puluh ribuan) bukanlah
0, dan bukanlah bilangan prima
(iii) Digit kedua (ribuan) lebih besar dari
digit ketiga (ratusan)
(iv) Jumlah digit ketiga (ratusan) dan kelima
(satuan) berupa bilangan ganjil
(v) Digit kedua (ribuan) merupakan
bilangan prima, tetapi tidak habis
membagi digit pertama (puluh ribuan)
(vi) Hasil perkalian digit ketiga (ratusan) dan
keempat (puluhan) adalah bilangan
ganjil
Berapakah X mod 4 ?
a. 0
b. 1
c. 2
d. 3
e. Tidak dapat ditentukan
25. Pak Dengklek sedang mempelajari rute
penerbangan domestik di Indonesia. Ada
penerbangan dari Bandung ke Jakarta, dari
Bandung ke Cirebon, dari Cirebon ke Denpasar,
dari Banten ke Flores, dari Flores ke Jakarta, dari
Bandung ke Denpasar, dari Denpasar ke Jakarta,
dari Jakarta ke Medan, dari Medan ke Aceh, dari
Aceh ke Flores.
Jika ada penerbangan dari kota X ke kota Y
bukan otomatis berarti ada penerbangan dari
kota Y ke kota X. Jika ada penerbangan dari
kota X ke kota Y dan ada penerbangan dari kota
Y ke kota Z maka ada penerbangan dari kota X
ke kota Z (bisa diatur dengan penerbangan dari
kota X ke kota Y dahulu kemudian disambung
dari kota Y ke kota Z).
(i) Tidak ada penerbangan dari Jakarta ke
Banten.
(ii) Tidak ada penerbangan dari Bandung ke
Banten.
(iii) Tidak ada penerbangan dari Bandung ke
Flores.
(iv) Tidak ada penerbangan dari Cirebon ke
Aceh.
(v) Tidak ada penerbangan dari Aceh ke
Denpasar.
Berapa banyak pernyataan yang benar?
a. 3
b. 2
c. 1
d. 4
e. 5
26. Pak Dengklek menggambar persegi panjang dengan panjang P cm dan lebar L cm. Lalu ia bagi-bagi persegi
panjang tersebut ke dalam P x L buah persegi dengan ukuran masing-masing 1cm x 1cm, dan diberinya
Soal Bidang Informatika Halaman 5 OSP 2008 - TOKI XIV 2009
X Z
X
A X X
koordinat kartesian (1, 1) hingga (P, L). Persegi dengan hasil penjumlahan koordinat x dan y berupa bilangan
ganjil akan dicat warna merah, sedangkan sisanya dicat warna biru.
Pernyataan manakah yang paling tepat di bawah ini?
a. Jumlah persegi yang dicat warna merah akan selalu lebih sedikit dari yang dicat warna biru.
b. Jumlah persegi yang dicat warna merah akan selalu lebih sedikit atau sama dengan yang dicat warna
biru.
c. Jumlah persegi yang dicat warna merah akan selalu lebih banyak atau sama dengan yang dicat warna
biru.
d. Jumlah persegi yang dicat warna merah akan selalu lebih banyak dari yang dicat warna biru.
e. Pilihan a sampai d salah semua
Deskripsi untuk soal no. 27 dan 28
Pak Dengklek dan Pak Ganesh pada awalnya berada di titik A.
Pak Dengklek berjalan lurus sejauh 30 meter. Lalu Pak Dengklek berputar ke arah yang tidak diketahui, lalu
berjalan lurus sejauh 50 meter. Setelah itu, Pak Dengklek berputar ke arah yang tidak diketahui lagi, lalu berjalan
lurus sejauh 40 meter. Posisi akhir Pak Dengklek diberi nama titik B.
Dari titik A, Pak Ganesh berjalan lurus ke arah yang tidak diketahui sejauh 70 meter. Lalu ia berputar ke arah yang
tidak diketahui dan berjalan lurus sejauh 25 meter. Posisi akhir Pak Ganesh diberi nama titik C.
27. Berapa jarak terdekat yang mungkin antara titik
B dan titik C?
a. 0 meter
b. 5 meter
c. 15 meter
d. 25 meter
e. 50 meter
28. Berapa jarak terjauh yang mungkin antara titik B
dan titik C?
a. 0 meter
b. 15 meter
c. 152.4 meter
d. 215 meter
e. 225 meter
Deskripsi soal no 29 s.d 30
Pada suatu permainan terdapat empat kantung, masing-masing berisi beberapa kelereng. Di awal permainan,
pemain mengeluarkan kelereng dari kantung pertama, lalu memasukkan satu kelereng ke kantung kedua, satu
ke kantung ketiga, satu ke kantung keempat, satu ke kantung pertama, satu ke kantung kedua, dan seterusnya
hingga semua kelereng sudah masuk kembali ke kantung-kantung. Setelah itu, pemain mengeluarkan semua
kelereng dari kantung yang terakhir kali dimasuki kelereng, lalu mengulangi proses yang sama. Permainan terus
berlanjut hingga jumlah kelereng yang dikeluarkan pemain dari suatu kantung tepat sebanyak satu buah.
29. Jika isi awal kantung pertama adalah 5 kelereng,
isi kantung kedua adalah 3 kelereng, isi kantung
ketiga adalah 4 kelereng, dan isi kantung
keempat adalah 2 kelereng, saat permainan
berakhir, kantung manakah yang kelerengnya
baru saja dikeluarkan?
a. Kantung pertama
b. Kantung kedua
c. Kantung ketiga
d. Kantung keempat
e. Permainan tidak akan pernah berakhir
30. Jika isi awal kantung pertama adalah 5 kelereng,
kantung kedua adalah 3 kelereng, kantung ketiga
adalah 5 kelereng, berapa jumlah kelereng dalam
kantung keempat supaya permainan tidak
pernah berakhir?
a. 0 kelereng
b. 1 kelereng
c. 2 kelereng
d. 3 kelereng
e. Pilihan a sampai d salah semua.
Bagian Algoritmika (30 soal)
Soal Bidang Informatika Halaman 6 OSP 2008 - TOKI XIV 2009
31. Perhatikanlah potongan kode program sebagai berikut:
a := 10;
b := 5;
a := b – a;
b := b – a;
a := a + b;
Berapakah harga a dan b setelah perintah-perintah berikut ini dijalankan?
a a = 15, b = 5
b a = 5, b = 10
c a = 5, b = 5
d a = 10, b = 10
e a = 5, b = 15
32. Perhatikanlah potongan kode program sebagai berikut:
a := 100;
b := 5;
repeat
b := b + 1;
a := a – b;
until a > b;
writeln(a,b);
Manakah pasangan nilai (a, b) yang dicetak di akhir program?
a 94 dan 6
b 100 dan 5
c 10 dan 14
d 10 dan 15
e 5 dan 14
Untuk dua (2) pertanyaan berikutnya perhatikanlah potongan kode program sebagai berikut:
program Coba;
var
i,j,k,x,y : integer;
begin
read(x);
i := 0;
y := 0;
while (i < x) do
begin
for j:=0 to i do
y := y + (2 * i);
i := i + 1;
end;
for k:=0 to y do
write(‘a’);
end.
33. Berapakah y yang dihasilkan di akhir program
jika x adalah 3?
a 13
b 14
c 15
d 16
Soal Bidang Informatika Halaman 7 OSP 2008 - TOKI XIV 2009
e 17
34. Berapakah nilai x minimum yang diperlukan
supaya di layar tertulis yang lebih dari 80 huruf
’a’ di akhir program?
a 2
b 4
c 5
d 10
e 15
Untuk enam (6) pertanyaan berikutnya perhatikanlah potongan kode program sebagai berikut:
function HitungJuga (m : integer; n : integer) : integer;
begin
if (n=0) then HitungJuga := m
else HitungJuga := HitungJuga(n, m mod n)
end;
procedure Hitung (x, y : integer; var z : integer);
begin
if ((x > 0) and (y > 0)) then
z := HitungJuga(x,y)
else
z := 0;
end;
35. Berapakah hasil fungsi HitungJuga jika n =
72 dan m = 84?
a 1
b 8
c 12
d 72
e 0
36. Manakah dari nilai-nilai n di bawah ini yang bisa
menghasilkan 15 pada fungsi HitungJuga
jika diketahui nilai m = 105?
a 75
b 105
c 50
d 10
e 25
37. Berapakah nilai z pada prosedur Hitung jika x
= -8 dan y = 12?
a 0
b -4
c 4
d 8
e 12
38. Semua kombinasi x dan y di bawah ini
menghasilkan z yang habis dibagi 3 pada
prosedur Hitung kecuali:
a x = 36, y = 12
b x = 6, y = 24
c x = 75, y = 105
d x = 100, y = 75
e x = 90, y = 18
Untuk tiga (3) pertanyaan berikutnya perhatikanlah kode program lengkap sebagai berikut:
Soal Bidang Informatika Halaman 8 OSP 2008 - TOKI XIV 2009
Program CobaCoba;
var
x, y, z, i, k : integer;
(*** function Hitung ****)
function Hitung (i : integer) : integer;
var
j, hasil : integer;
begin
hasil := 0;
j := 1;
while (j <= i) do begin
hasil := hasil + j;
j := j + 1;
end;
Hitung := hasil;
end;
(*** Program Utama ***)
begin
x := -1;
y := 4;
read(z);
write(Hitung(x));
for i:=15 downto Hitung(y) do
write(‘y’);
if (Hitung(z) > 0) then
for i:=1 to z do
for k:=1 to i do
write(‘*’);
end.
39. Angka berapakah yang pertama kali tertulis di
layar, jika program tersebut dijalankan?
a 0
b 1
c 2
d 3
e 4
40. Berapa banyakah huruf ’y’ yang akan tertulis di
layar?
a 15
b 5
c 0
d 10
e 6
41. Berapakah z yang harus dimasukkan pengguna
untuk menuliskan 15 karakter ’*’ di layar?
a 2
b 4
c 5
d 6
e 7
Untuk tiga (3) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut:
Soal Bidang Informatika Halaman 9 OSP 2008 - TOKI XIV 2009
function ABC (a, b : integer) : integer;
var
hasil : integer;
begin
if (a mod b = 0) then ABC := b
else ABC := ABC(a, b-1);
end;
function XYZ (X : integer) : integer;
begin
if (X < 1) then XYZ := -1
else if (X = 1) then XYZ := 0
else XYZ := ABC(X,X-1);
end;
42. Berapakah hasil ABC(12, 4)?
a -1
b 0
c 1
d 2
e 4
43. Berapakah hasil XYZ(17)?
a -1
b 0
c 1
d 2
e 3
44. Berapakah hasil fungsi XYZ jika X = 100?
a 10
b 20
c 30
d 40
e 50
Untuk dua (2) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut:
function sum(n:integer):integer;
begin
if (n>0) then
sum:=n+sum(n-1)
else
sum:=n;
end;
45. Hasil dari sum(11) adalah...
a. 55
b. 66
c. 11
d. 78
e. 91
46. Agar keluaran fungsi sum(n) > 100,
berapakah harga n terkecil?
a. 11
b. 12
c. 13
d. 14
e. 15
Untuk dua (2) pertanyaan berikutnya, perhatikanlah potongan kode program sebagai berikut:
Soal Bidang Informatika Halaman 10 OSP 2008 - TOKI XIV 2009
var
i,j,k:integer;
begin
k:=1; (*inisialisasi*)
for i:=1 to 4 do
begin
k:=k*i;
for j:=i+1 to 2*i do
begin
k:=k+j;
end;
end;
writeln(abs(k)); (*keluaran program*)
end.
47. Keluaran dari program di atas adalah...
a. 242
b. 1250
c. 54
d. 1
e. 7557
48. Agar program menghasilkan keluaran minimum,
nilai k harus diinisialisasi dengan...
a. 0
b. -1
c. -9
d. -10
e. -11
Untuk dua (2) pertanyaan berikutnya, gunakan tabel berikut untuk 4 soal berikutnya:
I 0 1 2 3 4 5 6 7 8 9
bil[i] 2 0 1 3 6 7 5 10 0 1
49. Perhatikan pseudopascal berikut:
a := 0; b := 100;
pb := 0; pa := 0;
for i := 0 to 9 do
if bil[i] > a
then a := bil[i]
else b := bil[i];
Setelah pseudopascal di atas dijalankan, berapakah
nilai a+b?
a. 110
b. 0
c. 10
d. 2
e. 11
50. Perhatikan pseudopascal berikut:
a := 0; b := 100;
pa := 0; pb := 0;
for i := 0 to 9 do
if bil[i] > a then begin
a := bil[i];
pa := i;
end
else if bil[i]<b then begin
b := bil[i];
pb := i;
end;
Setelah pseudopascal di atas dijalankan, berapakah
nilai pa+pb?
a 2
b 8
c 10
d 17
e 18
Soal Bidang Informatika Halaman 11 OSP 2008 - TOKI XIV 2009
51. Perhatikan pseudopascal berikut:
function fun2(a:string;b:integer):string;
var tmp:string;
begin
if (length(a) = 10) then fun2 := a
else
fun2 := fun2(a[(b*b) mod length(a)+1] + a,((b*b) mod
length(a))+1);
end;
Manakah pasangan berikut yang menghasilkan keluaran yang sama?
a. fun2('TOKI09',1) dan fun2('TOKI09',4)
b. fun2('TOKI09',2) dan fun2('TOKI09',5)
c. fun2('TOKI09',3) dan fun2('TOKI09',1)
d. fun2('TOKI09',4) dan fun2('TOKI09',2)
e. fun2('TOKI09',5) dan fun2('TOKI09',3)
52. Perhatikan pseudopascal berikut:
function fun3(a,b,c,d,x:integer):integer;
var tmp,i:integer;
begin
for i:=3 to x do begin
tmp:=b;
b:=d*a+c*b;
a:=tmp;
end;
fun3:=b;
end;
Manakah yang menghasilkan bilangan genap?
a. fun3(1,1,1,1,10)
b. fun3(3,3,1,2,11)
c. fun3(3,4,4,5,7)
d. fun3(3,4,4,5,7)
e. fun3(2,3,1,3,4)
53. Perhatikan pseudopascal berikut:
function tes1(n:integer):boolean;
var ok:boolean; i:integer;
begin
ok := true;
for i := 2 to trunc(sqrt(n))+1 do
if (n mod i) = 0 then ok := false;
tes1:=ok;
end;
Manakah pemanggilan yang menghasilkan false?
a. tes1(43)
b. tes1(51)
c. tes1(53)
d. tes1(59)
e. tes1(67)
54. Perhatikan pseudopascal berikut:
Soal Bidang Informatika Halaman 12 OSP 2008 - TOKI XIV 2009
function tes2(n:integer):boolean;
var ok:boolean; j,i:integer;
begin
ok := true;
j := 0;
for i := 1 to (n div 2) do
if (n mod i) = 0 then j := j+i*2;
tes2 := (j=2*n);
end;
Manakah pemanggilan yang menghasilkan true?
a. tes2(12)
b. tes2(24)
c. tes2(28)
d. tes2(29)
e. tes2(36)
55. Perhatikan pseudopascal berikut:
function tes3(n,m:integer):boolean;
var i,j,tmp:integer;
begin
tmp := n; i := 0;
while (tmp > 0) do begin
if (tmp mod 2) = 1 then i := i+1;
tmp := tmp div 2;
end;
tmp := m; j := 0;
while (tmp > 0) do begin
if (tmp mod 2) = 1 then j := j+1;
tmp := tmp div 2;
end;
tes3 := i=j;
end;
Manakah yang menghasilkan true?
a. tes3(99,100)
b. tes3(100,120)
c. tes3(56,121)
d. tes3(89,156)
e. tes3(80,173)
56. Perhatikan pseudopascal berikut
readln(a);
b := 4;
while a > 0 do begin
Soal Bidang Informatika Halaman 13 OSP 2008 - TOKI XIV 2009
b := b + (a mod 10);
a := a div 10;
end;
if ((b mod 3) > 0) or ((b mod 9) > 0) then writeln('Angin bertiup')
else writeln('Angin semilir');
Berapakah nilai a yang akan menghasilkan keluaran Angin semilir?
a. 23
b. 20
c. 24
d. 21
e. 22
57. 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
menjadi berisi sebagai berikut (N=10):
i 1 2 3 4 5 6 7 8 9 10
data[i] 0 0 1 1 2 3 5 6 7 10
a. for i:=1 to N-1 do
for j:=i+1 to N do
if data[i]<data[j] then
begin
data[i]:=data[j];
data[j]:=data[i];
end;
b. for i:=1 to N do
for j:=i+1 to N-1 do
if data[i]>=data[j] then
begin
temp:=data[i];
data[i]:=data[j];
data[j]:=temp;
end;
c. for i:=1 to N-1 do
for j:=i+1 to N do
if data[i]<data[j] then
begin
temp:=data[i];
data[i]:=data[j];
data[j]:=temp;
end;
d. for i:=1 to N do
for j:=N downto i+1 do
if data[j-1]>data[j]then
begin
temp:=data[j];
data[j]:=data[j-1];
data[j-1]:=temp;
end;
e. for i:=1 to N-1 do
for j:=i to N-1 do
if data[i]<data[i+1]then
begin
temp:=data[i];
data[i]:=data[i+1];
data[i+1]:=temp;
end;
58. 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’.
Soal Bidang Informatika Halaman 14 OSP 2008 - TOKI XIV 2009
a. readln(bil);
duaan:=false;
for i:=1 to 30 do
if (bil=2^i)
then duaan:=true;
if duaan
then writeln(‘Benar’)
else writeln(‘Salah’);
b. readln(bil);
duaan:=false;
while (bil>0) do begin
duaan:=
(1=(bil mod 2))xor duaan;
bil:= bil div 2;
end;
if duaan
then writeln(‘Benar’)
else writeln(‘Salah’);
c. readln(bil);
duaan:=false;
while (bil>0) do begin
duaan:=
(1=(bil mod 2))or duaan;
bil:=bil div 2;
end;
if duaan
then writeln(‘Benar’)
else writeln(‘Salah’);
d. readln(bil);
duaan:=false;
temp:=1;
while (bil>0) do begin
temp:=2*temp;
if (bil=temp)
then duaan:=true;
end;
if duaan
then writeln(‘Benar’)
else writeln(‘Salah’);
e. readln(bil);
duaan:=false;
temp:=1;
while ((bil-temp)>0) do
begin
temp:=temp*2;
if (bil=temp)
then duaan:=true;
end;
if duaan
then writeln(‘Benar’)
else writeln(‘Salah’);
59. Nilai dari ekspresi boolean (not A) or (B and C) or (A and (not B) and C) or (A and B) akan selalu sama
dengan ekspresi:
a (not (C or (not A))) and (not B) or (not A)
b (A and (B or C)) or C or ((not A) and (not C))
c (A and (B or C)) or C or (A and C)
d (not B) or (not (A and B and (not C)))
e (not (C or (not A))) and (not B)
60. Nilai dari ekspresi boolean (not A) or (B and C) or (A and (not B) and C) or (A and B) akan selalu
berlawanan dengan ekspresi:
a (not (C or (not A))) and (not B) or (not A)
b (A and (B or C)) or C or ((not A) and (not C))
c (A and (B or C)) or C or (A and C)
d (not B) or (not (A and B and (not C)))
e (not (C or (not A))) and (not B)
Akhir Dari Naskah Soal
Soal Bidang Informatika Halaman 15 OSP 2008 - TOKI XIV 2009
Blogger templates
Category List
- (7)
- (269)
- (3)
- (3)
- (4)
- (2)
- (3)
- (4)
- (3)
- (3)
- (3)
- (3)
- (3)
- (3)
- (3)
- (4)
- (3)
- (3)
- (3)
- (3)
- (4)
- (3)
- (3)
- (3)
- (3)
- (3)
- (3)
- (12)
- (3)
- (3)
- (3)
- (3)
- (3)
- (1)
- (3)
- (3)
- (3)
- (3)
- (3)
- (2)
- (3)
- (3)
- (1)
- (3)
- (3)
- (3)
- (2)
- (3)
- (4)
- (2)
- (3)
- (4)
- (3)
- (2)
- (4)
- (21)
- (11)
Blog Archive
-
▼
2012
(526)
-
▼
Mei
(167)
- ExtremeCopy 2.1.0 PRO Full Serial
- PhotoInstrument 5.5 Full Cracked
- Smadav Pro Rev. 9.01 + Key & Tutorial
- VLC Media Player 2.0.1 Terbaru
- 5 Hantu Paling Terkenal di Indonesia
- Jadwal Euro Cup 2012| Piala Eropa 2012 Lengkap di ...
- 5 Alasan Kenapa Film 'Penumpasan Pengkhianatan G30...
- Foto-foto Awan yang Unik
- Penemuan benda-benda sederhana yang sangat berguna
- Jawaban ilmuwan atas beberapa pertanyaan imajinasi
- 7 Tanaman Yang Ampuh Untuk Atasi Batuk
- 10 Selebriti dengan Tindak Kriminal Paling Konyol
- 15 Cara Hukuman Mati Paling Mengerikan
- 7 Tempat Yang Belum Terjamah di Dunia
- Street Musical Mizone City Project Collaboration d...
- Acara Kuis Pertama Kali Yang Tayang Di TV
- Sepuluh Internet Browser Terbaik 2012
- 7 Jenis Bencong yang Kamu Tau
- Pertandingan Fantasi & Realita dalam Komik & Kartu...
- Sejarah Asal Usul Ekstasi
- Sejarah Asal Usul Ekstasi
- Pesawat Tempur Terkecil di Dunia
- 20 Hal Yang Bisa Menghancurkan Diri Sendiri
- Misteri Kisah Gitar Merah Milik Brian May
- 8 Pohon Aneh di Dunia
- 22 Rekor Guiness World Record Yang Dipecahkan Di I...
- Kutukan Misterius Paling Terkenal di Dunia
- Misteri Segitiga Bogor
- Misteri Segitiga Bogor
- Artis-artis Wanita yang Berjenggot
- 10 Kereta Tercepat di Dunia
- 5 kasus kejahatan yang terbongkar karena Facebook
- 10 Mobil Tercepat Di Dunia
- 10 Mobil Tercepat Di Jalanan
- 10 Misteri Terbesar Di Dunia Yang Belum Terpecahkan
- 10 Gedung Tertinggi Di Dunia
- Bukti Alien Itu Ada (Nyata)
- Misteri Planet X
- 10 Char Wanita Paling Berpengaruh Dalam Dunia Game
- 50 Orang Paling Berpengaruh Dalam Dunia Web
- 9 Fakta Unik Tentang Arab Saudi
- Foto - Foto Penampakan Hantu Di Dunia
- Binatang Yang Suaranya Bisa Terdengar Sampai Jauh
- 4 Burung Dengan Teknik Menyelam Yang Handal
- 5 Foto Paling Fenomenal di Dunia Tahun 2010
- 5 Temuan Medis Terheboh Sepanjang Tahun 2010
- 10 Anak Artis Dunia yang Paling Stylish 2010
- Hujan Meteor Akan Meriahkan Pergantian Malam Tahun...
- 10 Penemuan Sains Terbaik Dunia Tahun 2010
- 6 Magician paling berpengaruh di dunia
- 10 Virus Komputer Paling Mematikan Di Dunia
- Tips Membeli Kamera DSLR Bagi Pemula
- 12 Foto Instagram Paling Keren
- 10 Tips Membeli Televisi
- 10 Jenis Fobia Teraneh di Dunia
- 7 Cara Melindungi Akun Twitter
- Tokoh di Film The Avengers yang Kurang Top
- UFO Tertangkap Kamera NASA Mendekati Matahari?
- Model Sepatu High Heels yang Unik
- Cara Terlihat Anggun di Twitter
- 10 Planet Paling Unik
- 10 Kuil Yunani yang Paling Terkenal
- 20 Hal Spele Yang Membuat Wanita Merasa Disayang
- 9 Jalan Paling Berhantu Di Dunia
- 15 Fakta Tentang Bruce Lee yang Mungkin Tidak Bany...
- Onani Bisa Bikin Mati
- Film-film Asing Yang Membawa Unsur Indonesia
- Oarfish, Ikan Ular Laut Kuno
- Sejarah Obor Olimpiade dari masa kemasa
- 5 Jalur Wisata Kapal Feri Terindah Di Dunia
- 7 Manfaat Radiasi Selain Sebagai Pembangkit Listri...
- Hiu-hiu Paling Besar di Samudera
- 5 Girl Band Korea Terpopuler
- 10 Penemuan besar bangsa China zaman dahulu
- 10 Kota Mati Yang Ditemukan
- 13 Sistem Identifikasi Yang Membedakan Antara 1 De...
- 6 Cara Menambah Daya Ingat
- Fakta Seputar Pensil
- 10 Fakultas Dengan Prospek Gaji Tertinggi
- 9 Hewan Berbeda Jenis yang Menjadi Sahabat Sejati
- 7 Ilmuwan yang Tidak Terkenal yang Mengubah Dunia
- 5 Kisah Penghargaan/Hadiah Paling Aneh di Dunia
- hotel-hotel unik yang ada di Indonesia
- 5 Hal yang Dulu Biasa Aja Sekarang Ngetrend
- 9 Penampakan Unik Di Google Maps
- Tipe-Tipe Anak Kost yang Unik
- 10 Fakta Youtube Yang Mengejutkan Dunia
- 10 Kata terpanjang dalam kosakata bahasa Inggris
- 10 Kacamata Model Terbaru Wajib Punya
- 10 Burung dengan Pertahanan Terbaik Dan terunik di...
- 5 Buku terkecil di dunia
- 10 Fakta tentang 'Batman'
- 10 Fakta tentang hidup di luar angkasa
- 10 Akun twitter bintang sepakbola liga Inggris
- 10 Sengketa wilayah paling kontroversial di dunia
- 10 Pembunuh Paling Sadis dari Kalangan Keluarga Mafia
- 10 Game paling aneh di dunia
- Asal usul Berjanji Menggunakan Kelingking
- 6 Miniatur Kereta Api Terbesar Di Dunia
- 10 Binatang Pecinta dan Cara Bercintanya yang Unik
-
▼
Mei
(167)
STATISTIC BLOG
Whos
My Clock
TRANSLATE
by : Cakrapaeway
CaKra Paeway. Diberdayakan oleh Blogger.
About Me
- Unknown