Contoh Soal OSN Informatika 2025 Lengkap dengan Pembahasan

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

  1. 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.
  2. Pemrograman Dasar dan Lanjutan
    Soal pemrograman mengharuskan peserta menulis kode yang benar dan efisien. Bahasa pemrograman yang umum digunakan adalah Python, C++, dan Java.
  3. Komputasi dan Logika
    Peserta diuji kemampuan berpikir logis, menemukan pola, menghitung kompleksitas, dan memecahkan masalah berbasis komputasi.
  4. Matematika Diskrit dan Kombinatorik
    Soal kombinatorik, teori graf, dan matematika diskrit sering muncul untuk menguji kemampuan analisis dan algoritma matematis.
  5. 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.

🔖 Baca juga:
France vs Morocco World Cup 2026: Prediksi Skor, Head to Head, Susunan Pemain, dan Jadwal Perempat Final

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.

Pembaca : Mahasiswa FEB Universitas Teknokrat Indonesia Raih Juara III Lomba Business Plan Festival Earth Dream 2025

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

  1. Pahami Soal dengan Teliti
    Baca soal beberapa kali untuk memahami input, output, dan batasan.
  2. Rancang Algoritma Terlebih Dahulu
    Sebelum menulis kode, buat langkah-langkah penyelesaian masalah secara sistematis.
  3. Gunakan Struktur Data Tepat
    Pilih struktur data yang efisien sesuai kebutuhan, misal array, list, stack, atau hash map.
  4. Periksa Kasus Uji
    Uji program dengan input sederhana dan edge case agar hasil akurat.
  5. Latihan Konsisten
    Berlatih soal OSN tahun sebelumnya dan soal online untuk membiasakan diri dengan pola soal.

Tips Persiapan OSN Informatika

  1. Kuasai Bahasa Pemrograman: Pilih satu bahasa (Python/C++/Java) dan kuasai syntax serta library penting.
  2. Pelajari Struktur Data dan Algoritma: Array, linked list, stack, queue, graf, tree, sorting, searching, rekursi, dan dynamic programming.
  3. Kerjakan Soal Latihan: Gunakan soal OSN tahun sebelumnya, soal online, dan kompetisi coding untuk latihan.
  4. Manajemen Waktu: Latihan dengan batas waktu agar terbiasa menghadapi tekanan ujian.
  5. 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