9. 5. Struktur data sederhana

💡 1. Pengantar: Apa Itu Algoritma dan Flowchart?

🧠 Algoritma

Algoritma adalah langkah-langkah logis dan terurut untuk menyelesaikan suatu masalah.
Seperti resep masakan, algoritma memberi petunjuk dari awal sampai hasil akhir.

Contoh sederhana:
Algoritma membuat teh:

  1. Panaskan air.

  2. Masukkan teh ke dalam gelas.

  3. Tuangkan air panas.

  4. Tambahkan gula.

  5. Aduk dan sajikan.


🔶 Flowchart

Flowchart adalah gambar atau bagan yang menunjukkan alur langkah-langkah dalam algoritma menggunakan simbol-simbol tertentu.

Simbol Nama Fungsi Contoh
Terminator Menandai Start dan End Mulai, Selesai
Proses Langkah perhitungan atau tindakan Hitung total
Input/Output Menerima atau menampilkan data Masukkan nilai, Tampilkan hasil
Decision Percabangan / kondisi pilihan Jika nilai ≥ 70?
⬇️ Arah Panah Menunjukkan urutan langkah Menunjukkan arah alur
Dalam informatika, algoritma hampir selalu bekerja dengan data.
Data tersebut bisa berupa angka, teks, atau tabel, seperti data nilai siswa, data jadwal, data keuangan, dan data absensi.
Oleh karena itu, algoritma yang baik harus mampu mengolah data secara efisien dan terstruktur.

⚙️ 2. Menulis Algoritma yang Efisien

a. Pengertian

Algoritma efisien adalah algoritma yang:

  • Langkahnya ringkas dan logis.

  • Mudah dipahami orang lain.

  • Menghemat waktu dan sumber daya (tidak berulang-ulang tanpa perlu).

b. Prinsip Algoritma Efisien

  1. Gunakan urutan logis dan jelas.

  2. Hindari pengulangan yang tidak perlu.

  3. Gunakan percabangan atau perulangan bila diperlukan.

  4. Uji algoritma dengan data nyata.

c. Contoh Perbandingan

Jenis Contoh Algoritma Keterangan
Tidak efisien Hitung rata-rata nilai dengan menjumlahkan satu per satu secara manual. Banyak langkah.
Efisien Gunakan rumus Rata-rata = Jumlah nilai / Banyak data. Lebih cepat dan singkat.

Apa Itu Struktur Data?

Struktur data adalah cara menyimpan dan mengelola data agar mudah diproses oleh algoritma.

Contoh Struktur Data Sederhana:

  • Variabel → menyimpan satu data (nilai ujian)

  • List/Daftar → menyimpan banyak data (nilai satu kelas)

  • Tabel → data terstruktur (NIS, nama, nilai)


🧩 3. Membuat Flowchart dari Algoritma

Contoh Kasus: Menghitung Rata-Rata Nilai

Algoritma:

  1. Mulai

  2. Masukkan tiga nilai siswa (N1, N2, N3)

  3. Hitung rata-rata = (N1 + N2 + N3) / 3

  4. Tampilkan hasil

  5. Selesai

Flowchart:

⭘ Mulai

⧍ Masukkan N1, N2, N3

Hitung rata = (N1 + N2 + N3) / 3

⧍ Tampilkan rata

⭘ Selesai

Sebelum menulis kode program, algoritma dapat dituliskan dalam bentuk pseudocode, yaitu kode semu yang mudah dibaca manusia.

Contoh Pseudocode:

INPUT N1, N2, N3
rata = (N1 + N2 + N3) / 3
OUTPUT rata

📌 Pseudocode menjadi jembatan antara flowchart dan bahasa pemrograman.


🧮 4. Latihan Kasus Nyata: Merancang Algoritma dan Flowchart

A. Kasus 1: Menyusun Jadwal Kegiatan Harian

Masalah: Siswa ingin membuat jadwal belajar yang efisien.
Langkah:

  1. Tentukan waktu belajar dan istirahat.

  2. Urutkan kegiatan berdasarkan prioritas.

  3. Buat tabel jadwal harian.

🧠 Flowchart bisa menunjukkan proses penentuan waktu dan pengecekan jadwal bentrok.

Kaitan dengan Struktur Logika (IF, FOR, WHILE)

Tambahkan SETELAH semua contoh kasus

  • IF → menentukan keputusan (lulus / tidak lulus)

  • FOR → mengolah data berulang (nilai satu kelas)

  • WHILE → perulangan berdasarkan kondisi tertentu

📌 Struktur logika ini digunakan agar algoritma efisien untuk data yang banyak.


B. Kasus 2: Menghitung Total Pengeluaran Harian

Masalah: Ingin mengetahui total uang yang digunakan dalam sehari.
Algoritma:

  1. Masukkan data pengeluaran: jajan, transport, fotokopi.

  2. Jumlahkan semua pengeluaran.

  3. Tampilkan hasil total.

Flowchart:

⭘ Mulai

⧍ Masukkan jajan, transport, fotokopi

⬜ total = jajan + transport + fotokopi

⧍ Tampilkan total

⭘ Selesai

C. Kasus 3: Pemrosesan Data Nilai Siswa

Masalah: Guru ingin menentukan apakah siswa lulus berdasarkan nilai rata-rata.
Algoritma:

  1. Masukkan nilai siswa.

  2. Hitung rata-rata.

  3. Jika rata-rata ≥ 70, tampilkan “Lulus”.

  4. Jika tidak, tampilkan “Tidak Lulus”.

  5. Selesai.

Flowchart:

⭘ Mulai

⧍ Masukkan nilai

⬜ Hitung rata-rata

⬣ Apakah rata-rata ≥ 70?
↙️ ↘️
⧍ Tampilkan "Lulus" ⧍ Tampilkan "Tidak Lulus"
↓ ↓
⭘ Selesai


🧠 5. Evaluasi: Uji Solusi dan Perbaikan

Setelah membuat algoritma dan flowchart:

  1. Uji coba (testing) dengan data nyata.

    • Apakah hasilnya sesuai harapan?

    • Apakah ada langkah yang salah urut?

  2. Identifikasi kesalahan (debugging).

    • Misalnya, hasil perhitungan tidak sesuai karena salah operator.

  3. Perbaiki dan perbarui (refinement).

    • Buat algoritma lebih singkat dan jelas.

  4. Bandingkan efisiensi.

    • Apakah langkah lebih cepat dari versi sebelumnya?

📌 Tujuan evaluasi: membuat algoritma lebih efisien, lebih mudah dipahami, dan lebih cepat dijalankan.

Testing, Debugging, dan Optimasi

Tambahkan DI AKHIR subbab evaluasi

Evaluasi algoritma juga meliputi:

  • Testing → menguji dengan data nyata

  • Debugging → mencari dan memperbaiki kesalahan logika

  • Refinement → menyederhanakan langkah agar lebih efisien

📌 Tujuannya agar algoritma semakin optimal.

Peran AI (Blackbox) Secara Terbimbing

Tambahkan SETELAH evaluasi

AI dapat digunakan untuk membantu membuat contoh algoritma atau pseudocode.
Namun, siswa tetap harus memahami, menganalisis, dan memperbaiki hasil dari AI tersebut.

📌 AI berperan sebagai asisten belajar, bukan pengganti berpikir.


💬 6. Refleksi Pembelajaran

Pertanyaan Diskusi:

  1. Apa perbedaan utama antara algoritma dan flowchart?

  2. Mengapa efisiensi penting dalam menyusun algoritma?

  3. Bagaimana cara kamu memperbaiki flowchart yang hasilnya salah?

  4. Apakah kamu bisa menggunakan algoritma untuk mengatur jadwal hidupmu sehari-hari?

  5. Bagaimana struktur data memengaruhi efisiensi algoritma?

  6. Mengapa algoritma efisien penting untuk data besar?

  7. Apa batasan penggunaan AI dalam menyelesaikan masalah?


📚 Referensi

  • Kemdikbudristek. (2024). Modul Informatika SMP Fase D: Algoritma dan Pemrograman.

  • Dicoding Indonesia. (2023). Pengenalan Algoritma dan Flowchart untuk Pemula.

  • Bebras Indonesia. (2024). Computational Thinking Challenges for Students.

  • Google for Education. (2024). Problem Solving and Logical Thinking Skills.

admin Avatar

Leave a Reply

Your email address will not be published. Required fields are marked *

M. Rofi Yunus

Guru di SMP Negeri Kota Pekanbaru
Lulusan Guru Penggerak Angkatan 1
Pengajar Praktik Angkatan 9
Kontributor Modul Projek