Soal-OSK-2007-Tuban

Embed Size (px)

DESCRIPTION

Soal-OSK-2007-Tuban

Citation preview

OLIPIADE SAINS KABUPATEN

Pembahasan TOKI Kab 2007

OLIMPIADE SAINS KABUPATEN

BID. INFORMATIKA 2007

1. Jika n! = nx (n-1)x(n-2)x.x1 untuk setiao bilangan bulat positifn, dan c(a,b) a!/(b!(a-b)!), untuk a>b, keduanya bil.bulat positif. Berapakah C(7,3) x C(4,2) x C(2,1) x C(1,1)

Jawab

c(a,b) a!/ (b!(a-b)!)

C(2,1) = 2! C(1,1) = 1!

1! x1!

1! X 0!C(7,3) = 7! (5x6x7)

= 2

= 0 (3! (4)!)

( a =b, bukan a>b).

= 35C(4,2) = 4!

2! 2!

= 6

= 35x2x6 = 420 (B)

2. Tdk bisa3. Tdk bisa

4. Tdk bisa

5. Tdk bisa

6. Enam ekor ayam masuk ke dalam 3 buah kandang yang semula kosong. Berapa jumlah maks yg mkn ayam2 dlm satu kandang ?Jawab

Karena kandang kosong, ada kemungkinan, semua ayam masuk dalam satu kandang.

Sehingga jumlah maks ayam yg masuk dalam kandang = 6 (E)

7. Enam ekor ayam masuk ke dalam 3 buah kandang yang semula kosong. Berapa jumlah maks yg mungkin ayam2 dalam satu jkandang jika setiap kandang pasti ada ayam di dalamnya.jAwab ( 4 (D)karena tiap kandang pasti ada ayam didalamnya, maka minimum dalam 1 kandang terdapat 1 ayam.Sehingga kemungkinan,

Kandang 1 ( 1 ayam

Kandang 2 ( 1 ayam

Kandang 3 ( 4 ayam

8. Satu lembar kertas uk. 19x30 cm akan ditempeli prangko yg berbentuk sama. Ukrn masing2 dari prangko tsb adalah 3x3 cm. Jarak antar prangko di kertas tidak boleh kurang dari 1 cm (= 1 cm). Dari pinggiran kertas selebar 2 cm harus dikosongkan. Berapa banyak perangko (utuh) yg bisa ditempelkan plg banyak ?Jawab ( 24 ( C )

Pjg sisi dalam ( 26 cm

26 / (Pjg prangko + jarak antar prangko)

= 26 /4 = 6 prangko sisa 2 cm

Lebar sisi dalam ( 15 cm

15 / 4 = 3 sisa 3 cm , shg ckp 4 prangko

Total = 6 x 4 = 24 prangko

9. tdk bisa10. Seutas benang yg semula memiliki panjang 1 meter dilipat 2 dengan mempertemukan kedua ujungnya, dari hasilnya lalu dilipat duakan lagi beberapa kali hingga terlipat-lipat dengan panjang lipatan terakhir adalah yg plg panjang tetapi kurang dari 1 cm. Berapa kali pelipatan yg dilakukan hingga ukuran tsb ?

Jawab ( 7 (B)

1 m = 100 cm

5. 6.25 / 2 = 3.1251. 100 / 2 = 50

6. 3.125 / 2 = 1,5625

2. 50/2 = 25

7. 1.5625 / 2 = 0, ..

3. 25/2 = 12.5

4. 12.5 /2 = 6.25

11. tdk bisa12. tdk bisa

deskripsi soal 13 s.d 17 kalau dibuat flowchart , akan spt gbr di bwh ini .

13. Jika hari ini biasa-biasa saja lalu 4 malam berturut turun hujan, kecuali malam ke 3 tdk turun hujan, bagaimanakah suasana hatinya pd hari berikutnya setelah 4 malam tsb ?Jawab ( Apatis (E)

Awal( Biasa

1. Biasa ( Turun hujan (Besok Apais

2. Apatis ( turun hujan ( Besok Pemurung

3. Pemurung ( tdk turun hujan ( Besok Biasa

4. Biasa ( turun hujan ( Besok Apatis

14. Jika hari ni berseri-seri kmdn 7 malam berturut-turut hujan, maka bagaimanakah hari berikutnya ?Jawab ( Pemurung (A)

Awal ( berseri1. Berseri ( hujan( Pemurung

2. Pemurung ( hujan ( Pemarah

3. Pemarah ( hujan ( Apatis

4. Apatis ( hujan ( Pemurung

5. pemurung ( hujan ( Pemarah

6. pemarah ( hujan ( apatis

7. apatis ( hujan ( Pemurung

15. jika hari ini pemurung dan diketahui 4 mlm terakhir hujan terus, maka bagaimanakah suasana harinya pada 4 hari yg lalu.

Jawab ( Selain apatis, mungkin juga berseri (B)1. Pemurung (harike-5) ( mlm sblmnya hujan (mlm ke-4) ( ada 2 kemungkinan suasana hari ke -4 , yaitu berseri dan apatis.

Berseri ( mlm sblmnya hujan (mlm ke-3) ( tdk mungkin, karena berseri terjadi jika mlm sblmnya tdk hujan. (x)

Apatis (suasana hari ke-4)( mlm sblmnya hujan (mlm ke-3) ( ada 2 krmungkinan utk hari ke -1 ( Biasa dan pemarah)

2. Biasa ( mlm sblmnya hujan ( tidak ada kungkinan utk hari ke-3, karena suasana bisa terjadi jk mlm harinya tdk hujan. (x)

Pemarah (suasana hari ke-3) ( mlm sblmnya hujan (mlm ke-2) ( Pemurung (hari ke-2)

3. Pemurung ( mlm seblmnya hujan (mlm ke-1) ( ada 2 kemungkinan suasana hari ke-1 ( Berseri dan apatis)

16. jika hari ini apatis dan diketahui 4 malam terakhir hujan terus , maka bagaimanakah suasana harinya pada 4 hari tg laluJawab ( Selain biasa-biasa saja, mungkin juga pemarah1. Apatis ( mlm sblmnya hujan ( ada 2 kemungkinan ( hari ke 4 ( Biasa dan Pemarah)Biasa ( mlm sblmnya hujan ( tidak ada kungkinan utk hari ke-3, karena suasana bisa terjadi jk mlm harinya tdk hujan. (x)

Pemarah (suasana hari ke-4) ( mlm sblmnya hujan ( Pemurung (hari ke-3)

2. Pemurung (hari ke -3) ( mlm sblmnya hujan ( ada 2 kemungkinan (hari ke -2 ( apatis dan berseri)

Apatis ( mlm sblmnya hujan ( ada 2 krmungkinan utk hari ke -1 ( Biasa dan pemarah)

Berseri ( mlm sblmnya hujan ( tdk mungkin, karena berseri terjadi jika mlm sblmnya tdk hujan. (x)

Shg hari ke-2 ( suasana hati apatis.

Dan utk kemungkinan hari ke-1 adalah (biasa dan pemarah.)

17. Jika hari ini pemarah dan diketahui 4 malam terakhir hujan terus, maka bagaimanakah suasana harinya pada 4 hari yg lalu Jawab ( Pasti pemurung (A) 1. pemarah (hari ke-5) ( mlm sblmnya hujan (mlm ke-4) ( Pemurung (hari ke-4)2. pemurung ( mlm sblmnya hujan (mlm ke-3) ( ada 2 kemungkinan suasana hari ke-3 , yaitu berseri dan apatis.

Berseri ( mlm sblmnya hujan (mlm ke -2)( tdk mungkin, karena berseri terjadi jika mlm sblmnya tdk hujan. (x)

Apatis (hari ke -3)( mlm sblmnya hujan (mlmke-2) ( ada 2 krmungkinan utk hari ke -1 ( Biasa dan pemarah)

3. Biasa ( mlm sblmnya hujan (mlm ke-1)( tidak ada kungkinan utk hari ke-1, karena suasana bisa terjadi jk mlm harinya tdk hujan. (x)

Pemarah (suasana hari ke-2) ( mlm sblmnya hujan (mlm ke-1) ( Pemurung (hari ke-1)

Deskripsi soal no 18 s.d 20

Jika digambarkan maka urutan aktifitas yg dikerjakan adalah ( a d e b c

18. Berapa jam minimal utk menyelesaikan sluruh aktifitas tersebut ?Jawab ( 4 jam (D)

1 aktifitas = 1 jam , beberapa aktifitas boleh bersamaan

1. jam ke -1 mengerjakan aktifitas a

2. jam ke -2 aktifitas d dikerjakan, dg syarat stlh aktifitas a

3. jam ke-3 aktifitas e dikerjakan, dg syarat sblmnya sdh mengerjakan aktifitas d

4. jam ke-4 aktifitas b dan c, aktifitas b stlh mengerjakan a, dan aktifitas c stlh mengerjakan d dan e.

19. Aktifitas manakah yg boleh dikerjakan bersama-sama ? Jawab ( b dan c (B)

20. Aktifitas manakah yg dikerjakan pd urutan ke -3 ? Jawab ( e (E)

21. soal no 21 s.d 31, kecuali 30maaf yaaaa belum sempat dikerjakansorry!!!!30. jika M(x,y) adalah pernyataan x lebih besar dari y ( x> y) dan terdapat deretan perintah dalam pseudopascal berikut

while M(x,y) do

begin

x := x-10;

y := y+2;

end;

dg harga mula-mula x = 70 dan y = 5 , berapakah harga y setelah deretan keluar dari loop while

jawab ( 17 ( C)

statement while digunakan untuk perulangan, dan akan diulang s.d kondisi (x>y) tdk dipenuhi

while 70 > 5 do (True)

x = 60

y = 7

while 60>7 (T) ( x = 50, y = 9

while 50 > 9 (T) ( x = 40, y = 11

while 40 > 11 (T) ( x = 30, y = 13

while 30 > 13 (T) ( x = 20 y = 15

while 20 > 15 (T) ( x = 10 , y = 17 (nilai y terakhir = 17)

while 10 > 17 (F) ( keluar dr loop

untuk pertanyaan soal no 32 s.d 36, Anda harus pelajari Operator Bitwise, Sistem Bilangan, dan Function DesimalBiner

00000

10001

20010

30011

40100

50101

60110

70111

81000

Konversi dari Biner ke decimal 10002 = (1x23) + ( 0x22) + (0x21) + (0x20)

= 8

Konversi dari Desimal ke Biner

2010= 20 / 2 = 10 sisa 0

= 10 / 2 = 5 sisa 0

= 5 / 2 = 2 sisa 1

= 2 / 2 = 1 sisa 0

= 1 / 2 = 0 sisa 1

= 101002

Operasi Bitwise

ABA or BA and BA xor B

00000

01101

10101

11110

X = 4 or 8

11002 = (1x23) + ( 1x22) + (0x21) + (0x20)

= 8 + 4 = 124 ( 0100

8 ( 1000

1100

Const

Xmin = -10

Xmax = 10

Ymin = -10

Ymax = 10

Function Code ( x : integer ; y : integer) : byte;

Var c : byte

Begin

c := 0

if (x xmax) then

c := c or 1;

if (y < ymin) then

c := c or 4

else

if ( y > ymax) then

c := c or 2

code := c

end

32. perintah writeln (code(-12,-12) and code(20,5)) akan mencetak harga berapakah ?Jawab ( 0 (A)

Code (-12,-12)

Code (20,5)

Function Code ( x : integer ; y : integer)Function Code ( x : integer ; y : integer)

X = -12 , y = -12

x = 20 , y = 5C = 0

c = 0If (-12 < -10) (( True) then

if ( 20 < -10) ( F then

C = c or 8

elseif ( 20 > 10) ( T then

= 0 or 8 = 8

c = c or 1 = 0 or 1 = 1If (-12 < -10) ( T then

if (5 < -10) ( F then

C = c or 4

elseif ( 5 > 10) ( F

= 8 or 4 = 12

Code = 12

code = 1writeln (code(-12,-12) and code(20,5))

12 ( 1100

1 ( 0001

= 12 and 1

0000 = 0

= 0

33. perintah writeln (code(-12,-12) or code(20,5)) akan mencetak harga berapakah ?

Jawab ( 13 (B)

= 12 or 1 = 13

34. perintah writeln (code(12,-12) and code(20,5)) akan mencetak harga berapakah ?

Jawab ( 1 ( C )

Code (12,-12) X = 12, y = -12

if ( -12 < -10) ( T then

C = 0

c = c or 4 = 1 or 4

If (12 < -10) ( F then

= 5

Elseif ( 12 > 10 ) ( T then

C = c or 1 = 0 or 1 = 1

writeln (code(12,-12) and code(20,5))

= 5 and 1 = 135. perintah writeln (code(12,-12) or code(20,5)) akan mencetak harga berapakah ?

jawab ( 5 (D)

= 5 or 1 = 5

36. perintah writeln (code(7, -12) and code(-20,5)) akan mencetak harga berapakah ?

jawab ( 12 (E)

code (7,-12)

code (-20,5)

x = 7, y = -12

x = -20, y = 5

c = 0

c = 0

if ( 7 < -10) ( F Then

if (-20 < -10) ( T then

elseif ( 7 > 10) ( F

c = c or 8 = 0 or 8 = 8

if (-12 < -10) ( T then

if (5 < -10) ( F then

c = c or 4 = 0 or 4 = 4

elseif (5 > 10) ( F

code = 4

code = 8

writeln (code(7, -12) and code(-20,5))

= 4 or 8 = 12

Potongan algoritma utk no 37 dan 38

Function apaini ( a : integer ; b : integer) : integer;

Var x,y,r : byte

Begin

X := a;

Y := b;

While (y 0) do

Begin

R := x mod y;

X := y;

Y := r;

End;

Apaini := x; -( output dari function apaini

end;

37. Jika fungsi tsb dipanggil dengan writeln (apaini(414,662)) berapakah yang dicetaknya ?Jawab ( Soal ini tidak ada pilihan jawabannya

apaini(414,662)

while (y 0)

r = 248 mod 166 = 82Function apaini ( a : integer ; b : integer)

x = 166A = 414, y = 662

y = 82Begin

while (y 0)

X = a = 414

r = 166 mod 82 = 2

Y = b = 662

x = 82

While (y 0) do

y = 2

R = 414 mod 662 = 414

while (y0)

X = y = 662

r = 82 mod 2 = 0

Y = r = 414

x = 2

While (y 0)

y = 0

R = 662 mod 414 = 248

while (y 0) ( F

X = y = 414

keluar dr loop

Y = r = 248

While (y 0)

apaini = x = 2

R = 414 mod 248 = 166

X = y = 248

Y = r = 166

38. jika fungsi tsb dipanggil dg writeln (apaini(12345,54321)) berapakah yg dicetak ?jawab ( 3 (B)

apaini(12345,54321)

while (y 0)

r = 12345 mod 4941= 2463Function apaini ( a : integer ; b : integer)

x = 4941A = 12345, y = 54321

y = 2463Begin

while (y 0)

X = a = 12345

r = 4941 mod 2463 = 15

Y = b = 54321

x = 2463

While (y 0) do

y = 15

R = 12345 mod 54321 = 12345while (y0)

X = y = 54321

r = 2463 mod 15 = 3

Y = r = 12345

x = 15

While (y 0)

y = 3

R = 54321 mod 12345 = 4941while (y 0)

X = y = 12345

r = 15 mod 3 = 0

Y = r = 4941

x = 3

Y = 0

While (y 0) ( F

Apaini = x = 3Potongan pseudopascal di bawah ini utk pertanyaan 39 s.d 41

Function apaitu ( a : integer ; b : integer) : integer;

Begin

Count = count + 1;

If (a>b) then

Apaitu = apaitu(b,a)

Else

If (a= 0) then

Apaitu = b

Else

apaitu = apaitu(b mod a, a)

end;

39. jika fungsi tsb dipanggil dg writeln (apaitu(1001,1331)) berapakah yang dicetaknya ?jawab ( 11 (E)

apaitu(1001,1331)

Function apaitu ( a : integer ; b : integer)

A = 1001 b = 1331

misal ( inisialisasi count = 0

count = 1

if (1001 > 1331) ( F

if (1001 = 0) ( F

apaitu = apaitu (b mod a , a)

= apaitu (1331 mod 1001, 1001)

= apaitu (330 , 1001) ( memanggil fungsi apaitu lagi

Apaitu (330, 1001)

Count = 2

If ( 330 > 1001) ( F

If ( 330 = 0) ( F

Apaitu = apaitu ( 1001 mod 330, 330)

= apaitu (11, 330)

Apaitu (11,330)

Count = 3

If (11 > 330) ( F

If (11 = 0 ) ( F

Apaitu = apaitu (330 mod 11, 11)

= apaitu ( 0, 11)

Apaitu (0,11)

Count = 4

If ( 0 > 11) ( F

If (0 = 0) ( T

Apaitu = b = 11

40. jika fungsi tsb dipanggil dg writeln (apaitu(1000,5040)) berapakah yang dicetaknya ?

jawab ( 40 (D)

apaitu (1000,5040)

a = 1000 , b = 5040

count =1

if (1000 > 5040) ( F

if (1000 = 0) ( F

apaitu = apaitu (5040 mod 1000, 1000)

= apaitu ( 40 , 1000)

Apaitu (40,1000)

Count = 2

If (40 > 1000) ( F

If (40 = 0) ( F

Apaitu = apaitu ( 1000 mod 40, 40)

Apaitu = apaitu (0, 40)

Apaitu (0,40)

Count = 3

If (0 > 40) ( F

If ( 0 = 0 ) ( T

Apaitu = b = 40

41. jika variable count bersifat global dan dinisialisasi 0 dan fungsi tsb dipanggil dg perintah writeln ( apaitu ( 1234,277)) berapakah harga count stlh pemanggilan itu ?jawab ( tdk ada jawabannya . Harga Count = 6apaitu (1234, 277)

a = 1234 , b = 277

count = 1

if (1234 > 277) ( T

apaitu = apaitu ( b, a) = apaitu (277 , 1234)

apaitu (277,1234)

count =2

if ( 277 > 1234) ( F

if (277 = 0) ( F

apaitu = apaitu ( 1234 mod 277 , 277)

= apaitu (126, 277)

Apaitu (126 , 277)

Count = 3

If ( 126 > 277 ) ( F

If (126 = 0 ) ( F

Apaitu = apaitu (277 mod 126 , 126)

= apaitu (25 , 126 )

Apaitu (25, 126)

Count = 4

If ( 25 > 126 ) ( F

If (25 = 0 ) ( F

Apaitu = apaitu ( 126 mod 25 , 25 )

= apaitu (1, 25)

Apaitu (1,25)

Count = 5

If ( 1 > 25 ) ( F

If ( 1 = 0 ) ( F

Apaitu = apaitu ( 25 mod 1 , 1)

= apaitu (0,1)

Apaitu ( 0 , 1)

Count = 6

If ( 0 > 1) ( F

If ( 0 = 0) ( T

Apaitu = b = 1

Utk pertanyaan 42 s.d 43

Const x : array [0..9] of integer = (2,6,4,3,3,7,7,3,4,8)Function inijuga ( a : integer ; b : integer) : integer;

Var t : integer;

Begin

If ( a > b) then inijuga = inijuga ( b,a) ;

If ( a = b) then

Inijuga := x [a]

Else

Begin

T := (a + b) div 2 ;

Inijuga := inijuga (a,t) + inijuga (t +1,b) ;

End;

end;

42. Pemanggilan melalui perintah writeln (inijuga ( 1,4)) akan mencetak harga berapakah ?Jawab ( 16 ( C )

a = 1 b = 4

inijuga (1,1)if ( 1 > 4 ) (. F

if ( 1> 1) ( Fif (1 = 4) ( F

if ( 1 = 1) ( T

t = 5 div 2 = 2

inijuga = x [1] = 6

inijuga = inijuga (1,2 ) +

inijuga (3,4)

inijuga(2,2)

if ( 2 > 2) ( F

if ( 2 = 2) ( Tinijuga (1,2)

inijuga = x [2] = 4if ( 1 > 2) ( F

if ( 1 = 2 ) ( F

inijuga (1,2) = inijuga (1,1) +

t = 3 div 2 = 1

= inijuga (2,2)

inijuga = inijuga (1,1) +

= 6 + 4 = 10

inijuga (2,2)

inijuga(3,4) = inijuga (3,3) + inijuga (4,4)

= x [3] + x [4] = 3 + 3 = 6

Inijuga ( 1,4) = x[1] + x[2] + x[3] + x[4]

= 10 + 6 = 16

43. pemanggilan melalui perintah writeln ( inijuga (0,9)) akan mencetak harga berapakah ?jawab ( 47 (B)

inijuga (0,9) = x[0] + + x[9]

= 2 + 6 + + 8

= 47

Potongan algoritma utk soal no 44 s.d 47 If ( a and b) or ((not c) and d) then

If ((a or not b) and c) or ( b and (not a)) then

Writeln (1)

Else

If (a or ( d and b)) and (not b) then

Writeln(2)

Else

Writeln(4)

Else

If not (d and c) and (not a) then

Writeln(5)

Else

Writeln(6)

44. Jika dijalankan dan ternyata mencetakkan harga 4, maka urutan harga-harga a, b,c,d yg mungkin adalah ?Jawab ( D1. T, F,T,F

If ( a and b) or ((not c) and d) then

(T and F) or ((not T) and F)

F or F ( F (salah)

2. T,T,T,F

If ( a and b) or ((not c) and d) then

(T and T) or ((not T and F)

T or F ( T

If ((a or not b) and c) or ( b and (not a)) then

(T or not T) and T) or ( T and (not T))

( T and T ) or (F) ( T (salah, yg dicetak 1)

3. F,F,T,T

If ( a and b) or ((not c) and d) then

(F and F) or ((not T) and T) F or F ( F (salah)

4. T,T,F,FIf ( a and b) or ((not c) and d) then

(T and T) or ((not F) and F) T or F ( T

If ((a or not b) and c) or ( b and (not a)) then

((T or not T) and F) or (T and (not T))

( T and F ) or F

F or F ( F

elseIf (a or ( d and b)) and (not b) then

(T or (F and T)) and (not T)

( T or F) and F

T and F ( F, shg yang dicetak adalah 4

45. Jawab ( jika a berharga T , b berharga F , c berharga F dan d berharga T, maka aapa yg akan dicetak ?Jawab ( Dif ( a and b) or ((not c) and d)

(T and F) or ((not F) and T) F or T ( T

If ((a or not b) and c) or ( b and (not a)) then

((T or not F) and F) or (F and (not T)) ( T ) and F) or ( F)

F or F ( F

elseIf (a or ( d and b)) and (not b) then

(T or (T and F)) and (not F) ( T or F) and T

T and T ( T , shg dicetak 2

46. jika a berharga F, b = F, c = F dan d = F, maka apa yg akan dicetak ?jawab ( A

if ( a and b) or ((not c) and d)

(F and F) or ((not F) and F)

F or F ( F

Else

If not (d and c) and (not a) then

Not (F and F) and (not F)

Not F and T ( T, yg dicetak 5

47. yang tidak akan mencetakkan angka 5 adalah untuk urutan a,b,c,d jawab ( D1. F,T,T,F

if ( a and b) or ((not c) and d)

(F and T) or ((not T) and F)

F or F ( F

Else

If not (d and c) and (not a) then

Not (F and T) and (not F)

Not F and T ( T, cetak 52. F,T,F,F

if ( a and b) or ((not c) and d)

(F and T) or ((notF) and F)

F or F ( F

Else

If not (d and c) and (not a) then

Not (F and F) and (not F) Not F and T ( T, cetak 5

3. F,F,T,F

if ( a and b) or ((not c) and d)

( F and F) or ((not T) and F) F or F ( F

Else

If not (d and c) and (not a) then

Not (F and T) and (not F) Not F and T ( T, cetak 5

4.F,F,F,T

if ( a and b) or ((not c) and d)

(F and F) or ((not F) and T)

F or T ( T ( salah

19

30

15

26

Berseri-seri

y

Mlm hujan

y

Bsk Pemurung

Bsk Biasa

T

T

Biasa?

y

Mlm hujan

y

Besok Apatis

Besok Berseri

T

T

Pemurung?

Mlm hujan

Bsk Pemarah

y

y

Bsk Biasa

T

Pemarah ?

Mlm hujan

y

y

Besok Apatis

T

Bsk Biasa

T

T

Apatis ??

Mlm hujan

Bsk Pemurung

y

y

Besok Berseri

T

or

and

By Lilis Setyaningsih, S.Kom SMKN 1 [email protected]