30 Contoh Soal OSN (Olimpiade) Informatika SMA 2025 dan Jawaban

17 Juni 2025 14:00 WIB
30 Contoh Soal OSN (Olimpiade) Informatika SMA 2025 dan Jawaban
30 Contoh Soal OSN (Olimpiade) Informatika SMA 2025 dan Jawaban ( Pexels)

17. Pak Dengklek akan kembali ke kotanya dari Yogyakarta setelah meninjau lokasi yang akan digunakan untuk Olimpiade Internasional Bebek (OIB). Dia membawa oleh-oleh dari Yogyakarta untuk ketiga bebeknya yaitu Kwak, Kwik, dan Kwek. Tapi sayangnya dia hanya mendapatkan jatah 20 kg bagasi, jika barang bawaannya melebihi dari jatah, Pak Dengklek harus membayar biaya tambahan untuk berat sisanya. Masing-masing oleh-oleh memiliki berat tertentu. Gabungan oleh-oleh untuk Kwak dan Kwik jika ditimbang memiliki berat 13 kg. Gabungan oleh-oleh untuk Kwak dan Kwek jika ditimbang memiliki berat 21 kg. Gabungan oleh-oleh untuk Kwik dan Kwek jika ditimbang memiliki berat 32 kg. Berapakah tambahan berat bagasi yang harus dibayar Pak Dengklek?

A. 13

B. 33

C. 14

D. 46

E. 66

Jawaban: A

18. Di akhir pekan ini Pak Dengklek mendapatkan 5 email dari Koleganya yang harus dia baca satu persatu sesuai dengan aturan berikut:

Email Pak Adi akan dibaca paling akhir

Email Pak Budi akan dibaca lebih dahulu sebelum email Pak Adi, tetapi bukan email yang pertama kali dibaca.

Email Pak Carli dan Pak Dudung dibacakan secara berurutan antara email Pak Eman dan Pak Budi

Email siapakah yang pertama kali dibaca oleh Pak Dengklek?

A. Pak Adi

B. Pak Budi

C. Pak Carli

D. Pak Dudung

E. Pak Eman

Jawaban: E

19. 1. Perhatikan operasi logika berikut!

P = ((not A) and B) or (((not C) or D) and E)

Q = ((not A) or B) and (((not C) and (not D) ) or (not E))

R = P and Q

Jika nilai A = True, B = True, C = True, D = True, dan E = False, tentukan nilai P, Q

dan R berturut-turut?

A. P=False, Q= True, R= False

B. P=False, Q= False, R= False

C. P=True, Q= True, R= True

D. P=True, Q= False, R= False

E. P=False, Q= True, R= True

Jawaban: A

20. Dalam pemilihan Ketua Asosiasi Bebek, terdapat sekitar 120 bebek yang akan

melakukan voting dengan tiga kandidat ketua yaitu Kwak, Kwik, dan Kwek. Dalam

pemilihan ini, setiap bebek boleh tidak melakukan voting atau melakukan voting ke lebih dari satu kandidat. Diketahui bahwa ada 65 bebek yang memilih Kwak, 45 bebek memilih Kwik, dan 42 bebek yang memilih Kwek. Kemudian diketahui juga bahwa ada 20 bebek yang memilih Kwak dan Kwik sekaligus, 25 bebek memilih Kwak dan Kwek sekaligus, dan 15 bebek yang memilih Kwik dan Kwek sekaligus. Secara aturan jika bebek memilih hanya satu kandidat maka seluruh suara bulat (nilai 3) akan diberikan kepada kandidat tersebut, jika bebek memilih lebih dari satu kandidat maka suara bulat (nilai 3) akan dibagi rata sebanyak kandidat yang dipilih. Kandidat yang mendapatkan suara terbesar pertama, kedua dan ketiga berturut-turut akan menjadi Ketua, Wakil Ketua dan Sekretaris. Manakah pernyataan berikut yang benar?

A. Kwak akan menjadi Wakil Ketua

B. Kwik akan menjadi Sekretaris

C. Kwek akan menjadi Sekretaris

D. Kwik akan menjadi Ketua

E. Kwek akan menjadi Wakil Ketua

Jawaban: C

21. Berapakah nilai digit terakhir dari 762575 × 126179?

A. 1

B. 3

C. 5

D. 9

E. 7

Jawaban: D

22. Perhatikan potongan program berikut!

char x[11]={'I','N','F','O','R','M','A','T','I','K','A'};

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

x[i] = x[13-(i+3)];

x[13-(i+3)] = x[10-i];

x[10-i] = x[i];

}

cout <<x<<endl;< span="">

Jika potongan program dijalankan, seperti apa nilai outputnya?

Jawaban: AKITAMATIKA

23. Pak Dengklek akan mengadakan pesta untuk memperingati hari kemerdekaan di lingkungan RT/RW-nya. Pesta ini rencananya akan mengundang 100 orang

warganya. Dalam rangka menyiapkan jamuan yang sesuai untuk para tamu, pak

Dengklek telah mensurvei preferensi setiap warganya terhadap 3 jenis alternatif

makanan, yaitu: kue apem, bakso atau cendol. Hasil survei menunjukkan: 20 orang

suka makan apem, 30 orang suka makan bakso, dan 45 orang suka cendol, 5 orang suka apem dan bakso, 6 orang suka bakso dan cendol, 1 orang saja yang suka apem dan cendol, dan satu orang juga yang suka ketiga-tiganya. Berapakah orang yang tidak suka ketiga jenis makanan tersebut?

Jawaban: 16

24. Berapakah nilai dari 20222000 × 100! (mod 707)? (dimana n! = n × (n-1) × (n-2) ... × 2 × 1, sedangkan x (mod y) berarti sisa bagi dari x dengan y dengan nilai antara 0 sampai y - 1)

Jawaban: 504

25. Pada suatu hari terjadi percakapan antara Kwek dan Kwok menggunakan bahasa bebek:

“Waak wik wak” kata Kwek, yang artinya “hari ini belajar online”.

“Waak wik wuk kwik” kata Kwok, yang artinya “kemarin juga belajar online”

.“Nwuk wik wuk” kata Kwek meralat pernyataan Kwok, yang artinya “kemarin belajar tatap muka”.

Kwok kemudian bertanya “mwuk?” yang artinya “besok?”.

Kwek membalas dengan yakin, “Nwuk wik mwuk kwik.”

Apa arti kalimat yang diucapkan Kwek pada akhir percakapan di atas?

Jawaban: besok juga belajar tatap muka

Baca Juga: 35 Contoh Soal OSN IPS SMP 2025 Lengkap Beserta dengan Jawabannya

26. Perhatikan potongan program berikut!

int main(){

int A, B, C;

cin >> A >> B >> C;

B = A - B; C = A - C; A = B + C;

cout << (A+B)*C <<endl;< span="">

return 0;

}

Berapakah keluaran dari program di atas apabila inputnya 11 6 7?

Jawaban: 56

27. Perhatikan potongan program berikut!

int main(){

int A, B, C, D;

cin >> A >> B >> C >> D;

if (A>=B){

if (A>=C){

if (A>=D){

cout <<d<<endl;< span="">

}else{

cout <<a<<endl;< span="">

}

}else{

if (C>=D){

cout <<d<<endl;< span="">

}else{

cout <<c<<endl;< span="">

}

}

}else{

if (B>=C){

if (B>=D){

cout <<d<<endl;< span="">

}else{

cout <<b<<endl;< span="">

}

}else{

if (C>=D){

cout <<d<<endl;< span="">

}else{

cout <<c<<endl;< span="">

}

}

}

return 0;

}

Berapakah keluaran dari program di atas apabila inputnya 89 78 100 105?

Jawaban: 100

28. Pak Dengklek memiliki dua buah array A dan B yang masing-masing berisi lima buah bilangan yang sudah terurut secara menaik. Pak Dengklek ingin menggabungkan

kedua array tersebut dalam sebuah array C, di mana kesepuluh bilangan dalam array

C hasil penggabungan juga harus terurut secara menaik. Sebagai contoh jika array

A={2, 4, 5} dan array B={1, 3, 7} maka hasil penggabungan array C={1, 2, 3, 4, 5, 7}.

Untuk mengimplementasikan masalah tersebut Pak Dengklek kemudian membuat

sebuah program sebagai berikut:

1 : #include

2 : using namespace std;

3 : int main(){

4 : int A[5]={1, 3, 5, 6, 18};

5 : int B[5]={2, 4, 7, 11, 16};

6 : int C[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

7 : int i=0, j=0, k=0;

8 : while (i<5 || j<5){

9 : if (A[i]<=B[j]){

10: C[k]=A[i];

11: i++;

12: }else{

13: C[k]=B[j];

14: j++;

15: }

16: k++;

17: }

18: if (i>j){

19: while (i<5){

20: C[k]=A[i];

21: i++; k++;

22: }

23: }else{

24: while (j<5){

25: C[k]=B[j];

26: j++; k++;

27: }

28: }

29: for (int i=0; i<10; i++) {

30: cout<<c[i]<<” “;<="" span="">

31: }

32: return 0;

33: }

Setelah di-compile, ternyata program tersebut tidak menghasilkan array C={1, 2, 3, 4, 5, 6, 7, 11, 16, 18} sesuai dengan keinginan Pak Dengklek karena sepertinya adalah kesalahan dalam program pada salah satu barisnya. Baris nomor berapakah dalam program yang menyebabkan kesalahan output tersebut?

Jawaban: 18

29. Perhatikan potongan program berikut!

cin>>A>>B;

C=A;

D=B;

while (C!=D) {

if (C<d) c+="A;</span">

if (C>D) D+=B;

}

while (A!=B) {

if (A<b) b-="A;</span">

if (A>B) A-=B;

}

cout<<(C+D)/(A+B);

Berapakah nilai keluaran dari program di atas apabila inputnya 5000 700?

Jawaban: 350

30. Perhatikan potongan program berikut!

int jalanjalan(int kiri, int kanan){

int energi=0;

while (kiri<kanan){< span="">

if (kiri % 7 == 0){

kiri++;

energi++;

}else if (kiri % 3 ==0){

kiri+=2;

energi+=2;

}else{

kiri+=3;

energi+=3;

}

}

return energi;

}

Berapa nilai yang dihasilkan jika dilakukan pemanggilan jalanjalan(10,1000)?

Jawaban: 991

Baca Juga: 30 Contoh Soal OSN Fisika SMA 2025, Lengkap dengan Kunci Jawaban

Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE
Laporkan Komentar
Terima kasih. Kami sudah menerima laporan Anda. Kami akan menghapus komentar yang bertentangan dengan Panduan Komunitas dan UU ITE.
92.0 fm
98.0 fm