Laman

Minggu, 20 Oktober 2013

Penggunaan IF Dalam C++


Seperti halnya Pascal, perintah IF dalam C++ juga digunakan untuk menyatakan pernyataan kondisional (bersyarat). Belajar C++ khususnya tentang perintah IF membutuhkan logika atau pemikiran yang teliti dari seorang programmer sebelum menuliskan baris per baris kode program untuk menyelesaikan masalah yang ada. Perintah IF biasanya merupakan perintah pertama yang dipelajari setelah mengenal syntax-syntax dasar bahasa pemrograman, mengenal tipe data, konstanta, variable, mengenal operator dan lain-lain

Perintah atau pernyataan IF mengandung arti :

Jika kondisi bernilai benar, maka perintah akan dikerjakan.
Jika kondisi bernilai salah, maka perintah tidak akan dilaksanakan


Dari arti IF tersebut bila digambarkan dalam diagram alir (flowchart) seperti berikut ini :

Pernyataan if sederhana if (kondisi) pernyataan. Kodisi digunakan untuk menentukan pengambilan keputusanPernyataan dapat berupa sebuah pernyataan ataupun sebuahpernyataan majemuk.Bagian ini dijalankan kalau kondisi bernilai benar.
                    Syntaks sederhana IF sebagai berikut:

  if (kondisi)
  statement;

Statement pada sintaks di atas akan dilakukan jika kondisinya bernilai TRUE (tidak sama dengan nol).

Apabila statement yang akan dilakukan lebih dari satu, maka sintaksnya menjadi,

  if (kondisi)
  {
  statement1;
  statement2;
  .

  .

  }

Contoh sederhana penggunaan IF adalah untuk menentukan boleh tidaknya seseorang melihat film bioskop. Seseorang diperbolehkan menonton jika usianya 17 tahun ke atas. Berikut ini program C++ nya:

  #include<iostream.h>
  #include<conio.h>
  void main()
  {
  int usia;
  clrscr();
  cout << “Berapa usia Anda : “;
  cin >> usia;
  if (usia < 17)
  cout << “Anda tidak boleh menonton bioskop”;
  }

Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam : if saja dan else
Statement IF jika ditambahkan ELSE sebagai konsekuensi alternatif jika kondisi tidak dipenuhi (FALSE). Sintaksnya,
if (kondisi)
{
statement1;
statement2;
.
.
}
else {
statement1;
statement2;
}
Anda dapat modifikasi program C++ untuk menentukan boleh tidaknya seseorang menonton bioskop seperti di bawah ini:
#include<ioestream.h>
#include<conio.h>
void main()
{
int usia;
clrscr();
cout << “Berapa usia Anda : “;
cin >> usia;
if (usia < 17)
cout << “Anda tidak boleh menonton bioskop”;
else cout << “Anda boleh menonton bioskop”;
}

Pernyataan if di dalam if . Pernyataan if yang terletak di dalam if sering disebut nested if atau if bersarang. Bentuk penggunaanya adalah sebagai berikut :
if(kondisi1) Pernyataan1;
else if(kondisi2) Pernyataan2;
else if(kondisi3) Pernyataan3;
else if(kondisiN) pernyataanN;
else //optional pernyataanM; //optional
Contoh program
#include<iostream.h>
#include<conio.h>
void main()
{
int kode_hari;
clrscr();
cout <<"“## Menentukan Hari ##" << endl;
cout << "1=Senin 3=Rabu 5=Jumat 7=Minggu" << endl;
cout << "2=Selasa 4=Kamis 6=Sabtu" << endl;
cout << "Kode Hari : "; cin >> kode_hari;//proses seleksi else if(kode_hari==4) if(kode_hari==1)
cout << "Kamis" << endl;
cout << "Senin"<< endl; else if(kode_hari==5) else if(kode_hari==2)
cout << "Jumat" << endl;
cout << "Selasa" << endl; else if(kode_hari==6) else if(kode_hari==3)
cout <<"Sabtu" << endl;
cout<< "Rabu" << endl; else if(kode_hari==7) cout <<"Minggu" << endl;
else cout << "Kode Hari Salah" << endl;
getch();
}

Untuk menyatakan kondisi (syarat) yang akan dicek pada IF, Anda dapat menggunakan operator logika dan operator relasional. Perhatikan contoh di bawah ini!
if ((a >= 2) && (b == 3))
{
.
.
}
Jangan Anda tuliskan
if (a >= 2) && (b == 3)
{
.
.
}
atau
if ((a >= 2) && (b = 3))
{
.
.
}

Perintah b = 3 merupakan assignment bukan relasional.
Catatan penting: C++ selalu memperlakukan nilai tidak sama dengan nol sebagai TRUE dan nilai nol sama dengan FALSE. Oleh karena itu, dua perintah di bawah ini adalah identik.
if (bil % 2 != 0)
cout << “Bilangan ganjil”;
if (bil % 2)
cout << “Bilangan ganjil”

Selain itu, IF juga dapat berbentuk seperti di bawah ini.
if (kondisi1)
statement1;
else if (kondisi2)
statement2;
else if (kondisi3)
statement3;
.
.
else statement;


contoh progaram penggunaan if dalam C++
1
#include<iostream.h>
#include<conio.h>
main()
{
char kode[20],*naper,*merk;
cout<<"Masukkan  kode Perangkat :";cin>>kode;
if((kode[0]=='L'&&kode[1]=='G')||(kode[0]=='l'&&kode[1]=='g'))
{
    naper="Komputer";
    merk="LG";                                                        
}
else if ((kode[0]=='H'&&kode[1]=='P')||(kode[0]=='h'&&kode[1]=='p'))
{
    naper="Handphone";
    merk="Nokia";
}
else
{
    naper="Tidak Terdaftar";
    merk="Tidak Ada";

}
cout<<"\nkode perangkat :"<<kode;
cout<<"\nNama perangkat :"<<naper;
cout<<"\nMerk        :"<<merk;
}

2
#include <conio.h>
#include <iostream>
using namespace std;
main(){
int tahun;
char x;
cout<<"Masukkan Tahun: ";
cin>>tahun;
if (tahun%4==0&&tahun<0){cout<<"Tahun "<<tahun<<" adalah tahun kabisat sebelum masehi";
}
else if(tahun%4!=0&&tahun<0)
{
cout<<"Tahun "<<tahun<<" adalah bukan tahun kabisat sebelum masehi";
}
else if (tahun%4==0){
cout<<"Tahun "<<tahun<<" adalah tahun kabisat";
}
else
{
 cout<<"Tahun "<<tahun<<" adalah bukan tahun kabisat";
}
getch();

}
3
Suatu perusahaan memberikan komisi pada para salesman dengan ketentuan sebagai berikut: Bila salesmen dapat menjual barang hingga Rp.200.000,- maka 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.200.000 maka akan diberikan uang jasa sebesar Rp.20.000,- ditambah dengan uang komisi Rp.10% dari pendapatan yg diperoleh hari itu. Bila salesman dapat menjual barang diatas Rp.500.000,-,akan diberikan uang jasa sebesar Rp.30.000,- ditambah dengan uang komisi Rp.20% dari pendapatan yg diperoleh hari itu.Buatlah program untuk menghitung komisi yg akan didapatkan oleh salesmen tersebut.
#include<conio.h> else
#include<iostream.h>
{
void main()
jasa=30000;{ komisi=0.2*pndptn; float pndptn, jasa=0, komisi=0, }total=0; //menghitung totalchar ulang=‘Y’;
total=komisi+jasa;while(ulang==‘Y’ || ulang==‘y’)
cout<<"Uang jasa Rp. "<<jasa<<endl;
{ cout<<"Uang Komisi Rp.clrscr(); "<<komisi<<endl;
cout<<"pendapatan hari ini Rp. "; cin>>pndptn;
cout<<"===================== if(pndptn>=0 && pndptn<=200000) ============"<<endl;
{ cout<<"Hasil total Rp. "<<total<<endl; jasa=10000;
 cout<<“tambah data[Y/T]?”; komisi=0.1*pndptn;
Ulang=getche(); }
 }
 else if (pndptn<=500000)
 }
 { jasa=20000; komisi=0.15*pndptn;}






Penggunaan Case  Dalam C++

Di C++ banyak terdapat jenis statement-statement untuk percabangan.
Antara lain menggunakan IF-ELSE dan yang kita bahas sekarang SWITCH-CASE.
Kontruksi If-Else yang bertingkat-tingkat seringkali membingungkan pembacaan alur program. Bahasa C++ menyediakan intruksi Switch
untuk memudahkan pembacaan alur program bercabang yang sangat banyak. meskipun Switch didesain untuk mengganti If-Else, akan tetapi Switch memiliki batasan:
  1. Data yang diperiksa haruslah bertipe Integer (int) atau Karakter (char).
  2. Range data yang diperiksa bernilai 0 s/d 255.
Bentuk dari Switch-case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch - case ini memiliki kegunaan sama seperti if – else bertingkat.
Bentuk dari switch - case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Seperti bentuk if else majemuk, dengan pernyataan switch case, memungkinkan kita untuk memilih salah satu pilihan dari berbagai ekspresi. Pemilihan dilakukan berdasarkan nilai ekspresi yang telah ditetapkan. Pemilihan berbagai kemungkinan nilai switch dilakukan satu demi satu berdasarkan nilai case. Jika nilai dalam ekpresi switch tidak ada yang sesuai dengan nilai-nilai case, maka pilihan akan secara otomatis ke alihkan ke default.

Statement biasanya berpola seperti :

switch(ekspresi karakter)
{
case 1:
   Perintah ; break;
case 2:
   Perintah ; break;
case 3:
   Perintah ; break;
case 4:
   Perintah ; break;
default:
   Perintah ;

Untuk akhir dari perintah dalam case digunakan break; .
Perintah default digunakan ketika statement yang diperintah di luar dari perintah case-case sebelumnya.
 
#include<iostream.h>
#include<conio.h>
main()
{
   int Pilihan;
   //pendeklarasian variabel
   clrscr();
   cout<<"Masukkan Pilihan = ";
   cin>>Pilihan;
   //memasukkan inputan ke variabel Pilihan
   switch(Pilihan)
   {
      case 1:



      cout<<"Pilihan Anda Satu";



      break;//akhir proses di case 1



      case 2:



      cout<<"Pilihan Anda Dua";



      break;//akhir proses di case 2



      case 3:



      cout<<"Pilihan Anda Tiga";



      break;//akhir proses di case 3



      default:



      //default digunakan ketika, proses tidak ada di case2 sebelumnya



      cout<<"Bukan pilihan 1-3";



      break;//akhir proses di default



   }
getch();
}
Tambahan SWITCH-CASE tidak harus diisi dengan angka, bahkan bisa juga menggunakan type character

Logika Program:

#include <iostream.h>
Karakter # disebut sebagai preposcessor untuk membaca source code dan menjalankan perintah pada baris tersebut sebelum compiler dijalankan.
Menyertakan library / file header <iostream>  yang berfungsi untuk mengaktifkan mode berisi input output pada program.

#include <conio.h>
Library / file header singkatan dari Console Input and Output dan digunakan untuk membuat teks antarmuka pengguna.
Komponen dari library ini adalah : getchar, getch, getche, clrscr().
void main (){
Statement untuk menandai sebagai kepala program.
Tanda { untuk mengawali penulisan instruksi isi program. Dan setiap akhir statement diberi tanda ;.
clrscr();
Perintah yang berfungsi untuk membersihkan layar pada saat program dijalankan.
int pil, a, t, l;
instruksi untuk mendeklarasikan variable pil, a, t, l menggunakan tipe data integer (int).
float phi= 3.14, luas, r;
instruksi untuk mendeklarasikan variable phi dengan nilai konstanta 3.14, variable luas dan r menggunakan tipe data float (pecahan).
char nama [20];
char npm [8];
char kls[5];
instruksi untuk mendeklarasikan variable nama dengan nilai sebanyak 20 karakter, variable kls 5 karakter dan variable npm 8 karakter dan menggunakan tipe data char (karakter huruf dan angka).
cout<<"++++MENU++++"<<endl;
perintah untuk menampilkan tulisan:
++++MENU++++
Disertai dengan penempatan kursor pada baris baru dari instruksi <<endl.

cout<<"1. Biodata "<<endl ;
perintah untuk menampilkan tulisan:
1.                  Biodata

cout<<"2. Luas Segitiga "<<endl;
perintah untuk menampilkan tulisan:
2.                  Luas Segitiga
cout<<"3. Luas Lingkaran "<<endl;
perintah untuk menampilkan tulisan:
3.                  Luas Lingkaran
cout<<"Masukkan Pilihan Anda: ";
perintah untuk menampilkan tulisan:
Masukkan pilihan anda:
cin>>pil;
input yang dimasukkan tersebut dimasukkan sebagai variable pil sesuai dengan deklarasi.
switch (pil)
instruksi switch yang berfungsi untuk melakukan alur percabangan dengan kumpulan bagian program yang masing-masing berdiri sendiri. Dimana input dari variable pil akan mengarahkan ke suatu kondisi (case) masing-masing.
{
case 1 :
bagian program suatu percabangan yang pertama yang berdiri sendiri.
cout<<"Biodata"<<endl;
perintah untuk menampilkan tulisan:
Biodata
Sebagai bagian program pada menu pertama.
cout<<"Masukkan Nama : ";
perintah untuk menampilkan tulisan:
Masukkan Nama :
cin>>nama;
input tersebut dimasukkan dalam variable nama.


cout<<"Masukkan Kelas : ";
perintah untuk menampilkan tulisan:
Masukkan Kelas :
cin>>kls;
input tersebut dimasukkan dalam variable kls.
cout<<"Masukkan NPM : ";
perintah untuk menampilkan tulisan:
Masukkan NPM :
cin>>npm;
input tersebut dimasukkan dalam variable npm.

cout<<"Nama anda "<<nama<<", Berada di kelas"<<kls<<", dengan NPM "<< npm;
perintah untuk mencetak tulisan:
Nama anda  diikuti input dari variable nama, Berada di kelas diikuti input dari variable kls, dengan NPM dan diikuti input dari variable npm. Dicetak pada baris yang sama.
break;
instruksi ini berfungsi untuk keluar dari case pertama ini.
case 2 :
bagian program suatu percabangan yang kedua yang berdiri sendiri.
cout<<"Luas Segitiga"<<endl;
perintah untuk menampilkan tulisan:
Luas segitiga
Sebagai bagian program pada menu kedua.
cout<<"Masukkan Alas : ";
perintah untuk menampilkan tulisan:
Masukkan alas :
cin>>a;
input tersebut dimasukkan dalam variable a.

cout<<"Masukkan Tinggi : ";
perintah untuk menampilkan tulisan:
Masukkan tinggi :
cin>>t;
input tersebut dimasukkan dalam variable t.
l=(a*t)/2;
menetapkan rumus untuk luas segitiga (l) dimana alas (a) dikali tinggi (t) dibagi 2.
cout<<"Luas Segitiga Adalah : "<<l;
instruksi untuk mencetak tulisan:
Luas segitiga adalah : dan diikuti output nilai hasil proses variable l.
break;
instruksi ini berfungsi untuk keluar dari case kedua ini.
case 3 :
bagian program suatu percabangan yang ketiga yang berdiri sendiri.
cout<<"Luas Lingkaran"<<endl;
perintah untuk menampilkan tulisan:
Luas Lingkaran
Sebagai bagian program pada menu ketiga.
cout<<"Masukkan r : ";
perintah untuk menampilkan tulisan:
Masukkan r :
cin>>r;
input tersebut dimasukkan dalam variable r.


luas=phi*r*r;
menetapkan rumus luas dari nilai variable phi dikali nilai variable r dikali nilai variable r.

cout<<"Luas Lingkaran : "<<luas;
instruksi untuk mencetak tulisan:
Luas Lingkaran : dan diikuti output nilai hasil proses variable luas.
break;
instruksi ini berfungsi untuk keluar dari case ketiga ini.
default :
instruksi yang akan mengeksekusi jika nilai variable yang diminta untuk variable pil tidak sesuai akan mengalihkan ke kondisi diluar pilihan yang ada.
cout<<"Pilihan Lain ";
instruksi untuk mencetak tulisan:
Pilihan lain
Output dari input variable pil yang tidak sesuai.
break;
instruksi ini berfungsi untuk keluar dari bagian default ini.
}
getch();
Statement untuk menghentikan kursor sebelum input selanjutnya.

}
Tanda untuk menutup penulisan isi program.

Contoh Program Menggunakan Case
1
#include <iostream.h>
#include <conio.h>
int main()
{
int pil,datar,ruang,panjang,lebar,tinggi,sisi,luas,keliling,volume,lp;
cout<<"1. Bangun Datar "<<endl;
cout<<"2. Bangun Ruang "<<endl;
cout<<"3. Keluar "<<endl;
cout<<"Masukkan pilihan anda = ";cin>>pil;
switch (pil)
{
case 1:
   cout<<"1. Persegi"<<endl;
   cout<<"2. Persegi Panjang"<<endl;
     cout<<"Masukkan Pilihan = ";cin>>datar;
    switch (datar){
   case 1:
       cout<<"Pilihan anda persegi "<<endl;
        cout<<"Masukkan sisinya = ";cin>>sisi;
       luas=sisi*sisi;
       cout<<"Luas persegi = "<<luas<<endl;
       keliling=4*sisi;
       cout<<"Keliling persegi = "<<keliling;
      break;
   case 2:
      cout<<"Pilihan anda persegi panjang "<<endl;
        cout<<"Masukkan panjang = ";cin>>panjang;
      cout<<"Masukkan lebar = ";cin>>lebar;
       luas=panjang*lebar;
       cout<<"Luas persegi = "<<luas<<endl;
       keliling=(2*panjang)+(2*lebar);
       cout<<"Keliling persegi = "<<keliling;
      break;
       return 0;
   }
break;
case 2:
   cout<<"1. Kubus"<<endl;
   cout<<"2. Balok"<<endl;
   cout<<"Masukkan pilihan anda = ";cin>>ruang;
   switch(ruang){
   case 1:
       cout<<"Masukkan sisinya = ";cin>>sisi;
      volume=sisi*sisi*sisi;
      lp=6*sisi*sisi;
      cout<<"Volume = "<<volume<<endl;
      cout<<"Luas Permukaan = "<<lp<<endl;
      break;
   case 2:
        cout<<"Masukkan panjang = ";cin>>panjang;
      cout<<"Masukkan lebar = ";cin>>lebar;
      cout<<"Masukkan tinggi = ";cin>>tinggi;
      volume=panjang*lebar*tinggi;
      lp=(2*panjang*lebar)+(2*panjang*tinggi)+(2*lebar*tinggi);
      cout<<"Volume = "<<volume<<endl;
      cout<<"Luas Permukaan = "<<lp<<endl;
   }
break;

default: goto exit;
break;
}
exit:
switch(pil);
getche();
}

2
#include
#include
#include
main () {
float gaji_pokok,gaji_bersih,tun_anak ;
float tun_jab ;
int anak;
char gol ;
cout << "PROGRAM PENGHITUNG GAJI PEGAWAI" << endl ;
cout <> gaji_pokok ;
cout <> gol ;
cout <> anak ;
switch(gol)
{
case ‘A’ :
tun_jab = 0.25 * gaji_pokok ; break ;
case ‘B’ :
tun_jab = 0.2 * gaji_pokok ; break ;
case ‘C’ :
tun_jab = 0.15 * gaji_pokok ; break ;
}
if (anak > 3){
tun_anak = 0.05 * gaji_pokok * 3 ; }
else {
tun_anak = 0.05 * gaji_pokok * anak ; }
//menghitung gaji bersih
gaji_bersih = gaji_pokok + tun_anak + tun_jab ;
cout << "Gaji Bersih Anda Adalah : " << setprecision(2)<<setiosflags(ios::fixed) << gaji_bersih ;
getch() ;
}



3
#include <iostream.h>
#include <conio.h>
void main()
{
int lama,total,pil;
char ulang;
do
{
   clrscr();
   cout<<"1. Operator A.\n";
   cout<<"2. Operator B.\n";
   cout<<"3. Operator C.\n \n";
   cout<<"Pilih Menu [1-3]  : ";cin>>pil;
   cout<<endl; clrscr();
   switch (pil)
   {
      case 1:
      cout<<"Operator A.\n";
      cout<<"Waktu Total Telp (Menit)  : ";cin>>lama;
      if (lama>=60) total=(60*25)+((lama-60)*3); else total=lama*25;
      cout<<"Total tarif telp adalah  : "<<total;
      break;
      case 2:
      cout<<"Operator A.\n";
      cout<<"Waktu Total Telp (Menit)  : ";cin>>lama;
      if (lama>=60) total=(60*15)+((lama-60)*4); else total=lama*25;
      cout<<"Total tarif telp adalah  : "<<total;
      break;
      case 3:
      cout<<"Operator A.\n";
      cout<<"Waktu Total Telp (Menit)  : ";cin>>lama;
      if (lama>=60) total=(60*10)+((lama-60)*5); else total=lama*25;
      cout<<"Total tarif telp adalah  : "<<total;
      break;
      default:
      cout<<"Maaf Pilihan Salah . . .";
   }
   cout<<endl<<endl;
   cout<<"Kembali ke Menu utama [Y/T] : ";cin>>ulang;
   clrscr ();
}
while (ulang == 'Y'||ulang == 'y');
getch();
}

3 komentar: