Struktur Kontrol Dasar - Percabangan (IF) & ELSE

Struktur Kontrol Dasar (Percabangan IF Else)

Percabangan (IF) & ELSE

Mata Pelajaran: Koding & Kecerdasan Artifisial (KKA) - Fase E / Kelas X
Pendekatan: Unplugged → fokus logika (pseudocode & flowchart) sebelum masuk sintaks Python

Ringkasan Singkat

Pertemuan ini membahas bagaimana program membuat keputusan (percabangan). Konsep inti: IF (jika) untuk mengecek kondisi; ELSE (jika tidak) sebagai alternatif ketika kondisi IF tidak terpenuhi. Juga dibahas ELIF/Else if (percabangan berlapis) dan nested IF. Tujuan utama adalah membuat siswa paham logika pengambilan keputusan dan mampu menulis pseudocode + menggambar flowchart yang benar.

1. Pengertian dan Penjelasan Detail

a. Apa itu IF?

IF adalah struktur kontrol yang membuat program memilih aksi jika kondisi tertentu bernilai benar (true).

  • Format logika: Jika kondisi BENAR → lakukan aksi A
  • Contoh: Jika hujan → bawa payung.

x = 10
if x > 5:
    print("x lebih besar dari 5")

b. Apa itu ELSE?

ELSE adalah jalur alternatif yang dijalankan jika kondisi IF salah (false).

  • Format: Jika kondisi BENAR → aksi A; Jika tidak → aksi B
  • Contoh: Jika hujan → bawa payung; jika tidak → pakai topi.
nilai = 65

if nilai >= 70:
    print("Lulus")
else:
    print("Tidak Lulus")

c. ELIF / ELSE IF (IF bertingkat)

Digunakan untuk memilih salah satu dari beberapa kondisi. Periksa kondisi paling ketat dulu lalu turun ke yang berikutnya.

Contoh: menentukan nilai huruf berdasarkan angka.

d. Nested IF

IF di dalam IF — dipakai saat keputusan kedua hanya relevan bila keputusan pertama terpenuhi.

nilai = 75

if nilai >= 80:
    print("Nilai: A")
elif nilai >= 70:
    print("Nilai: B")
    if nilai >= 75:
        print("Cukup Bagus")
    else:
        print("Cukup")
else:
    print("Nilai: C atau D")

2. Kondisi (Boolean) dan Operator yang Sering Digunakan

Pengertian Boolean

Boolean adalah tipe data logika yang hanya memiliki dua nilai, yaitu true (benar) dan false (salah). Boolean sering digunakan dalam percabangan dan perbandingan dalam pemrograman.

Kondisi biasanya mengembalikan True atau False. Operator umum:

  • Perbandingan: >, >=, <, <=, == (sama dengan), != (tidak sama)
  • Logika: AND, OR, NOT

Contoh: nilai >= 75 AND hadir == true

3. Simbol Flowchart (pengingat)

  • Oval — Mulai / Selesai
  • Parallelogram — Input / Output
  • Persegi panjang — Proses / aksi
  • Belah ketupat — Keputusan / kondisi
  • Panah — Arah alur

4. Contoh Lengkap (Pseudocode + Flowchart ASCII)

Pengertian Pseudocode

Pseudocode adalah deskripsi algoritma menggunakan bahasa sehari-hari yang menyerupai kode pemrograman, namun lebih sederhana dan mudah dipahami.

Contoh A — IF tunggal

Kasus: Jika suhu > 37.5 → tampilkan "Demam"

Mulai
Baca suhu
Jika suhu > 37.5
    Tulis "Demam: periksa ke UKS"
Selesai
[Mulai]
   ↓
[Baca suhu]
   ↓
{suhu > 37.5?}
  ├─Ya→ [Tulis "Demam"] → [Selesai]
  └─Tidak→ [Selesai]

Contoh B — IF–ELSE

Kasus: Jika nilai >= 75 → "LULUS", jika tidak → "REMEDIAL"

Mulai
Baca nilai
Jika nilai >= 75
    Tulis "LULUS"
Jika tidak
    Tulis "REMEDIAL"
Selesai

Contoh C — IF bertingkat (ELIF)

Kasus: Konversi nilai ke huruf A/B/C/D

Mulai
Baca nilai
Jika nilai >= 90
    Tulis "A"
Jika tidak jika nilai >= 75
    Tulis "B"
Jika tidak jika nilai >= 60
    Tulis "C"
Jika tidak
    Tulis "D"
Selesai

Contoh D — Nested IF

Kasus: Jika login benar → cek role → tampilkan menu sesuai

Mulai
Baca username, password
Jika username/password cocok
    Jika role == "admin"
        Tampilkan "Menu Admin"
    Jika tidak
        Tampilkan "Menu User"
Jika tidak
    Tampilkan "Login gagal"
Selesai

5. Latihan & Contoh Soal

  1. Cek apakah nilai ≥ 75 → "Lulus", jika tidak → "Tidak Lulus".
  2. Cek apakah suhu ≥ 37 → "Demam", jika tidak → "Normal".
  3. Cek apakah angka positif, negatif, atau nol.
Saran jawaban singkat (contoh 1):
Mulai
Baca nilai
Jika nilai ≥ 75
    Tulis "Lulus"
Jika tidak
    Tulis "Tidak Lulus"
Selesai

6. Penilaian (Rubrik)

  • Pemahaman teori — 25%
  • Pseudocode — 30%
  • Flowchart — 30%
  • Partisipasi — 15%

Post a Comment

0 Comments