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 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
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
Else IF (nilai>=60) AND (nilai <= 90) then
writeln('Selamat Baik);
Else
writeln('Maaf Anda Gagal Dalam Ujian
ini');
readln;
End.
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
// 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;
}
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;
}
Referensi
materi :
6. http://www.gatewan.com/2014/07/mengenal-percabangan-dalam-cpp.html
0 comments:
Post a Comment