Professional Documents
Culture Documents
1. 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? (OSK 2010) A. 9 B. 10 C. 11 D. 12 E. 14 2. Robi sekarang 15 tahun lebih tua dari pada adiknya Soni. Pada y tahun yang lalu umur Robi adalah dua kali dari umur Soni. Jika Soni sekarang berumur b tahun dan b > y, berapakah nilai b-y? (OSK 2010) A. 13 B. 14 C. 15 D. 16 E. 17 Jawaban : D Pembahasan : Air dalam tangki akan habis dalam waktu 8 jam jika dibuka dengan 6 kran, sehingga jika 4 buah kran yang dibuka maka akan menghabiskan waktu : 6.8 = 4x 48 = 4x x = 48/4 x = 12 Jawaban : C Pembahasan : Misalkan umur Robi = r dan dari soal diketahui umur Soni = b. Persamaan umur sekarang : r = 15 + b Persamaan umur pada y tahun yang lalu: r-y = 2 (b-y) b-y = (r-y) / 2 b-y = (15 + b - y) / 2 2 (b-y) = 15 + b y 2b-2y-b+y = 15 b-y = 15 Jawaban : D Pembahasan : W.Y = 32 X.Z = 50 W<X<Y<Z Misalkan dengan menggunakan logika didapatkan: W=4, X=5, Y=8, Z=10 4<5<8<10 , sehingga X.Y = 5.8 = 40 Jawaban : B Pembahasan : x = 20 , y = 35 x = 20 + 35 x = 55 y = 55 35 y = 20 x = 55 20 x = 35 Jadi, x = 35 dan y = 20
3. Diketabui 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. Berapakah nilai X dikali Y? (OSK 2010) A. 20 B. 25 C. 36 D. 40 E. 44
ALGORITMlKA
Nilai variable x dan y setelah eksekusi operasi- operasi tersebut: (OSK 2010) A. x = 35, dan y =55 B. x = 35, dan y = 20 C. x = 15, dan y = 5 D. x = 15, dan y = -20 E. x = -35, dan y = 15
5. Suatu array X berindeks dari 1 s.d. 10 dan setiap elemennya berisi huruf-huruf berurutan dari 'a' sampai 'j'. Suatu algoritma bekerja pada array tersebut sbb. (prosedur swap(a,b) adalah menukarkan harga a dan b) for i:= 1 to 10 do swap(X[i],X[10-i+1]); for i:= 1 to 10 do write(X[i]); Hasil yang dicetak adalah: (OSK 2010) A. abcdefghij B. jihgfedcba C. ebacdhfgij D. fghijabcde E. cdefghijab 6. Perhatikan algoritma berikut ini: procedure Bintang(t: integer); begin if (t > 0) then begin for i := 1 to t do writeln(*); Bintang(t div 2); / / t dibagi 2 dan dibulatkan ke bawah end; end; Pemanggilan Bintang(1000) sebanyak? (OSK 2010) A. 2000 baris B. 1994 baris C. 1000 baris D. 500 baris E. 10 baris menghasilkan pencetakan "*"
Jawaban : A Pembahasan : Diketahui indeks 1 s.d. 10 merupakan runtutan dengan nilai a s.d. j. Dari program yang dituliskan yang perlu dicermati adalah listing program yang paling bawah, For i:= 1 to 10 do write(X[i]); Artinya : Untuk urutan 1 maka akan menuliskan X[1] = a, urutan 2 maka akan menuliskan X[2] = b, dst. Sehingga urutan nilainya : abcdefghij
Jawaban : E Pembahasan : Diketahui Bintang(1000), Dari program diketahui t = integer, karena 1000 adalah integer, maka t>0 untuk kondisi : i = 1, menuliskan tanda *, kemudian 1000 dibagi 2 menjadi 500, i = 2, menuliskan tanda *, kemudian 500 dibagi 2 menjadi 250, i = 3, menuliskan tanda *, kemudian 250 dibagi 2 menjadi 125, i = 4, kemudian 125 dibagi 2 menjadi 62, (karena dibulatkan ke bawah) i = 5, kemudian 62 dibagi 2 menjadi 31, i = 6, kemudian 31 dibagi 2 menjadi 15, i = 7, kemudian 15 dibagi 2 menjadi 7, i = 8, kemudian 7 dibagi 2 menjadi 3, i = 9, kemudian 3 dibagi 2 menjadi 1, i = 10, kemudian 1 dibagi 2 menjadi 0.