If — Else If — Else
Memahami struktur kendali percabangan if-elseif-else dari konsep hingga implementasi dalam C++ dan Python
Agenda
Konsep Percabangan
Apa itu if, elseif, else?
Contoh Kode
Grade Nilai & Kategori BMI
Flowchart Percabangan
Simbol dan alur
Tugas Individu
Soal literasi & numerasi C4-C6
Struktur yang memungkinkan program memilih satu dari beberapa jalur eksekusi berdasarkan kondisi.
Mengevaluasi kondisi pertama. Jika benar (true), blok kode di dalamnya dieksekusi.
Kondisi tambahan yang diperiksa hanya jika if sebelumnya false. Bisa lebih dari satu.
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.
Skenario: Memberikan grade A/B/C/D/E berdasarkan nilai ujian
#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
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 {}.
Skenario: Menentukan kategori BMI berdasarkan indeks massa tubuh
#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
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.
Menentukan apakah bilangan positif, negatif, atau nol
#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
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.
Logika sama, hanya cara penulisan yang berbeda
if (kondisi) { ... }else if (kondisi) { ... }else { ... }if kondisi:elif kondisi:else:Key Insight: Logika percabangan sama persis antara C++ dan Python — hanya sintaks penulisan yang berbeda. Pahami logikanya, maka Anda bisa menulis dalam bahasa apapun.
C4-C6 · Literasi & Numerasi · Konteks SMA Padang
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")
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.
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.
Pilih satu skenario, buat flowchart + kode C++ + kode Python
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
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!