Merupakan suatu struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi.
Beberapa bentuk struktur dasar pemilihan:
1.Pernyataan IF
2.Pernyataan SWITCH
Pernyataan IF
Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan.
Diagram alir:
Penulisan kondisi harus di dalam tanda kurung dan berupa ekspresi relasi dan penulisan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk, atau pernyataan kosong.
Contoh Program 1 :
#include <iostream>using namespace std;int main (){ int usia; cout << "Berapa usia Anda? : "; cin >> usia; if (usia < 17) { cout << endl; cout << "Anda tidak boleh menonton bioskop"; } return 0;}
Contoh Program 2 :
#include <iostream>using namespace std;int main (){ float total_beli, diskon, jum_bayar; diskon = 0; cout << "Total Pembelian Rp. = "; cin >> total_beli; if (total_beli > 50000) diskon = 0.25 * total_beli; cout << "Besarnya Diskon Rp. = " << diskon << endl; jum_bayar = total_beli - diskon; cout << "-------------------------------------------------------" << endl; cout << "Jumlah yang harus dibayarkan Rp. " << jum_bayar; cout << endl; return 0;}Pernyataan IF-ELSE
Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2.
Contoh Program 1 :
#include <iostream>using namespace std;int main (){ int usia; cout << "Berapa usia Anda? : "; cin >> usia; if (usia < 17) { cout << endl; cout << "Anda tidak boleh menonton bioskop"; } else { cout << "Anda boleh nonton bioskop, belikan teman 1 tiket"; cout << endl; } return 0;}
Contoh Program 2 :
#include <iostream>using namespace std;int main (){ float total_beli, diskon, jum_bayar; diskon = 0; cout << "Total Pembelian Rp. = "; cin >> total_beli; if (total_beli > 50000) { diskon = 0.25 * total_beli; } else { diskon = 0.05 * total_beli; } cout << "Besarnya Diskon Rp. = " << diskon << endl; jum_bayar = total_beli - diskon; cout << "-------------------------------------------------------" << endl; cout << "Jumlah yang harus dibayarkan Rp. " << jum_bayar; cout << endl; return 0;}Pernyataan NESTED IF
Nested If merupakan pernyataan If berada di dalam pernyataan If yang lainnya.
Bentuk penulisannya:
Contoh program:
#include <iostream>using namespace std;int main (){ float pendapatan, jasa, komisi, total; cout << "Pendapatan hari ini = "; cin >> pendapatan; if (pendapatan >= 0 && pendapatan <= 20000) { jasa=10000; komisi=0.1*pendapatan; } else { if (pendapatan <= 50000) { jasa=20000; komisi=0.15*pendapatan; } else { jasa=30000; komisi=0.2*pendapatan; } } total=jasa+komisi; cout <<"================================="<<endl; cout <<"Uang Jasa Rp. " << jasa << endl; cout <<"Uang Komisi Rp. " << komisi << endl; cout <<"================================="<<endl; cout <<"TOTAL Rp. " << total << endl; return 0;}Pernyataan IF – ELSE Majemuk
Bentuk dari If-Else bertingkat sebenarnya serupa dengan nested if. Keuntungan penggunaan If-Else bertingkat dibanding dengan nested if adalah penggunaan bentuk penulisan yang lebih sederhana.
Bentuk penulisannya:
Contoh program :
#include <iostream>using namespace std;int main (){ float pendapatan, jasa, komisi, total; cout << "Pendapatan hari ini = "; cin >> pendapatan; if (pendapatan >= 0 && pendapatan <= 20000) { jasa=10000; komisi=0.1*pendapatan; } else if (pendapatan <= 50000) { jasa=20000; komisi=0.15*pendapatan; } else { jasa=30000; komisi=0.2*pendapatan; } } total=jasa+komisi; cout <<"================================="<<endl; cout <<"Uang Jasa Rp. " << jasa << endl; cout <<"Uang Komisi Rp. " << komisi << endl; cout <<"================================="<<endl; cout <<"TOTAL Rp. " << total << endl; return 0;}Pernyataan Switch-Case
Bentuk dari switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif. Switch-Case memiliki kegunaan sama seperti if-else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.
Bentuk penulisan perintahnya sebagai berikut:
#include <iostream>using namespace std;int main (){ cout << "Mata Kuliah" << endl; bool repeat = true; while (repeat) { char kode; cout << "Pilih Mata Kuliah Anda! [A/B/C/a/b/c/1/2/3]" << endl; cout << "Pilih = "; cin >> kode; switch (kode) { case 'A': case 'a': case '1': cout << "Algoritma dan Pemrograman" << endl; break; case 'B': case 'b': case '2': cout << "Konsep Teknologi Informatika" << endl; break; case 'C': case 'c': case '3': cout << "Bahasa Inggris" << endl; break; default: cout << "Maaf anda salah memasukkan kode!" << endl; } cout << "Ingin mengulang [y/n]" << endl; char ulangi; cin >> ulangi; repeat = ulangi == 'y' || ulangi == 'y'; } cout << "Terima Kasih!" << endl; return 0;}#include <iostream> //preprocessor atau header//#include <windows.h>using namespace std;int main(){ bool ulang = true; while (ulang) { int kode, panjang, lebar, sisi, sisi1, sisi2, sisi3, alas, tinggi, keliling, luas; float luas_ling, keliling_ling, jari_jari; cout << "=========================================" << endl; cout << "SELAMAT DATANG DI KALKULATOR BANGUN DATAR" << endl; cout << "=========================================" << endl; cout << "Kode kalkulator" << endl; cout << "Persegi [1]" << endl; cout << "Persegi Panjang [2]" << endl; cout << "Segitiga [3]" << endl; cout << "Lingkaran [4]" << endl; cout << "Silahkan masukkan kode bangun datar = " ; cin >> kode; switch (kode) { case 1: cout << "Kalkulator Persegi" << endl; cout << "Masukkan sisi = " ; cin >> sisi; luas = sisi*sisi; keliling = sisi*4; cout << "Luas = " << luas << endl; cout << "Keliling = " << keliling << endl; break; case 2: cout << "Kalkulator Persegi Panjang" << endl; cout << "Masukkan Panjang = " ; cin >> panjang; cout << "Masukkan Lebar = " ; cin >> lebar; luas = panjang * lebar; keliling = 2 * (panjang + lebar); cout << "Luas = " << luas << endl; cout << "Luas = " << keliling << endl; break; case 3: cout << "Kalkulator Segitiga" << endl; cout << "Masukkan Sisi 1 = " ; cin >> sisi1; cout << "Masukkan Sisi 2 = " ; cin >> sisi2; cout << "Masukkan Sisi 3 = " ; cin >> sisi3; cout << "Masukkan Alas = " ; cin >> alas; cout << "Masukkan Tinggi = " ; cin >> tinggi; luas = 0.5 * alas * tinggi; keliling = sisi1 + sisi2 + sisi3; cout << "Luas = " << luas << endl; cout << "Keliling = " << keliling << endl; break; case 4: cout << "Kalkulator Lingkaran" << endl; cout << "Masukkan Jari-jari = " ; cin >> jari_jari; luas_ling = 3.14 * (jari_jari * jari_jari); keliling_ling = 2 * 3.14 * jari_jari; cout << "Luas = " << luas_ling << endl; cout << "Keliling = " << keliling_ling << endl; break; default: cout << "Maaf kode yang Anda masukkan salah" << endl; } cout << "Ingin Mengulang Program ? [y/n] = " ; char ulg; cin >> ulg; ulang = ulg == 'y' || ulg == 'y'; system ("cls"); } system ("cls"); cout << "Terima kasih sudah menggunakan program saya" << endl; return 0;}Demikian penjelasan tentang Operasi Penyeleksian Kondisi. Semoga dapat bermanfaat untuk kita semua. Untuk lebih jelasnya silahkan download file power pointnya disini









EmoticonEmoticon