Materi Algoritma & Pemrograman: Percabangan

1. Pengertian Percabangan

Percabangan adalah struktur algoritma yang digunakan untuk mengambil keputusan berdasarkan kondisi tertentu.

Program tidak selalu menjalankan semua instruksi secara berurutan. Dalam kondisi tertentu, program harus menentukan:

  • Jika kondisi benar → lakukan proses A
  • Jika kondisi salah → lakukan proses B

Contoh sederhana:

Jika nilai mahasiswa ≥ 60, maka mahasiswa dinyatakan LULUS.
Jika nilai < 60, maka mahasiswa dinyatakan TIDAK LULUS.

Secara umum:

            KONDISI
           /       \
       BENAR       SALAH
         |            |
      Proses A      Proses B

2. Mengapa Percabangan Dibutuhkan?

Tanpa percabangan, program hanya dapat menjalankan instruksi secara berurutan.

Contoh algoritma tanpa percabangan:

Masukkan nama
Masukkan nilai
Tampilkan nama
Tampilkan nilai

Dengan percabangan:

Masukkan nama
Masukkan nilai

Jika nilai >= 60
    Tampilkan "LULUS"
Jika tidak
    Tampilkan "TIDAK LULUS"

Percabangan membuat program dapat mengambil keputusan secara otomatis.


3. Konsep Dasar Percabangan

Percabangan menggunakan kondisi.

Contoh kondisi:

nilai >= 60
umur >= 17
password == "admin"
jenis_kelamin == "L"
total_belanja >= 500000

Operator perbandingan yang umum digunakan:

OperatorArtiContoh
==sama dengannilai == 80
!=tidak sama dengannilai != 80
>lebih besarnilai > 80
<lebih kecilnilai < 80
>=lebih besar atau sama dengannilai >= 60
<=lebih kecil atau sama dengannilai <= 60

4. Operator Logika

Kondisi juga dapat digabungkan menggunakan operator logika.

OperatorArti
ANDkedua kondisi harus benar
ORsalah satu kondisi benar
NOTmembalik kondisi

Dalam Python:

and
or
not

Dalam JavaScript:

&&
||
!

Contoh:

nilai >= 60 AND kehadiran >= 75

Artinya mahasiswa harus memenuhi dua kondisi.


5. Jenis-Jenis Percabangan

Percabangan yang akan dipelajari:

  1. if
  2. if - else
  3. if - elif - else
  4. Percabangan bersarang / nested if
  5. Percabangan dengan operator logika
  6. Percabangan bertingkat
  7. Percabangan berdasarkan beberapa kondisi
  8. Ternary / conditional expression
  9. Studi kasus percabangan

6. Percabangan IF

Konsep

Percabangan if digunakan ketika program hanya perlu melakukan sesuatu jika kondisi benar.

Algoritma

Mulai
Input nilai
Jika nilai >= 60 maka
    Tampilkan "LULUS"
Selesai

Pseudocode

BEGIN

INPUT nilai

IF nilai >= 60 THEN
    OUTPUT "LULUS"
END IF

END

Python

nilai = int(input("Masukkan nilai: "))

if nilai >= 60:
    print("LULUS")

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));

if (nilai >= 60) {
    document.write("LULUS");
}

7. IF – ELSE

Digunakan jika terdapat dua kemungkinan.

Contoh:

Jika nilai >= 60
    LULUS
Jika tidak
    TIDAK LULUS

Algoritma

Mulai
Input nilai

Jika nilai >= 60 maka
    Tampilkan "LULUS"
Jika tidak
    Tampilkan "TIDAK LULUS"

Selesai

Pseudocode

BEGIN

INPUT nilai

IF nilai >= 60 THEN
    OUTPUT "LULUS"
ELSE
    OUTPUT "TIDAK LULUS"
END IF

END

Python

nilai = int(input("Masukkan nilai: "))

if nilai >= 60:
    print("LULUS")
else:
    print("TIDAK LULUS")

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));

if (nilai >= 60) {
    document.write("LULUS");
} else {
    document.write("TIDAK LULUS");
}

8. IF – ELIF – ELSE

Digunakan jika terdapat lebih dari dua kemungkinan.

Contoh kategori nilai:

NilaiKeterangan
85–100A
75–84B
60–74C
< 60D

Algoritma

Mulai
Input nilai

Jika nilai >= 85 maka
    Grade = A
Jika tidak, jika nilai >= 75 maka
    Grade = B
Jika tidak, jika nilai >= 60 maka
    Grade = C
Jika tidak
    Grade = D

Tampilkan grade
Selesai

Pseudocode

BEGIN

INPUT nilai

IF nilai >= 85 THEN
    grade = "A"
ELSE IF nilai >= 75 THEN
    grade = "B"
ELSE IF nilai >= 60 THEN
    grade = "C"
ELSE
    grade = "D"
END IF

OUTPUT grade

END

Python

nilai = int(input("Masukkan nilai: "))

if nilai >= 85:
    grade = "A"
elif nilai >= 75:
    grade = "B"
elif nilai >= 60:
    grade = "C"
else:
    grade = "D"

print("Grade:", grade)

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));
let grade;

if (nilai >= 85) {
    grade = "A";
} else if (nilai >= 75) {
    grade = "B";
} else if (nilai >= 60) {
    grade = "C";
} else {
    grade = "D";
}

document.write("Grade: " + grade);

9. Percabangan dengan Kondisi AND

Contoh:

Mahasiswa dinyatakan lulus jika:

  • Nilai minimal 60
  • Kehadiran minimal 75%

Algoritma

Mulai
Input nilai
Input kehadiran

Jika nilai >= 60 DAN kehadiran >= 75 maka
    Tampilkan "LULUS"
Jika tidak
    Tampilkan "TIDAK LULUS"

Selesai

Pseudocode

BEGIN

INPUT nilai
INPUT kehadiran

IF nilai >= 60 AND kehadiran >= 75 THEN
    OUTPUT "LULUS"
ELSE
    OUTPUT "TIDAK LULUS"
END IF

END

Python

nilai = int(input("Masukkan nilai: "))
kehadiran = int(input("Masukkan kehadiran: "))

if nilai >= 60 and kehadiran >= 75:
    print("LULUS")
else:
    print("TIDAK LULUS")

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));
let kehadiran = Number(prompt("Masukkan kehadiran:"));

if (nilai >= 60 && kehadiran >= 75) {
    document.write("LULUS");
} else {
    document.write("TIDAK LULUS");
}

10. Percabangan dengan OR

Contoh:

Mahasiswa mendapatkan remedial jika:

  • Nilai < 60
  • ATAU kehadiran < 75%

Algoritma

Mulai
Input nilai
Input kehadiran

Jika nilai < 60 ATAU kehadiran < 75 maka
    Tampilkan "REMEDIAL"
Jika tidak
    Tampilkan "LULUS"

Selesai

Pseudocode

BEGIN

INPUT nilai
INPUT kehadiran

IF nilai < 60 OR kehadiran < 75 THEN
    OUTPUT "REMEDIAL"
ELSE
    OUTPUT "LULUS"
END IF

END

Python

nilai = int(input("Masukkan nilai: "))
kehadiran = int(input("Masukkan kehadiran: "))

if nilai < 60 or kehadiran < 75:
    print("REMEDIAL")
else:
    print("LULUS")

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));
let kehadiran = Number(prompt("Masukkan kehadiran:"));

if (nilai < 60 || kehadiran < 75) {
    document.write("REMEDIAL");
} else {
    document.write("LULUS");
}

11. Nested IF

Nested IF adalah if di dalam if.

Contoh:

Jika nilai >= 60
    Jika kehadiran >= 75
        LULUS
    Jika tidak
        TIDAK LULUS karena kehadiran
Jika tidak
    TIDAK LULUS karena nilai

Pseudocode

BEGIN

INPUT nilai
INPUT kehadiran

IF nilai >= 60 THEN

    IF kehadiran >= 75 THEN
        OUTPUT "LULUS"
    ELSE
        OUTPUT "TIDAK LULUS - Kehadiran kurang"
    END IF

ELSE
    OUTPUT "TIDAK LULUS - Nilai kurang"
END IF

END

Python

nilai = int(input("Masukkan nilai: "))
kehadiran = int(input("Masukkan kehadiran: "))

if nilai >= 60:
    if kehadiran >= 75:
        print("LULUS")
    else:
        print("TIDAK LULUS - Kehadiran kurang")
else:
    print("TIDAK LULUS - Nilai kurang")

JavaScript

let nilai = Number(prompt("Masukkan nilai:"));
let kehadiran = Number(prompt("Masukkan kehadiran:"));

if (nilai >= 60) {

    if (kehadiran >= 75) {
        document.write("LULUS");
    } else {
        document.write("TIDAK LULUS - Kehadiran kurang");
    }

} else {
    document.write("TIDAK LULUS - Nilai kurang");
}

12. Percabangan untuk Menentukan Bilangan Positif, Negatif, atau Nol

Algoritma

Mulai
Input angka

Jika angka > 0
    Tampilkan "POSITIF"
Jika tidak, jika angka < 0
    Tampilkan "NEGATIF"
Jika tidak
    Tampilkan "NOL"

Selesai

Pseudocode

BEGIN

INPUT angka

IF angka > 0 THEN
    OUTPUT "POSITIF"
ELSE IF angka < 0 THEN
    OUTPUT "NEGATIF"
ELSE
    OUTPUT "NOL"
END IF

END

Python

angka = int(input("Masukkan angka: "))

if angka > 0:
    print("POSITIF")
elif angka < 0:
    print("NEGATIF")
else:
    print("NOL")

JavaScript

let angka = Number(prompt("Masukkan angka:"));

if (angka > 0) {
    document.write("POSITIF");
} else if (angka < 0) {
    document.write("NEGATIF");
} else {
    document.write("NOL");
}

13. Menentukan Bilangan Genap atau Ganjil

Konsep penting:

angka % 2

Jika hasilnya 0, berarti genap.

Jika bukan 0, berarti ganjil.

Algoritma

Mulai
Input angka

Jika angka MOD 2 = 0 maka
    Tampilkan "GENAP"
Jika tidak
    Tampilkan "GANJIL"

Selesai

Pseudocode

BEGIN

INPUT angka

IF angka MOD 2 = 0 THEN
    OUTPUT "GENAP"
ELSE
    OUTPUT "GANJIL"
END IF

END

Python

angka = int(input("Masukkan angka: "))

if angka % 2 == 0:
    print("GENAP")
else:
    print("GANJIL")

JavaScript

let angka = Number(prompt("Masukkan angka:"));

if (angka % 2 == 0) {
    document.write("GENAP");
} else {
    document.write("GANJIL");
}

14. Studi Kasus: Menentukan Diskon

Ketentuan:

Total BelanjaDiskon
≥ 1.000.00020%
≥ 500.00010%
< 500.0000%

Algoritma

Mulai

Input total belanja

Jika total >= 1.000.000
    diskon = 20%
Jika tidak, jika total >= 500.000
    diskon = 10%
Jika tidak
    diskon = 0%

Hitung potongan
Hitung total bayar

Tampilkan diskon
Tampilkan total bayar

Selesai

Pseudocode

BEGIN

INPUT total

IF total >= 1000000 THEN
    diskon = 20
ELSE IF total >= 500000 THEN
    diskon = 10
ELSE
    diskon = 0
END IF

potongan = total * diskon / 100
bayar = total - potongan

OUTPUT potongan
OUTPUT bayar

END

Python

total = float(input("Total belanja: "))

if total >= 1000000:
    diskon = 20
elif total >= 500000:
    diskon = 10
else:
    diskon = 0

potongan = total * diskon / 100
bayar = total - potongan

print("Diskon:", diskon, "%")
print("Potongan:", potongan)
print("Total bayar:", bayar)

JavaScript

let total = Number(prompt("Total belanja:"));
let diskon;

if (total >= 1000000) {
    diskon = 20;
} else if (total >= 500000) {
    diskon = 10;
} else {
    diskon = 0;
}

let potongan = total * diskon / 100;
let bayar = total - potongan;

document.write("Diskon: " + diskon + "%<br>");
document.write("Potongan: " + potongan + "<br>");
document.write("Total bayar: " + bayar);

15. Studi Kasus: Sistem Kelulusan

Ketentuan:

  • Nilai ≥ 85 → Sangat Baik
  • Nilai ≥ 75 → Baik
  • Nilai ≥ 60 → Cukup
  • Nilai < 60 → Tidak Lulus

Python

nama = input("Nama mahasiswa: ")
nilai = int(input("Nilai: "))

if nilai >= 85:
    keterangan = "Sangat Baik"
elif nilai >= 75:
    keterangan = "Baik"
elif nilai >= 60:
    keterangan = "Cukup"
else:
    keterangan = "Tidak Lulus"

print("Nama:", nama)
print("Nilai:", nilai)
print("Keterangan:", keterangan)

JavaScript

let nama = prompt("Nama mahasiswa:");
let nilai = Number(prompt("Nilai:"));
let keterangan;

if (nilai >= 85) {
    keterangan = "Sangat Baik";
} else if (nilai >= 75) {
    keterangan = "Baik";
} else if (nilai >= 60) {
    keterangan = "Cukup";
} else {
    keterangan = "Tidak Lulus";
}

document.write("Nama: " + nama + "<br>");
document.write("Nilai: " + nilai + "<br>");
document.write("Keterangan: " + keterangan);

16. Conditional Expression / Ternary

Untuk kondisi sederhana, percabangan dapat dibuat dalam satu baris.

Python

nilai = 75

status = "LULUS" if nilai >= 60 else "TIDAK LULUS"

print(status)

JavaScript

let nilai = 75;

let status = nilai >= 60 ? "LULUS" : "TIDAK LULUS";

document.write(status);

Bentuk logikanya:

KONDISI ? BENAR : SALAH

Pada Python bentuknya sedikit berbeda:

nilai_jika_benar if kondisi else nilai_jika_salah

Untuk pembelajaran algoritma dasar, IF-ELSE tetap lebih mudah dipahami terlebih dahulu.


17. Perbedaan Percabangan Python dan JavaScript

KonsepPythonJavaScript
IFifif
ELSEelseelse
ELSE IFelifelse if
ANDand&&
ORor`
NOTnot!
MOD%%
Blok programIndentasi{ }
Inputinput()prompt()
Outputprint()document.write()

18. Kesalahan yang Sering Terjadi

Python

Salah:

if nilai >= 60
    print("LULUS")

Benar:

if nilai >= 60:
    print("LULUS")

Python membutuhkan tanda : setelah kondisi.


JavaScript

Salah:

if (nilai >= 60)
    document.write("LULUS")
else
    document.write("TIDAK LULUS")

Kode tersebut sebenarnya masih dapat berjalan, tetapi untuk pembelajaran sebaiknya gunakan {}:

if (nilai >= 60) {
    document.write("LULUS");
} else {
    document.write("TIDAK LULUS");
}

19. Alur Berpikir Saat Membuat Percabangan

Mahasiswa dapat menggunakan langkah berikut:

1. Tentukan masalah
       ↓
2. Tentukan data/input
       ↓
3. Tentukan kondisi
       ↓
4. Tentukan kemungkinan hasil
       ↓
5. Buat algoritma
       ↓
6. Buat pseudocode
       ↓
7. Implementasikan ke bahasa pemrograman
       ↓
8. Uji dengan beberapa data

Contoh:

MASALAH
Menentukan apakah mahasiswa lulus.

INPUT
Nilai

KONDISI
Nilai >= 60

HASIL
Lulus / Tidak Lulus

ALGORITMA
Jika nilai >= 60 → Lulus
Selain itu → Tidak Lulus

20. Latihan Mahasiswa

Latihan 1 — Positif, Negatif, Nol

Buat algoritma, pseudocode, Python dan JavaScript untuk menentukan apakah sebuah angka:

  • Positif
  • Negatif
  • Nol

Latihan 2 — Genap dan Ganjil

Buat program untuk menentukan apakah sebuah angka merupakan:

  • Bilangan genap
  • Bilangan ganjil

Latihan 3 — Kelulusan

Ketentuan:

Nilai >= 60 → LULUS
Nilai < 60 → TIDAK LULUS

Buat:

  • Algoritma
  • Pseudocode
  • Python
  • JavaScript

Latihan 4 — Grade

Ketentuan:

85 - 100 → A
75 - 84  → B
60 - 74  → C
< 60     → D

Buat program dalam Python dan JavaScript.


Latihan 5 — Diskon

Ketentuan:

Belanja >= 1.000.000 → diskon 20%
Belanja >= 500.000   → diskon 10%
Belanja < 500.000    → tidak ada diskon

Hitung:

Total belanja
Diskon
Potongan
Total pembayaran

Latihan 6 — Bilangan Terbesar

Input dua angka.

Contoh:

Angka 1 = 80
Angka 2 = 60

Output:

Angka terbesar adalah 80

Latihan 7 — Bilangan Terbesar dari Tiga Angka

Input:

A
B
C

Tentukan angka terbesar menggunakan percabangan.


Latihan 8 — Kalkulator Sederhana

Input:

Angka 1
Operator
Angka 2

Operator:

+
-
*
/

Contoh:

10
+
5

Output:

Hasil = 15

21. Kesimpulan

Percabangan merupakan salah satu konsep fundamental dalam algoritma dan pemrograman.

Struktur utamanya:

IF
IF - ELSE
IF - ELIF - ELSE
NESTED IF

Konsep yang harus dikuasai mahasiswa:

Kondisi
↓
Operator perbandingan
↓
Operator logika
↓
Percabangan
↓
Pengambilan keputusan

Dalam Python:

if kondisi:
    proses
elif kondisi:
    proses
else:
    proses

Dalam JavaScript:

if (kondisi) {
    proses;
} else if (kondisi) {
    proses;
} else {
    proses;
}

Inti dari percabangan adalah:

Program memeriksa kondisi, kemudian menentukan proses yang harus dijalankan berdasarkan hasil kondisi tersebut.

Leave a Reply

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