C++ & Python

Percabangan

If — Else If — Else

Memahami struktur kendali percabangan if-elseif-else dari konsep hingga implementasi dalam C++ dan Python

Flowchart Kode Perbandingan

Agenda

Daftar Isi

01

Konsep Percabangan

Apa itu if, elseif, else?

02

Contoh Kode

Grade Nilai & Kategori BMI

03

Flowchart Percabangan

Simbol dan alur

04

Tugas Individu

Soal literasi & numerasi C4-C6

01

Konsep Percabangan

Struktur yang memungkinkan program memilih satu dari beberapa jalur eksekusi berdasarkan kondisi.

If

Mengevaluasi kondisi pertama. Jika benar (true), blok kode di dalamnya dieksekusi.

Else If

Kondisi tambahan yang diperiksa hanya jika if sebelumnya false. Bisa lebih dari satu.

Else

Jalan terakhir yang dieksekusi jika semua kondisi di atas false. Bersifat opsional.

Alur eksekusi: Kondisi diperiksa secara berurutan dari atas. Begitu satu kondisi bernilai true, bloknya dieksekusi lalu program keluar dari seluruh struktur if.

02

Contoh Kode: Grade Nilai

Skenario: Memberikan grade A/B/C/D/E berdasarkan nilai ujian

C++
grade.cpp
#include <iostream>
using namespace std;

int main() {
    int nilai = 82;

    if (nilai >= 90) {
        cout << "Grade: A" << endl;
    } else if (nilai >= 80) {
        cout << "Grade: B" << endl;
    } else if (nilai >= 70) {
        cout << "Grade: C" << endl;
    } else if (nilai >= 60) {
        cout << "Grade: D" << endl;
    } else {
        cout << "Grade: E" << endl;
    }
    return 0;
}
// Output: Grade: B
Python
grade.py
nilai = 82

if nilai >= 90:
    print("Grade: A")
elif nilai >= 80:
    print("Grade: B")
elif nilai >= 70:
    print("Grade: C")
elif nilai >= 60:
    print("Grade: D")
else:
    print("Grade: E")

# Output: Grade: B

Perbedaan kunci: C++ menggunakan else if (dua kata), Python menggunakan elif (satu kata). Python pakai indentasi, C++ pakai kurung kurawal {}.

02

Contoh Kode: Kategori BMI

Skenario: Menentukan kategori BMI berdasarkan indeks massa tubuh

C++
bmi.cpp
#include <iostream>
using namespace std;

int main() {
    float bmi = 23.5;

    if (bmi < 18.5) {
        cout << "Kurus" << endl;
    } else if (bmi < 25.0) {
        cout << "Berat Normal" << endl;
    } else if (bmi < 30.0) {
        cout << "Gemuk" << endl;
    } else {
        cout << "Obesitas" << endl;
    }
    return 0;
}
// Output: Berat Normal
Python
bmi.py
bmi = 23.5

if bmi < 18.5:
    print("Kurus")
elif bmi < 25.0:
    print("Berat Normal")
elif bmi < 30.0:
    print("Gemuk")
else:
    print("Obesitas")

# Output: Berat Normal

BMI (Body Mass Index) = berat (kg) / tinggi² (m²). Kategori: <18.5 Kurus, 18.5–24.9 Normal, 25–29.9 Gemuk, ≥30 Obesitas.

02

Jenis Bilangan

Menentukan apakah bilangan positif, negatif, atau nol

C++
jenis_bilangan.cpp
#include <iostream>
using namespace std;

int main() {
    int bilangan = -7;

    if (bilangan > 0) {
        cout << "Positif" << endl;
    } else if (bilangan < 0) {
        cout << "Negatif" << endl;
    } else {
        cout << "Nol" << endl;
    }
    return 0;
}
// Output: Negatif
Python
jenis_bilangan.py
bilangan = -7

if bilangan > 0:
    print("Positif")
elif bilangan < 0:
    print("Negatif")
else:
    print("Nol")

# Output: Negatif

Catatan: Struktur if-elseif-else ini sangat cocok untuk kasus di mana sebuah variabel hanya memiliki satu dari beberapa kemungkinan nilai secara eksklusif.

03

Flowchart If — Else If — Else

Mulai Input: nilai nilai ≥ 90? Ya Grade: A Tidak nilai ≥ 80? Ya Grade: B Tidak Grade: C/D/E Selesai
03

Perbandingan C++ vs Python

Logika sama, hanya cara penulisan yang berbeda

C++Sintaks
ifif (kondisi) { ... }
eielse if (kondisi) { ... }
elelse { ... }
{}Pakai kurung kurawal
;Titik koma wajib
PythonSintaks
ifif kondisi:
elelif kondisi:
elelse:
Pakai indentasi (4 spasi)
:Titik dua (colon)

Key Insight: Logika percabangan sama persis antara C++ dan Python — hanya sintaks penulisan yang berbeda. Pahami logikanya, maka Anda bisa menulis dalam bahasa apapun.

04

Latihan Soal

C4-C6 · Literasi & Numerasi · Konteks SMA Padang

C4 — Menganalisis

Perhatikan kode berikut yang menentukan kategori cuaca di Padang. Jika suhu = 28 dan kelembapan = 80, apa output program? Jelaskan alur eksekusinya.

if suhu > 30:
  print("Panas Terik")
elif suhu > 25 and kelembapan > 70:
  print("Panas Lembap")
else:
  print("Cuaca Normal")
C5 — Mengevaluasi

Seorang siswa SMA Negeri 2 Padang membuat program penentuan tarif angkutan kota. Tarif didasarkan jarak: ≤5km = Rp3.000, 6–10km = Rp5.000, 11–20km = Rp8.000, >20km = Rp12.000. Menurut Anda, apakah struktur if-elseif-else sudah tepat? Jika ada kelemahan, berikan perbaikan.

C6 — Mencipta

Buatlah program dalam C++ DAN Python untuk menentukan kategori siswa berdasarkan nilai rapor SMA di Padang: Nilai ≥93 → Sangat Baik, 85–92 → Baik, 75–84 → Cukup, <75 → Perlu Bimbingan. Gambar flowchart-nya dan tulis kode lengkap.

04

Tugas Individu

Pilih satu skenario, buat flowchart + kode C++ + kode Python

Pilih Skenario

A. Jenis Segitiga

Menentukan jenis segitiga (sama sisi, sama kaki, sembarang) berdasarkan 3 sisi

B. Kategori Hujan di Padang

Berdasarkan curah hujan: ringan / sedang / lebat / sangat lebat

C. Tarif Parkir di Mall Padang

Berdasarkan durasi parkir

D. Skenario Sendiri

Buat skenario yang relevan dengan kehidupan SMA di Padang

Yang Dikumpulkan

Flowchart

Tangan atau digital

Kode C++

File .cpp

Kode Python

File .py

Tips: Mulai dari flowchart terlebih dahulu — gambarkan alur logikanya. Setelah yakin flowchart benar, baru terjemahkan ke kode C++ dan Python. Pastikan output ketiganya konsisten!