Apa itu Algoritma? — Algoritma

Algoritma adalah langkah-langkah terstruktur untuk menyelesaikan suatu masalah. Analogi: Resep masakan adalah algoritma — langkah demi langkah untuk menghasilka

Algoritma adalah langkah-langkah terstruktur untuk menyelesaikan suatu masalah.

Analogi: Resep masakan adalah algoritma — langkah demi langkah untuk menghasilkan makanan.

Ciri-ciri algoritma yang baik:

  1. Input — menerima data
  2. Output — menghasilkan hasil
  3. Definiteness — setiap langkah jelas
  4. Finiteness — pasti berhenti
  5. Effectiveness — setiap langkah bisa dilakukan

Contoh: Mencari nilai terbesar

function findMax(arr) {
  let max = arr[0];         // 1. Asumsi pertama = terbesar
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {     // 2. Bandingkan setiap elemen
      max = arr[i];         // 3. Update jika lebih besar
    }
  }
  return max;               // 4. Kembalikan hasil
}

findMax([3, 7, 1, 9, 4]); // 9

Mengapa belajar algoritma?

🎭 Analogi sehari-hari (selain resep):

Kalau ada input → langkah → output dan langkahnya bisa dilakuin orang lain dengan hasil sama, itu algoritma.

💡 Programmer pemula sering pikir "algoritma = pelajaran kuliah". Faktanya: setiap kali kamu nulis if, for, while, atau bahkan array.filter().map(), itu sudah algoritma. Bedanya cuma seberapa efisien kamu mengorganisir langkah-langkahnya.

⚠️ Jebakan umum:

🎯 Cara mendekati masalah algoritma:

  1. Ulangi masalah dengan kata sendiri — pastikan paham
  2. Tulis brute force dulu — selalu ada solusi naif
  3. Identifikasi bottleneck — di mana O(n²) keluar?
  4. Cari struktur data yang membantu — Hash Map? Heap?
  5. Test dengan edge case — kosong, satu, banyak

TL;DR: Algoritma = langkah terstruktur dengan input → output, jelas, terbatas, eksekusi-able. Setiap kode kamu sudah algoritma — yang membedakan junior vs senior: efisiensinya.

Yang akan kamu pelajari