Daftar Isi
- Memahami Fondasi Pemrograman Terstruktur
- Latihan 1: Menghitung Luas Bangun Datar (Struktur Sekuensial)
- Algoritma Menghitung Luas Lingkaran
- Flowchart
- Contoh Kode (C++)
- Latihan 2: Sistem Kelulusan Siswa (Struktur Pemilihan)
- Algoritma Penentuan Lulus
- Flowchart
- Contoh Kode (Python)
- Latihan 3: Konversi Suhu (Struktur Menu/Switch-Case)
- Algoritma Konversi Suhu
- Contoh Kode (Java)
- Latihan 4: Menampilkan Deret Angka Genap (Struktur Pengulangan)
- Algoritma Deret Genap
- Flowchart
- Contoh Kode (C++)
- Latihan 5: Menghitung Gaji Karyawan (Studi Kasus Kompleks)
- Skenario
- Algoritma
- Tips Menguasai Pemrograman Terstruktur
- Kesimpulan
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.
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:
- Sekuensial (Sequential): Instruksi dijalankan baris demi baris dari atas ke bawah.
- Pemilihan (Selection/Branching): Pengambilan keputusan menggunakan
if-elseatauswitch-case. - Pengulangan (Iteration/Looping): Menjalankan instruksi secara berulang menggunakan
for,while, ataudo-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
- Mulai.
- Tentukan nilai konstanta $PI = 3.14$.
- Input jari-jari ($r$).
- Hitung luas dengan rumus: $Luas = PI \times r \times r$.
- Tampilkan hasil Luas.
- 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
- Mulai.
- Input Nama Siswa dan Nilai.
- Periksa kondisi: Jika Nilai >= 75, maka status = “LULUS”.
- Jika tidak (Nilai < 75), maka status = “TIDAK LULUS”.
- Tampilkan Nama dan Status.
- 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
- Mulai.
- Tampilkan menu pilihan: (1) Celsius ke Fahrenheit, (2) Celsius ke Reamur.
- Input pilihan menu.
- Input nilai suhu dalam Celsius.
- Jika pilihan 1: $F = (9/5 \times C) + 32$.
- Jika pilihan 2: $R = 4/5 \times C$.
- Tampilkan hasil konversi.
- 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
- Mulai.
- Input batas maksimal angka.
- Lakukan perulangan dari $i = 1$ sampai batas:a. Jika $i$ habis dibagi 2 (i % 2 == 0), cetak $i$.
- 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
- Masukkan Nama, Golongan, dan Jam Lembur.
- Jika Golongan A, Gaji Pokok = 5.000.000.
- Jika Golongan B, Gaji Pokok = 4.000.000.
- Total Lembur = Jam Lembur * 50.000.
- Total Gaji = Gaji Pokok + Total Lembur.
- Tampilkan Total Gaji.
Tips Menguasai Pemrograman Terstruktur
Untuk mahir dalam pemrograman terstruktur, jangan hanya menyalin kode (copy-paste). Lakukan langkah-langkah berikut:
- Gunakan Dry Run: Cobalah menelusuri alur algoritma di atas kertas sebelum menulis kode. Masukkan angka simulasi dan lihat apakah hasilnya sesuai.
- Modularisasi: Jika program mulai panjang, pecahlah menjadi fungsi-fungsi kecil (misalnya fungsi
hitungLuas()ataucetakMenu()). - Validasi Input: Selalu pikirkan kemungkinan kesalahan pengguna, seperti memasukkan teks pada input yang seharusnya angka.
- Komentar Kode: Biasakan menulis komentar untuk menjelaskan logika yang kompleks agar mudah dibaca di masa depan.
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