SlideShare a Scribd company logo
1 of 19
Download to read offline
DISU
DIK
Pe
dise
diha
tida
dida
pern
perc
aka
yan
yan
Op
logi
Ope
USUN OLEH
KTAT PEMR
endahu
Tidak
elesaikan d
adapkan pa
ak lain adal
asarkan pa
nyataan ya
cabangan.
Statem
n diekseku
g didefinis
g akan dija
perato
Untuk
ka. Adapun
erator
= = A=
!= A!
> A>
< A<
> = A>
< = A<
H : ADAM MU
ROGRAMAN
DIK
uluan
semua pe
dengan ru
ada pemilih
ah suatu p
da hasil ko
ang bisa dig
Dua pernta
men atau p
si apabila k
ikan salah
alankan.
or-Ope
bisa mem
n operator-
Contoh
= = B
= B
> B
< B
> = B
< = B
UKHARIL BA
I
KTAT MATA
PER
Perca
rmasalahan
untunan. A
han atau p
emilihan st
ondisi yang
gunakan a
aan tersebu
ernyataan
kondisi yan
maka per
rator L
buat sebua
operator lo
Tabel 5.1 O
Apaka
Apaka
Apaka
Apaka
Apaka
variabe
Apaka
variabe
ACHTIAR, S.
A KULIAH P
BAB V
RCABAN
banga
n yang di
Ada suatu
percabanga
tatemen ya
dihasilkan
pabila kita
ut adalah i
yang terd
ng didefinis
nyataan di
Logika
ah kondisi
ogika yang
Operator-O
h isi variab
h isi variab
h isi variab
h isi variab
h isi variab
el B
h isi variab
el B
.Kom.
PEMROGRA
V
NGAN
an
ihadapi di
kasus dim
n. Percaba
ang akan di
. Di dalam
dihadapka
f dan sw it
apat dalam
ikan bernila
blok lain
a
diperluka
digunakan
Operator Log
A
bel A sama
bel A tidak s
bel A lebih b
bel A lebih k
bel A lebih
bel A lebih
AMAN I
dalam pe
mana seor
angan yang
ieksekusi. P
bahasa C
an pada kas
tch.
m sebuag
ai benar. D
(yang kond
n adanya
antara lain
gika
Arti
dengan isi
sama denga
besar dari i
kecil dari is
besar atau
kecil atau
IF
emrograma
rang progr
g dimaksud
Pemilihan t
dan C+ + a
sus yang m
blok perca
Dan apabila
disinya ter
operator-o
n:
variabel B
an isi varia
si variabel
i variabel B
u sama den
u sama den
HAL 1
F
an bisa
rammer
d di sini
tersebut
ada dua
memiliki
abangan
kondisi
rpenuhi)
operator
bel B
B
B
ngan isi
ngan isi
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 2
&& (A< = 100)&&
(A> = 80)
Apakah isi variabel A lebih kecil atau sama dengan 100
dan apakah isi variabel A lebih besar atau sama dengan
80
| | (A< = 100)| |
(A> = 80)
Apakah isi variabel A lebih kecil atau sama dengan 100
atau apakah isi variabel A lebih besar atau sama
dengan 80
! !(A= = B) Apakah A tidak sama dengan B
Struktur IF Satu Kondisi
Struktur ini merupakan struktur yang paling sederhana karena hanya
melibatkan satu buah kondisi yang akan diperiksa. Bentuk umum struktur ini adalah
sebagai berikut:
if( kondisi)
{
Pernyataan1 ;
Pernyataan2 ;
}
atau
if( kondisi)
Pernyataan;
Sebagai contoh adalah percabangan untuk menentukan seseorang boleh
memiliki SIM atau tidak. Kondisi yang digunakan adalah seseorang boleh memiliki
SIM kalau sudah berusia 17 tahun. Programnya sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
/*
Program 5.1
Nama File : Lat-5.1.c
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 3
12
13
14
15
16
17
18
int umur;
printf("Masukkan umur anda : ");scanf("%i",&umur);
if(umur<17)
printf("Anda tidak diperbolehkan memiliki
SIM.nn");
system("PAUSE");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
Program 5.1
Nama File : Lat-5.1.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int umur;
cout<<"Masukkan umur anda : ";
cin>>umur;
if(umur<17)
cout<<"Anda tidak diperbolehkan memiliki SIM."
<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Hasil eksekusi:
Gambar 5.1 Hasil eksekusi program Lat 5.1
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 4
Terkadang ada struktur if ini yang memiliki lebih dari satu pernyataan. Sebagai
contoh perhatikan contoh program di bawah ini”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
Program 5.2
Nama File : Lat-5.2.c
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float IP;
printf("Berapa IP anda : ");scanf("%f",&IP);
if(IP>=3.5)
{
printf("nIP anda %.2fn",IP);
printf("Anda cum laude!nn");
}
system("PAUSE");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
Program 5.2
Nama File : Lat-5.2.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
float IP;
cout<<"Berapa IP anda : ";
cin>>IP;
if(IP>=3.5)
{
cout<<setiosflags(ios::fixed);//supaya tidak
dibulatkan
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 5
21
22
23
24
25
26
cout<<"nIP anda "<<setprecision(2)<<IP<<endl;
cout<<"Anda cum laude!"<<endl<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Hasil eksekusi:
Gambar 5.2 Hasil eksekusi program Lat 5.2
Catatan Hati-hati untuk penggunaan tanda sama dengan dalam kondisi.
Tanda sama dengan yang digunakan dalam kondisi berjumlah dua
(= = ). Apabila tanda sama dengan hanya berjumlah satu maka akan
dianggap sebagai operator penugasan (assignment).
Struktur IF Dua Kondisi
Struktur ini memiliki kekompleksan yang lebih tinggi dibandingkan struktur if
dengan satu kondisi. Struktur ini memiliki alternatif pilihan apabila kondisi yang
pertama tidak terpenuhi. Adapun bentuk umum dari struktur ini adalah sebagai
berikut:
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 6
if( kondisi)
{
Pernyataan_ jika_ kondisi_terpenuhi;
}
else
{
Pernyataan_ jika_ kondisi_tidak_ terpenuhi;
}
Sebagai contoh buatlah program untuk menentukan apakah bilangan yang
diinputkan merupakan positif atau negatif.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
Program 5.3
Nama File : Lat-5.3.c
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int bil;
printf("Masukkan bilangan bulat: ");scanf("%i",&bil);
if(bil>=0)
{
printf("nBilangan yang dimasukkan adalah
%in",bil);
printf("Bilangan ini adalah bilangan
positifnn");
}
else
{
printf("nBilangan yang dimasukkan adalah
%in",bil);
printf("Bilangan ini adalah bilangan
negatifnn");
}
system("PAUSE");
return 0;
}
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
Program 5.3
Nama File : Lat-5.3.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int bil;
cout<<"Masukkan bilangan bulat: ";
cin>>bil;
if(bil>=0)
{
cout<<"nBilangan yang dimasukkan adalah "
<<bil<<endl;
cout<<"Bilangan ini adalah bilangan positif"
<<endl<<endl;
}
else
{
cout<<"nBilangan yang dimasukkan adalah "
<<bil<<endl;
cout<<"Bilangan ini adalah bilangan negatif"
<<endl<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 8
Hasil eksekusi:
Gambar 5.3 Hasil eksekusi program Lat 5.3
Struktur IF Tiga atau Lebih Kondisi
Struktur if inilah yang paling kompleks dalam penggunaannya. Hal ini
dikarenakan kondisi yang harus diperiksa lebih dari dua kondisi. Terkadang hal ini
jugalah yang membuat beberapa programmer mengalami kesulitan. Bentuk umum
struktur ini adalah sebagai berikut:
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 9
if( kondisi1 )
{
Pernyataan_ jika_ kondisi1 _ terpenuhi;
}
else if( kondisi2 )
{
Pernyataan_ jika_ kondisi2 _ terpenuhi;
}
else if( kondisi3 )
{
Pernyataan_ jika_ kondisi3 _ terpenuhi;
}
…
else
{
Pernyataan_ kalau_ sem ua_ kondisi_ tidak_ terpenuhi;
}
Sebagai contoh buatlah program lampu lalu lintas dengan sintaks berikut ini.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
Program 5.4
Nama File : Lat-5.4.c
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
int main(int argc, char *argv[])
{
int pilihan;
textbackground(WHITE);
clrscr();
textcolor(BLACK);printf("Pilihan Warna Lampu Lalu
Lintasn");
printf("-------------------------------n");
textcolor(LIGHTRED);printf("1. Merahn");
textcolor(YELLOW);printf("2. Kuningn");
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 10
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
textcolor(LIGHTGREEN);printf("3. Hijaun");
textcolor(BLACK);printf("-----------------------------
--nn");
textcolor(BLACK);
printf("Masukkan pilihan anda [1..3]: ");
scanf("%i",&pilihan);
printf("n");
if(pilihan==1)
{
textcolor(LIGHTRED);
printf("Lampu merah artinya tidak boleh jalan!");
}
else
if(pilihan==2)
{
textcolor(YELLOW);
printf("Lampu kuning artinya siap-siap!");
}
else
if(pilihan==3)
{
textcolor(LIGHTGREEN);
printf("Lampu hijau artinya boleh jalan!");
}
else
printf("Pilihan yang dimasukkan salah!");
printf("nn");
textcolor(BLACK);
system("PAUSE");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
Program 5.4
Nama File : Lat-5.4.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <cstdlib>
#include <iostream>
#include <conio2.h>
using namespace std;
int main(int argc, char *argv[])
{
int pilihan;
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 11
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
textbackground(WHITE);
clrscr();
textcolor(BLACK);cout<<"Pilihan Warna Lampu Lalu
Lintas"<<endl;
cout<<"-------------------------------"<<endl;
textcolor(LIGHTRED);cout<<"1. Merah"<<endl;
textcolor(YELLOW);cout<<"2. Kuning"<<endl;
textcolor(LIGHTGREEN);cout<<"3. Hijau"<<endl;
textcolor(BLACK);cout<<"----------------------------
---"<<endl<<endl;
textcolor(BLACK);
cout<<"Masukkan pilihan anda [1..3]: ";cin>>pilihan;
cout<<endl;
if(pilihan==1)
{
textcolor(LIGHTRED);
cout<<"Lampu merah artinya tidak boleh jalan!";
}
else
if(pilihan==2)
{
textcolor(YELLOW);
cout<<"Lampu kuning artinya siap-siap!";
}
else
if(pilihan==3)
{
textcolor(LIGHTGREEN);
cout<<"Lampu hijau artinya boleh jalan!";
}
else
cout<<"Pilihan yang dimasukkan salah!";
cout<<endl<<endl;
textcolor(BLACK);
system("PAUSE");
return EXIT_SUCCESS;
}
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 12
Hasil eksekusi:
Gambar 5.4 Hasil eksekusi program Lat 5.4
Switch – Case - Default
Selain menggunakan fungsi if, percabangan bisa juga menggunakan sebuah
perintah yaitu switch – case – default. Bentuk dasar dari perintah ini adalah sebagai
berikut:
sw itch( ekspresi)
{
case kondisi1 : perintah1 ;break;
case kondisi2 : perintah2 ;break;
default : perintah3 ;
}
Ada 2 hal yang harus diperhatikan apabila ingin menggunakan perintah ini, yaitu:
1. Kondisi harus diisi dengan data yang bertipe data ordinal (integer,char, dan
boolean). Dengan kata lain ekspresinya harus memiliki nilai yang bertipe
ordinal. Apabila tidak diisi dengan tipe data ordianal maka perintah ini tidak
dapat memeriksa kondisinya.
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 13
2. Perintah break digunakan untuk menghentikan eksekusi switch apabila ada
satu kondisi yang terpenuhi. Apabila semua kondisi tidak terpenuhi maka
perintah yang akan dijalankan adalah perintah yang berada di bagian
default.
Untuk lebih jelasnya lihat penggalan program di bawah ini:
1
2
3
4
5
6
7
switch(juara)
{
case 1 : printf(“Anda juara 1!n”);break;
case 2 : printf(“Anda juara 2!n”);break;
case 3 : printf(“Anda juara 3!n”);break;
default : printf(“Anda bukan juara! Coba lagi!n”);
}
Keterangan:
Juara memiliki tipe data integer. Apabila juara diisi dengan nilai 1 maka akan
menghasilkan teks Anda juara 1 ! Begitu pun seterusnya. Apabila nilai inputan juara
bukan antara 1 sampai 3 maka akan keluar teks Anda bukan juara! Coba lagi!
Struktur IF Dengan Banyak Kondisi
Maksud dari banyak kondisi di sini adalah adanya lebih satu kondisi yang
dimiliki dalam satu kali pemeriksaan kondisi. Terkadang untuk menjalankan
statement tertentu diperlukan banyak kondisi yang harus diperiksa. Ada 2 buah
operator yang digunakan untuk if dengan banyak kondisi yaitu && (and) dan | | (or).
Untuk lebih jelasnya perhatikan penggalan perintah di bawah ini:
1
2
3
4
5
if((index==’A’)||(index==’B’)||(index==’C’))
printf(“Selamat, Anda lulus!”);
else
if((index==’D’)||(index==”E”))
printf(“Anda tidak lulus. Coba lagi ya!”);
Kalau diperhatikan seksama maka untuk menampilkan string Selam at, Anda lulus!
Kondisi yang harus diperiksa ada tiga kondisi. Sedangkan untuk string Anda tidak
lulus. Coba lagi ya! Ada dua kondisi yang harus diperiksa.
Catatan Untuk operator AND, semua kondisi harus terpenuhi untuk
menghasilkan kondisi bernilai TRUE sedangkan untuk operator OR
cukup satu kondisi saja terpenuhi maka kondisi akan bernilai TRUE.
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 14
Untuk lebih jelasnya buatlah program dengan kasus menu makanan seperti yang
tertera pada tabel di bawah ini.
Tabel 5.2 Menu makanan
Porsi
Kecil (1) Sedang (2) Besar (3)
M
a
k
a
na
n
Cap Cay Goreng (1) 15000 20000 25000
Kakap Asam Manis (2) 30000 40000 50000
Puyung Hay (3) 10000 15000 20000
Ada beberapa aturan yang berlaku di restoran ini, antara lain:
1. Apabila makanan yang dipesan dimakan di tempat maka pembeli dikenakan
pajak sebesar 10% dari total harga. Sedangkan apabila makanan dibungkus
maka tidak dikenakan pajak.
2. Apabila memesan kakap asam manis dalam ukuran besar maka mendapat
diskon 5% dari harga kakap asam manis porsi besar (perpotongnya).
3. Input:
a. Menu makanan
b. Porsi
c. Banyak pesanan
d. Status pesanan.
4. Output:
a. Diskon
b. Total harga
c. Pajak
d. Bayar.
Program untuk kasus di atas:
1
2
3
4
5
6
7
8
9
10
/*
Program 5.5
Nama File : Lat-5.5.c
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 15
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
int menu,porsi,banyak_pesanan,
status_pesanan,harga_makanan;
float pajak,diskon;
float total_harga_awal,total_harga_akhir;
//inisialisasi awal
diskon=0;
total_harga_awal=0;
total_harga_akhir=0;
//input
printf("Menu Makanann");
printf("---------------------------------n");
printf("1. Cap Cay Gorengn");
printf("2. Kakap Asam Manisn");
printf("3. Puyung Hayn");
printf("---------------------------------n");
printf("Masukkan pilihan makanan : ");
scanf("%i",&menu);
printf("n");
printf("Pilihan Porsin");
printf("---------------------------------n");
printf("1. Keciln");
printf("2. Sedangn");
printf("3. Besarn");
printf("---------------------------------n");
printf("Masukkan pilihan porsi : ");
scanf("%i",&porsi);
printf("n");
printf("Masukkan banyak pesanan : ");
scanf("%i",&banyak_pesanan);
printf("nStatus Pesanann");
printf("---------------------------------n");
printf("1. Makan Ditempatn");
printf("2. Dibungkusn");
printf("---------------------------------n");
printf("Masukkan status pesanan : ");
scanf("%i",&status_pesanan);
system("cls");
//proses
//if model ke-1
if((menu==1)&&(porsi==1))
harga_makanan=15000;
else
if((menu==1)&&(porsi==2))
harga_makanan=20000;
else
if((menu==1)&&(porsi==3))
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 16
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
harga_makanan=25000;
//if model ke-2
if(menu==2)
{
if(porsi==1)
harga_makanan=30000;
else if(porsi==2)
harga_makanan=40000;
else
{
harga_makanan=50000;
diskon=0.05*harga_makanan*banyak_pesanan;
}
}
//if dengan gabungan switch (case)
if(menu==3)
{
switch (porsi)
{
case 1:harga_makanan=10000;break;
case 2:harga_makanan=15000;break;
default:harga_makanan=20000;
}
}
total_harga_awal=(harga_makanan*banyak_pesanan)-
diskon;
if (status_pesanan==1)
pajak=0.1*total_harga_awal;
else
pajak=0;
total_harga_akhir=total_harga_awal+pajak;
//output
printf("Hasil Perhitungann");
printf("----------------------------------------------
n");
printf("Diskon : Rp. %10.2fn",diskon);
printf("Total harga : Rp. %10.2fn",
total_harga_awal);
printf("Pajak : Rp. %10.2fn",pajak);
printf("Bayar : Rp. %10.2fn",
total_harga_akhir);
printf("----------------------------------------------
n");
system("PAUSE");
return 0;
}
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
Program 5.5
Nama File : Lat-5.5.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom.
*/
#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
int menu,porsi,banyak_pesanan,
status_pesanan,harga_makanan;
float pajak,diskon;
float total_harga_awal,total_harga_akhir;
//inisialisasi awal
diskon=0;
total_harga_awal=0;
total_harga_akhir=0;
//input
cout<<"Menu Makanan"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"1. Cap Cay Goreng"<<endl;
cout<<"2. Kakap Asam Manis"<<endl;
cout<<"3. Puyung Hay"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"Masukkan pilihan makanan : ";cin>>menu;
cout<<endl;
cout<<"Pilihan Porsi"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"1. Kecil"<<endl;
cout<<"2. Sedang"<<endl;
cout<<"3. Besar"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"Masukkan pilihan porsi : ";cin>>porsi;
cout<<endl;
cout<<"Masukkan banyak pesanan : ";
cin>>banyak_pesanan;
cout<<endl<<"Status Pesanan"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"1. Makan Ditempat"<<endl;
cout<<"2. Dibungkus"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"Masukkan status pesanan : ";
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 18
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
cin>>status_pesanan;
system("cls");
//proses
//if model ke-1
if((menu==1)&&(porsi==1))
harga_makanan=15000;
else
if((menu==1)&&(porsi==2))
harga_makanan=20000;
else
if((menu==1)&&(porsi==3))
harga_makanan=25000;
//if model ke-2
if(menu==2)
{
if(porsi==1)
harga_makanan=30000;
else if(porsi==2)
harga_makanan=40000;
else
{
harga_makanan=50000;
diskon=0.05*harga_makanan*banyak_pesanan;
}
}
//if dengan gabungan switch (case)
if(menu==3)
{
switch (porsi)
{
case 1:harga_makanan=10000;break;
case 2:harga_makanan=15000;break;
default:harga_makanan=20000;
}
}
total_harga_awal=(harga_makanan*banyak_pesanan)-
diskon;
if (status_pesanan==1)
pajak=0.1*total_harga_awal;
else
pajak=0;
total_harga_akhir=total_harga_awal+pajak;
//output
cout<<setiosflags(ios::fixed);
cout<<"Hasil Perhitungan"<<endl;
cout<<"---------------------------------------------
-"<<endl;
DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.
DIKTAT PEMROGRAMAN I HAL 19
90
91
92
93
94
95
96
97
cout<<"Diskon : Rp. "
<<setprecision(2)<<setw(10)<<diskon<<endl;
cout<<"Total harga : Rp. "<<setprecision(2)
<<setw(10)<<total_harga_awal<<endl;
cout<<"Pajak : Rp. "
<<setprecision(2)<<setw(10)<<pajak<<endl;
cout<<"Bayar : Rp. "<<setprecision(2)
<<setw(10)<<total_harga_akhir<<endl;
cout<<"---------------------------------------------
-"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Hasil eksekusi:
Gambar 5.5 Hasil eksekusi program Lat 5.5

More Related Content

Similar to LAMPU LALU LINTAS

Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppttaufikhidayat607720
 
DASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptxDASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptxAnnaUrnika1
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newasdammantap
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.pptJournalJPMN
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptNoerisEkaBudiarti
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppteriekorlando3
 
Modul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur KontrolModul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur KontrolRakhmat Dedi Gunawan
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Pertemuan10 pemrograman shell - b
Pertemuan10   pemrograman shell - b Pertemuan10   pemrograman shell - b
Pertemuan10 pemrograman shell - b Syaiful Ahdan
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritmaformatik
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrogramanRoziq Bahtiar
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganAchmad Solichin
 

Similar to LAMPU LALU LINTAS (20)

Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
 
DASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptxDASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptx
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul new
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.ppt
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
Modul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur KontrolModul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur Kontrol
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Pertemuan10 pemrograman shell - b
Pertemuan10   pemrograman shell - b Pertemuan10   pemrograman shell - b
Pertemuan10 pemrograman shell - b
 
207 p04
207 p04207 p04
207 p04
 
Algoritma pemrograman 11
Algoritma pemrograman 11Algoritma pemrograman 11
Algoritma pemrograman 11
 
Algoritma pemrograman 7
Algoritma pemrograman 7Algoritma pemrograman 7
Algoritma pemrograman 7
 
Asistensi 1 mod 3
Asistensi 1 mod 3Asistensi 1 mod 3
Asistensi 1 mod 3
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritma
 
Buku c
Buku cBuku c
Buku c
 
Belajar Java dasar
Belajar Java dasarBelajar Java dasar
Belajar Java dasar
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
Pert 3. stored_procedure
Pert 3. stored_procedurePert 3. stored_procedure
Pert 3. stored_procedure
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 

Recently uploaded

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 

Recently uploaded (20)

Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 

LAMPU LALU LINTAS

  • 1. DISU DIK Pe dise diha tida dida pern perc aka yan yan Op logi Ope USUN OLEH KTAT PEMR endahu Tidak elesaikan d adapkan pa ak lain adal asarkan pa nyataan ya cabangan. Statem n diekseku g didefinis g akan dija perato Untuk ka. Adapun erator = = A= != A! > A> < A< > = A> < = A< H : ADAM MU ROGRAMAN DIK uluan semua pe dengan ru ada pemilih ah suatu p da hasil ko ang bisa dig Dua pernta men atau p si apabila k ikan salah alankan. or-Ope bisa mem n operator- Contoh = = B = B > B < B > = B < = B UKHARIL BA I KTAT MATA PER Perca rmasalahan untunan. A han atau p emilihan st ondisi yang gunakan a aan tersebu ernyataan kondisi yan maka per rator L buat sebua operator lo Tabel 5.1 O Apaka Apaka Apaka Apaka Apaka variabe Apaka variabe ACHTIAR, S. A KULIAH P BAB V RCABAN banga n yang di Ada suatu percabanga tatemen ya dihasilkan pabila kita ut adalah i yang terd ng didefinis nyataan di Logika ah kondisi ogika yang Operator-O h isi variab h isi variab h isi variab h isi variab h isi variab el B h isi variab el B .Kom. PEMROGRA V NGAN an ihadapi di kasus dim n. Percaba ang akan di . Di dalam dihadapka f dan sw it apat dalam ikan bernila blok lain a diperluka digunakan Operator Log A bel A sama bel A tidak s bel A lebih b bel A lebih k bel A lebih bel A lebih AMAN I dalam pe mana seor angan yang ieksekusi. P bahasa C an pada kas tch. m sebuag ai benar. D (yang kond n adanya antara lain gika Arti dengan isi sama denga besar dari i kecil dari is besar atau kecil atau IF emrograma rang progr g dimaksud Pemilihan t dan C+ + a sus yang m blok perca Dan apabila disinya ter operator-o n: variabel B an isi varia si variabel i variabel B u sama den u sama den HAL 1 F an bisa rammer d di sini tersebut ada dua memiliki abangan kondisi rpenuhi) operator bel B B B ngan isi ngan isi
  • 2. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 2 && (A< = 100)&& (A> = 80) Apakah isi variabel A lebih kecil atau sama dengan 100 dan apakah isi variabel A lebih besar atau sama dengan 80 | | (A< = 100)| | (A> = 80) Apakah isi variabel A lebih kecil atau sama dengan 100 atau apakah isi variabel A lebih besar atau sama dengan 80 ! !(A= = B) Apakah A tidak sama dengan B Struktur IF Satu Kondisi Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah kondisi yang akan diperiksa. Bentuk umum struktur ini adalah sebagai berikut: if( kondisi) { Pernyataan1 ; Pernyataan2 ; } atau if( kondisi) Pernyataan; Sebagai contoh adalah percabangan untuk menentukan seseorang boleh memiliki SIM atau tidak. Kondisi yang digunakan adalah seseorang boleh memiliki SIM kalau sudah berusia 17 tahun. Programnya sebagai berikut: 1 2 3 4 5 6 7 8 9 10 11 /* Program 5.1 Nama File : Lat-5.1.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {
  • 3. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 3 12 13 14 15 16 17 18 int umur; printf("Masukkan umur anda : ");scanf("%i",&umur); if(umur<17) printf("Anda tidak diperbolehkan memiliki SIM.nn"); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* Program 5.1 Nama File : Lat-5.1.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int umur; cout<<"Masukkan umur anda : "; cin>>umur; if(umur<17) cout<<"Anda tidak diperbolehkan memiliki SIM." <<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi: Gambar 5.1 Hasil eksekusi program Lat 5.1
  • 4. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 4 Terkadang ada struktur if ini yang memiliki lebih dari satu pernyataan. Sebagai contoh perhatikan contoh program di bawah ini” 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* Program 5.2 Nama File : Lat-5.2.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { float IP; printf("Berapa IP anda : ");scanf("%f",&IP); if(IP>=3.5) { printf("nIP anda %.2fn",IP); printf("Anda cum laude!nn"); } system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /* Program 5.2 Nama File : Lat-5.2.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { float IP; cout<<"Berapa IP anda : "; cin>>IP; if(IP>=3.5) { cout<<setiosflags(ios::fixed);//supaya tidak dibulatkan
  • 5. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 5 21 22 23 24 25 26 cout<<"nIP anda "<<setprecision(2)<<IP<<endl; cout<<"Anda cum laude!"<<endl<<endl; } system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi: Gambar 5.2 Hasil eksekusi program Lat 5.2 Catatan Hati-hati untuk penggunaan tanda sama dengan dalam kondisi. Tanda sama dengan yang digunakan dalam kondisi berjumlah dua (= = ). Apabila tanda sama dengan hanya berjumlah satu maka akan dianggap sebagai operator penugasan (assignment). Struktur IF Dua Kondisi Struktur ini memiliki kekompleksan yang lebih tinggi dibandingkan struktur if dengan satu kondisi. Struktur ini memiliki alternatif pilihan apabila kondisi yang pertama tidak terpenuhi. Adapun bentuk umum dari struktur ini adalah sebagai berikut:
  • 6. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 6 if( kondisi) { Pernyataan_ jika_ kondisi_terpenuhi; } else { Pernyataan_ jika_ kondisi_tidak_ terpenuhi; } Sebagai contoh buatlah program untuk menentukan apakah bilangan yang diinputkan merupakan positif atau negatif. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* Program 5.3 Nama File : Lat-5.3.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int bil; printf("Masukkan bilangan bulat: ");scanf("%i",&bil); if(bil>=0) { printf("nBilangan yang dimasukkan adalah %in",bil); printf("Bilangan ini adalah bilangan positifnn"); } else { printf("nBilangan yang dimasukkan adalah %in",bil); printf("Bilangan ini adalah bilangan negatifnn"); } system("PAUSE"); return 0; }
  • 7. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /* Program 5.3 Nama File : Lat-5.3.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int bil; cout<<"Masukkan bilangan bulat: "; cin>>bil; if(bil>=0) { cout<<"nBilangan yang dimasukkan adalah " <<bil<<endl; cout<<"Bilangan ini adalah bilangan positif" <<endl<<endl; } else { cout<<"nBilangan yang dimasukkan adalah " <<bil<<endl; cout<<"Bilangan ini adalah bilangan negatif" <<endl<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
  • 8. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 8 Hasil eksekusi: Gambar 5.3 Hasil eksekusi program Lat 5.3 Struktur IF Tiga atau Lebih Kondisi Struktur if inilah yang paling kompleks dalam penggunaannya. Hal ini dikarenakan kondisi yang harus diperiksa lebih dari dua kondisi. Terkadang hal ini jugalah yang membuat beberapa programmer mengalami kesulitan. Bentuk umum struktur ini adalah sebagai berikut:
  • 9. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 9 if( kondisi1 ) { Pernyataan_ jika_ kondisi1 _ terpenuhi; } else if( kondisi2 ) { Pernyataan_ jika_ kondisi2 _ terpenuhi; } else if( kondisi3 ) { Pernyataan_ jika_ kondisi3 _ terpenuhi; } … else { Pernyataan_ kalau_ sem ua_ kondisi_ tidak_ terpenuhi; } Sebagai contoh buatlah program lampu lalu lintas dengan sintaks berikut ini. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /* Program 5.4 Nama File : Lat-5.4.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> #include <conio2.h> int main(int argc, char *argv[]) { int pilihan; textbackground(WHITE); clrscr(); textcolor(BLACK);printf("Pilihan Warna Lampu Lalu Lintasn"); printf("-------------------------------n"); textcolor(LIGHTRED);printf("1. Merahn"); textcolor(YELLOW);printf("2. Kuningn");
  • 10. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 10 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 textcolor(LIGHTGREEN);printf("3. Hijaun"); textcolor(BLACK);printf("----------------------------- --nn"); textcolor(BLACK); printf("Masukkan pilihan anda [1..3]: "); scanf("%i",&pilihan); printf("n"); if(pilihan==1) { textcolor(LIGHTRED); printf("Lampu merah artinya tidak boleh jalan!"); } else if(pilihan==2) { textcolor(YELLOW); printf("Lampu kuning artinya siap-siap!"); } else if(pilihan==3) { textcolor(LIGHTGREEN); printf("Lampu hijau artinya boleh jalan!"); } else printf("Pilihan yang dimasukkan salah!"); printf("nn"); textcolor(BLACK); system("PAUSE"); return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /* Program 5.4 Nama File : Lat-5.4.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <conio2.h> using namespace std; int main(int argc, char *argv[]) { int pilihan;
  • 11. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 11 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 textbackground(WHITE); clrscr(); textcolor(BLACK);cout<<"Pilihan Warna Lampu Lalu Lintas"<<endl; cout<<"-------------------------------"<<endl; textcolor(LIGHTRED);cout<<"1. Merah"<<endl; textcolor(YELLOW);cout<<"2. Kuning"<<endl; textcolor(LIGHTGREEN);cout<<"3. Hijau"<<endl; textcolor(BLACK);cout<<"---------------------------- ---"<<endl<<endl; textcolor(BLACK); cout<<"Masukkan pilihan anda [1..3]: ";cin>>pilihan; cout<<endl; if(pilihan==1) { textcolor(LIGHTRED); cout<<"Lampu merah artinya tidak boleh jalan!"; } else if(pilihan==2) { textcolor(YELLOW); cout<<"Lampu kuning artinya siap-siap!"; } else if(pilihan==3) { textcolor(LIGHTGREEN); cout<<"Lampu hijau artinya boleh jalan!"; } else cout<<"Pilihan yang dimasukkan salah!"; cout<<endl<<endl; textcolor(BLACK); system("PAUSE"); return EXIT_SUCCESS; }
  • 12. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 12 Hasil eksekusi: Gambar 5.4 Hasil eksekusi program Lat 5.4 Switch – Case - Default Selain menggunakan fungsi if, percabangan bisa juga menggunakan sebuah perintah yaitu switch – case – default. Bentuk dasar dari perintah ini adalah sebagai berikut: sw itch( ekspresi) { case kondisi1 : perintah1 ;break; case kondisi2 : perintah2 ;break; default : perintah3 ; } Ada 2 hal yang harus diperhatikan apabila ingin menggunakan perintah ini, yaitu: 1. Kondisi harus diisi dengan data yang bertipe data ordinal (integer,char, dan boolean). Dengan kata lain ekspresinya harus memiliki nilai yang bertipe ordinal. Apabila tidak diisi dengan tipe data ordianal maka perintah ini tidak dapat memeriksa kondisinya.
  • 13. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 13 2. Perintah break digunakan untuk menghentikan eksekusi switch apabila ada satu kondisi yang terpenuhi. Apabila semua kondisi tidak terpenuhi maka perintah yang akan dijalankan adalah perintah yang berada di bagian default. Untuk lebih jelasnya lihat penggalan program di bawah ini: 1 2 3 4 5 6 7 switch(juara) { case 1 : printf(“Anda juara 1!n”);break; case 2 : printf(“Anda juara 2!n”);break; case 3 : printf(“Anda juara 3!n”);break; default : printf(“Anda bukan juara! Coba lagi!n”); } Keterangan: Juara memiliki tipe data integer. Apabila juara diisi dengan nilai 1 maka akan menghasilkan teks Anda juara 1 ! Begitu pun seterusnya. Apabila nilai inputan juara bukan antara 1 sampai 3 maka akan keluar teks Anda bukan juara! Coba lagi! Struktur IF Dengan Banyak Kondisi Maksud dari banyak kondisi di sini adalah adanya lebih satu kondisi yang dimiliki dalam satu kali pemeriksaan kondisi. Terkadang untuk menjalankan statement tertentu diperlukan banyak kondisi yang harus diperiksa. Ada 2 buah operator yang digunakan untuk if dengan banyak kondisi yaitu && (and) dan | | (or). Untuk lebih jelasnya perhatikan penggalan perintah di bawah ini: 1 2 3 4 5 if((index==’A’)||(index==’B’)||(index==’C’)) printf(“Selamat, Anda lulus!”); else if((index==’D’)||(index==”E”)) printf(“Anda tidak lulus. Coba lagi ya!”); Kalau diperhatikan seksama maka untuk menampilkan string Selam at, Anda lulus! Kondisi yang harus diperiksa ada tiga kondisi. Sedangkan untuk string Anda tidak lulus. Coba lagi ya! Ada dua kondisi yang harus diperiksa. Catatan Untuk operator AND, semua kondisi harus terpenuhi untuk menghasilkan kondisi bernilai TRUE sedangkan untuk operator OR cukup satu kondisi saja terpenuhi maka kondisi akan bernilai TRUE.
  • 14. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 14 Untuk lebih jelasnya buatlah program dengan kasus menu makanan seperti yang tertera pada tabel di bawah ini. Tabel 5.2 Menu makanan Porsi Kecil (1) Sedang (2) Besar (3) M a k a na n Cap Cay Goreng (1) 15000 20000 25000 Kakap Asam Manis (2) 30000 40000 50000 Puyung Hay (3) 10000 15000 20000 Ada beberapa aturan yang berlaku di restoran ini, antara lain: 1. Apabila makanan yang dipesan dimakan di tempat maka pembeli dikenakan pajak sebesar 10% dari total harga. Sedangkan apabila makanan dibungkus maka tidak dikenakan pajak. 2. Apabila memesan kakap asam manis dalam ukuran besar maka mendapat diskon 5% dari harga kakap asam manis porsi besar (perpotongnya). 3. Input: a. Menu makanan b. Porsi c. Banyak pesanan d. Status pesanan. 4. Output: a. Diskon b. Total harga c. Pajak d. Bayar. Program untuk kasus di atas: 1 2 3 4 5 6 7 8 9 10 /* Program 5.5 Nama File : Lat-5.5.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[])
  • 15. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 15 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 { int menu,porsi,banyak_pesanan, status_pesanan,harga_makanan; float pajak,diskon; float total_harga_awal,total_harga_akhir; //inisialisasi awal diskon=0; total_harga_awal=0; total_harga_akhir=0; //input printf("Menu Makanann"); printf("---------------------------------n"); printf("1. Cap Cay Gorengn"); printf("2. Kakap Asam Manisn"); printf("3. Puyung Hayn"); printf("---------------------------------n"); printf("Masukkan pilihan makanan : "); scanf("%i",&menu); printf("n"); printf("Pilihan Porsin"); printf("---------------------------------n"); printf("1. Keciln"); printf("2. Sedangn"); printf("3. Besarn"); printf("---------------------------------n"); printf("Masukkan pilihan porsi : "); scanf("%i",&porsi); printf("n"); printf("Masukkan banyak pesanan : "); scanf("%i",&banyak_pesanan); printf("nStatus Pesanann"); printf("---------------------------------n"); printf("1. Makan Ditempatn"); printf("2. Dibungkusn"); printf("---------------------------------n"); printf("Masukkan status pesanan : "); scanf("%i",&status_pesanan); system("cls"); //proses //if model ke-1 if((menu==1)&&(porsi==1)) harga_makanan=15000; else if((menu==1)&&(porsi==2)) harga_makanan=20000; else if((menu==1)&&(porsi==3))
  • 16. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 16 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 harga_makanan=25000; //if model ke-2 if(menu==2) { if(porsi==1) harga_makanan=30000; else if(porsi==2) harga_makanan=40000; else { harga_makanan=50000; diskon=0.05*harga_makanan*banyak_pesanan; } } //if dengan gabungan switch (case) if(menu==3) { switch (porsi) { case 1:harga_makanan=10000;break; case 2:harga_makanan=15000;break; default:harga_makanan=20000; } } total_harga_awal=(harga_makanan*banyak_pesanan)- diskon; if (status_pesanan==1) pajak=0.1*total_harga_awal; else pajak=0; total_harga_akhir=total_harga_awal+pajak; //output printf("Hasil Perhitungann"); printf("---------------------------------------------- n"); printf("Diskon : Rp. %10.2fn",diskon); printf("Total harga : Rp. %10.2fn", total_harga_awal); printf("Pajak : Rp. %10.2fn",pajak); printf("Bayar : Rp. %10.2fn", total_harga_akhir); printf("---------------------------------------------- n"); system("PAUSE"); return 0; }
  • 17. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 /* Program 5.5 Nama File : Lat-5.5.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { int menu,porsi,banyak_pesanan, status_pesanan,harga_makanan; float pajak,diskon; float total_harga_awal,total_harga_akhir; //inisialisasi awal diskon=0; total_harga_awal=0; total_harga_akhir=0; //input cout<<"Menu Makanan"<<endl; cout<<"---------------------------------"<<endl; cout<<"1. Cap Cay Goreng"<<endl; cout<<"2. Kakap Asam Manis"<<endl; cout<<"3. Puyung Hay"<<endl; cout<<"---------------------------------"<<endl; cout<<"Masukkan pilihan makanan : ";cin>>menu; cout<<endl; cout<<"Pilihan Porsi"<<endl; cout<<"---------------------------------"<<endl; cout<<"1. Kecil"<<endl; cout<<"2. Sedang"<<endl; cout<<"3. Besar"<<endl; cout<<"---------------------------------"<<endl; cout<<"Masukkan pilihan porsi : ";cin>>porsi; cout<<endl; cout<<"Masukkan banyak pesanan : "; cin>>banyak_pesanan; cout<<endl<<"Status Pesanan"<<endl; cout<<"---------------------------------"<<endl; cout<<"1. Makan Ditempat"<<endl; cout<<"2. Dibungkus"<<endl; cout<<"---------------------------------"<<endl; cout<<"Masukkan status pesanan : ";
  • 18. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 18 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 cin>>status_pesanan; system("cls"); //proses //if model ke-1 if((menu==1)&&(porsi==1)) harga_makanan=15000; else if((menu==1)&&(porsi==2)) harga_makanan=20000; else if((menu==1)&&(porsi==3)) harga_makanan=25000; //if model ke-2 if(menu==2) { if(porsi==1) harga_makanan=30000; else if(porsi==2) harga_makanan=40000; else { harga_makanan=50000; diskon=0.05*harga_makanan*banyak_pesanan; } } //if dengan gabungan switch (case) if(menu==3) { switch (porsi) { case 1:harga_makanan=10000;break; case 2:harga_makanan=15000;break; default:harga_makanan=20000; } } total_harga_awal=(harga_makanan*banyak_pesanan)- diskon; if (status_pesanan==1) pajak=0.1*total_harga_awal; else pajak=0; total_harga_akhir=total_harga_awal+pajak; //output cout<<setiosflags(ios::fixed); cout<<"Hasil Perhitungan"<<endl; cout<<"--------------------------------------------- -"<<endl;
  • 19. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. DIKTAT PEMROGRAMAN I HAL 19 90 91 92 93 94 95 96 97 cout<<"Diskon : Rp. " <<setprecision(2)<<setw(10)<<diskon<<endl; cout<<"Total harga : Rp. "<<setprecision(2) <<setw(10)<<total_harga_awal<<endl; cout<<"Pajak : Rp. " <<setprecision(2)<<setw(10)<<pajak<<endl; cout<<"Bayar : Rp. "<<setprecision(2) <<setw(10)<<total_harga_akhir<<endl; cout<<"--------------------------------------------- -"<<endl; system("PAUSE"); return EXIT_SUCCESS; } Hasil eksekusi: Gambar 5.5 Hasil eksekusi program Lat 5.5