Pertemuan 12 - Penggunaan If-Else dan Switch dalam implementasi logika

 Pertemuan 12

Penggunaan If-Else dan Switch dalam implementasi logika


Dalam pemrograman C++, if-else dan switch adalah dua struktur kontrol yang sering digunakan untuk membuat keputusan berdasarkan kondisi tertentu. Keduanya memungkinkan program merespons logika yang diberikan dan menentukan alur eksekusi program.


1. If-Else

If-Else digunakan untuk memeriksa suatu kondisi logika. Jika kondisi bernilai true, maka blok kode tertentu akan dieksekusi; jika tidak, blok lain akan dijalankan.

Sintaks If-Else

if (kondisi) {
    // Blok kode jika kondisi bernilai true
} else {
    // Blok kode jika kondisi bernilai false
}

If-Else Bertingkat

Kondisi dapat diperiksa lebih dari satu kali menggunakan else if:

if (kondisi1) {

    // Eksekusi jika kondisi1 true

} else if (kondisi2) {

    // Eksekusi jika kondisi2 true

} else {

    // Eksekusi jika semua kondisi false

}

Contoh Implementasi If-Else

1. Memeriksa Bilangan Positif, Negatif, atau Nol
#include <iostream>
using namespace std;

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

    if (num > 0) {
        cout << "Angka positif" << endl;
    } else if (num < 0) {
        cout << "Angka negatif" << endl;
    } else {
        cout << "Angka nol" << endl;
    }

    return 0;
}

Penjelasan:

  • Jika angka lebih besar dari 0, "Angka positif" dicetak.
  • Jika angka lebih kecil dari 0, "Angka negatif" dicetak.
  • Jika angka sama dengan 0, "Angka nol" dicetak.
2. Implementasi Logika Dengan Operator
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Masukkan dua angka: ";
    cin >> a >> b;

    if (a > b) {
        cout << "Angka pertama lebih besar." << endl;
    } else if (a < b) {
        cout << "Angka kedua lebih besar." << endl;
    } else {
        cout << "Kedua angka sama." << endl;
    }

    return 0;
}

2. Switch

Switch digunakan untuk memeriksa nilai tertentu dalam suatu variabel. Berbeda dengan if-else, switch bekerja lebih efisien untuk kasus dengan banyak cabang berdasarkan nilai diskrit (seperti angka atau karakter).

Sintaks Switch

switch (ekspresi) {
    case nilai1:
        // Blok kode untuk nilai1
        break;
    case nilai2:
        // Blok kode untuk nilai2
        break;
    ...
    default:
        // Blok kode jika tidak ada case yang cocok
}

Catatan Penting:

  1. Break: Menghentikan eksekusi switch dan mencegah eksekusi case berikutnya.
  2. Default: Opsional, digunakan untuk menangani kasus yang tidak sesuai dengan case yang tersedia.

Contoh Implementasi Switch

1. Kalkulator Sederhana
#include <iostream>
using namespace std;

int main() {
    char op;
    double num1, num2;

    cout << "Masukkan operator (+, -, *, /): ";
    cin >> op;
    cout << "Masukkan dua angka: ";
    cin >> num1 >> num2;

    switch (op) {
        case '+':
            cout << "Hasil: " << (num1 + num2) << endl;
            break;
        case '-':
            cout << "Hasil: " << (num1 - num2) << endl;
            break;
        case '*':
            cout << "Hasil: " << (num1 * num2) << endl;
            break;
        case '/':
            if (num2 != 0)
                cout << "Hasil: " << (num1 / num2) << endl;
            else
                cout << "Error: Pembagian dengan nol!" << endl;
            break;
        default:
            cout << "Operator tidak valid!" << endl;
    }

    return 0;
}

Penjelasan:

  • Berdasarkan operator (+,,,/)(+, -, *, /), operasi aritmatika dilakukan.
  • Jika operator tidak cocok, bagian default dieksekusi.
2. Hari dalam Seminggu
#include <iostream>
using namespace std;

int main() {
    int day;
    cout << "Masukkan nomor hari (1-7): ";
    cin >> day;

    switch (day) {
        case 1:
            cout << "Senin" << endl;
            break;
        case 2:
            cout << "Selasa" << endl;
            break;
        case 3:
            cout << "Rabu" << endl;
            break;
        case 4:
            cout << "Kamis" << endl;
            break;
        case 5:
            cout << "Jumat" << endl;
            break;
        case 6:
            cout << "Sabtu" << endl;
            break;
        case 7:
            cout << "Minggu" << endl;
            break;
        default:
            cout << "Nomor hari tidak valid!" << endl;
    }

    return 0;
}



LATIHAN SOAL
1. Gunakan if-else untuk memeriksa apakah sebuah angka genap atau ganjil.
2. Gunakan switch untuk membuat menu sederhana:
    • 1: Menampilkan nama.
    • 2: Menampilkan usia.
    • 3: Keluar dari program.