Anda di halaman 1dari 14

2

MODUL PERKULIAHAN

W152100002 –
Algoritma Dan
Pemrograman
Penyelesaian Masalah Dengan
Kondisi If, If-Else, Switch Case
(bersarang)

Abstrak Sub-CPMK

Decision Decision 2 digunakan Diharapkan dapat :


untuk memilih salah satu alternatif Penjelasan tentang dasar memuat program
jawaban yang tepat dari pilihan memakai sintak (IF, IF ELSE, SWITCH CASE)
yang ada. bersarang
Pada decision 2 ini lebih
ditekankan penggunaan operator
logika serta if bersarang.

Fakultas Program Studi Tatap Muka Disusun Oleh

07
Umniy Salamah, ST., MMSI
Fakultas Ilmu Komputer Teknik Informatika
Penyelesaian Masalah Dengan Kondisi If, If-Else,
Switch Case (bersarang)

1. NESTED IF
-----------------------------------------------------------------------------------------------------------------------
Perintah IF dalam IF sering disebut nested-if. Perintah ini mempunyai bentuk umum
sebagai berikut :

If (kondisi1)

If (kondisi2)

Pernyataan1;

Else

Pernyataan2;

Else

Pernyataan3;

Pernyataan If dalam if juga mempunyai bentuk yang majemuk yang sering disebut if
bertingkat. Bentuk umumnya adalah sebagai berikut :

If (kondisi1)

Pernyataan1;

Else if (kondisi2)

Pernyataan2;

Else if (kondisi3)

Pernyataan3;

...

else

pernyataann;

2021 Algoritma Dan Pemrograman


2 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Dalam hal ini jika kondisi 1 benar maka pernyataan1 yang dikerjakan dan apabila kondisi
1 tidak benar maka kondisi2 yang akan dilihat. Dan seterusnya, jika kondisi diatasnya
tidak benar maka kondisi yang terakhir yang akan dikerjakan.

2. DECISION MENGGUNAKAN OPERATOR LOGIKA

Jika operator hubungan membandingkan antara dua buah operand, maka operator logika
digunakan untuk menbandingkan logika hasil dari operator-operator hubungan.
Operator logika ada tiga macam, yaitu :
. && : Logika AND (DAN)
. || : Logika OR (ATAU)
. ! : Logika NOT (INGKARAN)

Contoh 1

Buat Notasi Bahasa Alami, Pseudocode, Flowchart dan Program.


Ada 3 buah nilai bulai (bilangan bulat) yang di input. Bandingkan 3 buah nilai tersebut
untuk dapat menetahui nilai paling besar diantara ketiganya. Kemudian cetak nilai paling
besar. Lalu cek nilai palng besar tersebut, jika nilai palng besar lebih besar dari 0 maka
cetak bilangan positif, jika nilai paling besar lebih kecil dari 0 maka cetak bilangan
negative.

Jawab :

Bahasa Alami
1. Mulai
2. Siapkan 4 Variabel a, b, c, max tipe data integer
3. Masukkan 3 angka berbeda taruh di variable a, b, c
4. Jika a lebih besar dari b dan a lebih besar dari c
maka max sama dengan a,
5. Jika b lebih besar dari a dan b lebih besar dari c
maka max sama dengan b,
6. Jika c lebih besar dari a dan c lebih besar dari b
maka max sama dengan c

2021 Algoritma Dan Pemrograman


3 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
7. Cetak max
8. Jika max lebih besar dari 0 cetak “bilangan positif”
9. Jika max lebih kecil dari 0 cetak “bilangan negative”
10. Selesai

Pseudocode
1. Begin
2. a, b, c, max = integer
3. input a, b, c
4. If a > b and a > c , max = a
5. If b > a and b > c , max = b
6. If c > a and c > b , max = c
7. Print max
8. If max > 0 print “bilangan positif”
9. If max < 0 print “bilangan negatif”
10. Selesai

2021 Algoritma Dan Pemrograman


4 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Flowchart

Gambar 1. Flowchart banyak if

2021 Algoritma Dan Pemrograman


5 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Listing Program 2. Contoh Penerapan Struktur Kondisi IF

/* Program Contoh penerapan struktur kondisi if */

#include<stdio.h>

#include<conio.h>

main()

clrscr();

int a,b,c,max;

printf(“Entry bil 1 : “);scanf(“%i”,&a);

printf(“Entry bil 2 : “);scanf(“%i”,&b);

printf(“Entry bil 3 : “);scanf(“%i”,&c);

if((a>b)&&(a>c))

max=a;

if((b>a)&&(b>c))

max=b;

if((c>a)&&(c>b))

max=c;

printf(“Bil terbesar : %i\n”,max);

if(max>0)

printf(“Bil tsb adalah bil positif\n”);

if(max<0)

printf(“Bil tsb adalah bil negatif”);

getch();

Logika program :
printf("Entry bil 1 : ");scanf("%i",&a);

printf("Entry bil 2 : ");scanf("%i",&b);

printf("Entry bil 3 : ");scanf("%i",&c);

Untuk penggalan program diatas, 3 buah nilai dinput untuk nilai bilangan bulat.

2021 Algoritma Dan Pemrograman


6 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
if((a>b)&&(a>c))

max=a;

if((b>a)&&(b>c))

max=b;

if((c>a)&&(c>b))

max=c;

printf("Bil terbesar : %i\n",max);

Sedangkan untuk logika && terdapat pada penggalan program dibawah ini,
if((a>b)&&(a>c))max=a; untuk mencari nilai terbesar apakah didapat pada variabel
a. jika tidak maka dibaca sintak berikutnya yaitu, if((b>a)&&(b>c)) max=b; untuk
mencari nilai terbesar apakah didapat pada variabel b. jika tidak maka dibaca sintak
berikutnya yaitu if((c>a)&&(c>b))max=c;untuk mencari nilai terbesar apakah didapat
pada variabel c.
Jika sudah menemukan nilai max yang dicari maka akan tercetak bil terbesar dari nilai
max itu.

if(max>=0)

printf("Bil tsb adalah bil positif\n");

if(max<0)

printf("Bil tsb adalah bil negatif");

getch();

Jika max lebih besar sama dengan 0 (nol) maka cetak Bil tsb adalah bil
positif. Jika max lebih kecil dari 0 (nol) maka cetak Bil tsb adalah bil
negatif.

Listing Program 2. Contoh Program Struktur Kondisi IF Untuk Memeriksa Suatu Kondisi
menggunakan || (atau)

/* Program Contoh penerapan struktur kondisi if */

#include<stdio.h>

#include<conio.h>

main()

2021 Algoritma Dan Pemrograman


7 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
{

clrscr();

int a,b,c,max;

printf("Entry UTS : ");scanf("%i",&a);

printf("Entry UAS : ");scanf("%i",&b);

printf("Entry KUIS : ");scanf("%i",&c);

if((a<50)||(b<50)||(c<50))

printf("anda tidak lulus”);

else printf("anda lulus");

getch();

Logika program :
printf("Entry UTS : ");scanf("%i",&a);

printf(“Entry UAS : “);scanf(“%i”,&b);

printf("Entry KUIS : ");scanf("%i",&c);

Untuk penggalan program diatas didapat untuk pengintputan nilai UTS, UAS dan KUIS.

if((a<50)||(b<50)||(c<50))

printf("anda tidak lulus”);

else printf("anda lulus");

getch();

Jika nilai a kurang dari 50 atau nilai b kurang dari 50 atau c kurang dari 50 maka akan
tercetak anda tidak lulus. Akan tetapi apabila tidak ada nilai yang dibawah 50 maka akan
tercetak nilai anda lulus.

Listing Program 3. Contoh Penerapan Struktur Kondisi IF Dalam IF

#include <stdio.h>

2021 Algoritma Dan Pemrograman


8 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
main()

int nilai;

char huruf;

printf (“Masukkan nilai:”);scanf(“%d”,&nilai);

if (nilai>=81 && nilai<=100)

huruf=’A’;

else

if (nilai>=71 && nilai<=81)

huruf=’B’;

else

if (nilai>=61 && nilai<=71)

huruf=’C’;

else

if (nilai>=51 && nilai<=61)

huruf=’D’;

else

huruf=’E’;

printf (“Jadi nilai huruf yang didapat adalah: %c\n”,huruf);

Penjelasan program :

Untuk sintak program berikut didapat

printf (“Masukkan nilai:”);scanf(“%d”,&nilai);

baris program tersebut untuk menginput sebuah nilai.

2021 Algoritma Dan Pemrograman


9 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
if (nilai>=81 && nilai<=100)
huruf=’A’;
else
if (nilai>=71 && nilai<=81)
huruf=’B’;
else
if (nilai>=61 && nilai<=71)
huruf=’C’;
else
if (nilai>=51 && nilai<=61)
huruf=’D’;
else
huruf=’E’;
printf (“Jadi nilai huruf yang didapat adalah: %c\n”,huruf);
}

Untuk beberapa baris program diatas, dapat kita lihat logika if dalam if, if (nilai>=81
&& nilai<=100 huruf = A, artinya jika nilai yang kita input tidak sesuai pada penggalan
baris program tersebut, maka berikutnya membaca baris program setelahnya yaitu if
(nilai>=71 && nilai<=81 huruf = B, artinya jika nilai yang kita input tidak sesuai
pada penggalan baris program tersebut, maka berikutnya membaca baris program
setelahnya yaitu if (nilai>=61 && nilai<=71 huruf = C, artinya jika nilai yang kita
input tidak sesuai pada penggalan baris program tersebut, maka berikutnya membaca
baris program setelahnya yaitu if (nilai>=51 && nilai<=61 huruf = D.
Sedangkan untuk else huruf = E kondisi ini terpenuhi apabila semua kondisi tidak
terpenuhi.

printf (“Jadi nilai huruf yang didapat adalah: %c\n”,huruf);

untuk penggalan sebaris program ini untuk mencetak nilai huruf yang didapat apa, sesuai
dengan inputan kemudian diproses dengan kondisi logika if dan akan akan keluar nilai
huruf nya.

3. PERINTAH SWITCH CASE BERSARANG

Perintah SWITCH merupakan pernyataan yang dirancang untuk menangani pengambilan


keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya untuk
menggantikan pernyataan IF bertingkat.
Bentuk umumnya adalah sebagai berikut :

2021 Algoritma Dan Pemrograman


10 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
SWITCH (Ekspresi)

Case konstanta1 :

pernyataan1;

break;

Case konstanta2 :

pernyataan2;

break;

Case konstanta3 :

Pernyataan3;

break;

...

Case Konstanta_n :

Pernyataan_n ;

Break;

Default :

Pernyataan_alternatif ; /* apabila semua nilai di

atas tidak terpenuhi */

Ekspresi dapat berupa ungkapan yang bernilai integer atau bertipe karakter. Setiap
konstanta1, konstanta2, konstanta3, konstanta4 sampai dengan konstantan dapat
berupa konstanta integer atau konstanta karakter.
Setiap pernyataan1, pernyataan2, pernyataan3, pernyataan4 sampai pernyataan ke n
dapat berupa sebuah atau beberapa pernyataan.
Pengujian pada switch akan dimulai dari konstanta1. apabila nilainya cocok dengan
ekspresi maka pernyataan satu akan dijalankan.
Perintah break mnyebabkan eksekusi diarahkan ke akhir switch kalau nilai konstanta
satu tidak sama dengan nilai ekspresi dan kemudian baru diteruskan pengujian
dengan konstanta2 dan seterusnya. Jika sampai pada pengujian akhir tidak ada yang
cocok maka default akan dijalankan.

2021 Algoritma Dan Pemrograman


11 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Jika pernyataan break tidak diikutsertakan pada setiap case maka walaupun
konstantanya cocok denan ekspresi, maka setelah pernyataan pada case tersebut
dikerjakan akan dilanjutkan pada case berikutnya sampai ditemui pernyataan break
pada akhir switch.

Listing Program 4. Contoh program switch case bersarang


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

using namespace std;

main()
{
int pil,org,bus;
float Total_Harga;
char yn,ab,cd,pt;
cout<<"Jadwal dan harga tiket keberangkatan BUS" << endl;
cout<<"1. Jakarta - Malang " << endl;
cout<<"2. Yogyakarta - Solo " << endl;
cout<<"Masukan Pilihan anda :"; cin>>pil;
switch (pil)
{
case 1 :
{
cout<<"Anda mau memilih Bus Eksekutif (y/n) ?"; cin>>yn;
case 'y':
{
cout<<"Waktu Keberangkatan"<<endl;
cout<<"a. Pagi "<<endl;
cout<<"b. Malam "<<endl;
cout<<"Pilihan anda a atau b : ";cin>>ab;
case 'a':
{
cout<<"harga per orang = Rp.50"<<endl;
cout<<"Input banyak orang = ";cin>>org;
Total_Harga = org * 50;
cout<<"Total Harga = Rp."<<Total_Harga;
break;
}
case 'b' :
{
cout<<"harga per orang = Rp.75"<<endl;
cout<<"Input banyak orang = ";cin>>org;
Total_Harga = org * 75;
cout<<"Total Harga = Rp."<<Total_Harga;
break;
}
}
case'n' :{
cout<< "Maaf Bus Ekonomi Jakarta-Malang
untuk saat ini belum tersedia";

2021 Algoritma Dan Pemrograman


12 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
break;
}
return 0;
}
case 2 :{
cout<<"Anda mau memilih sewa Bus pariwisata
(pilih(p))/tidak(t)) ?"; cin>>pt;
case 'p':{
cout<<"Waktu Keberangkatan"<<endl;
cout<<"c. Pagi "<<endl;
cout<<"d. Malam "<<endl;
cout<<"Pilihan anda c atau d: ";cin>>cd;
case 'c':{
cout<<"harga per paket = Rp.500"<<endl;
cout<<"Input banyak bus = ";cin>>bus;
Total_Harga = bus * 500;
cout<<"Total Harga = Rp."<<Total_Harga;
break;
}
case 'd' :{
cout<<"harga per paket = Rp.750"<<endl;
cout<<"Input banyak bus = ";cin>>bus;
Total_Harga = bus * 750;
cout<<"Total Harga = Rp."<<Total_Harga;
break;
}
}
case't' :{
cout<< "Maaf Jurusan Yogyakarta-Solo untuk saat
ini hanya melayani bus pariwisata";
break;
}
return 0;
}

default : {
cout<< "Kode yang anda pilih tidak ada" ; break;
}
return 0;
}
}

Latihan

1. Buat flowchart dari contoh program switch case bersarang listing program 4.

2021 Algoritma Dan Pemrograman


13 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Daftar Pustaka
1. Kadir, A. (2009). Mudah Menjadi Programmer C++. Yogyakarta: Penerbit Andi.
2. Kadir, A. (2009). Pemrograman C++ Membahas Pemrograman Berorientasi
Obyek Menggunakan Turbo C++ dan Borland C++. Yogyakarta: Penerbit Andi.
3. Suharno Prawirosumarto, Aplikasi Komputer Edisi 3 2012. Jakarta : Mitra Wacana
Media.
4. Muhammad Sholeh, Panduan Belajar Pemrograman Terstruktur Agoritma Dan
Pemrograman C++ 2013, Yogyakarta : Akprind Press
5. Hartono Jogiayanto, Konsep Dasar Pemrograman Bahasa C 2009. Yogyakarta
6. Bambang, Wirawan (2004), Struktur Data dengan C, Pernerbit Andi Jogyakarta.
7. Kristanto, Andri (2003), Struktur Data dengan C++, Penerbit Graha Ilmu
8. Raharjo Budi (2007), Pemrograman C++
9. Jogiyanto (2007). Konsep Dasar Pemrograman Bahasa C

2021 Algoritma Dan Pemrograman


14 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai