Olimpiade Sains Nasional (OSN) Informatika merupakan ajang kompetisi tahunan yang menantang siswa SMA dan sederajat untuk menguji kemampuan algoritma, pemrograman, dan pemecahan masalah. OSN Informatika 2025 menghadirkan soal yang semakin variatif, menuntut peserta untuk tidak hanya menguasai dasar-dasar pemrograman, tetapi juga mampu berpikir kritis dan kreatif dalam menyelesaikan masalah.
Artikel ini menyajikan contoh soal OSN Informatika 2025 lengkap dengan pembahasan, strategi pengerjaan, dan tips latihan agar peserta lebih siap menghadapi kompetisi. Dengan memahami pola soal dan berlatih sistematis, peluang meraih prestasi di OSN Informatika meningkat signifikan.
Jenis-Jenis Soal OSN Informatika
- Algoritma dan Struktur Data
Soal OSN Informatika biasanya menguji kemampuan peserta dalam merancang algoritma untuk menyelesaikan masalah tertentu, serta memahami struktur data seperti array, linked list, stack, queue, dan tree. - Pemrograman Dasar dan Lanjutan
Soal pemrograman mengharuskan peserta menulis kode yang benar dan efisien. Bahasa pemrograman yang umum digunakan adalah Python, C++, dan Java. - Komputasi dan Logika
Peserta diuji kemampuan berpikir logis, menemukan pola, menghitung kompleksitas, dan memecahkan masalah berbasis komputasi. - Matematika Diskrit dan Kombinatorik
Soal kombinatorik, teori graf, dan matematika diskrit sering muncul untuk menguji kemampuan analisis dan algoritma matematis. - Soal Kasus dan Implementasi
Beberapa soal menuntut peserta membuat program untuk menyelesaikan masalah nyata, misalnya simulasi, manipulasi string, atau optimasi data.
Contoh Soal OSN Informatika 2025
Contoh Soal 1: Algoritma Dasar
Diberikan array A = [3, 1, 4, 1, 5, 9, 2]. Tuliskan algoritma untuk menemukan nilai maksimum dan minimum.
Pembahasan:
- Inisialisasi max = A[0], min = A[0]
- Iterasi dari indeks 1 hingga akhir:
- Jika A[i] > max → max = A[i]
- Jika A[i] < min → min = A[i]
- Output max dan min
Hasil: max = 9, min = 1
Contoh Soal 2: Pemrograman Dasar
Tulis program untuk menghitung jumlah bilangan genap dari 1 hingga N (misal N = 10).
Pembahasan (Python):
N = 10
jumlah = 0
for i in range(1, N+1):
if i % 2 == 0:
jumlah += i
print(jumlah)
Hasil output: 2 + 4 + 6 + 8 + 10 = 30
Contoh Soal 3: Logika dan Pemrograman
Diberikan string S = “informatika”. Hitung jumlah huruf vokal.
Baca Juga : Kumpulan Contoh Soal tentang Fisika untuk SMP dan SMA
Pembahasan:
- Vokal = {a, i, u, e, o}
- Iterasi tiap karakter pada string
- Jika karakter termasuk vokal → tambah counter
- Output counter
Hasil: vokal = 5 (i, o, a, i, a)
Contoh Soal 4: Struktur Data – Array dan Looping
Diberikan array A = [2, 4, 6, 8, 10]. Buat program untuk menghitung jumlah prefix sum.
Pembahasan (Python):
A = [2, 4, 6, 8, 10]
prefix_sum = 0
for i in range(len(A)):
prefix_sum += A[i]
print(f"Prefix sum index {i} = {prefix_sum}")
Output: 2, 6, 12, 20, 30
Contoh Soal 5: Kombinatorik dan Matematika Diskrit
Hitung jumlah cara menyusun angka 1, 2, 3 tanpa ada angka yang sama berdampingan.
Pembahasan:
- Permutasi 3 angka tanpa pengulangan: 3! = 6
- Semua kombinasi valid karena tidak ada angka berulang
Jawaban: 6 cara → (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1)
Contoh Soal 6: Teori Graf
Diberikan graf sederhana dengan 4 node dan edge {(1,2),(2,3),(3,4),(4,1)}. Tentukan apakah graf membentuk siklus.
Pembahasan:
- Graf memiliki 4 node dan 4 edge yang saling terhubung membentuk loop.
- Node pertama bisa kembali ke node awal melalui edge terakhir → siklus ada
Jawaban: Ya, membentuk siklus
Contoh Soal 7: Optimasi dan Algoritma Greedy
Sebuah toko ingin membeli barang dengan harga berbeda, memiliki anggaran Rp 100.000. Barang: A=30.000, B=50.000, C=20.000. Maksimalkan jumlah barang yang bisa dibeli.
Pembahasan:
- Pilih barang termurah dulu → C (20.000), sisa 80.000
- Pilih berikutnya termurah → A (30.000), sisa 50.000
- Pilih B (50.000), sisa 0
- Total barang dibeli = 3
Jawaban: Maksimal 3 barang
Contoh Soal 8: Pemrograman Lanjutan – Fungsi Rekursif
Tulis fungsi faktorial n! secara rekursif.
Pembahasan (Python):
def faktorial(n):
if n == 0 or n == 1:
return 1
return n * faktorial(n-1)
print(faktorial(5)) # Output: 120
Contoh Soal 9: Array dan String
Diberikan array A = [“a”, “b”, “c”, “d”]. Tulis program untuk membalik urutan array.
Pembahasan:
A = ["a","b","c","d"]
A.reverse()
print(A) # Output: ['d','c','b','a']
Contoh Soal 10: Studi Kasus OSN Informatika
Seorang guru ingin membuat aplikasi untuk menghitung rata-rata nilai siswa dari file data. Tulis program untuk membaca nilai dari file, menghitung rata-rata, dan menampilkan hasil.
Pembahasan:
file_nilai = open("nilai.txt","r")
total = 0
jumlah_siswa = 0
for line in file_nilai:
total += int(line.strip())
jumlah_siswa += 1
file_nilai.close()
rata_rata = total / jumlah_siswa
print(f"Rata-rata nilai = {rata_rata}")
Program ini menguji kemampuan membaca file, iterasi, perhitungan, dan output program.
Strategi Mengerjakan Soal OSN Informatika
- Pahami Soal dengan Teliti
Baca soal beberapa kali untuk memahami input, output, dan batasan. - Rancang Algoritma Terlebih Dahulu
Sebelum menulis kode, buat langkah-langkah penyelesaian masalah secara sistematis. - Gunakan Struktur Data Tepat
Pilih struktur data yang efisien sesuai kebutuhan, misal array, list, stack, atau hash map. - Periksa Kasus Uji
Uji program dengan input sederhana dan edge case agar hasil akurat. - Latihan Konsisten
Berlatih soal OSN tahun sebelumnya dan soal online untuk membiasakan diri dengan pola soal.
Tips Persiapan OSN Informatika
- Kuasai Bahasa Pemrograman: Pilih satu bahasa (Python/C++/Java) dan kuasai syntax serta library penting.
- Pelajari Struktur Data dan Algoritma: Array, linked list, stack, queue, graf, tree, sorting, searching, rekursi, dan dynamic programming.
- Kerjakan Soal Latihan: Gunakan soal OSN tahun sebelumnya, soal online, dan kompetisi coding untuk latihan.
- Manajemen Waktu: Latihan dengan batas waktu agar terbiasa menghadapi tekanan ujian.
- Diskusi dan Belajar Kelompok: Membahas soal dengan teman atau mentor membantu memahami trik dan strategi menyelesaikan soal sulit.
Kesimpulan
OSN Informatika 2025 menuntut peserta menguasai algoritma, struktur data, pemrograman, logika, dan matematika diskrit. Latihan contoh soal OSN Informatika lengkap dengan pembahasan sangat membantu peserta memahami pola soal, mengasah kemampuan pemrograman, dan meningkatkan strategi penyelesaian. Dengan persiapan matang, latihan rutin, dan strategi pengerjaan yang tepat, peluang meraih prestasi di OSN Informatika akan lebih besar.
Penulis : Reyfen Andrian


Post Comment