Kumpulan Contoh Soal Percabangan If Lengkap dengan Jawaban

Percabangan atau control flow adalah fondasi utama dalam dunia pemrograman. Tanpa percabangan, kode program hanya akan berjalan lurus dari atas ke bawah. Padahal, aplikasi yang cerdas harus bisa mengambil keputusan berdasarkan kondisi tertentuโ€”seperti sistem login yang mengecek apakah password benar, atau toko online yang menghitung diskon otomatis.

baca juga:Soal Parabola Geometri Analitik dengan Rumus Lengkap dan Penyelesaian

Dalam artikel ini, kita akan membedah berbagai variasi soal percabangan if, mulai dari yang paling sederhana hingga logika bersarang (nested), lengkap dengan penjelasan logika dan contoh kodenya.

Apa itu Percabangan If?

Secara sederhana, percabangan if adalah sebuah instruksi yang memberi tahu komputer: “Jika kondisi ini benar (True), maka lakukan aksi ini. Jika salah (False), abaikan atau lakukan aksi lainnya.”

Di hampir semua bahasa pemrograman seperti Python, C++, Java, dan PHP, struktur dasar if melibatkan:

🔖 Baca juga:
Latihan dan Contoh Soal Application Layer untuk Ujian Jaringan Komputer
  1. If Tunggal: Hanya satu kondisi.
  2. If-Else: Memiliki alternatif jika kondisi tidak terpenuhi.
  3. If-Else If-Else: Menangani banyak kondisi berbeda.
  4. Nested If: Ada percabangan di dalam percabangan.

Contoh Soal 1: Menentukan Kelulusan Nilai (If-Else Sederhana)

Ini adalah skenario paling klasik dalam pemrograman. Program diminta menentukan apakah seorang siswa lulus atau tidak berdasarkan nilai ambang batas.

Soal:

Buatlah program yang menerima input nilai ujian. Jika nilai lebih besar atau sama dengan 75, cetak “Selamat, Anda Lulus!”. Jika kurang dari itu, cetak “Maaf, Anda Harus Remedial”.

Jawaban (Logika Python):

Python

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

if nilai >= 75:
    print("Selamat, Anda Lulus!")
else:
    print("Maaf, Anda Harus Remedial")

Penjelasan:

Program menggunakan operator perbandingan >=. Jika input adalah 80, maka kondisi bernilai True dan baris pertama dijalankan. Jika input 60, baris di bawah else yang akan dieksekusi.


Contoh Soal 2: Menentukan Bilangan Ganjil atau Genap

Logika ini sering muncul dalam tes algoritma dasar untuk melatih pemahaman operator sisa bagi (modulus).

Soal:

Input sebuah bilangan bulat. Tentukan apakah bilangan tersebut ganjil atau genap.

Jawaban (Logika C++):

C++

#include <iostream>
using namespace std;

int main() {
    int angka;
    cout << "Masukkan angka: ";
    cin >> angka;

    if (angka % 2 == 0) {
        cout << "Bilangan Genap" << endl;
    } else {
        cout << "Bilangan Ganjil" << endl;
    }
    return 0;
}

Penjelasan:

Kunci dari soal ini adalah penggunaan operator modulus %. Bilangan genap adalah bilangan yang jika dibagi 2, sisa baginya adalah 0.


Contoh Soal 3: Konversi Nilai Angka ke Huruf (If-Else If)

Skenario ini digunakan ketika kita memiliki lebih dari dua kemungkinan hasil.

Soal:

Buatlah sistem penilaian otomatis dengan kriteria:

  • 90 – 100: A
  • 80 – 89: B
  • 70 – 79: C
  • 60 – 69: D
  • Bawah 60: E

Jawaban (Logika Java):

Java

import java.util.Scanner;

public class Penilaian {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan nilai: ");
        int skor = input.nextInt();

        if (skor >= 90) {
            System.out.println("Grade: A");
        } else if (skor >= 80) {
            System.out.println("Grade: B");
        } else if (skor >= 70) {
            System.out.println("Grade: C");
        } else if (skor >= 60) {
            System.out.println("Grade: D");
        } else {
            System.out.println("Grade: E");
        }
    }
}

Penjelasan:

Penggunaan else if memastikan bahwa komputer berhenti mengecek kondisi setelah menemukan satu yang benar. Jika skor 85, maka kondisi pertama (>=90) salah, masuk ke kondisi kedua (>=80) yang benar, cetak “B”, dan selesai.


Contoh Soal 4: Menentukan Tahun Kabisat

Tahun kabisat adalah tahun yang habis dibagi 4, namun ada pengecualian untuk kelipatan 100 dan 400.

Soal:

Input sebuah tahun, lalu tentukan apakah itu tahun kabisat atau bukan.

Jawaban (Logika Python):

Python

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

if (tahun % 4 == 0):
    if (tahun % 100 == 0):
        if (tahun % 400 == 0):
            print("Tahun Kabisat")
        else:
            print("Bukan Tahun Kabisat")
    else:
        print("Tahun Kabisat")
else:
    print("Bukan Tahun Kabisat")

Penjelasan:

Ini adalah contoh Nested If (If bersarang). Kita harus melakukan pengecekan berlapis untuk memastikan aturan tahun kabisat terpenuhi secara akurat.


Contoh Soal 5: Validasi Login Sederhana

Dalam pengembangan web, pengecekan akun adalah hal yang wajib dipahami.

Soal:

Buatlah logika untuk mengecek username dan password. Jika username adalah “admin” dan password “12345”, cetak “Login Berhasil”. Jika salah satu salah, cetak “Akses Ditolak”.

Jawaban (Logika JavaScript):

JavaScript

let username = prompt("Username:");
let password = prompt("Password:");

if (username === "admin" && password === "12345") {
    console.log("Login Berhasil! Selamat datang.");
} else {
    console.log("Akses Ditolak. Periksa kembali akun Anda.");
}

Penjelasan:

Di sini kita menggunakan operator logika && (AND). Kedua kondisi (username DAN password) harus bernilai benar agar blok kode pertama dijalankan.


Contoh Soal 6: Menghitung Diskon Belanja

Skenario ini sangat umum dalam aplikasi kasir (POS).

Soal:

Toko “Murah Meriah” memberikan diskon 10% jika total belanja minimal Rp 100.000. Jika belanja di bawah itu, tidak dapat diskon. Hitung total akhir yang harus dibayar.

Jawaban (Logika PHP):

PHP

<?php
$total_belanja = 150000;
$diskon = 0;

if ($total_belanja >= 100000) {
    $diskon = 0.1 * $total_belanja;
}

$total_bayar = $total_belanja - $diskon;
echo "Total Belanja: Rp " . $total_belanja . "\n";
echo "Diskon: Rp " . $diskon . "\n";
echo "Total yang harus dibayar: Rp " . $total_bayar;
?>

Contoh Soal 7: Menentukan Bilangan Terbesar dari 3 Input

Soal ini menguji kemampuan kita dalam membandingkan beberapa variabel sekaligus.

Soal:

User memasukkan tiga buah angka (A, B, C). Program harus menentukan angka mana yang paling besar.

Jawaban:

Python

a = int(input("Masukkan A: "))
b = int(input("Masukkan B: "))
c = int(input("Masukkan C: "))

if a >= b and a >= c:
    terbesar = a
elif b >= a and b >= c:
    terbesar = b
else:
    terbesar = c

print(f"Angka terbesar adalah: {terbesar}")

Kesalahan Umum dalam Menggunakan If

Banyak pemula terjebak pada kesalahan-kesalahan sepele namun fatal:

  1. Lupa Menggunakan Operator Perbandingan yang Tepat: Menggunakan = (penugasan) alih-alih == (perbandingan).
  2. Urutan Kondisi yang Salah: Dalam if-else if, jika Anda meletakkan kondisi yang paling umum di atas, kondisi yang lebih spesifik tidak akan pernah tercapai.
  3. Indentasi: Terutama di bahasa seperti Python, salah spasi/tab akan menyebabkan error atau logika yang berantakan.

Tabel Operator Perbandingan yang Sering Digunakan

OperatorMaknaContoh
==Sama denganif x == 10
!=Tidak sama denganif x != 0
>Lebih besar dariif x > 5
<Lebih kecil dariif x < 100
>=Lebih besar atau sama denganif x >= 18
<=Lebih kecil atau sama denganif x <= 10

baca juga:Ratusan Siswa SMA/SMK se-Lampung Ikuti Academic Expo, Seminar, dan Tryout Universitas Teknokrat Indonesia

Penutup dan Kesimpulan

Memahami percabangan if adalah langkah pertama untuk menjadi seorang programmer yang handal. Kunci utamanya bukan menghafal sintaks, melainkan memahami logika alur data. Cobalah untuk memodifikasi soal-soal di atas, misalnya dengan menambahkan validasi input atau menggabungkan beberapa kondisi sekaligus.

penulis: ridho

Post Comment