Contoh Soal Pemrograman Terstruktur Dasar hingga Menengah untuk Latihan Coding

Dalam dunia pengembangan perangkat lunak, fondasi yang kuat adalah segalanya. Sebelum melompat ke framework canggih atau kecerdasan buatan, setiap programmer harus melewati gerbang pemrograman terstruktur. Pendekatan ini menekankan pada penggunaan prosedur, fungsi, dan blok kode logis untuk membangun program yang efisien dan mudah dibaca.

baca juga:Contoh Soal Cerita tentang SPLTV Lengkap dengan

Artikel ini akan menyajikan deretan contoh soal pemrograman terstruktur dari level dasar hingga menengah, lengkap dengan logika penyelesaiannya. Cocok bagi Anda yang sedang menempuh studi informatika maupun self-taught developer.

Apa Itu Pemrograman Terstruktur?

Pemrograman terstruktur adalah paradigma pemrograman yang mengandalkan struktur kontrol seperti urutan (sequence), pemilihan (selection), dan pengulangan (repetition). Tujuannya adalah untuk meningkatkan kualitas, kejelasan, dan waktu pengembangan program.

🔖 Baca juga:
Latihan Contoh Soal Analisis Cross Section untuk Mahasiswa Ekonomi dan Akuntansi

Pilar Utama Pemrograman Terstruktur:

  1. Top-Down Design: Memecah masalah besar menjadi sub-masalah yang lebih kecil.
  2. Modularitas: Menggunakan fungsi atau prosedur untuk tugas spesifik.
  3. Struktur Kontrol: Menghindari penggunaan “GOTO” dan lebih fokus pada if-else, switch, for, dan while.

Level 1: Contoh Soal Dasar (Fokus pada Logika Dasar & Variabel)

Pada tahap ini, kita akan melatih kemampuan dalam menangani input, output, dan operasi aritmatika sederhana.

1. Menghitung Luas Lingkaran

Masalah: Buatlah program yang menerima input jari-jari lingkaran dan menghitung luasnya.

Logika: Gunakan rumus $L = \pi \times r^2$.

  • Keypoint: Pastikan menggunakan tipe data float atau double untuk presisi.

2. Konversi Suhu (Celsius ke Fahrenheit)

Masalah: Ubah suhu dari Celsius ke Fahrenheit.

Logika: Rumus yang digunakan adalah $F = (9/5 \times C) + 32$.

  • Penting: Perhatikan pembagian bilangan bulat. Dalam banyak bahasa pemrograman, 9/5 menghasilkan 1. Gunakan 9.0/5.0.

3. Cek Bilangan Ganjil atau Genap

Masalah: Tentukan apakah angka yang dimasukkan pengguna adalah ganjil atau genap.

Logika: Gunakan operator modulus (%). Jika angka % 2 == 0, maka genap.


Level 2: Struktur Pemilihan dan Percabangan (Decision Making)

Logika pemrograman mulai diuji di sini. Program harus mampu mengambil keputusan berdasarkan kondisi tertentu.

4. Sistem Penilaian (Grading System)

Masalah: Buat program yang mengonversi skor (0-100) menjadi nilai huruf (A, B, C, D, E).

  • Kondisi: * 85-100: A
    • 70-84: B
    • 55-69: C
    • …dan seterusnya.

5. Menentukan Tahun Kabisat

Masalah: Input sebuah tahun dan tentukan apakah itu tahun kabisat atau bukan.

Logika: Tahun kabisat habis dibagi 4, kecuali jika habis dibagi 100 namun tidak habis dibagi 400.


Level 3: Struktur Pengulangan (Looping)

Looping adalah jantung dari efisiensi kode. Di sini kita belajar bagaimana melakukan tugas berulang tanpa menulis kode berkali-kali.

6. Membuat Deret Fibonacci

Masalah: Tampilkan $n$ bilangan pertama dari deret Fibonacci.

Logika: Angka berikutnya adalah jumlah dari dua angka sebelumnya ($0, 1, 1, 2, 3, 5, 8, \dots$).

7. Pola Bintang (Nested Loop)

Masalah: Buatlah pola segitiga siku-siku menggunakan karakter bintang (*).

Logika: Gunakan nested loop (loop di dalam loop). Loop luar untuk baris, loop dalam untuk kolom.


Level 4: Array dan Manipulasi Data Dasar

Array memungkinkan kita menyimpan banyak data dalam satu variabel.

8. Mencari Nilai Terbesar dalam Array

Masalah: Diberikan sekumpulan angka dalam array, cari nilai maksimumnya.

Logika: Inisialisasi variabel max dengan elemen pertama, lalu bandingkan dengan setiap elemen lainnya dalam loop.

9. Membalikkan Kata (String Reversal)

Masalah: Ubah “STRUKTUR” menjadi “RUTKURTS”.

Logika: String pada dasarnya adalah array of characters. Lakukan iterasi dari indeks terakhir ke indeks nol.


Level 5: Menengah (Modularitas dengan Fungsi & Prosedur)

Memasuki level menengah, kita mulai memisahkan logika ke dalam fungsi agar kode lebih reusable.

10. Kalkulator Sederhana dengan Fungsi

Masalah: Buat kalkulator yang memiliki fungsi terpisah untuk tambah(), kurang(), kali(), dan bagi().

Manfaat: Memudahkan debugging karena setiap fungsi memiliki tanggung jawab tunggal (Single Responsibility).

11. Cek Bilangan Prima

Masalah: Buat fungsi boolean isPrime(n) untuk mengecek apakah sebuah bilangan adalah prima.

Logika: Bilangan prima hanya memiliki dua faktor. Lakukan loop dari 2 hingga $\sqrt{n}$.


Level 6: Algoritma Pengurutan (Sorting) Dasar

Sorting adalah topik klasik dalam pemrograman terstruktur.

12. Bubble Sort

Masalah: Urutkan array secara ascending (kecil ke besar).

Logika: Bandingkan dua elemen berdampingan, tukar jika elemen kiri lebih besar dari elemen kanan. Ulangi hingga semua terurut.


Tips Sukses Latihan Coding Pemrograman Terstruktur

Untuk menguasai materi di atas, jangan hanya menyalin kode. Ikuti langkah-langkah berikut:

  1. Traced Manual: Cobalah jalankan logika program di atas kertas sebelum mengetiknya. Ini disebut dry running.
  2. Pahami Error: Jangan takut dengan pesan error. Error adalah guru terbaik yang memberi tahu di mana logika Anda meleset.
  3. Optimasi: Setelah program jalan, tanyakan: “Bisakah saya membuatnya lebih pendek atau lebih cepat?”
  4. Komentar Kode: Biasakan menulis komentar yang menjelaskan mengapa Anda menggunakan logika tersebut, bukan hanya apa yang dilakukan kode.

baca juga:Ratusan Siswa SMA/SMK se-Lampung Ikuti Academic Expo, Seminar, dan Tryout Universitas Teknokrat Indonesia

Kesimpulan

Menguasai pemrograman terstruktur melalui latihan soal adalah investasi terbaik bagi setiap programmer. Mulai dari variabel sederhana hingga algoritma pengurutan, setiap soal membangun otot logika yang Anda butuhkan untuk menangani sistem yang lebih kompleks nantinya.

penulis: ridho

Post Comment