πŸ“˜ BAB 3 β€” ALGORITMA & STRUKTUR DATA

Dasar Berpikir Logis dalam Pemrograman dan Pemecahan Masalah

Dalam informatika, algoritma dan struktur data adalah fondasi utama dalam membuat program komputer. Setiap aplikasi β€” dari game, media sosial, hingga sistem perbankan β€” berjalan berdasarkan algoritma yang dirancang secara sistematis.

Bab ini membantu siswa memahami cara berpikir logis, menyusun langkah penyelesaian masalah, memahami algoritma, dan mengenal struktur data dasar.


🧠 Subbab 1 β€” Apa Itu Algoritma?

Algoritma adalah urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu masalah.

Ciri-ciri algoritma yang baik:

βœ” Jelas
βœ” Terstruktur
βœ” Efisien
βœ” Berhingga (ada akhir)

Contoh algoritma sederhana:

Algoritma membuat mie instan:

  1. Didihkan air
  2. Masukkan mie
  3. Tunggu 3 menit
  4. Tambahkan bumbu
  5. Sajikan

πŸ’‘ Ini menunjukkan bahwa algoritma tidak hanya digunakan dalam komputer, tetapi juga dalam kehidupan sehari-hari.


πŸ’» Subbab 2 β€” Algoritma dalam Pemrograman

Dalam pemrograman, algoritma digunakan untuk:
βœ” Menghitung nilai
βœ” Menyortir data
βœ” Mencari data
βœ” Mengontrol alur program

Contoh masalah:

Menghitung rata-rata nilai siswa.

Langkah algoritma:

  1. Masukkan nilai
  2. Jumlahkan semua nilai
  3. Bagi dengan jumlah siswa
  4. Tampilkan hasil

πŸ“ Subbab 3 β€” Representasi Algoritma

Flowchart & Pseudocode

πŸ”Ή Flowchart (Diagram Alir)

Digunakan untuk menggambarkan alur algoritma secara visual.

Simbol utama:

  • Oval β†’ Mulai/Selesai
  • Persegi panjang β†’ Proses
  • Jajar genjang β†’ Input/Output
  • Belah ketupat β†’ Keputusan

πŸ”Ή Pseudocode

Penulisan algoritma dalam bahasa sederhana.

Contoh pseudocode menghitung rata-rata:

Mulai
Input nilai1, nilai2, nilai3
rata = (nilai1 + nilai2 + nilai3) / 3
Tampilkan rata
Selesai

πŸ” Subbab 4 β€” Struktur Kontrol Algoritma

(Percabangan & Perulangan)

1️⃣ Percabangan (If–Else)

Digunakan untuk pengambilan keputusan.

Contoh:
Jika nilai β‰₯ 75 β†’ Lulus
Jika nilai < 75 β†’ Tidak Lulus


2️⃣ Perulangan (Looping)

Digunakan untuk mengulang proses.

Jenis perulangan:

  • For
  • While
  • Repeat

Contoh:
Menghitung angka 1 sampai 5.


πŸ“¦ Subbab 5 β€” Struktur Data Dasar

Struktur data adalah cara menyimpan dan mengelola data agar mudah digunakan.

Jenis struktur data dasar:

  • Array β†’ kumpulan data sejenis
  • String β†’ kumpulan karakter
  • List β†’ daftar data
  • Stack β†’ LIFO (Last In First Out)
  • Queue β†’ FIFO (First In First Out)

Contoh array:

Nilai = [80, 85, 90, 95]


πŸ”„ Subbab 6 β€” Algoritma Sorting (Pengurutan Data)

Sorting digunakan untuk mengurutkan data dari kecil ke besar atau sebaliknya.

Contoh algoritma Bubble Sort:

Mengurutkan: 5, 2, 4, 1
Hasil: 1, 2, 4, 5

πŸ’‘ Sorting digunakan dalam ranking nilai, daftar nama, dan sistem pencarian.


πŸ” Subbab 7 β€” Algoritma Searching (Pencarian Data)

1️⃣ Linear Search

Mencari data satu per satu.

2️⃣ Binary Search

Mencari data lebih cepat pada data terurut.

πŸ’‘ Digunakan dalam Google Search, pencarian kontak, dan database.


🧠 Subbab 8 β€” Algoritma Rekursi

Rekursi adalah fungsi yang memanggil dirinya sendiri.

Contoh:

Menghitung faktorial:

faktorial(n) = n Γ— faktorial(n-1)

⚑ Subbab 9 β€” Algoritma Greedy

Algoritma Greedy memilih solusi terbaik pada setiap langkah.

Contoh:

Menukar uang dengan jumlah koin paling sedikit.


🧩 Subbab 10 β€” Pemrograman Dinamis

Digunakan untuk masalah kompleks dengan submasalah yang berulang.

Contoh:

Perhitungan deret Fibonacci secara efisien.


πŸ§ͺ Subbab 11 β€” Implementasi Algoritma dalam Python (Contoh)

Program menghitung rata-rata nilai:

nilai = [80, 85, 90]
rata = sum(nilai) / len(nilai)
print("Rata-rata:", rata)

Program percabangan nilai lulus:

nilai = int(input("Masukkan nilai: "))
if nilai >= 75:
    print("Lulus")
else:
    print("Tidak Lulus")

πŸ“ CONTOH SOAL BAB 3

A. Pilihan Ganda

  1. Algoritma adalah…
  2. Flowchart digunakan untuk…
  3. Struktur data FIFO adalah…
  4. Sorting berarti…
  5. Binary Search bekerja pada data…

B. Essay

  1. Jelaskan fungsi algoritma dalam pemrograman.
  2. Apa perbedaan stack dan queue?
  3. Berikan contoh algoritma dalam kehidupan sehari-hari.
  4. Mengapa sorting penting dalam pengolahan data?

✍️ LATIHAN PRAKTIK BAB 3

πŸ’» Tugas Mini Coding

Buat program sederhana untuk:

  1. Menentukan bilangan ganjil/genap
  2. Mengurutkan 5 angka
  3. Menghitung faktorial angka

🎯 KESIMPULAN BAB 3

Bab ini mengajarkan bahwa algoritma adalah dasar berpikir logis dalam dunia digital. Dengan memahami algoritma dan struktur data, siswa dapat menciptakan program, menyelesaikan masalah kompleks, dan membangun solusi teknologi masa depan.