Percabangan Pada C++

|| || || Leave a komentar
PERCABANGAN DENGAN IF

Sebagai instruksi bersyarat, artinya instruksi tertentu hanya akan dieksekusi jika syarat tertentu dipenuhi pula.

Syntax :

Bentuk 1:

IF (kondisi)

{ statement yang dikerjakan
  jika kondisi benar
}

Ket: Jika kondisi salah, tidak akan mengerjakan apapun didalam instruksi IF (langsung menuju ke instruksi berikutnya)

Bentuk 2:

IF (kondisi)

{ statement yang dikerjakan
  jika kondisi benar
}
ELSE
{ statement yang dikerjakan
  Jika kondisi salah
}

Bentuk 3:

IF (kondisi1)

{ statement yang dikerjakan
  jika kondisi1 benar
}
ELSE

IF (kondisi2)

{ statement yang dikerjakan
  jika kondisi2 benar
}
ELSE
IF (kondisi3)
{ statement yang dikerjakan
  Jika kondisi3 salah
}
.
.
.
ELSE
{ statement yang dikerjakan
  Jika kondisi1 s.d kondisi-n salah (tidak terpenuhi)
}

Kondisi atau syarat harus ditulis dalam tanda kurung. Jika instruksi yang dikerjakan pada saat kondisi benar/salah masing-masing tidak lebih dari satu instruksi, maka tanda kurung kurawal buka/tutup bersifat optional (boleh digunakan, boleh tidak)

Dalam menuliskan kondisi/syarat selalu digunakan operator relasional sebagai sarana untuk melakukan proses pengecekan a. l:
Operator
Arti
Lebih besar
Lebih kecil
= =
Sama dengan
>=
Lebih atau sama
<=
Kurang atau sama
!=
Tidak sama dengan

Selain itu jika syarat yang digunakan lebih dari satu sering digunakan operator logika yakni :
Operator
Arti
&&
And
||
Or
!
Not

Contoh 1:
//penggunaan if
#include <iostream.h>
#include <conio.h>

main() {
  int a;
  cout<<"Masukkan nilai a = ";cin>>a;
  a=a+2;
  if (a>5)
     a=a-6;
  a=a+3;
  cout<<"\nNilai a sekarang = "<<a;
  getch();
}

Contoh diatas menggunakan if bentuk 1, jika kondisi/syarat (a>5) dipenuhi akan mengeksekusi instruksi a=a-6, tidak dipenuhi maka didalam instruksi if tidak mengerjakan apapun, langsung menuju instruksi setelah if.

Contoh 2:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
  float nmid, nujian;
  char ket,nama[20];
  cout<<"Menentukan lulus tidaknya mahasiswa\n";
  cout<<"-----------------------------------\n";
  cout<<"Nama mhs       : ";cin>>nama;
  cout<<"Nilai mid      : ";cin>>nmid;
  cout<<"Nilai ujian    : ";cin>> nujian;
  float  rata=(nmid+nujian)/2;
  if (rata >=60)
      ket='L';
  else
      ket='T';
  cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;
  cout<<"\nNilai rata-rata             : "<<rata;
  getch();
}

Contoh diatas menggunakan if bentuk 2, jika kondisi/syarat (rata>=60) dipenuhi maka akan mengerjakan instruksi dibawah if, tetapi jika tidak dipenuhi maka akan mengerjakan istruksi setelah else.

Instruksi percabangan dalam bentuk 2, ada yang dapat dituliskan dengan operator kondisi (?) seperti contoh berikut:

Contoh 3:
//program contoh penggunaan operator ?
#include <iostream.h>
#include <conio.h>
main ()
{
  float nmid, nujian;
  char ket,nama[20];
  cout<<"Menentukan lulus tidaknya mahasiswa\n";
  cout<<"-----------------------------------\n";
  cout<<"Nama mhs       : ";cin>>nama;
  cout<<"Nilai mid      : ";cin>>nmid;
  cout<<"Nilai ujian    : ";cin>> nujian;
  float  rata=(nmid+nujian)/2;
  ket=(rata>=60)?'L':'T';
  cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;
  cout<<"\nNilai rata-rata             : "<<rata;
  getch();
}

Contoh berikut menggunakan if bentuk 3, dimana ada banyak kondisi yang masing-masing punya instruksi tersendiri untuk dieksekusi.

Contoh 4:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
  float nmid, nujian;
  char ket,nama[20];
  cout<<"Menentukan lulus tidaknya mahasiswa\n";
  cout<<"-----------------------------------\n";
  cout<<"Nama mhs       : ";cin>>nama;
  cout<<"Nilai mid      : ";cin>>nmid;
  cout<<"Nilai ujian    : ";cin>> nujian;
  float  rata=(nmid+nujian)/2;
  if (rata >=60)
      ket='L';
  else
      ket='T';
  char nh;
  if (rata>=80)
     nh='A';
   else if (rata>=60)
     nh='B';
     else if (rata>=40)
       nh='C';
       else if (rata>=20)
         nh='D';
         else
           nh='E';
  cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;
  cout<<"\nNilai rata-rata             : "<<rata;
  cout<<"\nNilai huruf                 : "<<nh;
  getch();
}

Jika kondisi yang digunakan dalam percabangan bentuk 3 merupakan konstanta integer atau karakter, maka dapat tuliskan dengan instruksi switch.
Syntax:
switch (ekpresi)
{
              case konstanta_l:
                      pernyataan;
                      .
                      .
                      break;

              case konstanta_2:
                      pernyataan;
                      .
                      .
                      break;
              .
              .
              default:
                      pernyataan;
                      .
                      .
}

Kasus ada pada contoh 5, dituliskan dengan instruksi swicth pada contoh 6 :

Contoh 5:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
  char nh,nama[20],mk[20];
  cout<<"Mengubah nilai huruf menjadi angka\n";
  cout<<"-----------------------------------\n";
  cout<<"Nama mhs       : ";cin>>nama;
  cout<<"Mata kuliah    : ";cin>>mk;
  cout<<"Nilai huruf    : ";cin>> nh;
  int na;
  if (nh=='A')
     na=4;
   else if (nh=='B')
       na=3;
     else if (nh=='C')
         na=2;
       else if (nh=='D')
          na=1;
         else
           na=0;
  cout<<"\nNilai angka   : "<<na;
  getch();
}

Contoh 6:
/*program contoh penggunaan
perintah switch*/
#include <iostream.h>
#include <conio.h>
main ()
{
  char nh,nama[20],mk[20];
  cout<<"Mengubah nilai huruf menjadi angka\n";
  cout<<"-----------------------------------\n";
  cout<<"Nama mhs       : ";cin>>nama;
  cout<<"Mata kuliah    : ";cin>>mk;
  cout<<"Nilai huruf    : ";cin>> nh;
  int na;
  switch (nh)
  {  case 'A':
          na=4;
      break;
     case 'B':
          na=3;
      break;
     case 'C':
          na=2;
      break;
     case 'D':
          na=1;
      break;
     case 'E':
          na=0;
      break;
     default:
      cout<<"\nNilai yang anda masukkan salah";
  }
  cout<<"\nNilai angka   : "<<na;
  getch();
}
/[ 0 komentar Untuk Artikel Percabangan Pada C++]\

Posting Komentar