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:
- Break: Menghentikan eksekusi switch dan mencegah eksekusi case berikutnya.
- 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 SOAL1. 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.