Minggu, 22 Mei 2016

Percabangan



Percabangan C++



Percabangan adalah suatu pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan atas kondisi tertentu untuk mengarahkan perjalanan suatu proses. Artinya statemen yang terdapat pada suatu blok percabangan akan dieksekusi jika kondisi yang didefinisikan terpenuhi (bernilai benar) tetapi jika kondisi tersebut tidak terpenuhi (bernilai salah) maka statemen tersebut tidak akan dieksekusi atau diabaikan oleh compiler.
Dalam menuliskan kondisi/syarat selalu digunakan operator relasional sebagai sarana untuk melakukan proses pengecekan :
Pada bahasa pemrograman C++ ada dua jenis struktur yang digunakan untuk mengimplementasikan suatu percabangan, yaitu : if dan switch case.
  • Struktur IF
a.Struktur satu kondisi IF
 
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah ekspresi yang akan diperiksa. Jika kondisi salah, tidak akan mengerjakan apapun didalam instruksi IF (langsung menuju ke instruksi berikutnya). Strukturnya yaitu :

//jika hanya terdiri satu statemen

if (kondisi)
statemen;

/*jika terdapat lebih dari satu statemen maka penulisan statemen harus berada dalam Kurung kurawal {} */

if (kondisi)

{statemen1;
statemen2;
......
Statemen_n;}












 
Contoh program :

#include<iostream.h>
#include<conio.h>


main(){
int nilai;


cout<<”Masukkan Nilai = ”; cin>>nilai;


if (nilai>0)


cout<<”Nilai yang anda inputkan bilangan positif”;


getch();}

b. Struktur dua kondisi

Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan struktur yang hanya memiliki satu buah kondisi. Karena dalam struktur ini memiliki dua statemen yaitu statemen yang akan dikerjakan jika kondisi bernilai benar atau terpenuhi dan statemen yang akan dikerjakan jika kondisi tersebut bernilai salah atau tidak terpenuhi.adapun strukturnya yaitu :

if (kondisi)

{statemen_jika_kondisi_terpenuhi; }

else

{statemen_jika_kondisi_tidak_terpenuhi;}








Contoh Program :

#include<iostream.h>
#include<conio.h>


main(){

int nilai;

cout<<"Masukkan Nilai = ";cin>>nilai;


if (nilai % 2 == 0)


cout<<"Nilai yang anda inputkan adalah bilangan genap";


else


cout<<"Nilai yang anda inputkan adalah bilangan ganjil";


getch();}



c. Struktur tiga kondisi atau lebih

Percabangan jenis ini merupakan perluasan dari struktur percabangan dengan satu dan dua kondisi. Karena dalam struktur ini memiliki lebih dari dua statemen yaitu statemen. Strukturnya yaitu:

if (kondisi_1)

statemen_jika_kondisi_1_terpenuhi;

else if (kondisi_2)

statemen_jika_kondisi_2_terpenuhi;

else if (kondisi_3)

statemen_jika_kondisi_3_terpenuhi;

else

statemen_jika_semua_kondisi_diatas_tdk_terpenuhi;



















Contoh Program :

#include<iostream.h>
#include<conio.h>


main(){
int bil;


cout<<"Masukkan Bilangan yang akan dicek = ";


cin>>bil;


if (bil > 0)


cout<<bil<<" adalah bilangan Positif";


else if (bil < 0)


cout<<bil<<" adalah bilangan Negatif";


else


cout<<"Anda mengInputkan bilangan Nol (0)";


getch();}

  • Switch case default
Perintah ini digunakan sebagai alternatif pengganti dari sintak if secara sederhana dimana alternatif pilihan bisa lebih dari satu. Selain menggunakan struktur if, C++ juga mempunyai percabangan dengan menggunakan switch. Pada dasarnya percabangan menggunakan struktur if dan switch sama hanya saja switch-case digunakan untuk pilihan berjumlah banyak dan perintah switch-case ini tidak bisa digunakan untuk pilihan yang melibatkan jangkauan nilai atau range tetapi hanya bisa digunakan untuk pilihan berupa konstanta, misalnya untuk menu pilihan.
Karakteristik switch-case adalah :
1. Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstantakonstanta yang berada di case.
2. Pembandingan akan dimulai dari konstanta 1 sampai konstanta terakhir._ Jika hasil dari kondisi sama dengan nilai konstanta tertentu, misalnya konstanta 1, maka pernyataan 1 akan dijalankan sampai ditemukan break.
3. Pernyataan break azan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan.
Bentuk umum struktur percabangan switch yaitu:

switch (ekspresi)

{

case nilai_konstanta1 :

statemen(pernyataan);

break;

case nilai_konstanta2 :

statemen(pernyataan);

break;

…….

default :

statemen(pernyataan)_alternatif;


}






 Contoh Program :
 
#include <iostream.h>
#include <conio.h>


main() {
int a;


cout<<"Masukkan bilangan : "; cin >>a;


switch (a){


case 1 : cout<<"Hari ke "<<a<<" : Minggu";


break;


case 2 : cout<<"Hari ke "<<a<<" : Senin";


break;


case 3 : cout<<"Hari ke "<<a<<" : Selasa";


break;


case 4 : cout<<"Hari ke "<<a<<" : Rabu";


break;


case 5 : cout<<"Hari ke "<<a<<" : Kamis";


break;


case 6 : cout<<"Hari ke "<<a<<" : Jum'at";


break;


case 7 : cout<<"Hari ke "<<a<<" : Sabtu";


break;


default :cout<<"Tidak terdapat hari ke "<<a;}


getch();}

Perulangan



Program C++ PERULANGAN 

 

A. PERULANGAN

Dalam C++ perulangan digunakan untuk menjalankan satu perintah atau lebih, dan dilakukan secara berulang selama kondisi tertentu.

Secara umum perulangan terdiri dari 3 komponen, dengan kata lain memiliki 3 ciri khas :
  1. Nilai Awalyang berfungsi sebagai inisialisasi.
  2. Perubah Nilai, untuk menentukan berapa kali jumlah perulangan akan dikerjakan.
  3. Syarat, sebuah pernyataan / kondisi tertentu guna mengambil keputusan eksekusi program.

Ada beberapa jenis perulangan yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • for
  • do…while
  • while

Sementara itu, untuk studIKasus di atas saya akan menggunakan while, sehingga program akan dieksekusi selama while tertentu, adapun cara penulisannya sbb :
while ( syarat ) {
pernyataan ke-n;
Perubah Nilai;
}


Contoh :
while (i <= 10) {
if (i%2 == 0) {
cout << i << " ";
i++;
}
}

B. KEYWORD

Dalam pemrograman C++ keyword digunakan untuk membentuk fungsi tertentu, sedangkan cara pendeklarasiannya berbeda – beda, sebab ada beberapa keyword yang perlu #include <file> agar bisa dikenali oleh compiler, namun ada juga yang tidak perlu.

Ada beberapa jenis keyword yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • break
  • continue
  • goto
  • gotoxy
  • exit
Namun dikarenakan kita dihimbau untuk mengacu pada pemrograman terstruktur maka, kita upayakan untuk menghindari goto sejauh-jauhnya.
Sementara itu, untuk studi kasus diatas saya akan coba menggunakan break dan exit ;

Break
Digunakan untuk keluar dari suatu statement baik berupa pengecekan maupun perulangan, namun paling sering digunakan pada percabangan switch – case, sehinga break digunakan untuk keluar dari case. Cara penulisan bisa melihat pada contoh struktur switch – case.
Exit
Merupakan pernyataan yang berfungsi untuk keluar dari program dan pernyataan ini memerlukan sebuah #include <stdlib.h> pada header, sehingga pernyataan dapat dibaca oleh compiler. Adapun cara dpenulisannya sebagai berikut :
exit(7); maka memiliki pengertian bahwa fungsi exit diberi nilai 7, sehingga jika kita memasukan nilai 7 maka program akan keluar.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 
 
void main() {
pernyataan1;
pernyataan1;
exit(7);
}

Penyelesaian :

IF-ELSE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
    unsigned int pilihan;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;
    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
     if (pilihan== 1) {
     cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
     float r;
     cout << "Masukan jari-jari            : "; cin >> r;
    float Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 2){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
     float p;
     cout << "Masukan Panjang              : "; cin >> p;
      float l;
      cout << "Masukan Lebar                : "; cin >> l;
    float Lp = p*l;
     cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 3){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
     float a;
     cout << "Masukan Alas                 : "; cin >> a;
      float t;
      cout << "Masukan Tinggi               : "; cin >> t;
    float Ls = 0.5*a*t;
     cout << "Luas Segitiga                : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan==4) {
      exit(4);
      }
      else {
      cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
      }
      }
 
    getch();
}



SWITCH-CASE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
  unsigned int pilihan;
   float r, Ll, p, l, Lp, a, t, Ls;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;
 
    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
    switch(pilihan) {
     case 1:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
      cout << "Masukan jari-jari            : "; cin >> r;
      Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 2:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
      cout << "Masukan Panjang              : "; cin >> p;
      cout << "Masukan Lebar                : "; cin >> l;
      Lp = p*l;
      cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 3:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
      cout << "Masukan Alas                 : "; cin >> a;
      cout << "Masukan Tinggi               : "; cin >> t;
      Ls = 0.5*a*t;
      cout << "Luas Segitiga                 : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 4:
      exit(4);
         break;
      default:
       cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
   }
   }
 
  getch();
}