You are on page 1of 30

SOAL TRY OUT OSNK INFORMATIKA SMA 2023

BY : ABDAN HAFIDZ (@abdan_hafidz)

SOAL TRY OUT OSNK INFORMATIKA SMA 2023

1. Pak Dengklek sedang membariskan bebek – bebeknya pada suatu jalan sepanjang 900 meter.
Jika jarak antar bebek Pak Dengklek berkisar 5 – 10 meter dan bebeknya mempunyai Panjang
berkisar 1 – 5 meter. Jumlah bebek maksimum dalam barisan adalah …
a. 50
b. 75
c. 150
d. 100
e. 200

JAWABAN C

900
Jumlah Bebek = 𝐽𝑎𝑟𝑎𝑘 𝑎𝑛𝑡𝑎𝑟 𝑏𝑒𝑏𝑒𝑘+𝑃𝑎𝑛𝑗𝑎𝑛𝑔 𝐵𝑒𝑏𝑒𝑘

Jelas agar jumlah bebek maksimum dalam barisan maka Jarak antar bebek dan Panjang bebek
juga minimum. Sehingga kita pilih jarak dan Panjang bebek minimum adalah 5 dan 1. 900 / 6
= 150.

2. Perhatikan gambar di bawah ini!

Lima kota A,B,C,D, dan E terletak pada satu garis sepanjang 27 meter. Pak Ganesh yang
hobinya jalan – jalan sedang menempuh perjalanan. Jarak kota C dan kota D adalah 5 meter.
Pak Ganesh dapat menempuh perjalanan dari kota A ke kota B kemudian Kembali ke kota A
lalu dilanjutkan perjalanan menuju Kota C dalam waktu 7 jam dengan kecepatan 3 m/jam.
Pak Ganesh juga berjalan dari kota B ke kota C pulang balik Kembali ke kota B dilanjut ke
kota E dalam waktu tempuh selama 2 jam dengan kecepatan 14,5 m/jam. Jarak dari kota A ke
kota C adalah … meter
a. 11
b. 17
c. 16
d. 13
e. 12

JAWABAN A

Misal jarak dari

• A–B=x
• B–C=y
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

• D–E=z

Maka x + y + 5+ z = 27

x + y + z = 22

Pak Ganesh dapat menempuh perjalanan dari kota A ke kota B kemudian Kembali ke
kota A lalu dilanjutkan perjalanan menuju Kota C dalam waktu 7 jam dengan
kecepatan 3 m/jam.

Dapat dipresentasikan Pak Ganesh dari A – B – A = 2x , A – C = x + y

3𝑥+𝑦
Sehingga pada kasus di atas bisa diperoleh 7
= 3 , 3x + y = 21 .

Pak Ganesh juga berjalan dari kota B ke kota C pulang balik Kembali ke kota B
dilanjut ke kota E dalam waktu tempuh selama 2 jam dengan kecepatan 14.5 m/jam.

Perhatikan Langkah penyelesaian sebelumnya , pada kasus ini bisa diperoleh 3y + z = 29.

Sehingga diperoleh persamaan

x + y + z = 22

3x + y = 21

3y + z = 29

Selesaikan menggunakan persamaan aljabar biasa diperoleh x = 5 , y = 6, z = 11 . Jarak dari


kota A ke kota C sama dengan x + y = 5 + 6 = 11.

3. Sebuah lahan milik Pak Ali berukuran 8 m x 5 m akan dipasangi pagar besi tiga jenis di tepi
lahannya. Masing – masing jenis pagar mempunyai Panjang 1 m, 2 m, dan 5 m. Banyak cara
memasang pagar tersebut adalah … (pemasangan pagar tidak boleh tumpang tindih)
a. 3483
b. 149769
c. 282123
d. 10992
e. 81

JAWABAN B

Pembahasan :

Misalkan
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

p = menyatakan Panjang lahan

l = menyatakan lebar lahan

Maka dapat dibuat fungsi rekursif

f(p) = menyatakan banyak cara memasang pagar pada sisi Panjang lahan sepanjang p meter

f(l) = menyatakan banyak cara memasang pagar pada sisi lebar lahan sepanjang l meter

Dengan menggunakan fungsi rekursif kita temukan

f(p) = f(p – 1) + f(p – 2) + f(p – 5)

f(l) = f(l – 1) + f(l – 2) + f(l – 5)

Dengan base case f(0) = 1 kita bisa observasi bahwa fungsi f(p) dan f(l) memiliki nilai yang
sama. Berdasarkan permodelan di atas diperoleh
f(p)

f(l)
f(l)

f(8) f(p)

f(5)
f(5)

f(8)

Menggunakan aturan perkalian banyaknya cara adalah 𝑓(8)2 × 𝑓(5)2


f(0) = 1 , f(1) = 1, f(2) = 2 , f(3) = 3 , f(4) = 5, f(5) = 9, f(6) = 15, f(7) = 26, f(8) = 43
𝑓(8)2 × 𝑓(5)2 = 432 × 92
TRIK CEPAT : Cukup perhatikan hasil perkalian digit terakhirnya saja
432 𝑚𝑜𝑑 10 × 92 𝑚𝑜𝑑 10 = 9 × 1 = 9
Opsi yang digit terakhirnya 9 adalah B
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

a. 70
b. 30
c. 20
d. 10
e. 60

JAWABAN B

4. Diketahui suatu fungsi real f(x) dan g(x)


1 2 4
f(x) = (3 𝑥 + 3 𝑥 + 𝑥 + 3 𝑥 + ⋯ )
g(x) = (𝑥 + 2𝑥 + 3𝑥 + ⋯ ) - 999992022

Jika g(2022) = 9 , tentukan digit satuan dari f(2022) = …


a. 0
b. 1
c. 3
d. 7
e. 9
JAWABAN A
Berdasarkan keterangan diperoleh bahwa
g(x) = 3f(x) - 999992022
g(2022) = 3f(2022) - 999992022
3f(2022) - 999992022 = 9
3f(2022) = 9 + 999992022
9 999992022
f(2022) = 3 + 3
(3∗33333)2022
f(2022) = 3 +
3
(32022 ∗333332022 )
f(2022) = 3 + 3
(32022 ∗333332022 )
f(2022) = 3 + 3
2021 2022
f(2022) = 3 + 3 ∗ 33333
f(2022) mod 10 = (3 + 32021 ∗ 333332022 𝑚𝑜𝑑 10) mod 10
32021 ∗ 333332022 𝑚𝑜𝑑 10 = (32021 𝑚𝑜𝑑 10) ∗ (333332022 𝑚𝑜𝑑 10)𝑚𝑜𝑑10

32021 ∗ 333332022 𝑚𝑜𝑑 10 = (32021 𝑚𝑜𝑑 10) ∗ (333332022 𝑚𝑜𝑑 10)𝑚𝑜𝑑10

(333332022 𝑚𝑜𝑑 10) = (33333 𝑚𝑜𝑑 10)2022 𝑚𝑜𝑑 10 = 32022 𝑚𝑜𝑑 10 = 9


32021 𝑚𝑜𝑑 10 = 3
32021 ∗ 333332022 𝑚𝑜𝑑 10 = 9 ∗ 3 = 27
f(2022) mod 10 = (3+27) mod 10 = 30 mod 10 = 0.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

5. Pak Dengklek mempunyai dua buah mesin pencetak kertas. Mesin pencetak pertama bisa
menghasilkan tiga kali dari bobot bahan yang dimasukkan, namun lima di antaranya adalah
kertas rusak dan harus dibuang. Mesin pencetak kedua bisa menghasilkan dua kali lebih
banyak dari hasil mesin pencetak pertama saat bobot yang dimasukkan pada mesin pencetak
pertama dua kurangnya dari mesin pencetak kedua, namun tiga di antaranya ada kertas rusak.
Berapa bobot bahan yang dimasukkan sehingga kedua mesin pencetak pertama mempunyai
hasil cetak kertas yang sama?
a. 6
2
b. 6 3

c. 2
2
d. 2 3

e. 3

JAWABAN B

Misalkan bobot bahan yang dimasukkan adalah x .

Maka fungsi matematis mesin pencetak pertama adalah f(x) = 3x – 5 . Fungsi matematis
mesin pencetak kedua adalah g(x) = 2f(x – 2) – 3 .

f(x – 2) = 3(x – 2) – 5 = 3x – 6 – 5 = 3x – 11

g(x) = 2(3x – 11) – 3 = 6x – 22 – 3 = 6x – 25

f(x) = g(x)

3x – 5 = 6x – 25

3x = 20

2
x = 63
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

6. Perhatikan pernyataan – pernyataan berikut berlaku untuk semua bebek!


- Jika kwak maka kwek
- Jika kwok maka kwek
- Jika kwek maka kwik
- Jika tidak kwik maka tidak kwak
- Bebek Pak Dengklek kwok atau kwik

Maka banyak pernyataan yang pasti benar di bawah ini adalah …

1) Jika Bebek Pak Dengklek tidak kwak maka ia juga tidak kwik
2) Bebek Pak Dengklek tidak kwak atau kwik
3) Jika Bebek Pak Dengklek tidak kwik maka ia tidak kwok
4) Jika Bebek Pak Dengklek tidak kwik maka ia juga tidak kwak dan tidak kwok
5) Pernyataan 2 dan 3 benar

a. 1
b. 2
c. 3
d. 4
e. 5

JAWABAN C

Menggunakan kaidah interferensi dan silogisme

- Jika Pak Dengklek tidak kwak maka tidak ada kesimpulan


- Bebek Pak Dengklek tidak kwak atau kwik ekuivalen dengan Jika Bebek Pak Dengklek
kwak maka ia kwik

Berdasarkan pernyataan yang diberikan

- Jika kwak maka kwek


- Jika kwek maka kwik

Kesimpulan : Jika kwak maka kwik

Benar bahwa jika Kwak maka kwik

- Jika Bebek Pak Dengklek tidak kwik maka ia tidak kwek dan ia juga tidak kwak dan tidak
kwok (membuat pernyataan 3 dan 4) benar.

Banyak pernyataan benar adalah 3 pernyataan.


SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

7. Di kebun Pak Bilal terdapat lima pos jaga yaitu Pos A, Pos B, Pos C, Pos D, dan Pos E. Pos A
dan D terhubung langsung dengan pos B dan C. Jika pos E berada di tengah – tengah keempat
pos lainnya dan terhubung langsung oleh dua pos lainnya. Peluang untuk menuju pos B dari
pos E tanpa melalui pos lainnya dengan ketentuan setiap jalan dan pos hanya boleh dilalui
maksimal satu kali adalah …
a. 1/5
b. 1/7
c. 4/21
d. 1/3
e. 3/13

JAWABAN B

3/21 = 1/7

8. Tentukanlah berapa hasil dari 13! mod 2023 , untuk n! = n x (n-1) x (n-2) x … x 1 dan a mod
b adalah sisa pembagian a dibagi b, dengan nilai paling besar adalah b – 1.
a. 224
b. 193
c. 321
d. 9
e. 5

JAWABAN A
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Karena angka yang tidak terlalu besar anda bisa langsung menentukan
Hasil dari 13 x 12 x 11 x 10 x 9 x … x 1 mod 2023
9. Diketahui suatu ekspresi logika
((P and Q) or (P xor Q)) and ((X and (Y or X)))

Mempunyai nilai kebenaran TRUE . Berdasarkan ekspresi di atas , ekspresi di bawah ini
yang pasti bernilai benar adalah …
a. P and Q or X
b. P or (Y and Q)
c. (P and Q) or ( (P and not Q) or (Q and not P)
d. (X and Y) or not X
e. Tidak dapat ditentukan

JAWABAN C

((P and Q) or (P xor Q)) and ((X and (Y or X))) agar bernilai benar maka ruas kanan ((P
and Q) or (P xor Q)) kiri ((X and (Y or X))) harus bernilai benar. ((P and Q) or (P xor Q))
harus bernilai benar, yang mana jika dijabarkan ekspresi ini ekuivalen dengan (P and Q) or (
(P and not Q) or (Q and not P). “Disjungsi Eksklusif.”
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

10. Alia mempunyai uang yang nilainya bisa negatif atau positif. Uang yang ada di dompetnya
saat ini adalah nominal 11, 3, 6, -1, -13, 0, -9, -4, 3, 5, 10, 9, 8, 6, -16 . Di negara X ada
barang – barang yang harus dibeli dengan harga yang juga bisa bernilai negatif. Barang –
barang tersebut mempunyai harga masing – masing 6, -14, -12, -8, 28, -13, 10, 26, -17, 22, -4,
-6, -19, 23, 19, -5, 27, 11, 0, 24. Alia ingin membeli beberapa barang dengan harga tertentu
menggunakan uang yang ia miliki, namun bisa saja ia kekurangan uang (kembaliannya
bernilai negatif) dan mengharuskannya untuk berhutang. Berapa besar hutang maksimum
milik Alia?
a. -61
b. 40
c. -94
d. -104
e. 2
JAWABAN : 239
Klarifikasi : terjadi kesalahan soal, jawaban tidak ada pada opsi
Kita bisa selesaikan menggunakan algoritma Greedy pertama urutkan nominal dan harga
barang :
Nominal : -16,-13,-9,-4,-1,0,3,3,5,6,6,8,9,10,11
Harga : -19,-17,-14,-13,-12,-8,-6,-5,-4,0,6,10,11,19,22,23,24,26,27,28
Pilih harga barang yang nilainya positif kemudian jumlahkan
6+10+11+19+22+23+24+26+27+28= 196 . Bayar menggunakan pecahan bernilai negatif
juga -16-13-9-4-1= -43.
Hutang maksimum = -43 – 196 = -239.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

11. Tiga orang pasangan Andi dan Candi, Bandi dan Endina, Fandi dan Gandina adalah
pasangan serasi yang tidak mau dipisahkan, sedangkan ada dua orang lainnya yang jomblo
yaitu Gio dan Parto. Kedelapan orang tersebut akan duduk di kursi Panjang yang sebaris.
Mereka akan duduk dengan syarat sebagai berikut :
• Gio dan Parto keduanya tidak ingin duduk di antara kedua pasangan yang
serasi
• Setiap pasangan selalu duduk berdampingan

Banyak konfigurasi duduk yang bisa dilakukan adalah …

a. 684
b. 400
c. 164
d. 722
e. 805

JAWABAN A

Misalkan X = pasangan serasi.


X = {{A,C}, {B,E}, {F,G}}
Salah satu konfigurasinya =
X1 Gio X2 Parto X3 , Ada 5! × 2! × 2! × 2! Konfigurasi.

Tidak boleh konfigurasinya


• X1 Gio X2 Parto X3
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12 cara
• X1 X2 Gio Parto X3
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12 cara
• X1 Gio Parto X2 X3
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12 cara
• Gio X1 Parto X2 X3
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12
• Gio X1 X2 Parto X3
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

= 3! . 2! = 12
• X1 Parto X2 X3 Gio
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12
• X1 X2 Parto X3 Gio
X1 X2 X3 bertukar tempat ada 3! * Gio dan Parto bertukar tempat ada 2!
= 3! . 2! = 12

Total cara = 7 × 3! × 2! .
Banyak konfigurasi yang mungkin adalah
8 × 5! − 14 × 3!
8 × 5 × 4 × 3! − 14 × 3! = 160 × 3! − 14 × 3! = (160 − 14) × 3! = 114 × 3!
= 684
Seperti biasa cara cepatnya adalah lihat digit terakhirnya saja.

12. Tujuh orang siswa A,B,C,D,E,F,dan G sedang memesan makanan di kantin dan sedang
menentukan berapa porsi makanan mereka.
- A akan memesan 2 porsi lebih banyak dibandingkan C
- Jika B memesan 5 porsi maka C akan memesan 1 porsi lebih banyak
- F memesan 3 porsi atau 2 porsi lebih banyak dari B
- G memesan porsi makanan lebih dari atau sama dengan 3 porsi jika dan hanya jika E
memesan 2 porsi
- E akan memesan 3 porsi, jika dan hanya jika F memesan 2 porsi
- E memesan 5 porsi atau 3 porsi makanan

Jika diketahui ternyata F memesan 7 porsi makanan maka hasil jumlah porsi makanan yang
dipesan C,G, dan F…

a. ≤ 7
b. ≤ 11
c. ≥ 17
d. ≥ 9
e. ≥ 12

JAWABAN E

Pembahasan
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

F memesan 7 porsi makanan yang artinya ia tidak memesan 3 porsi makanan dan ia memesan
2 porsi lebih banyak dari B (silogisme disjungtif) . F memesan 2 porsi lebih banyak dari B,
berarti B memesan 5 porsi. Karena B memesan 5 porsi maka C memesan 1 porsi lebih banyak
dari B yaitu 6 porsi. A akan memesan 2 porsi lebih banyak dibandingkan C yaitu 8 porsi.
Karena F memesan 7 porsi (bukan 2 porsi) maka E tidak akan memesan 3 porsi dan ia akan
memesan 5 porsi makanan. Karena E memesan 5 porsi makanan maka G memesan porsi yang
tidak lebih dari atau sama dengan 3 porsi.

Diperoleh porsi makanan yang dipesan

A = 8 Porsi , B = 5 Porsi, C = 6 Porsi, D = tidak diketahui (mungkin saja tidak makan) , E =


5 porsi, F = 7 porsi, G = ≤ 3 porsi . C+G+F = 5+x+7 = 12+x . Yang artinya hasil jumlahnya
akan sama dengan 12 atau lebih dari 12 . karena x≤ 3 atau x={0,1,2}.

13. Dalam kontes makan Bebek kecepatan makan Andi 3 detik lebih cepat dibanding Budi, Budi
5 detik lebih cepat dibanding Caca, Caca 2 detik lebih cepat dibanding Dodi, Dodi 11 detik
lebih lambat dibandingkan Andi dan Budi, dan Eman lebih cepat dibanding Caca atau Budi.
Pernyataan yang mungkin benar di bawah ini adalah …
a. Andi 8 detik lebih cepat dibanding Caca
b. Budi 7 detik lebih cepat dibanding Caca
c. Caca 11 detik lebih cepat dibanding Dodi dan 3 detik lebih lambat dibanding Andi
d. Dodi 13 detik lebih cepat dibanding Eman
e. Eman 5 detik lebih lambat dibanding Caca dan 2 detik lebih cepat dibanding Budi

JAWABAN E

Pembahasan :

Perhatikan kembali soal yang menanyakan bahwa pernyataan yang mungkin Benar.
Eman lebih cepat dibanding Caca atau Budi . Ini merupakan disjungsi , kalimat masih
bernilai benar jika Eman tidak lebih cepat dibanding Caca dan lebih cepat dibanding
Budi.X
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

14. Perhatikan gambar di bawah ini!

Untuk yang kesekian kalinya sudah dikatakan Pak Dengklek adalah orang yang sangat senang
berjalan – jalan. Lingkaran pada gambar menunjukkan kota yang terhubung oleh jalan yang
hanya dapat dilewati satu kali. Terdapat angka pada jalan yang tertera, menunjukkan biaya
perjalanan jika Pak Dengklek menempuh jalan tersebut menuju suatu kota. Pak Dengklek
ingin bepergian dari kota 0 ke kota 12. Besar biaya perjalanan minimum yang harus ia
keluarkan adalah …
a. 23
b. 24
c. 17
d. 19
e. 14

JAWABAN C
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

15. Pak Dengklek sedang berjalan – jalan di petak berukuran 1 × 7 dengan aturan sebagai
berikut:

• Gerakan ke kanan , misalnya di petak 1 tertera 2R yang menyatakan Pak Dengklek


harus bergerak ke kanan menuju dua petak sebelahnya
• Gerakan ke kiri , misalnya di petak 3 tertera 2L yang menyatakan Pak Dengklek
harus bergerak ke kiri menuju dua petak sebelahnya
• Jika berakhir di petak 0, maka perjalanan berakhir

Saat ini Pak Dengklek masih belum tahu di mana petak awal untuk ia memulai
langkahnya. Banyak kemungkinan petak awal Pak Dengklek dalam melangkah sampai
pada tujuan yaitu petak 5 adalah …

a. 1
b. 2
c. 3
d. 4
e. 5

JAWABAN B

Pembahasan :

Kategori soal adalah mudah, anda cukup menguji coba satu persatu petak awal, dapat
dipastikan petak 2 dan 1 bukanlah petak awal perjalanan karena tidak akan pernah
berakhir. Anda juga dapat mensimulasikan bahwa petak awal apapun yang berakhir pada
petak ke – 1 atau ke – 2 tidak akan pernah membuat perjalanan berakhir.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Gunakan algoritma Djikstra, ditemukan perjalanan minimum adalah sebagai berikut :


SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Soal Isian

Bagian Analitika dan Logika

16. Saffa sedang berteriak sambil berjalan di setiap langkahnya. Beberapa kata yang ia ucapkan
di antaranya adalah “ha”,”hi”, dan “hu”. Saffa akan berteriak “ha” setiap ia menempuh
Langkah kelipatan 3, berteriak “hi” setiap menempuh Langkah yang bernilai prima, dan
hertiak “hu” setiap berteriak ia menempuh Langkah yang kelipatan 5. Jika saat ini Saffa
berjalan 10000 langkah. Maka berapa kali ia berteriak salah satu di antara keduanya “ha” atau
“hu” saja pada suatu langkah?{Jawaban berupa bilangan bulat}

Perhatikan kalimat “salah satu di antara keduanya”


• Berapa kali Saffa teriak “ha” saja ?
Perhatikan Saffa hanya akan berteriak “ha” saja setiap ia melangkah pada Langkah yang
kelipatan 3 namun bukan kelipatan 5 dan bukan prima. Karena ia bisa saja berteriak “hahi”
sekaligus saat menempuh Langkah ke-3 karena 3 merupakan bilangan kelipatan 3 dan prima
atau berteriak “hahu” pada Langkah ke-15 karena 15 kelipatan 3 dan 5.

Dalam kasus ini kita sama saja seperti mencari banyaknya bilangan habis dibagi 3 namun
tidak habis dibagi 5 dan bukan prima di antara 1 – 10.000.
10.000
- Bilangan habis dibagi 3 ada 𝑓𝑙𝑜𝑜𝑟 ( ) = 3333
3

- Bilangan kelipatan 3 dan prima hanya ada satu yaitu 3


- Bilangan habis dibagi 3 dan 5 dan prima tidak ada
10.000 10.000
- Bilangan habis dibagi 3 dan 5 ada sebanyak 𝑘𝑝𝑘(3,5) = 𝑓𝑙𝑜𝑜𝑟 ( 15
) = 666.

Jadi Saffa hanya berteriak “ha” sebanyak 3333 − (666 + 1) = 3333 − 667 = 2666

• Berapa kali Saffa teriak “hu” saja ?

Saffa akan berteriak “hu” saja setiap Langkah saat ia melangkah pada Langkah yang kelipatan
5 namun bukan kelipatan 3 dan bukan prima

10.000
- Bilangan habis dibagi 5 ada ( ) = 2000
5

- Bilangan kelipatan 5 dan prima hanya ada satu yaitu 5


- Bilangan habis dibagi 5 dan 3 dan prima tidak ada
10.000 10.000
- Bilangan habis dibagi 5 dan 3 ada sebanyak = 𝑓𝑙𝑜𝑜𝑟 ( ) = 666.
𝑘𝑝𝑘(3,5) 15

Jadi Saffa hanya berteriak “hu” sebanyak 2000 − (666 + 1) = 2000 − 667 = 1333

Saffa hanya berteriak “ha” atau “hu” saja sebanyak 2666+1333 = 3999 kali.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

17. Pak Chanek adalah seorang pengusaha sukses. Ia berhasil menjual bebek – bebek
kesayangannya dengan keuntungan yang selalu naik setiap tahunnya. Setiap tahunnya Pak
Dengklek mengalami kenaikan keuntungan sebanyak 3 kali lipat lebih banyak dari
sebelumnya. Jika pada tahun pertama Pak Chanek berhasil menjual Bebek dengan harga 24
sen dan memperoleh keuntungan ¼ nya . Tentukan total penjualan bebek Pak Dengklek di
tahun ketujuh! {Jawaban berupa bilangan bulat}

Gunakan konsep deret geometri Untuk a = 30 , r = 3.

Penjualan Bebek Pak Dengklek :

30, 90, 270, 810, …

Jika dilihat polanya adalah 3𝑛 × 10 . Sehingga

30(37 − 1)
𝑆7 = = 15 (37 − 1) = 𝟑𝟐𝟕𝟗𝟎
3−1

18. Di Toko Aneka Bebek tersedia 10 buah permen kemasan berbeda jenis yang dijual. Setiap
kemasan permen yang dijual mempunyai isi masing – masing 13,17,19,22,25,62,31,37,19,54.
Budi ingin membeli beberapa permen kemasan sehingga dari permen yang ada terdapat cara
sedemikian rupa:
• Pembagian permen setidaknya menghabiskan satu jenis permen kemasan yang ada
dari keseluruhan
• Jika dibagikan ke lima orang temannya secara adil masih tersisa tiga permen
untuknya
• Jika dibagikan ke tujuh orang temannya perlu tiga permen tambahan sehingga semua
orang termasuk dirinya bisa dibagi rata.

Budi akan memilih permen kemasan secara acak, berapa jenis permen kemasan paling sedikit
yang harus Budi beli sehingga syarat di atas terpenuhi? {Jawaban berupa bilangan bulat}

Untuk mengerjakan soal ini silahkan anda pahami teori Pigeonhole Principal (PHP) atau
prinsip sarang merpati.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Perhatikan jika dibagi ke tujuh orang perlu tiga permen tambahan sehingga semua orang
termasuk dirinya bisa dibagi rata ekivalen dengan definisi missal X adalah jumlah permen

X mod 8 + 2 = 8

X mod 8 = 6

Dalam kasus ini kita menjadikan kasus terburuk adalah Budi membeli permen sehingga
jumlahnya tidak bersisa tiga jika dibagi lima, dan tidak bersisa enam jika dibagi delapan.

Dari paket permen yang ada hanya permen kemasan dengan isi 22 dan 62 saja yang jika
dibagi 8 bersisa 6 dan jika dibagi 5 bersisa 3.

Kasus terburuk Budi membeli semua jenis permen kemasan selain permen kemasan berisikan
22 atau 62 permen. Yaitu permen dengan isi 13,17,19,25,31,37,19,54 (8 permen), beli satu
jenis permen lagi yang tersisa (22 atau 62) sehingga akan ada cara pembagian sesuai syarat di
atas. Jadi permen minimal yang perlu dibeli sebanyak 8 + 1 = 9.

19. Di sekolah SMA Kompetisi ada 120 orang mengikuti kompetisi Informatika, 70 orang
mengikuti kompetisi Matematika, 50 orang mengikuti kompetisi Fisika, dan 90 orang
mengikuti kompetisi Astronomi. Di sekolah tersebut minimal ada satu orang mengikuti lebih
dari satu bidang Kompetisi sekaligus, dan orang ini harus dieliminasi. Berapa banyak orang
maksimum yang hanya mengikuti Informatika saja? {Jawaban berupa bilangan bulat}
Informatika
Misalkan
A = Orang yang mengikuti Kompetisi Informatika Astronomi
B = Orang yang mengikuti Kompetisi Matematika Matematika
C = Orang yang mengikuti Kompetisi Fisika Fisika
D = Orang yang mengikuti Kompetisi Astronomi.

Agar maksimum bisa dibuat himpunannya sehingga :


𝐶 ⊂ (𝐵 ⊂ (𝐷 ⊂ 𝐴))

Sehingga banyak orang maksimum yang hanya mengikuti Informatika saja adalah
= 120 – 90 = 30.

Agar maksimum, maka bisa dibuat dalam himpunan :


SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

20. Perhatikan gambar di bawah ini!

Pak Dengklek ingin membentuk kalimat dengan penyusunnya adalah berdasarkan diagram di
atas. Tanda panah yang menghubungkan kata penyusun berarti kata tersebut mendahului kata
berikutnya pada kalimat. Misal kalimat yang bisa dibentuk adalah abccdaaccdcabb
Berdasarkan diagram di atas, jika kata yang dimuat dalam kalimat tidak boleh berulang misal
abccdadababccda. Tuliskan satu string terpanjang yang bisa dibentuk! {berbentuk satu
string berurutan dan tidak dalam kapital}
Jawaban : dababccdaaccdcabb
Lakukan Breadth First Search (BFS) namun sebagai optimalisasi kita bisa telusuri mulai dari
node yang mempunyai derajat keluar paling banyak dan memastikan untuk tidak memeriksa
node yang tidak mempunyai derajat keluar seperti cabb dan cabd

21. Kwuk sedang mengikuti Lomba Ketrampilan Bebek Spesial. Dalam perlombaan ini Bebek
akan diuji kemampuannya dalam memasangkan bendera ke patok yang tersedia.

Aturan mainnya adalah Kwuk harus memasangkan 8 buah bendera yang ada di dalam kotak
ke patok P1 – P8, satu demi satu atau tidak bisa sekaligus. Kwuk memulai dari garis start di
dekat patok nomor 8. Tentukan berapa jarak tempuh yang dilalui Kwuk selama berlomba!
{Jawaban berupa bilangan bulat}

Mengambil bendera 1 = 5 × 8 + 7 = 47
Meletakkan bendera 1 = Mengambil bendera 2 = 2 × 7 = 14
Meletakkan bendera 2 = Mengambil bendera 3 = 2 × ((1 × 5) + 7) = 24
Meletakkan bendera 3 = Mengambil bendera 4 = 2 × ((2 × 5) + 7) = 34
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Meletakkan bendera 4 = Mengambil bendera 5 = 2 × ((3 × 5) + 7) = 44


….
Meletakkan bendera 8 = Mengambil bendera 1 = 2 × ((7 × 5) + 7) = 84

Observasi jarak tempuh akan menghasilkan pola bilangan


24, 34, 44, … , 84
Kita bisa gunakan rumus deret aritmatika untuk menentukan 𝑆8 dengan memanfaatkan 𝑎 =
24, 𝑈8 = 84 .
8
Ditemukan : 𝑆8 = 2 (24 + 84) = 4(108) = 432

Total jarak tempuh = 432 + 47 = 479

22. Lima sekawan Kwak, Kwik, Kwuk, Kwek, dan Kwok tinggal dalam satu lingkungan
perumahan
• Tempat tinggal Kwak berada di koordinat (3,7)
• Kwik berjarak 3 satuan di sisi barat dari Kwak
• Kwek berjarak 4 satuan di sisi timur dari Kwik
• Kwok berjarak 2 satuan di sisi selatan Kwuk, dan
• Kwuk berada di koordinat (-1, 2)

Jika Kwek ingin mengunjungi semua rumah temannya . Tentukan jarak tempuh minimum
yang dilalui oleh Kwak! {Petunjuk : Bulatkan jawaban ke pembulatan terdekat. Misal
jika jawaban 3.2 = 3 , jika jawaban 3.5 = 4 }

Dengan menggunakan Jarak Euclidean akan ditemukan jarak tempuh minimum adalah 11.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

23. Sebuah Keripik Kentang kemasan Tipe A mempunyai perbandingan berat kemasan dan
bersihnya adalah 3 : 7 . Pada kemasan tertera berat total adalah 120 gram. Diketahui Keripik
tipe A mempunyai kandungan Kalori sebesar 1596 kalori. Jika tersedia Keripik Kentang
kemasan Tipe B dengan perbandingan berat kemasannya dengan kemasan Tipe A adalah 2 : 3
dan perbandingan berat bersihnya adalah 4 : 5. Maka besar Kalori yang terkandung dalam
keripik kentang kemasan Tipe B adalah … {Jawaban berupa bilangan bulat}

7
Berat Kentang A = × 120 = 84 𝐺𝑟𝑎𝑚 → 1596 𝐾𝑎𝑙𝑜𝑟𝑖 (84 × 19)
10
84
Berat Kentang B = 5 × 4
= 105 𝐺𝑟𝑎𝑚 → 1995 𝐾𝑎𝑙𝑜𝑟𝑖 (105 × 19)

Jawaban : 1995

24. Perhatikan gambar berikut!

Contoh Lintasan Kuda : Kuda bisa melintasi 4 petak yang ada

Diberikan papan catur berukuran 4 x 4 yang tidak utuh. Sebuah bidak kuda terdapat di
dalamnya. Tentukan apakah bisa sebuah bidang kuda tersebut melintasi semua petak dan
Kembali lagi ke posisi semulanya? {Jawab 1 jika bisa, dan 0 jika tidak bisa}
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Kemungkinan lintasan kuda adalah sebagai berikut :

10 11

3 2 1
7 6 5 4

8 9

0–1–2–6:6–5–4–0
0 – 1 – 2 – 6 : 6 – 5 – 1 – 11
11 – 1 – 2 – 3 : 3 – 7 – 6 – 5 : 5 – 1 – 11 – 10 : 10 – 2 – 6 – 7 : 7 – 6 – 5 – 9 : 9 – 5 – 1 – 0
Sehingga bisa dilakukan

25. Pecatur, A, B, C, dan D bertanding dalam suatu turnamen catur. Setiap pemain saling bertemu
satu kali. Dalam setiap pertandingan, pemain yang menang, seri, dan kalah, berturut-turut
mendapatkan nilai 2, 1, dan 0. Data hasil pertandingan adalah A menang dua kali, B seri dua
kali, C kalah dua kali, dan D tidak pernah seri. Tentukanlah selisih poin perolehan terbesar
dan terkecil antar pecatur! {Jawaban berupa bilangan bulat}

Pecatur A,B,C, dan D bertanding dalam suatu turnamen catur. Setiap pemain saling bertemu
satu kali. Dalam setiap pertandingan, pemain yang menang, seri, dan kalah, berturut-turut
mendapatkan nilai 2, 1, dan 0. Data hasil pertandingan adalah A menang dua kali, B seri dua
kali, C kalah dua kali, dan D tidak pernah seri.
Kemungkinannya adalah:
A x B = Seri
A x C = A menang
A x D = A menang
B x C = Seri
B x D = B menang
C x D = Menang
Nilai yang dihasilkan:
A = 2 kali menang dan 1 seri (5)
B = 1 Kali menang 2 seri (4)
C = 1 kali seri dan 2 kalah (1)
D = 1 kali menang dan 2 kalah (2)
Selisih = 5 – 1 =
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

Bagian Algoritimitika
26. Perhatikan potongan program di bawah ini!

int manis(int x, int y){


if(y==0){
return x;
}
return (manis(x - 1 ,y - 1));
}

int asem(int x, int y){


if(y==0){
return x;
}
return (asem(x + 1 ,y - 1));
}
int main()
{
int rasa = 0;
for(int i = 0 ; i<=100; i++){
for(int j = 0; j<i ; j++){
rasa+=manis(i,j) + asem(j,i);
}
}
cout<<rasa<<endl;
return 0;
}

Jika dijalankan maka keluaran program di atas adalah … {jawaban hanya berupa bilangan
bulat}
Jawaban : 676700
Fungsi asem menjumlahkan nilai x dan y , fungsi manis mengurangi nil. ai x dan y .
Sehingga kita bisa observasi rasa += i – j + i + j = 2i . Increment akan dilakukan sebanyak i
kali, ini membuat rasai = 2i * i = 2i2. Kita akan menghitung :
100

∑ 2𝑖 2
𝑖=1
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

27. Perhatikan potongan program di bawah ini!

int x = 9, y = 5, z = 7;
while(x>y || y<z){
x -= 1;
y += z;
z = x;
}
cout<<x+y+z<<endl;
Keluaran program di atas adalah … {Jawaban berupa bilangan bulat}

Cukup simulasikan ditemukan hasilnya 28

28. Perhatikan potongan program di bawah ini!

int kriuk[100],krauk[100];
for(int i = 0; i<100; i++){
kriuk[i] = krauk[i] = 0;
}
krauk[0] = 1;
krauk[1] = 2;

for(int i = 0; i<100; i++){


if(i>0){
kriuk[i] = 2*kriuk[i - 1] + krauk[i - 1];
krauk[i] = 2*kriuk[i];
}
}

Jika program dijalankan nilai krauk[10] adalah … {Jawaban berupa bilangan bulat}
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

29. Perhatikan potongan program di bawah ini!


int segar(int a, int b){
if(b == 0){
return 1;
}else{
return (a*segar(a,b-1))%7;
}
}
int main()
{
int x, y, z,kuro,kura,jatuh = 0;
cin>>x>>y>>z;

kura = segar(x,80);
kuro = segar(x,y) + segar(x,z);

while(kuro>0){
kuro-=kura;
jatuh++;
}

cout<<jatuh;

return 0;
}

Jika diberikan masukan 2 89 85 maka tentukan keluaran program di atas! {Jawaban


berupa bilangan bulat}

Berdasarkan program fungsi segar(x,y) mengembalikan nilai 𝑥 𝑦 𝑚𝑜𝑑 7 . Sesuai kaidah


pembagian perulangan akan membagi :
𝑓𝑙𝑜𝑜𝑟(((289 + 285 ) 𝑚𝑜𝑑 7)/(280 𝑚𝑜𝑑 7)) = 2
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

30. Perhatikan potongan program di bawah ini!


int res = 0;
bool val = false;
void lapar (string a, int l, int r)
{
if (l == r){
for (int i = 0; i < a.length (); i++){
if (i < a.length ()){
if (a[i] == a[i + 1]){
val = true;
}
}
}
if (val == false){
res++;
val = false;
}
else{
res--;
val = false;
}
}else{
for (int i = l; i <= r; i++){
swap (a[l], a[i]);
lapar (a, l + 1, r);
swap (a[l], a[i]);
}
}
}

Jika prosedur lapar(“KSNK2023”,0,7) dijalankan maka tentukan nilai res


setelahnya! {Jawaban berupa bilangan bulat}
Jawaban : 5760
Fungsi tersebut akan menghitung banyak permutasi dari suatu string a dengan syarat tidak
ada dua huruf yang bersebelahan. Untuk cara ini anda bisa terapkan cara penyelesaian
permutasi soal asli KSNK 2021 untuk kasus string “KSNK2021”
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

31. Perhatikan potongan program di bawah ini!


string sut = "AKLANNCMZ";
void kaki(){
for(int i = 0;i<9;i++){
if(sut[i]>sut[i+1]){
sut[i] = sut[i+1];
}
}
}

void kuku(){
kaki();
for(int i = 0;i<9;i++){
if(sut[i]<sut[i+1]){
sut[i] = sut[i+1];
}
}
}
void kaka(){
kuku();
for(int i = 0;i<9;i++){
if(sut[i]==sut[i+1]){
sut[i+2] = sut[i+3];
}
}
}

int main()
{
kaka();
cout<<sut<<endl;
return 0;
}
Jika dijalankan tentukan keluaran program di atas! {jawaban huruf kapital semua}

Jawab : KKNNCCMM

Cukup simulasikan, Karena panjang string hanya 9


SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

32. Perhatikan potongan program di bawah ini!


int x, a = 0, r, y = 1;
cin >> x;
while (x != 0) {
r = x % 2;
a = a + (r * y);
x = x / 2;
y *= 10;
}
int left = 0, right =;
while(left<right){
a/=10;
left++;
}
cout<<a<<endl;
Jika diberi masukan dengan nilai 253. Tentukan nilai right yang memenuhi sehingga
keluaran menghasilkan nilai 111! {Jawaban hanya angka}
Program tersebut akan mengubah masukan menjadi representasi biner basis 10 kemudian
menghilangan bit terakhirnya sebanyak right kali.
Agar binary(253) = 11111101 menjadi 111 maka harus dibuat 5 bit terakhir. Sehingga nilai
yang memenuhi adalah 5.
SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

33. Perhatikan potongan program di bawah ini!


int a,b,c;
cin>>a>>b>>c;
if(a>b){
if(b<c){
a=a+b;
}else{
if(a<c){
a = b;
b = c;
}
}
}else{
if(b>c){
a+=b+=c;
}else{
if(a == c){
b++;
c = b;
}
}
}
cout<<a*b+c<<endl;
Agar keluaran program tersebut bernilai 12 maka inputnya adalah a b c, tentukan
nilai a+b+c .

Nilai yang memenuhi adalah a = 9, b = 1, c = 2.


SOAL TRY OUT OSNK INFORMATIKA SMA 2023
BY : ABDAN HAFIDZ (@abdan_hafidz)

34. Perhatikan potongan program di bawah ini!


int cek(int len){
return ((len*3 + 1)/(len+2));
}

int cok(int cak){


if(cak > 3){
return 1;
}else{
return cok(cak - 1) + cok(cak - 3) + cek(cak);
}
}
Tentukan hasil pemanggilan fungsi cok(11) ! {Jawaban berupa angka bulat}
Jawaban : 121.
Tidak ada metode / trik cepat soal ini :) karena fungsi rekursif yang kreatif, sekali lagi anda
bisa simulasikan penyelesaian
cok(11) = cok(10) + cok(8) + cek(11)
cok(10) = cok(9) + cok(7) + cek(10)

Dst

35. Perhatikan potongan program di bawah ini!


int a = 5, b = 8, c = 9, d = 13, e = 2;
if(a>b) a = (a + b - c)*d;
if(a<b) b = (b + c)*(d-b + a);
a+=5, b++, c--, d++;
cout<<(a+b)*c+d;
Jika program dijalankan tentukanlah keluarannya!
Jawaban : 1462

Karena a < b , maka akan diupdate nilai b = (8 + 9) . (13 – 8 + 5) = 17 . 10 = 170


Nilai a diupdate menjadi a = 5 + 5 = 10 , b = 170 + 1 = 171, c = 9 – 1 = 8, d = 13 + 1 = 14.
(a+b).c + d = (10+171).8 + 14 = 1462

You might also like