10/24/2011

Materi Algoritma : Percabangan


Salah satu permasalahan yang pasti ditemui dalam pembuatan program adalah suatu percabangan. Percabangan yang dimaksud adalah suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu.  Pada C++ jenis struktur yang digunakan untuk mengimplementasikan suatu percabangan ada dua yaitu: struktur if dan struktur switch.
 Statemen yang terdapat dalam sebuah blok percabangan akan dieksekusi jika kondisi yang didefinisikan terpenuhi (bernilai benar) Artinya jika kondisi tidak terpenuhi (bernilai salah) maka statemen tersebut tidak ikut dieksekusi atau akan diabaikan oleh compiler.

1.    Struktur satu kondisi (perintah if)
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi akan diperiksa. Pada konstruksi perintah if, C++ tidak memiliki kata kunci (keyword) then.
Bentuk umum:
if  (kondisi)
  pernyataan;
atau
if (kondisi)
{
  statemen1;
  statemen2;
 
}
Contoh:
  • if (detik == 60)
menit = menit + 1;
  • if (Angka %2 == 0)
cout<<”Bilangan genap”;
  • if (sisi  > 0)
{
          Luas = panjang * lebar;
          Isi = Luas*tinggi;
}
Kondisi digunakan untuk menentukan pengambilan keputusan, operator yang digunakan adalah relational dan logical operators.
Contoh program:
#include <iostream.h>
int main()
{
 int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//menampilkan teks jika nilai yang tersimpan lebih besar dari 0
if (nilai > 0)
cout<<“Nilai yang Anda masukkan adalah bilangan positif“;
return 0;
}

Hasil eksekusi program di atas bersifat dinamis artinya tidak setiap proses eksekusi program akan menghasilkan hasil yang sama.  Jika user memasukkan angka lebih besar dari 0 maka program ini akan menampilkan teks “Nilai yang Anda masukkan adalah bilangan positif”.
Selain itu kita juga bisa nenggunakan operator || dan && dalam menentukan sebuah ekspresi. Contoh program:
#include <iostream.h>
int main()
{
 int bilangan;
 char huruf;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>bilangan;
if ((bilangan > 0) && (bilangan < 10))
cout<<bilangan<<” lebih besar dari nol dan lebih kecil dari  sepuluh”;
//memasukkan huruf
cout<<“\n“;
cout<<”Masukkan sebuah huruf: “;
cin>>huruf;
if ((huruf == ‘A’) || (huruf == ‘a’) || (huruf == ‘I’) ||
(huruf == ‘i’) || (huruf == ‘U’) || (huruf == ‘u’) ||
(huruf == ‘E’) || (huruf == ‘e’) || (huruf == ‘O’) ||
(huruf == ‘o’))
{
 cout<<huruf<<” adalah huruf vokal”;
}
return 0;
}

2.    Struktur dua kondisi (perintah if – else)
Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan struktur yang hanya memiliki satu kondisi. Konsep ini sangat sederhana yaitu pada struktur jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian apabila kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah). Perintah ini memberikan satu alternatif dari dua kemungkinan.
Bentuk umum:
if (kondisi)
{
  statemen_jika_kondisi_terpenuhi;
}
else
{
 statemen_jika_kondisi_tidak_terpenuhi;
}

Contoh:
#include <iostream.h>
int main()
{
 int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai %2 == 0)
{
  cout<<nilai<<“adalah bilangan genap“;
}
else
{
  cout<<nilai<<“adalah bilangan ganjil“;
}
return 0;
}

3.    Struktur tiga kondisi (perintah multiple if – else)
Struktur ini merupakan struktur percabangan yang biasanyamembingungkan para programmer pemula. Percabangan jenis ini merupakan perluasan dari struktur yang memiliki dua kondisi diatas yaitu dengan menyisipkan satu atau lebih kondisi ke dalamnya.
Bentuk umum:
if (kondisi1)
{
  statemen_jika_kondisi1_terpenuhi;
}
else if (kondisi2)
{
 statemen_jika_kondisi2_terpenuhi;
}
        else if (kondisi3)
{
 statemen_jika_kondisi3_terpenuhi;
}
        ....
   else
{
 statemen_jika_semua_kondisi_tidak_terpenuhi;
}


Contoh program:
#include <iostream.h>
int main()
{
 int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
  cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
  cout<<nilai<<“ adalah bilangan negatif“;
}
else
{
  cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}

4.    Perintah switch
Perintah ini memiliki bentuk switch – case yang digunakan untuk pilihan berjumlah banyak. Perintah switch tidak dianjurkan pada pilihan yang melibatkan jangkauan nilai (range) tetapi dianjurkan pada pilihan berupa konstanta dan banyak misalnya untuk memilih menu.

Bentuk umum:
switch (pernyataan)
{
   case nilai_konstan1:
blok_pernyataan1;
         break;
   case nilai_konstan2:
         blok_pernyataan2;
         break;
  
   default;
         blok_pernyataan_alternatif;
}

Keterangan:
Tipe data dari pernyataan harus bilangan bulat atau karakter.
Default berguna untuk mengekspresikan statemen alternatif yaitu jika nilai yang kita masukkan tidak sesui dengan nilai-nilai konstan yang telah didefinisikan.
Statemen break berfungsi sebagai statemen peloncatan.
Contoh program:
#include <iostream.h>
int main()
{
int bil;
cout<<"Masukkan sebuah angka (1 .. 7):";
cin>>bil;
switch (bil)
{
case 1:
cout<<"Hari ke-"<<bil<<"adalah  MINGGU";
break;
case 2:
cout<<"Hari ke-"<<bil<<" adalah  SENIN";
break;
case 3:
cout<<"Hari ke-"<<bil<<"adalah  SELASA";
break;
case 4:
cout<<"Hari ke-"<<bil<<"adalah  RABU";
break;
case 5:
cout<<"Hari ke-"<<bil<<"adalah  KAMIS";
break;
case 6:
cout<<"Hari ke-"<<bil<<"adalah  JUMAT";
break;
case 7:
cout<<"Hari ke-"<bil<<"adalah  SABTU";
break;
}
return 0;
}

1 komentar:

Unknown mengatakan...

sangat membantu bagi saya

Posting Komentar