Algoritma dasar adalah fondasi utama dalam pemrograman yang berfungsi untuk membangun logika berpikir sistematis sebelum menulis kode. Algoritma membantu programmer memahami alur penyelesaian masalah secara terstruktur, efisien, dan mudah dipahami.
Tanpa pemahaman algoritma dasar, proses coding cenderung menjadi trial and error, sulit dirawat, dan rawan bug.
Tujuan Mempelajari Algoritma Dasar
Melatih pola pikir logis dan terstruktur
Memahami alur penyelesaian masalah
Menjadi dasar untuk semua bahasa pemrograman
Memudahkan debugging dan pengembangan aplikasi
Menghindari coding tanpa perencanaan
Jenis-Jenis Algoritma Dasar
1️⃣ Sequential (Urutan)
Sequential adalah algoritma yang mengeksekusi langkah secara berurutan dari atas ke bawah, tanpa percabangan atau pengulangan.
Karakteristik:
Dieksekusi satu per satu
Tidak ada kondisi
Sederhana dan mudah dipahami
Contoh Kasus:
Menghitung total belanja
Contoh Algoritma:
Ambil harga barang
Ambil jumlah barang
Hitung total
Tampilkan hasil
Contoh Kode JavaScript:
let harga = 50000;
let jumlah = 3;
let total = harga * jumlah;
console.log("Total belanja:", total);
2️⃣ Selection (Conditional)
Selection adalah algoritma yang melibatkan pengambilan keputusan berdasarkan kondisi tertentu.
Biasanya menggunakan:
ifelseelse ifswitch
Karakteristik:
Memiliki kondisi
Menghasilkan output berbeda
Sangat umum digunakan
Contoh Kasus:
Validasi nilai kelulusan
Contoh Algoritma:
Ambil nilai
Jika nilai ≥ 75 → Lulus
Jika tidak → Tidak Lulus
Contoh Kode JavaScript (if):
let nilai = 80;
if (nilai >= 75) {
console.log("Lulus");
} else {
console.log("Tidak Lulus");
}
Contoh Kode JavaScript (switch):
let grade = "A";
switch (grade) {
case "A":
console.log("Sangat Baik");
break;
case "B":
console.log("Baik");
break;
default:
console.log("Perlu Perbaikan");
}
3️⃣ Iteration (Looping)
Iteration adalah algoritma yang digunakan untuk mengulang proses selama kondisi tertentu terpenuhi.
Jenis looping:
forwhiledo-while
Karakteristik:
Menghindari penulisan kode berulang
Efisien untuk data banyak
Umum digunakan pada array dan proses berulang
Contoh Kasus:
Menampilkan angka 1 sampai 5
a) for loop
for (let i = 1; i <= 5; i++) {
console.log(i);
}
b) while loop
let i = 1;
while (i <= 5) {
console.log(i);
i++;
}
c) do-while loop
let i = 1;
do {
console.log(i);
i++;
} while (i <= 5);
📌 do-while selalu dijalankan minimal satu kali, meskipun kondisi bernilai false.
Contoh Penggunaan Algoritma Dasar dalam Dunia Nyata
Validasi Data
Form login
Form pendaftaran
Validasi input kosong
let email = "";
if (email === "") {
console.log("Email wajib diisi");
}
Perhitungan Sederhana
Total belanja
Diskon
Rata-rata nilai
let totalBelanja = 600000;
let diskon = totalBelanja >= 500000 ? 0.1 : 0;
let totalBayar = totalBelanja - (totalBelanja * diskon);
console.log(totalBayar);
Kesimpulan
Algoritma dasar merupakan pondasi utama dalam dunia pemrograman. Tiga jenis utama — Sequential, Selection, dan Iteration — digunakan hampir di semua aplikasi modern, dari sistem sederhana hingga skala besar.
Jika logika sudah benar, coding hanya soal menerjemahkan algoritma ke dalam bahasa pemrograman.
🧩 Latihan Algoritma Bertahap
Lengkap dengan Pseudocode & Flowchart
🟢 LEVEL 1 — DASAR (Sequential Thinking)
🎯 Latihan 1: Menghitung Total Belanja
Masalah:
Hitung total harga dari harga barang dan jumlah beli.
Algoritma
Ambil harga barang
Ambil jumlah barang
Hitung total = harga × jumlah
Tampilkan total
Pseudocode
START
INPUT harga
INPUT jumlah
total = harga * jumlah
OUTPUT total
END
Flowchart (Teks)
[Start]
↓
[Input harga & jumlah]
↓
[total = harga × jumlah]
↓
[Output total]
↓
[End]
📌 Fokus: Urutan langkah (Sequential)
🟢 LEVEL 2 — CONDITIONAL (Decision Making)
🎯 Latihan 2: Menentukan Kelulusan
Masalah:
Jika nilai ≥ 75 → Lulus, jika tidak → Tidak Lulus.
Algoritma
Ambil nilai
Periksa nilai ≥ 75
Tampilkan hasil
Pseudocode
START
INPUT nilai
IF nilai >= 75 THEN
OUTPUT "Lulus"
ELSE
OUTPUT "Tidak Lulus"
ENDIF
END
Flowchart
[Start]
↓
[Input nilai]
↓
{Nilai ≥ 75?}
├── Ya → [Output "Lulus"]
└── Tidak → [Output "Tidak Lulus"]
↓
[End]
📌 Fokus: Cause–effect & percabangan
🔵 LEVEL 3 — LOOPING (Repetition)
🎯 Latihan 3: Menampilkan Angka 1–5
Masalah:
Tampilkan angka dari 1 sampai 5.
Algoritma
Set i = 1
Selama i ≤ 5
Tampilkan i
Tambah i
Pseudocode
START
SET i = 1
WHILE i <= 5 DO
OUTPUT i
i = i + 1
ENDWHILE
END
Flowchart
[Start]
↓
[i = 1]
↓
{i ≤ 5?}
├── Ya → [Output i] → [i = i + 1] → (kembali cek)
└── Tidak → [End]
📌 Fokus: Pengulangan dan kontrol kondisi
🔵 LEVEL 4 — LOOP + CONDITIONAL
🎯 Latihan 4: Validasi Input Form
Masalah:
Cek apakah username dan password kosong.
Algoritma
Ambil username dan password
Jika salah satu kosong → error
Jika tidak → valid
Pseudocode
START
INPUT username, password
IF username == EMPTY OR password == EMPTY THEN
OUTPUT "Form tidak valid"
ELSE
OUTPUT "Form valid"
ENDIF
END
Flowchart
[Start]
↓
[Input username & password]
↓
{Ada yang kosong?}
├── Ya → [Output "Form tidak valid"]
└── Tidak → [Output "Form valid"]
↓
[End]
📌 Fokus: Validasi data (real case aplikasi)
🟣 LEVEL 5 — DATA & SEARCHING
🎯 Latihan 5: Mencari Data User (Linear Search)
Masalah:
Cari user berdasarkan ID.
Algoritma
Ambil daftar user
Loop setiap user
Jika ID cocok → tampilkan user
Jika tidak ada → data tidak ditemukan
Pseudocode
START
FOR setiap user IN daftarUser DO
IF user.id == targetId THEN
OUTPUT user
STOP
ENDIF
ENDFOR
OUTPUT "Data tidak ditemukan"
END
Flowchart
[Start]
↓
[Loop user]
↓
{ID cocok?}
├── Ya → [Output user] → [End]
└── Tidak → (lanjut loop)
↓
[Output "Tidak ditemukan"]
↓
[End]
📌 Fokus: Algoritma searching dasar
🔴 LEVEL 6 — SIMULASI BACKEND
🎯 Latihan 6: Login dengan Maksimal 3 Percobaan
Masalah:
User hanya boleh salah login 3 kali.
Algoritma
Set percobaan = 0
Selama percobaan < 3
Ambil username & password
Jika benar → login berhasil
Jika salah → tambah percobaan
Jika gagal → blokir
Pseudocode
START
SET percobaan = 0
WHILE percobaan < 3 DO
INPUT username, password
IF valid THEN
OUTPUT "Login berhasil"
STOP
ELSE
percobaan = percobaan + 1
ENDIF
ENDWHILE
OUTPUT "Login gagal"
END
Flowchart
[Start]
↓
[percobaan = 0]
↓
{percobaan < 3?}
├── Ya → [Input login]
│ ↓
│ {Valid?}
│ ├── Ya → [Login berhasil] → [End]
│ └── Tidak → [percobaan + 1] → (ulang)
└── Tidak → [Login gagal]
↓
[End]
📌 Fokus: Algoritma dunia nyata (security & backend)
🎯 RANGKUMAN LEVEL PEMBELAJARAN
Level | Fokus |
|---|---|
1 | Sequential |
2 | Conditional |
3 | Looping |
4 | Validasi |
5 | Searching |
6 | Sistem Backend |
✅ HASIL BELAJAR
Setelah menyelesaikan latihan ini, kita mampu:
✔ Menyusun solusi sebelum coding
✔ Menulis pseudocode dengan benar
✔ Membaca & membuat flowchart
✔ Siap masuk ke tahap coding JavaScript / Backend
_ud4FSPPC4.png)