Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada.
Pernyataan if
Pernyataan if mempunyai pengertian, “Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”. Dari pengertian tersebut dapat dilihat dari diagram alir berikut:Bentuk Umum dari pernyataan if:
if (kondisi{)
// pernyataan )
}
Contoh Program:
/** * ------------------------------------- * Program5-1.cpp : * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { if (true) { cout << "Perintah ini akan dijalankan\n"; } if (!true) { cout << "Perintah ini TIDAK akan dijalankan\n"; } if (1+1 == 2 && 100 > 99) { cout << "Anda benar\n"; } getch(); }
Pada contoh di atas, perintah akan dijalankan jika kondisi akhir bernilai benar. Berikut ini contoh program untuk menentukan besarnya potongan dari pembelian barang dengan kriteria:
- Tidak ada potongan jika total pembelian kurang dari Rp. 50.000,-
- Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.
/** * ------------------------------------- * Program5-2.cpp : * contoh penggunakan if * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { double tot_beli, potongan = 0, jum_bayar = 0; cout << "Total pembelian Rp. "; cin >> tot_beli; if ( tot_beli >= 50000 ) { potongan = 0.2 * tot_beli; } cout << "Besarnya potongan Rp. " << potongan << endl; jum_bayar = tot_beli - potongan; cout << "Jumlah yang harus dibayarkan Rp . " << jum_bayar; getch(); }
Hasil Eksekusi:
Total pembelian Rp. 70000 Besarnya potongan Rp. 14000 Jumlah yang harus dibayarkan Rp . 56000
Pernyataan if - else
Pernyataan if mempunyai pengertian, “Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”. Dari pengertian tersebut dapat dilihat dari diagram alir berikut:Bentuk Umum dari pernyataan if-else:
if (kondisi) {
// pernyataan 1
}
else {
// pernyataan 2
}
Berikut ini contoh program untuk menentukan besarnya potongan dari pembelian barang dengan kriteria:
- Jika total pembelian kurang dari Rp. 50.000,- maka potongan yang diterima sebesar 5% dari total pembelian.
- Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.
/** * ------------------------------------- * Program5-3.cpp : * contoh penggunakan if-else * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { double tot_beli, potongan = 0, jum_bayar = 0; cout << "Total pembelian Rp. "; cin >> tot_beli; if ( tot_beli >= 50000 ) { potongan = 0.2 * tot_beli; } else { potongan = 0.05 * tot_beli; } cout << "Besarnya potongan Rp. " << potongan << endl; jum_bayar = tot_beli - potongan; cout << "Jumlah yang harus dibayarkan Rp . " << jum_bayar; getch(); }
Hasil Eksekusi:
Total pembelian Rp. 49000 Besarnya potongan Rp. 2450 Jumlah yang harus dibayarkan Rp . 46550
Pernyataan Nested if
Nested if merupakan pernyataan if yang berada di dalam pernyataan if yang lain. Bentuk penulisan pernyataan nested if adalah:
if (kondisi1) {
if (kondisi2)
{
// perintah
} else {
// perintah
}
}
else {
if (kondisi3) {
// perintah
} else {
// perintah
}
}
Contoh Kasus: Suatu perusahaan memberikan komisi kepada para salesman dengan ketentuan sebagai berikut:
- Bila salesman dapat menjual barang hingga Rp. 2.000.000, - maka akan diberikan uang jasa sebesar Rp. 500.000,- ditambah dengan uang komisi Rp. 10% dari pendapatan yang diperoleh hari itu.
- Bila salesman dapat menjual barang di atas Rp. 2.000.000, - maka akan diberikan uang jasa sebesar Rp. 500.000,- ditambah dengan uang komisi Rp. 15% dari pendapatan yang diperoleh hari itu.
- Bila salesman dapat menjual barang di atas Rp. 5.000.000, - maka akan diberikan uang jasa sebesar Rp. 1.000.000,- ditambah dengan uang komisi Rp. 20% dari pendapatan yang diperoleh hari itu.
** * ------------------------------------- * Program5-4.cpp : * contoh penggunakan nested if * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { long pendapatan, jasa = 0, komisi = 0, total = 0; cout << "Pendapatan hari ini Rp. "; cin >> pendapatan; if ( pendapatan > 0 && pendapatan <= 2000000) { jasa = 500000; komisi = 0.1 * pendapatan; } else { if ( pendapatan <= 5000000 ) { jasa = 500000; komisi = 0.15 * pendapatan; } else { jasa = 1000000; komisi = 0.2 * pendapatan; } } total = komisi + jasa; cout << "Uang jasa Rp. " << jasa << endl; cout << "Uang Komisi Rp. " << komisi << endl; cout << "------------------------------" << endl; cout << "Hasil Total Rp. " << total << endl; getch(); }
Hasil Eksekusi:
Pendapatan hari ini Rp. 3500000
Uang jasa Rp. 500000
Uang Komisi Rp. 524999
------------------------------
Hasil Total Rp. 1024999
Pernyataan if-else Majemuk
Bentuk dari if-else majemuk bertingkat sebenarnya mirip dengan nested if. Keuntungan penggunakan if-else bertingkat dibanding dengan nested if adalah bentuk penulisannya yang lebih sederhana.
if (kondisi1) {
// perintah 1
}
else if (kondisi2) {
// perintah 2
}
else {
// perintah N
}
Berikut ini adalah penyederhanaan dari kasus sebelumnya dengan menggunakan if-else majemuk.
/** * ------------------------------------- * Program5-5.cpp : * contoh penggunakan if-else majemuk * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { long pendapatan, jasa = 0, komisi = 0, total = 0; cout << "Pendapatan hari ini Rp. "; cin >> pendapatan; if ( pendapatan > 0 && pendapatan <= 2000000) { jasa = 500000; komisi = 0.1 * pendapatan; } else if ( pendapatan <= 5000000 ) { jasa = 500000; komisi = 0.15 * pendapatan; } else { jasa = 1000000; komisi = 0.2 * pendapatan; } total = komisi + jasa; cout << "Uang jasa Rp. " << jasa << endl; cout << "Uang Komisi Rp. " << komisi << endl; cout << "------------------------------" << endl; cout << "Hasil Total Rp. " << total << endl; getch(); }
Pernyataan switch - case
Pernyataan switch – case memiliki kegunaan yang sama seperti if – else bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer. Bentuk penulisannya seperti berikut:
switch (ekspresi) {
case kontanta-1:
// pernyataan 1
break;
case konstanta-2:
// perintah 2 break;
default:
// perintah
}
Contoh Program:
/** * ------------------------------------- * Program5-5.cpp : * contoh penggunakan switch-case * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { int nHari; cout << "Masukkan No Hari [1..7] : "; cin >> nHari; cout << "Ini adalah hari "; switch (nHari) { case 1: cout << "Ahad"; break; case 2: cout << "Senin"; break; case 3: cout << "Selasa"; break; case 4: cout << "Rabu"; break; case 5: cout << "Kamis"; break; case 6: cout << "Jum'at"; break; case 7: cout << "Sabtu"; break; default: cout << "Kiamat :))"; } getch(); }
Hasil Eksekusi:
Masukkan No Hari [1..7] : 5
Ini adalah hari Kamis
Pernyataan break menunjukkan siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan ke cabang-cabang yang lainnya.
Contoh Program:
/** * ------------------------------------- * Program5-5.cpp : * contoh penggunakan switch-case * ------------------------------------- **/ #include <iostream.h> #include <conio.h> void main() { char jkl; cout << "Gender Anda (L/P) : "; cin >> jkl; cout << "Anda adalah "; switch (jkl) { case 'p': case 'P': cout << "Perempuan"; break; case 'l': case 'L': cout << "Laki-laki"; break; default: cout << "Complecated"; } getch(); }
Hasil Eksekusi:
Gender Anda (L/P) : l
Anda adalah Laki-laki
Komentar
Posting Komentar
Kritik, Saran dan Komentar Kami tunggu