phone: +62852 5254 2414
e-mail: simonmurdani@gmail.com

DDK RPL - BAB 6 Pemrograman Terstruktur

BAB 6

Pemrograman Terstruktur

Kompetensi Dasar

Pada akhir Fase E, peserta didik mampu:

  • Melakukan pemrograman terstruktur, antara lain penerapan struktur data yang terdiri dari data statis (array baik dimensi, panjang, tipe data, pengurutan) dan data dinamis (list, stack).

  • Menggunakan tipe data, struktur kontrol perulangan dan percabangan pada proyek pengembangan perangkat lunak sederhana dan gim.

Pendahuluan

Setelah Anda memahami dasar-dasar algoritma, kini saatnya Anda mempelajari cara menyusun kode program dengan rapi dan logis menggunakan pemrograman terstruktur. Bab ini akan mengajarkan Anda untuk mengelola data dan mengendalikan alur program secara efisien. Dengan menguasai konsep ini, Anda akan mampu membangun program yang mudah dibaca, dipelihara, dan dikembangkan. Pemrograman terstruktur adalah fondasi yang kokoh untuk menciptakan perangkat lunak dan gim yang kompleks namun tetap stabil.

A. Konsep Dasar Pemrograman Terstruktur

Pemrograman terstruktur adalah sebuah paradigma pemrograman yang bertujuan untuk meningkatkan kejelasan, kualitas, dan waktu pengembangan program. Ide utamanya adalah menggunakan struktur kontrol dasar yang terdiri dari sekuensial (berurutan), seleksi (percabangan), dan iterasi (perulangan) untuk mengendalikan alur eksekusi program. Pendekatan ini menghindari penggunaan perintah goto yang dapat membuat alur program menjadi tidak teratur dan sulit dilacak.

B. Struktur Data

Struktur data adalah cara untuk mengorganisasi, mengelola, dan menyimpan data sehingga dapat diakses dan dimanipulasi secara efisien.

1. Data Statis: Array

  • Array adalah koleksi data dengan tipe yang sama yang disimpan dalam blok memori yang berdekatan. Ukuran (length) dari array bersifat statis atau tetap setelah dideklarasikan.

  • Dimensi: Array dapat memiliki satu dimensi (list), dua dimensi (tabel), atau lebih.

  • Tipe Data: Semua elemen dalam array harus memiliki tipe data yang sama, seperti integer atau string.

  • Pengurutan (Sorting): Proses menata elemen array dalam urutan tertentu (misalnya, menaik atau menurun) adalah salah satu operasi penting pada array.

2. Data Dinamis: List dan Stack

  • List: Mirip dengan array, namun ukuran list dapat berubah secara dinamis (bertambah atau berkurang) selama program berjalan. Ini membuatnya lebih fleksibel dibandingkan array.

  • Stack: Sebuah struktur data yang mengikuti prinsip LIFO (Last-In, First-Out). Bayangkan tumpukan piring; piring terakhir yang ditaruh adalah piring pertama yang akan diambil. Operasi utama pada stack adalah push (menambahkan elemen) dan pop (mengambil elemen).

C. Penggunaan Tipe Data

Tipe data adalah klasifikasi yang menentukan jenis nilai yang bisa disimpan oleh sebuah variabel. Pemilihan tipe data yang tepat sangat penting untuk efisiensi memori dan kebenaran program.

  • Integer: Bilangan bulat (contoh: 1, 100, -5).

  • Float / Double: Bilangan desimal (contoh: 3.14, 99.9).

  • String: Teks atau deretan karakter (contoh: "Halo Dunia", "Nama Saya").

  • Boolean: Nilai logika True atau False.

D. Struktur Kontrol Perulangan dan Percabangan

Struktur kontrol memungkinkan Anda mengendalikan alur eksekusi program, bukan hanya menjalankan instruksi secara berurutan.

1. Percabangan (Conditional)

Digunakan untuk membuat keputusan. Program akan menjalankan blok kode tertentu hanya jika suatu kondisi terpenuhi.

  • if: Mengeksekusi kode jika kondisi true.

  • if-else: Mengeksekusi satu blok kode jika kondisi true dan blok lain jika kondisi false.

  • if-elif-else: Mengevaluasi beberapa kondisi secara berurutan.

2. Perulangan (Looping)

Digunakan untuk mengeksekusi satu blok kode berulang kali.

  • for: Mengulang kode sejumlah kali yang sudah ditentukan.

  • while: Mengulang kode selama suatu kondisi masih true.

E. Implementasi dalam Proyek Sederhana

Semua konsep ini diterapkan secara terpadu. Misalnya, dalam gim sederhana:

  • Struktur Data: Anda dapat menggunakan array untuk menyimpan posisi musuh atau list untuk inventaris pemain.

  • Struktur Kontrol: Percabangan (if) dapat digunakan untuk mendeteksi tabrakan atau menaikkan skor. Perulangan (for) dapat digunakan untuk memperbarui posisi semua musuh di setiap frame.

Zona Aktivitas

A. Uji Pengetahuan (Nilai Pengetahuan I)

Jawablah pertanyaan-pertanyaan berikut dengan benar.

  1. Jelaskan mengapa pemrograman terstruktur dianggap lebih baik daripada pemrograman yang menggunakan perintah goto.

  2. Apa perbedaan utama antara struktur data statis (array) dan dinamis (list)?

  3. Berikan satu contoh penggunaan stack dalam sebuah aplikasi yang Anda kenal.

  4. Jelaskan fungsi dari struktur kontrol perulangan (looping) dan berikan satu contoh penerapannya.

  5. Apa perbedaan antara tipe data integer dan float?

B. Praktikum (Nilai Praktik 1)

Buatlah pseudocode atau alur logika sederhana untuk program yang:

  1. Menerima 5 nilai numerik dari pengguna.

  2. Menyimpan nilai-nilai tersebut dalam sebuah array.

  3. Menghitung dan menampilkan total serta rata-rata dari nilai-nilai tersebut.

C. Eksperimen (Nilai Proyek 1)

Buatlah kelompok dengan maksimal tiga siswa. Rancanglah sebuah gim tebak angka sederhana, di mana program akan memilih sebuah angka acak (1-100) dan pengguna harus menebaknya. Proyek ini harus menerapkan:

  • Tipe data (misalnya integer untuk angka).

  • Struktur kontrol percabangan untuk memberikan umpan balik ("Terlalu besar!" atau "Terlalu kecil!").

  • Struktur kontrol perulangan agar pengguna dapat menebak berulang kali.

Rangkuman

  1. Pemrograman terstruktur adalah cara menyusun program dengan rapi menggunakan tiga struktur kontrol dasar: sekuensial, percabangan, dan perulangan.

  2. Struktur data terbagi menjadi statis (array) dan dinamis (list, stack). Array memiliki ukuran tetap, sementara list dan stack dapat berubah ukurannya.

  3. Tipe data seperti integer, float, string, dan boolean digunakan untuk menentukan jenis nilai pada variabel.

  4. Struktur kontrol if-else (percabangan) dan for/while (perulangan) adalah alat fundamental untuk mengendalikan alur program.

Ulangan Akhir Bab 10

A. Pilihlah salah satu jawaban yang tepat.

  1. Sebuah program yang mengeksekusi langkah-langkah secara berurutan, tanpa ada percabangan atau perulangan, menggunakan struktur kontrol...
    a. Conditional
    b. Iterasi
    c. Sequential
    d. Debugging
    e. Variable

  2. Manakah dari berikut ini yang merupakan struktur data dengan ukuran yang dapat berubah secara dinamis?
    a. Array
    b. Stack
    c. String
    d. Integer
    e. Boolean

  3. Prinsip LIFO (Last-In, First-Out) adalah karakteristik dari struktur data...
    a. List
    b. Array
    c. String
    d. Stack
    e. Boolean

  4. Jika Anda ingin membuat program yang menampilkan pesan "Lulus" jika nilai lebih dari atau sama dengan 75, Anda akan menggunakan struktur kontrol...
    a. Perulangan for
    b. Perulangan while
    c. Percabangan if-else
    d. Stack
    e. Array

  5. Variabel yang menyimpan nilai True atau False menggunakan tipe data...
    a. Integer
    b. Float
    c. String
    d. Boolean
    e. Array

  6. Tujuan utama dari pemrograman terstruktur adalah...
    a. Menghilangkan penggunaan bug dalam program.
    b. Membuat program yang tidak perlu diperbarui.
    c. Meningkatkan kejelasan dan kualitas kode program.
    d. Mengurangi jumlah tipe data yang digunakan.
    e. Membuat kode program menjadi lebih pendek.

  7. Apa yang dimaksud dengan dimensi pada array?
    a. Panjang atau jumlah elemen dalam array.
    b. Tipe data dari elemen-elemen array.
    c. Jumlah indeks yang digunakan untuk mengakses elemen.
    d. Proses pengurutan elemen array.
    e. Alamat memori tempat array disimpan.

  8. Sebuah perulangan yang akan terus berjalan selama suatu kondisi bernilai true menggunakan struktur kontrol...
    a. Conditional
    b. for
    c. if-else
    d. while
    e. Sequential

  9. Manakah contoh penerapan tipe data string yang paling tepat?
    a. Menyimpan skor pemain.
    b. Menyimpan harga barang.
    c. Menyimpan nama pengguna.
    d. Menyimpan status game over (true/false).
    e. Menyimpan jumlah nyawa karakter.

  10. Jika Anda ingin mengulang sebuah aksi sebanyak 10 kali, struktur kontrol perulangan yang paling umum digunakan adalah...
    a. while
    b. if-else
    c. for
    d. Stack
    e. if

B. Jawablah pertanyaan-pertanyaan berikut dengan benar.

  1. Jelaskan perbedaan antara operasi push dan pop pada struktur data stack.

  2. Gambarkan alur logika sederhana (pseudocode atau flowchart) untuk program yang mencetak angka 1 hingga 5.

  3. Jelaskan bagaimana struktur kontrol percabangan (if-else) sangat penting dalam pengembangan gim. Berikan contohnya.

  4. Apa yang dimaksud dengan tipe data dan mengapa pemilihannya krusial dalam pemrograman?

  5. Dalam pengembangan gim, berikan satu contoh kasus di mana penggunaan array 2 dimensi akan sangat berguna.

0 komentar: