Panduan Lengkap: Latihan dan Contoh Soal Pemrograman Terstruktur Beserta Algoritma dan Flowchart

Pemrograman terstruktur merupakan paradigma pemrograman yang mengedepankan pembagian program menjadi fungsi-fungsi atau prosedur yang lebih kecil dan logis. Teknik ini tidak hanya membuat kode lebih rapi, tetapi juga mempermudah proses debugging dan kolaborasi antar pengembang.

baca juga:Contoh Soal Cerita tentang SPLTV Lengkap dengan

Bagi pemula, memahami teori saja tidak cukup. Anda memerlukan latihan intensif yang menggabungkan logika berpikir (algoritma), representasi visual (flowchart), dan implementasi kode. Artikel ini akan memandu Anda melalui berbagai studi kasus, mulai dari logika dasar hingga struktur kontrol yang kompleks.

Memahami Fondasi Pemrograman Terstruktur

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

🔖 Baca juga:
Siap Hadapi UTBK 2025? Ini Contoh Soal Kuantitatif yang Wajib Kamu Kuasai!
  1. Sekuensial (Sequential): Instruksi dijalankan baris demi baris dari atas ke bawah.
  2. Pemilihan (Selection/Branching): Pengambilan keputusan menggunakan if-else atau switch-case.
  3. Pengulangan (Iteration/Looping): Menjalankan instruksi secara berulang menggunakan for, while, atau do-while.

Latihan 1: Menghitung Luas Bangun Datar (Struktur Sekuensial)

Studi kasus pertama adalah menghitung luas lingkaran. Ini adalah dasar untuk memahami bagaimana program menerima input, memprosesnya dengan rumus matematika, dan menampilkan output.

Algoritma Menghitung Luas Lingkaran

  1. Mulai.
  2. Tentukan nilai konstanta $PI = 3.14$.
  3. Input jari-jari ($r$).
  4. Hitung luas dengan rumus: $Luas = PI \times r \times r$.
  5. Tampilkan hasil Luas.
  6. Selesai.

Flowchart

Contoh Kode (C++)

C++

#include <iostream>
using namespace std;

int main() {
    float r, luas;
    const float PI = 3.14;

    cout << "Masukkan jari-jari: ";
    cin >> r;

    luas = PI * r * r;

    cout << "Luas Lingkaran adalah: " << luas << endl;
    return 0;
}

Latihan 2: Sistem Kelulusan Siswa (Struktur Pemilihan)

Pada latihan ini, kita akan menggunakan logika percabangan untuk menentukan apakah seorang siswa lulus atau tidak berdasarkan nilai ujiannya.

Algoritma Penentuan Lulus

  1. Mulai.
  2. Input Nama Siswa dan Nilai.
  3. Periksa kondisi: Jika Nilai >= 75, maka status = “LULUS”.
  4. Jika tidak (Nilai < 75), maka status = “TIDAK LULUS”.
  5. Tampilkan Nama dan Status.
  6. Selesai.

Flowchart

Contoh Kode (Python)

Python

nama = input("Masukkan Nama: ")
nilai = int(input("Masukkan Nilai: "))

if nilai >= 75:
    status = "LULUS"
else:
    status = "TIDAK LULUS"

print(f"Siswa bernama {nama} dinyatakan {status}")

Latihan 3: Konversi Suhu (Struktur Menu/Switch-Case)

Dalam pemrograman terstruktur, membuat menu pilihan adalah cara efektif untuk mengorganisir logika program yang memiliki banyak fungsi.

Algoritma Konversi Suhu

  1. Mulai.
  2. Tampilkan menu pilihan: (1) Celsius ke Fahrenheit, (2) Celsius ke Reamur.
  3. Input pilihan menu.
  4. Input nilai suhu dalam Celsius.
  5. Jika pilihan 1: $F = (9/5 \times C) + 32$.
  6. Jika pilihan 2: $R = 4/5 \times C$.
  7. Tampilkan hasil konversi.
  8. Selesai.

Contoh Kode (Java)

Java

import java.util.Scanner;

public class KonversiSuhu {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("1. Celsius ke Fahrenheit\n2. Celsius ke Reamur");
        System.out.print("Pilih menu: ");
        int menu = input.nextInt();
        System.out.print("Masukkan suhu Celsius: ");
        double c = input.nextDouble();

        switch(menu) {
            case 1:
                System.out.println("Hasil: " + ((9.0/5.0 * c) + 32));
                break;
            case 2:
                System.out.println("Hasil: " + (4.0/5.0 * c));
                break;
            default:
                System.out.println("Pilihan tidak valid");
        }
    }
}

Latihan 4: Menampilkan Deret Angka Genap (Struktur Pengulangan)

Looping digunakan untuk menangani tugas yang berulang tanpa menulis kode yang sama berkali-kali.

Algoritma Deret Genap

  1. Mulai.
  2. Input batas maksimal angka.
  3. Lakukan perulangan dari $i = 1$ sampai batas:a. Jika $i$ habis dibagi 2 (i % 2 == 0), cetak $i$.
  4. Selesai.

Flowchart

Contoh Kode (C++)

C++

#include <iostream>
using namespace std;

int main() {
    int batas;
    cout << "Masukkan batas angka: ";
    cin >> batas;

    for(int i = 1; i <= batas; i++) {
        if(i % 2 == 0) {
            cout << i << " ";
        }
    }
    return 0;
}

Latihan 5: Menghitung Gaji Karyawan (Studi Kasus Kompleks)

Mari kita gabungkan semua elemen: input, percabangan, dan perhitungan matematis dalam satu program penggajian sederhana.

Skenario

Sebuah perusahaan menggaji karyawannya berdasarkan golongan:

  • Golongan A: Gaji Pokok 5.000.000
  • Golongan B: Gaji Pokok 4.000.000
  • Lembur: 50.000 per jam.

Algoritma

  1. Masukkan Nama, Golongan, dan Jam Lembur.
  2. Jika Golongan A, Gaji Pokok = 5.000.000.
  3. Jika Golongan B, Gaji Pokok = 4.000.000.
  4. Total Lembur = Jam Lembur * 50.000.
  5. Total Gaji = Gaji Pokok + Total Lembur.
  6. Tampilkan Total Gaji.

Tips Menguasai Pemrograman Terstruktur

Untuk mahir dalam pemrograman terstruktur, jangan hanya menyalin kode (copy-paste). Lakukan langkah-langkah berikut:

  1. Gunakan Dry Run: Cobalah menelusuri alur algoritma di atas kertas sebelum menulis kode. Masukkan angka simulasi dan lihat apakah hasilnya sesuai.
  2. Modularisasi: Jika program mulai panjang, pecahlah menjadi fungsi-fungsi kecil (misalnya fungsi hitungLuas() atau cetakMenu()).
  3. Validasi Input: Selalu pikirkan kemungkinan kesalahan pengguna, seperti memasukkan teks pada input yang seharusnya angka.
  4. Komentar Kode: Biasakan menulis komentar untuk menjelaskan logika yang kompleks agar mudah dibaca di masa depan.

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

Kesimpulan

Latihan pemrograman terstruktur dengan bantuan algoritma dan flowchart sangat krusial untuk membangun fondasi logika yang kuat. Dengan memahami bagaimana data mengalir dan bagaimana keputusan diambil dalam kode, Anda akan lebih mudah mempelajari bahasa pemrograman apa pun, mulai dari C++, Java, hingga Python.

penulis: ridho

Post Comment