Conditional C++
Dalam pembuatan program, ada saatnya kita butuh suatu percabangan, yakni jika sebuah kondisi terpenuhi, jalankan kode program ini, jika tidak jalankan kode program yang lain. Menggunakan bahasa C++, konsep tersebut dibuat menggunakan struktur IF dengan aturan penulisan sebagai berikut:
if (condition){ //Kode program yang akan dijalankan jika condition berisi nilai True} |
Bagian condition berperan sebagai penentu dari struktur percabangan. Jika condition terpenuhi (menghasilkan nilai boolean true), blok kode program akan dijalankan. Jika condition tidak terpenuhi (menghasilkan nilai boolean false), blok kode program tidak akan dijalankan.
Blok kode program yang di maksud adalah semua kode yang berada di antara tanda kurung kurawal “{” dan “}”. Condition biasanya terdiri dari operasi perbandingan, seperti apakah variabel a berisi angka 18, atau apakah variabel password berisi string ‘qwerty’.
Mari kita bahas dengan contoh kode program.
Contoh Kode Program Percabangan IF Bahasa C++
Sebagai praktek pertama, berikut contoh kode program untuk melihat apakah sebuah angka lebih besar dari angka lain, lalu tampilkan hasilnya jika kondisi terpenuhi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <iostream>using namespace std;int main(){ int a = 12; int b = 10; if (a > b) { cout << "Nilai variabel a lebih besar dari variabel b" << endl; } return 0;} |
Hasil kode program:
Nilai variabel a lebih besar dari variabel b |
Di awal kode program saya mengisi variabel a dengan angka 12 serta variabel b dengan angka 10. Kemudian di baris 7 terdapat kondisi if (a > b), yakni apakah variabel a berisi angka yang lebih besar dari b? Apakah 12 lebih besar dari 10? betul (true), maka blok kode program akan dijalankan.
Kita juga bisa membuat struktur if beberapa kali tergantung kebutuhan seperti contoh berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream>using namespace std;int main(){ int a = 5; int b = 10; if (a > b) { cout << "Nilai variabel a lebih besar dari variabel b" << endl; } if (a < b) { cout << "Nilai variabel a lebih kecil dari variabel b" << endl; } if (a == b) { cout << "Nilai variabel a sama dengan variabel b" << endl; } return 0;} |
Hasil kode program:
Nilai variabel a lebih kecil dari variabel b |
Kode program ini merupakan hasil modifikasi dari kode sebelumnya. Kali ini terdapat 3 buah kondisi, yakni if (a > b), if (a < b), serta if (a == b). Setiap kondisi if akan diperiksa dan jika operasi perbandingan menghasilkan nilai true, maka blok tersebut akan diproses. Silahkan coba ubah isi variabel a dan b untuk melihat blok kode program mana yang akan dijalankan.
Supaya lebih interaktif, saya akan modifikasi kode sebelumnya untuk meminta user menginput angka ke dalam variabel a dan b:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream>using namespace std;int main(){ int a, b; cout << "Input nilai variabel a: "; cin >> a; cout << "Input nilai variabel b: "; cin >> b; if (a > b) { cout << "Nilai variabel a lebih besar dari variabel b" << endl; } if (a < b) { cout << "Nilai variabel a lebih kecil dari variabel b" << endl; } if (a == b) { cout << "Nilai variabel a sama dengan variabel b" << endl; } return 0;} |
Selain tambahan perintah cin >> a dan cin >> b agar user bisa menginput angka, kode program kita masih sama seperti sebelumnya, yakni mencari variabel yang berisi angka lebih besar.
Contoh terakhir, mari buat kode program untuk menebak apakah sebuah angka merupakan bilangan genap atau bilangan ganjil:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream>using namespace std;int main(){ int a; cout << "Input sembarang angka bulat: "; cin >> a; if (a % 2 == 0) { cout << a << " adalah angka genap" << endl; } if (a % 2 == 1) { cout << a << " adalah angka ganjil" << endl; } return 0;} |
Hasil kode program:
Input sembarang angka: 2020 adalah angka genap Input sembarang angka: 999999 adalah angka ganjilInput sembarang angka: 00 adalah angka genap |
Sekarang kondisi yang diperiksa adalah if (a % 2 == 0) dan if (a % 2 == 1). Di dalam bahasa C++, tanda persen ( % ) adalah operator modulus yang dipakai untuk mencari sisa hasil bagi.
Kondisi pertama, yakni if (a % 2 == 0) akan bernilai true jika variabel a habis dibagi 2. Ini artinya variabel a berisi angka genap.
Sedangkan kondisi kedua, yakni if (a % 2 == 1) akan bernilai true jika variabel a bersisa 1 pada saat dibagi 2. Ini artinya variabel a berisi angka ganjil.
Percabangan IF seperti ini sangat sering dipakai untuk memecahkan sebuah masalah. Berikutnya, akan di bahas tentang percabangan IF ELSE dalam bahasa C++.
Pengertian Kondisi IF ELSE IF Bahasa C++
Pada dasarnya, kondisi IF ELSE IF adalah sebuah struktur logika program yang di dapat dengan cara menyambung beberapa perintah IF ELSE menjadi sebuah kesatuan.
Jika kondisi pertama tidak terpenuhi atau bernilai false, maka kode program akan lanjut ke kondisi IF di bawahnya. Jika ternyata tidak juga terpenuhi, akan lanjut lagi ke kondisi IF di bawahnya lagi, dst hingga blok ELSE terakhir atau terdapat kondisi IF yang menghasilkan nilai true.
Berikut format dasar penulisan kondisi IF ELSE IF dalam bahasa C++:
if (condition_1) { // Kode program yang dijalankan jika condition_1 berisi nilai True}else if (condition_2) { // Kode program yang dijalankan jika condition_2 berisi nilai True}else if (condition_3) { // Kode program yang dijalankan jika condition_3 berisi nilai True }else { // Kode program yang dijalankan jika semua kondisi tidak terpenuhi} |
Mari kita lihat contoh prakteknya.
Contoh Kode Program Percabangan IF ELSE IF C++
Sebagai contoh pertama, saya ingin membuat kode program untuk menampilkan nilai. User diminta menginput sebuah huruf antara ‘A’ – ‘E’. Kemudian program akan menampilkan hasil yang berbeda-beda untuk setiap huruf, termasuk jika huruf tersebut di luar ‘A’ – ‘E’.
Berikut contoh kode programnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <iostream>using namespace std;int main(){ char nilai; cout << "Input Nilai Anda (A - E): "; cin >> nilai; if (nilai == 'A' ) { cout << "Pertahankan!" << endl; } else if (nilai == 'B' ) { cout << "Harus lebih baik lagi" << endl; } else if (nilai == 'C' ) { cout << "Perbanyak belajar" << endl; } else if (nilai == 'D' ) { cout << "Jangan keseringan main" << endl; } else if (nilai == 'E' ) { cout << "Kebanyakan bolos..." << endl; } else { cout << "Maaf, format nilai tidak sesuai" << endl; } return 0;} |
Hasil kode program:
Input Nilai Anda (A - E): APertahankan!Input Nilai Anda (A - E): DJangan keseringan mainInput Nilai Anda (A - E): EKebanyakan bolos...Input Nilai Anda (A - E): FMaaf, format nilai tidak sesuai |
Di baris 7 saya mendefinisikan sebuah variabel nilai sebagai char. Variabel nilai ini kemudian dipakai untuk menampung input dari perintah cin >> nilai di baris 10. Ini adalah proses input nilai char dalam bahasa C++.
Mulai dari baris 12 hingga 29 terdapat 5 kali pemeriksaan kondisi, yakni satu untuk setiap block IF ELSE. Dalam setiap kondisi, isi variabel nilai akan di diperiksa apakah berisi karakter ‘A’, ‘B’, hingga ‘E’. Jika salah satu kondisi terpenuhi, maka block kode program yang sesuai akan di eksekusi.
Jika ternyata nilai inputan bukan salah satu dari karakter ‘A’ – ‘E’, maka block ELSE di baris 28 lah yang akan dijalankan.
Setiap kondisi dari block IF ELSE IF bisa diisi dengan perbandingan yang lebih kompleks, seperti contoh berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <iostream>using namespace std;int main(){ short nilai; cout << "Input Nilai Anda (0 - 100): "; cin >> nilai; if (nilai >= 90 ) { cout << "Pertahankan!" << endl; } else if (nilai >= 80 && nilai < 90) { cout << "Harus lebih baik lagi" << endl; } else if (nilai >= 60 && nilai < 80) { cout << "Perbanyak belajar" << endl; } else if (nilai >= 40 && nilai < 60) { cout << "Jangan keseringan main" << endl;; } else if (nilai < 40) { cout << "Kebanyakan bolos..." << endl; } else { cout << "Maaf, format nilai tidak sesuai" << endl; } return 0;} |
Di sini saya memodifikasi sedikit kode program sebelumnya. Sekarang nilai inputan berupa angka antara 0 hingga 100.
Angka inputan ini ditampung ke dalam variabel nilai yang sekarang di set sebagai tipe data short di baris 7. Tipe data short adalah salah satu tipe data angka bulat (integer) dalam bahasa C++ yang bisa menampung antara -32,768 hingga +32,767.
Di baris 12, variabel nilai di periksa apakah berisi angka yang lebih dari 90. Jika iya, tampilkan teks “Pertahankan!”.
Jika kondisi di baris 12 tidak terpenuhi (yang artinya isi variabel nilai kurang dari 90), maka kode program akan lanjut ke kondisi ELSE IF berikutnya di baris 15. Di sini saya menggabung dua buah kondisi pemeriksaan dengan operator logika && (operator AND). Kondisi if(nilai >= 80 && nilai < 90) hanya akan terpenuhi jika isi variabel nilai berada dalam rentang 80 sampai 89.
Ketika membuat kondisi perbandingan, kita harus hati-hati dengan penggunaan tanda, apakah ingin menggunakan tanda lebih besar saja (>) atau tanda lebih besar sama dengan (>=) karena bisa mempengaruhi hasil akhir.
Jika ternyata kondisi ini tidak dipenuhi juga (artinya isi variabel nilai kurang dari 80), program akan lanjut ke kondisi if(nilai >= 60 && nilai < 80) di baris 18, yakni apakah isi variabel nilai berada dalam rentang 60 – 79. Demikian seterusnya hingga kondisi terakhir if(nilai < 40) di baris 24.
Jika semua kondisi tidak terpenuhi, jalankan block ELSE di baris 27.
Berikut hasil percobaan dari kode program di atas:
Input Nilai Anda (0 - 100): 92Pertahankan!Input Nilai Anda (0 - 100): 60Perbanyak belajarInput Nilai Anda (0 - 100): 30Kebanyakan bolos... |
Yang cukup unik adalah, jika kita memberikan nilai di luar rentang 0 – 100, akan tetap ditangkap oleh kondisi IF di baris 10 atau di baris 22:
Input Nilai Anda (0 - 100): 190Pertahankan!Input Nilai Anda (0 - 100): -100Kebanyakan bolos... |
Ini terjadi karena nilai 190 tetap memenuhi syarat if (nilai >= 90), dan nilai -100 juga tetap memenuhi syarat if (nilai < 40). Silahkan anda modifikasi kode program di atas agar ketika diinput angka di luar dari rentang 0 – 100, tampil teks “Maaf, format nilai tidak sesuai”. Untuk hal ini kita cuma perlu mengubah / menambah 2 kondisi saja.
Dalam tutorial belajar C++ kali ini kita telah membahas konsep struktur IF ELSE IF tidak lain terdiri dari beberapa kondisi IF yang saling bersambung.

Komentar
Posting Komentar