PERCABANGAN C++
1. Percabangan If ... then
Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan,
kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. Algoritma percabangan pada pemrograman umumnya menggunakan kata kunci IF (jika), THEN (maka), dan ELSE (selainnya).
Algoritma percabangan dengan 1 kondisi memiliki format dasar seperti berikut :
IF <kondisi>
THEN <pernyataan>
Pada format diatas , jika <kondisi> bernilai benar maka <pernyataan> dikerjakan, sedangkan jika bernilai salah, maka <pernyataan> tidak dikerjakan dan proses langsung keluar dari percabangan.
Contoh Kasus : Nilai siswa akan gagal bila bernilai ≤ 60
Satu kondisi (if-then) : artinya hanya ada satu kondisi yang menjadi syarat untuk melakukan satu atau satu blok (sekelompok) pernyataan. Bentuk umum algoritma teks standar percabangan dengan satu kondisi :
if <kondisi> then
pernyataan
Jika <kondisi> bernilai benar maka pernyataan dikerjakan, sedangkan jika tidak, maka pernyataan tidak dikerjakan dan proses langsung keluar daripercabangan (begin).
if A>B then
write (A)
Ekspresi di atas menunjukkan bahwa perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar. Jika yang terjadi adalah sebaliknya, tidak ada pernyataan yang dilakukan atau proses langsung keluar dari percabangan (endif ).Secara flowchart ekspresi itudapat ditulis seperti berikut.
Perhatikan bahwa pada kotak belah ketupat memiliki dua cabangarus data, yang satu untuk kondisi bernilai benar (y, artinya ya), sedang yanglain untuk kondisi bernilai salah (t, artinya tidak).Jika kondisi bernilai benar(y) maka perintah yang dikerjakan adalah
write(A)
Jika kondisi salah maka arus data langsung menuju ke bawah tanpa mengerjakan pernyataan apapun.
Contoh program percabangan If ... then menggunakan bahasa Pascal :
Uses crt;
Var
Jeniskelamin:char;
Begin
Clrscr;
Writeln(‘Jenis Kelamin : ’);
Writeln(‘L unutk laki-laki, P untuk perempuan’);
Writeln(‘Jenis kelamin anda: ’);readln(jeniskelamin);
If(jeniskelamin = ‘l’) then writeln(‘Laki-laki’);
If(jeniskelamin = ‘p’) then writeln(‘Perempuan’);
Readkey;
End
Contoh program percabangan if .. then menggunakan bahasa C++ :
#include <iostream.h>
int main (){
int nilai;
char a;
cout<<"Masukkan Nilai Anda:";
cin>>nilai;
if (nilai>60){
cout<<"Selamat Anda Lulus!!";
}
cin>>a;
return 0;
}
2. Percabangan If ... Else
Percabangan If ... Else artinya ada dua kondisi yang menjadi syarat untuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangan dengan dua kondisi :
if <kondisi> then
pernyataan1
else
pernyataan2
Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan.Sedangkan jika tidak (<kondisi> bernilai salah), maka pernyataan yangdikerjakan adalah pernyataan2. Berbeda dengan percabangan satu kondisi,pada percabangan dua kondisi ada dua pernyataan untuk dua keadaan kondisi, yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang bernilai salah.Contoh algoritma percabangan dua kondisi :
if A>B then
write (A)
else
write (B)
Ekspresi di atas sedikit berbeda dengan sebelumnya. Perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar,sedangkan jika yang terjadi adalah sebaliknya maka pernyataan yangdilakukan adalah menulis B.Secara flowchart pernyataan di atas dapatditulis sebagai berikut.
Pada format di atas, Jika <kondisi> bernilai benar maka pernyataan 1 dikerjakan. Sedangkan jika tidak (<kondisi>bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan 2. Berbeda dengan percabangan 1 kondisi, pada percabangan dua kondisi ada dua pernyataan untuk kedua kondisi,yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang bernilai salah.
ALGORITMA BAHASA NATURAL
· Mulai
· Menentukan nilai siswa
· Jika nilai siswa ( 0 – 100 ) > 75 Tergolong Baik
· Jika nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Cukup
· Tampilkan hasil
· Selesai
Percabangan If ... else dalam bentuk PSEUDOCODE :
Var :
nilai_siswa : integer
Pseudocode
read (nilai siswa )
IF nilai siswa > 75 THEN
write ( tergolong baik )
ELSE
write ( tergolong cukup )
Contoh program percabangan If ... else menggunakan bahasa Pascal :
uses wincrt;
var suhu: integer;
begin
write ('masukan nilai suhunya : ');
read (suhu);
if suhu > 37 then
writeln ('panas')
else
writeln ('tidak panas');
write ('selesai')
end.
Contoh program percabangan If .. else menggunakan bahasa C++ :
#include <iostream.h>
int main ()
{
int nilai;
char a;
cout<<"Masukkan Nilai Anda:";
cin>>nilai;
if (nilai>60)
{
cout<<"Selamat Anda Lulus!!";
}
else
{
cout<<"maaf anda tidak lulus";
}
cin>>a;
return 0;
}
3. Percabangan If ... elseif ... then dan Case Of
Percabangan dengan tiga kondisi atau lebih adalah bentuk pengembangan dari dua bentuk percabangan percabangan yang telah kita bahas sebelumnya. Akan ada banyak sekali variasinya tetapi secara umum ekspresi percabangannya dapat kita tuliskan sebagai berikut :
if. <kondisi1>
then
Pernyataan1
else if <kondisi2> then
Pernyataan2
else if <kondisi(n-1)> then
Pernyataan(n)
Else
Pernyataan(n)
Jika di telusuri algoritma nya :
Mula-mula <
kondisi1
> dicek nilai kebenarannya. Jika benar, maka dikerjakan
pernyataan1
. Jika salah, maka dicek nilai kebenaran <
kondisi2
>. Jika <
kondisi2
>benar,maka dikerjakan
pernyataan2
Jika tidak algoritma akan mengecek ke kondisi berikutnyadengan cara yang sama dengan yang sebelumnya. Terakhir, jika semua kondisi bernilaisalah, maka pernyataan yang dikerjakan adalah Pernyataan (n+1). Bentuk flowchartnya dapat dilihat di bawah ini.
Pada algoritma di atas pernyataan1 akan dikerjakan jika <kondisi1> bernilai benar, jika tidak pemeriksan dilanjutkan ke <kondisi2>. Jika <kondisi2> bernilai benar maka
pernyataan2 dikerjakan. Jika tidak, pemeriksaan dilanjutkan pada kondisi-kondisi berikutnya. Pemeriksaan ini terus terhadap semua kondisi yang ada. Jika tidak ada kondisi yang benar maka pernyataan yang dikerjakan adalah pernyataan(n+1).
Contoh program percabangan If ... elseif ... then menggunakan bahasa Pascal :
uses crt;
Var
nm : string [20];
nilai : integer;
Begin
clrscr;
write('Masukkan Nama Anda :');readln(nm);
write('Masukkan Nilai Anda :');readln(nilai);
IF nilai > 90 Then
writeln('Selamat Nilai Anda Sangat Baik = ')
Else IF (nilai>=60) AND (nilai <= 90) then
writeln('Selamat Baik);
Else
writeln('Maaf Anda Gagal Dalam Ujian ini');
readln;
End.
Contoh program percabangan If ... elseif ... then menggunakan bahasa C++ :
#include <iostream.h>
#include <conio.h>
void main() {
long pendapatan, jasa = 0, komisi = 0, total = 0;
cout << "Pendapatan hari ini Rp. ";
cin >> pendapatan;
if ( pendapatan > 0 && pendapatan <= 2000000) {
jasa = 500000; komisi = 0.1 * pendapatan;
}
else if ( pendapatan <= 5000000 ) {
jasa = 500000; komisi = 0.15 * pendapatan;
}
else {
jasa = 1000000; komisi = 0.2 * pendapatan;
}
total = komisi + jasa;
cout << "Uang jasa Rp. " << jasa << endl;
cout << "Uang Komisi Rp. " << komisi << endl;
cout << "------------------------------" << endl;
cout << "Hasil Total Rp. " << total << endl;
getch();
}
Percabangan Case of
Percabangan lebih dari 2 kondisi selain menggunakan format If ... Elseif ... Then ada juga menggunakan format Case Of. Pernyataan switch – case memiliki kegunaan yang sama seperti if – else bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer. Secara umum bentuk penulisannya adalah sebagai berikut:
switch (ekspresi) {
case kontanta-1:
// pernyataan 1 break;
case konstanta-2:
// perintah 2 break;
default:
// perintah
}
Contoh program percabangan Case Of menggunakan bahasa Pascal :
uses wincrt;
var x : integer;
begin
Write ('Masukkan sebuah nilai [0...3] : ');
readln (x);
Case (x) of
0 : Writeln('X bernilai 0');
1 : Writeln('x bernilai 1');
2 : Writeln('X bernilai 2');
3 : Writeln('X bernilai 3');
else
Writeln('X tidak bernilai 0, 1, 2, ataupun 3');
end;
end.
Contoh program percabangan Case Of menggunakan bahasa C++ :
void main() {
int nHari;
cout << "Masukkan No Hari [1..7] : ";
cin >> nHari;
cout << "Ini adalah hari ";
switch (nHari) {
case 1:
cout << "Ahad";
break;
case 2:
cout << "Senin";
break;
case 3:
cout << "Selasa";
break;
case 4:
cout << "Rabu";
break;
case 5:
cout << "Kamis";
break;
default:
cout << "Kiamat :))";
}
getch();
}
4. Percabangan Bersarang
Percabangan tersarang adalah percabangan di dalam percabangan. Banyak sekalibentuknya, namun salah satu contohnya adalah sebagai berikut.
If <kondisi1> then
if <kondisi2> then
Pernyataan1
Else
Pernyataan2
Else
If <kondisi3>
Pernyataan3
Else
Pernyataan4
Mula-mula <kondisi1> dicek nilai kebenarannya. Jika benar, maka dicek nilai kebenaran <kondisi2>. Jika <kondisi2> benar, maka dikerjakan pernyataan1. Jika tidak algoritma akan dikerjakan pernyataan2. Jika <kondisi1> tidak benar maka akan dicek nilai kebenaran . Jika <kondisi3> benar, maka dikerjakan pernyataan3. Jika tidak akan dikerjakan pernyataan4.
Contoh program percabangan bersarang (Nested If) menggunakan bahasa Pascal :
uses wincrt;
var x, y, z : real;
begin
write ('Masukkan bilangan pertama : ');
readln (x);
write ('Masukkan bilangan kedua : ');
readln (y);
write ('Masukkan bilangan ketiga : ');
readln (z);
if x > y then
if x > z then
write ('Bilangan terbesar : ',x:5:2)
else
write ('Bilanga terbesar : ',z:5:2)
else
if y > z then
write ('Bilangan terbesar :',y:5:2)
else
write ('Bilangan terbesar : ',z:5:2);
end.
Contoh program percabangan bersarang (Nested If) menggunakan bahasa C++ :
#include <iostream.h>
void main() {
int A, B, C;
cout << "masukan angka 1 = ";
cin >> A;
cout << "masukan angka 2 = ";
cin >> B;
cout << "masukan angka 3 = ";
cin >> C;
if(A<B){
if(A<C)
cout<< "angka terkecil adalah : " << A;
else
cout<< "angka terkecil adalah : " << C;
}
else if(B<C)
cout<< "angka terkecil adalah : " << B;
else
cout<< "angka terkecil adalah : " << C;
}
REFRENSI : rakadwiaprian543.blogspot.co.id
Post a Comment