Percabangan

PERCABANGAN
 
 Percabangan adalah cara yang digunakan dalam program untuk mengambil keputusan ke satu kemungkinan True atau False dari beberapa kondisi.
Didalam pemrograman kita harus dapat menentukan aksi apa yang harus dikerjakan oleh pemroses (processor) ketika sebuah kondisi terpenuhi, dengan menggunakan operasi logik
Ø  Contoh
Int a=10;
a < 5
Percabangan yang digunakan pada bahasa pemrograman khususnya bahasa C++, terdapat 2 metode. 1. If- else 2. Switch-case.
     Macam-macam Percabangan
1.       If-else
Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara banyak pernyataan yang ada.  Statement if digunakan untuk melakukan proses percabangan di dalam program.
Statement If
Statement if digunakan untuk melakukan proses percabangan didalam program.
Contoh expresi
If a = 10 then    
{
Aksi yang dilakukan
}
Notasi Algoritmik Statement If
if kondisi then
 aksi
Endif
Contoh Di Bahasa Pemrograman
Contoh di bahasa pemrograman C++
if nama_matakuliah==“algoritma”
{
       printf(“selamat datang di mata kuliah algoritma”);
}
Percabangan If Dengan 2 Kondisi
If kondisi 1 then
{
   aksi 1;
}
If kondisi 2 then
{
    aksi 2;
}
Else
{
    aksi yang dilakukan ketika nilai if diatas tidak menghasilkan nilai true;
}
 
Contoh (notasi algortimik)
PROGRAM MENCARI PROGRAM
{ MENCARI NILAI DARI SEBUAH VARIABEL }
DEKLARASI
X=INT;
ALGORITMA
Read (x)         
If (x>0) then
            write (“bilangan adalah bilangan bulat positif”);
End if
If (x<0)
            write (“bilangan adalah bilangan bulat negatif”);
End if
Else
            write (“maaf nilai variabel yang anda masukkan adalah salah”);
End if
 
Lebih dari 3 Kondisi
if kondisi 1 then
Aksi 1
end if
else
            if kondisi 2 then
                        aksi 2
                        end if
ef kondisi 3 then
                        aksi 3
end if
else
              kondisi default
end if
Contoh
                    Menentukan bilangan terbesar
Int a,b,c;
        if (a >= b ) and (a >=b) then
write (“bilangan terbesar adalah a”)
end if
if (b >= a) and (b>= c) then
write (“bilangan terbesar adalah b”)
end if
if (c>=a) and (c>=b) then
write  (“bilangan terbesar adalah c”)
end if
else
        write (“bilangan yang anda masukkan adalah salah”)
end if
      
2. Switch-case
              Bentuk dari switch - case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian.
Percabangan Case
·         Struktur statement if dan else menjadi sangat panjang ketika, banyak kondisi yang harus dievaluasi. Contoh
 
Contoh konversi angka ke teks
  read angka
  if (angka=1 ) then
  write (‘satu’)
  end if
  else
  If (angka=2) then
  write (‘dua’)
  end if
  If (angka=3) then
  write (‘tiga’)
  end if
  If (angka=4)then
  write (‘empat’)
  end if
  else
  write (‘anda memasukkan bukan angka’);
  end if
 
Percabangan case (notasi algoritmik)
  read angka
  case angka
  1 : write(‘satu’)
  2 : write(‘dua’)
  3 : write(‘tiga’)
  4 : write(‘empat)
  Otherwise : write (“angka yang anda masukkan adalah salah’)
  End case
 
If vs case
  Menggunakan if jika kondisi yang akan dievaluasi jumlah nya sedikit
  Menggunakan case jika kondisi yang akan dievaluasi jumlahnya lebih banyak
 
Contoh program
1.      Untuk menentukan bilangan terbesar, bilangan terkecil, rata-rata.

{
int a,b,c,d,e,f,g,h,i,j;
    float rata_rata;
    printf("masukkan nilai A :");
    scanf("%d",&a);
    printf("masukkan nilai B :");
    scanf("%d",&b);
    printf("masukkan nilai C :");
    scanf("%d",&c);
    printf("masukkan nilai D :");
    scanf("%d",&d);
    printf("masukkan nilai E :");
    scanf("%d",&e);
    printf("masukkan nilai F :");
    scanf("%d",&f);
    printf("masukkan nilai G :");
    scanf("%d",&g);
    printf("masukkan nilai H :");
    scanf("%d",&h);
    printf("masukkan nilai I :");
    scanf("%d",&i);
    printf("masukkan nilai J :");
    scanf("%d",&j);
   

if((a>=b)&&(a>=c)&&(a>=d)&&(a>=e)&&(a>=f)&&(a>=g)&&(a>=h)&&(a>=i)&&(a>=j))
    {
        printf("Nilai terbesar adalah A\n",a);
    }
    //============================== (A)
   
    if((b>=a)&&(b>=c)&&(b>=d)&&(b>=e)&&(b>=f)&&(b>=g)&&(b>=h)&&(b>=i)&&(b>=j))
    {
        printf("Nilai terbesar adalah B\n",b);
    }
    //============================== (B)
   
    if((c>=b)&&(c>=a)&&(c>=d)&&(c>=e)&&(c>=f)&&(c>=g)&&(c>=h)&&(c>=i)&&(c>=j))
    {
        printf("Nilai terbesar adalah C\n",c);
    }
    //=============================== (C)
    if((d>=a)&&(d>=b)&&(d>=c)&&(d>=e)&&(d>=f)&&(d>=g)&&(d>=h)&&(d>=i)&&(d>=j))
    {
        printf("Nilai terbesar adalah D\n",d);
    }
    //=============================== (D)
    if((e>=a)&&(e>=b)&&(e>=c)&&(e>=d)&&(e>=f)&&(e>=g)&&(e>=h)&&(e>=i)&&(e>=j))
    {
        printf("Nilai terbesar adalah E\n",e);
    }
    //=============================== (E)
    if((f>=a)&&(f>=b)&&(f>=c)&&(f>=d)&&(f>=e)&&(f>=g)&&(f>=h)&&(f>=i)&&(f>=j))
    {
        printf("Nilai terbesar adalah F\n",f);
    }
    //=============================== (F)
if((g>=a)&&(g>=b)&&(g>=c)&&(g>=d)&&(g>=e)&&(g>=f)&&(g>=h)&&(g>=i)&&(g>=j))
    {
        printf("Nilai terbesar adalah G\n",g);
    }
    //=============================== (G)
if((h>=a)&&(h>=b)&&(h>=c)&&(h>=d)&&(h>=e)&&(h>=f)&&(g>=h)&&(g>=i)&&(g>=j))
    {
        printf("Nilai terbesar adalah H\n",h);
    }
    //=============================== (H)
if((i>=a)&&(i>=b)&&(i>=c)&&(i>=d)&&(i>=e)&&(i>=f)&&(i>=g)&&(i>=h)&&(i>=j))
    {
        printf("Nilai terbesar adalah I\n",i);
    }
    //=============================== (I)
if((j>=a)&&(j>=b)&&(j>=c)&&(j>=d)&&(j>=e)&&(j>=f)&&(j>=g)&&(j>=h)&&(j>=i))
    {
        printf("Nilai terbesar adalah J\n",j);
    }
    //=============================== (J)

//***************************************************************************
   
if((a<=b)&&(a<=c)&&(a<=d)&&(a<=e)&&(a<=f)&&(a<=g)&&(a<=h)&&(a<=i)&&(a<=j))
    {
        printf("Nilai terkecil adalah A\n",a);
    }
    //============================== (A)
   
    if((b<=a)&&(b<=c)&&(b<=d)&&(b<=e)&&(b<=f)&&(b<=g)&&(b<=h)&&(b<=i)&&(b<=j))
    {
        printf("Nilai terkecil adalah B\n",b);
    }
    //============================== (B)
   
    if((c<=b)&&(c<=a)&&(c<=d)&&(c<=e)&&(c<=f)&&(c<=g)&&(c<=h)&&(c<=i)&&(c<=j))
    {
        printf("Nilai terkecil adalah C\n",c);
    }
    //=============================== (C)
    if((d<=a)&&(d<=b)&&(d<=c)&&(d<=e)&&(d<=f)&&(d<=g)&&(d<=h)&&(d<=i)&&(d<=j))
    {
        printf("Nilai terkecil adalah D\n",d);
    }
    //=============================== (D)
    if((e<=a)&&(e<=b)&&(e<=c)&&(e<=d)&&(e<=f)&&(e<=g)&&(e<=h)&&(e<=i)&&(e<=j))
    {
        printf("NilaiNilai terkecil adalah E\n",e);
    }
    //=============================== (E)
    if((f<=a)&&(f<=b)&&(f<=c)&&(f<=d)&&(f<=e)&&(f<=g)&&(f<=h)&&(f<=i)&&(f<=j))
    {
        printf("Nilai terkecil adalah F\n",f);
    }
    //=============================== (F)
if((g<=a)&&(g<=b)&&(g<=c)&&(g<=d)&&(g<=e)&&(g<=f)&&(g<=h)&&(g<=i)&&(g<=j))
    {
        printf("Nilai terkecil adalah G\n",g);
    }
    //=============================== (G)
if((h<=a)&&(h<=b)&&(h<=c)&&(h<=d)&&(h<=e)&&(h<=f)&&(g<=h)&&(g<=i)&&(g<=j))
    {
        printf("Nilai H=%d, lebih kecil dari A,B,D,E,F,G,H,I, dan J\n",h);
    }
    //=============================== (H)
if((i<=a)&&(i<=b)&&(i<=c)&&(i<=d)&&(i<=e)&&(i<=f)&&(i<=g)&&(i<=h)&&(i<=j))
    {
        printf("Nilai terkecil adalah I\n",i);
    }
    //=============================== (I)
if((j<=a)&&(j<=b)&&(j<=c)&&(j<=d)&&(j<=e)&&(j<=f)&&(j<=g)&&(j<=h)&&(j<=i))
    {
        printf("Nilai terkecil adalah J\n",j);
    }
float x;
x=(a+b+c+d+e+f+g+h+i+j)/10;
printf("rata_rata = %f\n",x);
Maka outputnya:
2.      Switch-case
int bulan;
printf("Masukkan bulan : ");
scanf("%d", &bulan);

switch (bulan)
{
case 1:
printf("Januari");
break;
case 2:
printf("Februari");
break;
case 3:
printf("Maret");
break;
case 4:
printf("April");
break;
case 5:
printf("Mei");
break;
case 6:
printf("Juni");
break;
case 7:
printf("Juli");
break;
case 8:
printf("Agustus");
case 9:
printf("September");
break;
case 10:
break;
printf("Oktober");
break;
case 11:
printf("November");
break;
case 12:
printf("Desember");
break;

default :
printf("Bukan bulan");
break;

}
Maka outputnya:
 

Komentar