Friday, 13 March 2015

Percabangan C++


1.  IF-tunggal
Digunakan pada saat kita dihadapkan pada satu kasus saja. Misalnya menentukan bilangan genap.


Bentuk umum penulisan:
IF (kondisi) THEN pernyataan;

Contoh:
Jika anda membeli rokok maka akan medapatkan bonus korek api,
Bentuk penulisannya adalah :
                IF beli = rokok THEN bonus korekapi;


2.  IF - ELSE
Jika kita dihadapkan dengan dua kasus dapat digunakan IF-Then-Else.

Bentuk umum penulisan:
IF (kondisi) THEN
Pernyataan1;
ELSE
Pernyataan2;

Pada saat kondisi terpenuhi (bernilai True), maka akan dilakukan pernyataan 1. Tetapi jika kondisi tidak terpenuhi (bernilai False), maka akan melakukan pernyataan dibawah ELSE yaitu pernyataan 2.

Contoh:

Jika anda membeli 10 bungkus rokok, maka akan mendapatkan bonus 1 bungkus rokok. Jika tidak maka tidak dapat bonus.


Bentuk penulisannya adalah :
                IF beli = 10 bungkus rokok THEN
bonus = 1 bungkus rokok;
                ELSE
Bonus = 0;



3.  IF MAJEMUK
Jika kita dihadapkan pada kondisi dengan 3 masalah atau lebih.

Bentuk umum penulisan:
IF (kondisi 1) THEN
Pernyataan1;
ELSE IF (kondisi 2) THEN
Pernyataan2;
ELSE IF (kondisi 3) THEN
Pernyataan3;
ELSE
Pernyataan4;

Contoh:
Terdapat Tabel sistem penilaian sebagai berikut :

Bentuk Penulisannya adalah :
IF nilai >=80 THEN
Grade = ‘A’;
ELSE IF nilai >= 70 THEN
Grade = ‘B’;
ELSE IF nilai >=56 THEN
Grade = ‘C’;
ELSE IF nilai >= 40 THEN
Grade = ‘D’;
ELSE
Grade = ‘E’;

4.  CASE
Bentuk penulisan IF-Majemuk dapat disederhanakan menggunakan perintah CASE. Dengan CASE, percabangan disajikan seperti pemilihan menu sehingga bentuk penulisannya lebih mudah dan sederhana.

Bentuk umum penulisan:
CASE ekspresi OF
Nilai 1 : pernyataan 1;
                Nilai 2 : pernyataan 2;
                Nilai 3 : pernyataan 3;
.
.
.
Nilai n : pernyataan n;
ELSE
Pernyataan x;
END;


Contoh:
mencetak nama-nama hari dalam seminggu.
             
Bentuk Penulisannya adalah :
              CASE nomor_hari OF
                        1 : Writeln (‘Senin’);
                        2 : Writeln (‘Selasa’);
                        3 : Writeln (‘Rabu’);
                        4 : Writeln (‘Kamis’);
                        5 : Writeln (‘Jumat’);
                        6 : Writeln (‘Sabtu’);
                        7 : Writeln (‘Minggu’);
            ELSE
                        Writeln (‘Angka yang anda masukkan salah!’);
            END;


5.  NESTED - IF
Pada permasalah percabangan dengan kondisi bertingkat, kita dapat menggunakan If-bersarang (nested-IF). Secara umum, if bersarang adalah if yang didalamnya terdapat if. Sehingga kondisinya bertingkat yang harus dipenuhi untuk melakukan sebuah pernyataan.


Bentuk umum penulisan:
IF (kondisi 1) THEN
                IF (kondisi 1a) THEN
Pernyataan1;
ELSE
Pernyataan2;
ELSE
IF (kondisi 2a)  THEN
Pernyataan1;
ELSE
Pernyataan2;


Contoh soal :
Suatu perusahaan memberikan komisi kepada para selesman dengan ketentuan sebagai berikut:

  • Bila salesman dapat menjual barang hingga Rp. 20.000 ,- , akan diberikan uang jasa sebesar Rp. 10.000 ditambah dengan uang komisi Rp. 10% dari pendapatan yang diperoleh hari itu.
  • Bila salesman dapat menjual barang diatas Rp. 20.000 ,- , akan diberikan uang jasa sebesar Rp. 20.000 ditambah dengan uang komisi Rp. 15% dari pendapatan yang diperoleh hari itu. 
  • Bila salesman dapat menjual barang diatas Rp. 50.000 ,- , akan diberikan uang jasa sebesar Rp. 30.000 ditambah dengan uang komisi Rp. 20% dari pendapatan yang diperoleh hari itu.


Jawaban dalam pemrograman C++:


#include<conio.h>
#include<iostream.h>
main()
{
float pendptan, jasa=0, komisi=0, total=0;
clrscr();
cout<<"Pendapatan Hari ini Rp. ";
cin>>pendptan;
if (pendptan >= 0 && pendptan <= 200000)
{
jasa=10000;
komisi=0.1*pendptan;
}
else
{
if(pendptan<=500000)
{
jasa=20000;
komisi=0.15*pendptan;
}
else
{
jasa=30000;
komisi=0.2*pendptan;
}
}
/* menghitung total */
total = komisi+jasa;
cout<<"Uang Jasa Rp. "<<jasa<<endl;
cout<<"Uang Komisi Rp. "<<komisi<<endl;
cout<<"============================="<<endl;
cout<<"Hasil Total Rp. "<<total<<endl;
getch();
}


No comments:

Post a Comment