My Blog

Algoritma Dasar (Fundamental) #2

5 min read

Algoritma dasar membangun logika pemrograman melalui proses berurutan, percabangan, dan pengulangan untuk menyelesaikan masalah secara efektif.

Algoritma Dasar (Fundamental) #2

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:

  1. Ambil harga barang

  2. Ambil jumlah barang

  3. Hitung total

  4. 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:

  • if

  • else

  • else if

  • switch

Karakteristik:

  • Memiliki kondisi

  • Menghasilkan output berbeda

  • Sangat umum digunakan

Contoh Kasus:

Validasi nilai kelulusan

Contoh Algoritma:

  1. Ambil nilai

  2. Jika nilai ≥ 75 → Lulus

  3. 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:

  • for

  • while

  • do-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

  1. Ambil harga barang

  2. Ambil jumlah barang

  3. Hitung total = harga × jumlah

  4. 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

  1. Ambil nilai

  2. Periksa nilai ≥ 75

  3. 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

  1. Set i = 1

  2. 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

  1. Ambil username dan password

  2. Jika salah satu kosong → error

  3. 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

  1. Ambil daftar user

  2. Loop setiap user

  3. Jika ID cocok → tampilkan user

  4. 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

  1. Set percobaan = 0

  2. Selama percobaan < 3

    • Ambil username & password

    • Jika benar → login berhasil

    • Jika salah → tambah percobaan

  3. 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

Share:
Luthfi Azizi

Luthfi Azizi

With extensive experience in the insurance industry, Luthfi Azizi combines his expertise in IT, business development, and financial analysis to help companies modernize their systems. He writes about digitalization, financial automation, and the evolving landscape of insurance technology.

luthfiazizi11@gmail.com

Comments

Loading comments...