Daftar Isi
- Apa Itu Pemrograman Terstruktur?
- Pilar Utama Pemrograman Terstruktur:
- Level 1: Contoh Soal Dasar (Fokus pada Logika Dasar & Variabel)
- 1. Menghitung Luas Lingkaran
- 2. Konversi Suhu (Celsius ke Fahrenheit)
- 3. Cek Bilangan Ganjil atau Genap
- Level 2: Struktur Pemilihan dan Percabangan (Decision Making)
- 4. Sistem Penilaian (Grading System)
- 5. Menentukan Tahun Kabisat
- Level 3: Struktur Pengulangan (Looping)
- 6. Membuat Deret Fibonacci
- 7. Pola Bintang (Nested Loop)
- Level 4: Array dan Manipulasi Data Dasar
- 8. Mencari Nilai Terbesar dalam Array
- 9. Membalikkan Kata (String Reversal)
- Level 5: Menengah (Modularitas dengan Fungsi & Prosedur)
- 10. Kalkulator Sederhana dengan Fungsi
- 11. Cek Bilangan Prima
- Level 6: Algoritma Pengurutan (Sorting) Dasar
- 12. Bubble Sort
- Tips Sukses Latihan Coding Pemrograman Terstruktur
- Kesimpulan
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.
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.
Pilar Utama Pemrograman Terstruktur:
- Top-Down Design: Memecah masalah besar menjadi sub-masalah yang lebih kecil.
- Modularitas: Menggunakan fungsi atau prosedur untuk tugas spesifik.
- Struktur Kontrol: Menghindari penggunaan “GOTO” dan lebih fokus pada
if-else,switch,for, danwhile.
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/5menghasilkan1. Gunakan9.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:
- Traced Manual: Cobalah jalankan logika program di atas kertas sebelum mengetiknya. Ini disebut dry running.
- Pahami Error: Jangan takut dengan pesan error. Error adalah guru terbaik yang memberi tahu di mana logika Anda meleset.
- Optimasi: Setelah program jalan, tanyakan: “Bisakah saya membuatnya lebih pendek atau lebih cepat?”
- Komentar Kode: Biasakan menulis komentar yang menjelaskan mengapa Anda menggunakan logika tersebut, bukan hanya apa yang dilakukan kode.
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