- Back to Home »
- Belajar C++ »
- Belajar C++ Part 5
Posted by : Anak Jadul Ingin Pintar
27/12/11
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;
…
pernyataann;
}
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_tidak_terpenuhi;
}
else if (kondisi3)
{
statemen_jika_kondisi3_tidak_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_n;
}
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;
}
hasil eksekusi
Latihan:
- Buatlah program untuk menentukan masukkan dari user apakah berupa huruf vokal atau konsonan!
2. Buatlah program untuk menentukan huruf, dengan ketentuan sebagai berikut:
a. Jika karakter >=’A’ dan karakter <=’Z’ maka Karakter yang Anda masukkan adalah huruf besar.
b. Jika karakter >=’a’ dan karakter <=’z’ maka Karakter yang Anda masukkan adalah huruf kecil.
c. Jika karakter >=’0’ dan karakter <=’9’ maka Karakter yang Anda masukkan adalah Angka.
d. Jika bukan semuanya berarti Karakter yang Anda masukkan adalah bukan alphanumeric
Penyelesaian:
- Listing programnya:
#include<iostream.h>
int main()
{
char huruf;
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";
}else
{
cout<<huruf<<" adalah huruf konsonan";
}
return 0;
}
- Listing Programnya:
//Program menentukan huruf
#include<iostream.h>
int main()
{
char karakter;
cout<<”Masukkan sebuah karakter: “;
cin>>karakter;
if (karakter >=’A’ && karakter <=’Z’)
cout<<”Masukkan Anda adalah huruf besar”;
else if (karakter >=’a’ && karakter <=’z’)
cout<<”Masukkan Anda adalah huruf kecil”;
else if (karakter >=’0’ && karakter <=’9’)
cout<<”Masukkan Anda adalah angka”;
else
cout<<”Masukkan Anda bukan alphanumeric”;
return 0;
}