Kumpulan Contoh Soal Pemrograman Terstruktur dan Jawabannya Paling Mudah Dipahami

Pemrograman terstruktur adalah fondasi utama bagi siapa saja yang ingin terjun ke dunia pengembangan perangkat lunak. Berbeda dengan pemrograman yang berantakan, pendekatan terstruktur menekankan pada penggunaan fungsi, prosedur, dan kontrol alur yang logis (seperti perulangan dan percabangan). Dengan menguasai konsep ini, Anda akan lebih mudah mempelajari bahasa pemrograman apa pun, mulai dari C, C++, Java, hingga Python.

baca juga:Contoh Soal Ujian CAT PPS Lengkap dengan Pembahasan:

Dalam artikel ini, kita akan membedah berbagai contoh soal yang disusun berdasarkan tingkat kesulitan, mulai dari dasar input-output hingga manipulasi array dan fungsi.

Memahami Esensi Pemrograman Terstruktur

Sebelum masuk ke contoh soal, penting untuk diingat bahwa pemrograman terstruktur berfokus pada tiga pilar utama:

  1. Sekuensial (Urutan): Instruksi dijalankan baris demi baris.
  2. Seleksi (Percabangan): Pengambilan keputusan menggunakan if-else atau switch-case.
  3. Repetisi (Perulangan): Menjalankan instruksi yang sama berulang kali menggunakan for, while, atau do-while.

Mari kita mulai dengan latihan soal yang paling mendasar.

🔖 Baca juga:
Memahami Skedul Penawaran Lengkap dengan Contoh Soal dan Pembahasan yang Mudah Dipahami

Bagian 1: Soal Dasar Input, Output, dan Operasi Aritmatika

Pada bagian ini, fokus kita adalah bagaimana program menerima data dari pengguna dan memprosesnya menggunakan operator matematika sederhana.

Soal 1: Menghitung Luas Persegi Panjang

Tantangan: Buatlah program yang meminta pengguna memasukkan panjang dan lebar, lalu menampilkan hasilnya.

Jawaban (Logika Pseudo-code):

  1. Deklarasikan variabel panjang, lebar, dan luas.
  2. Input nilai panjang.
  3. Input nilai lebar.
  4. Hitung luas = panjang * lebar.
  5. Tampilkan luas.

Contoh Kode (C++):

C++

#include <iostream>
using namespace std;

int main() {
    float panjang, lebar, luas;
    cout << "Masukkan panjang: ";
    cin >> panjang;
    cout << "Masukkan lebar: ";
    cin >> lebar;
    
    luas = panjang * lebar;
    cout << "Luas Persegi Panjang adalah: " << luas << endl;
    return 0;
}

Soal 2: Konversi Suhu Celsius ke Fahrenheit

Tantangan: Ubah suhu dari Celsius ke Fahrenheit dengan rumus $F = (C \times 9/5) + 32$.

Jawaban:

Program ini melatih kemampuan Anda dalam menggunakan konstanta dan operator pembagian. Pastikan menggunakan tipe data float atau double agar hasil pembagiannya akurat (tidak dibulatkan secara otomatis).


Bagian 2: Soal Percabangan (Logika Pengambilan Keputusan)

Percabangan memungkinkan program untuk memilih jalur eksekusi berdasarkan kondisi tertentu.

Soal 3: Menentukan Bilangan Ganjil atau Genap

Tantangan: Masukkan sebuah angka bulat, dan tentukan apakah angka tersebut ganjil atau genap.

Jawaban (Analisis):

Kuncinya adalah menggunakan operator Modulus (%). Jika angka dibagi 2 menghasilkan sisa 0, maka itu adalah bilangan genap.

Contoh Kode (Python):

Python

angka = int(input("Masukkan sebuah angka: "))

if angka % 2 == 0:
    print("Angka tersebut adalah Genap")
else:
    print("Angka tersebut adalah Ganjil")

Soal 4: Klasifikasi Nilai Ujian

Tantangan: Buat program grade nilai dengan ketentuan:

  • 80 – 100: A
  • 70 – 79: B
  • 60 – 69: C
  • Di bawah 60: D

Jawaban:

Gunakan struktur if-else if-else. Ini adalah cara terbaik untuk menangani kondisi yang bertumpuk atau bersifat rentang (range).


Bagian 3: Soal Perulangan (Looping)

Perulangan adalah kekuatan utama komputer dalam menangani tugas yang membosankan dengan sangat cepat.

Soal 5: Menampilkan Angka 1 Sampai 10

Tantangan: Gunakan perulangan for untuk mencetak angka dari 1 hingga 10.

Contoh Kode (Java):

Java

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.print(i + " ");
        }
    }
}

Soal 6: Membuat Deret Angka Kelipatan 5

Tantangan: Tampilkan angka kelipatan 5 mulai dari 5 hingga 50.

Tips: Anda bisa mengatur increment pada perulangan for bukan i++, melainkan i += 5.


Bagian 4: Soal Array dan Manipulasi Data

Array digunakan untuk menyimpan banyak data dalam satu nama variabel. Ini adalah konsep krusial dalam pemrograman terstruktur.

Soal 7: Mencari Nilai Tertinggi dalam Array

Tantangan: Diberikan sekumpulan angka dalam array, temukan angka mana yang paling besar.

Jawaban (Logika):

  1. Anggap elemen pertama array adalah yang terbesar (max).
  2. Bandingkan max dengan elemen berikutnya.
  3. Jika elemen berikutnya lebih besar, maka update nilai max.
  4. Ulangi sampai akhir array.

Contoh Kode (C):

C

#include <stdio.h>

int main() {
    int angka[] = {23, 56, 12, 89, 45};
    int max = angka[0];
    
    for(int i = 1; i < 5; i++) {
        if(angka[i] > max) {
            max = angka[i];
        }
    }
    printf("Nilai tertinggi adalah: %d", max);
    return 0;
}

Bagian 5: Fungsi dan Prosedur (Modularitas)

Dalam pemrograman terstruktur, memecah kode menjadi fungsi-fungsi kecil sangatlah penting agar kode mudah dibaca dan dikelola.

Soal 8: Fungsi Menghitung Volume Kubus

Tantangan: Buatlah sebuah fungsi bernama hitungVolume yang menerima parameter sisi dan mengembalikan hasil volumenya.

Jawaban:

C++

double hitungVolume(double s) {
    return s * s * s;
}

Dengan memisahkan perhitungan ke dalam fungsi, Anda bisa memanggil fungsi tersebut berkali-kali tanpa harus menulis ulang rumusnya.


Tips Belajar Pemrograman Terstruktur dengan Cepat

Agar Anda semakin mahir, jangan hanya menyalin kode di atas. Coba lakukan hal berikut:

  1. Modifikasi Kode: Setelah mencoba soal di atas, ubah kondisinya. Misalnya, pada soal ganjil-genap, tambahkan kondisi untuk mendeteksi angka nol.
  2. Gunakan Tracing Manual: Ambil kertas dan pulpen. Jalankan kode di pikiran Anda dan tuliskan perubahan nilai variabel di kertas. Ini akan melatih logika Anda secara tajam.
  3. Pahami Error: Jangan takut saat melihat pesan error berwarna merah. Error adalah guru terbaik. Baca pesan tersebut, cari barisnya, dan pahami mengapa komputer tidak mengerti instruksi Anda.

baca juga:Teknokrat Academic Expo: Rektor Nasrullah Yusuf Tegaskan Tiga Pilar UTI Kampus Inovatif, Berdampak, dan Berkelanjutan

Kesimpulan

Pemrograman terstruktur bukan tentang seberapa rumit kode yang Anda buat, tetapi seberapa logis dan efisien instruksi yang Anda susun. Dengan berlatih melalui kumpulan soal di atas, Anda telah membangun fondasi yang kuat untuk menjadi programmer profesional.

penulis: ridho

Post Comment