Vous êtes sur la page 1sur 20

Praktikum Algoritma dan Pemrograman 2015

MODUL II
STATEMENT CONTROL
2.1. TUJUAN
a. Mahasiswa bisa membuat program yang memerlukan perulangan.
b. Mahasiswa bisa memilih / menentukan statement looping yang paling
sesuai dengan permasalahan yang harus dipecahkan.
c. Mahasiswa bisa menentukan statement control yang tepat untuk program
yang dibuat.
2.2. DASAR TEORI
2.2.1. Ekspresi
Ekspresi atau pernyataan ungkapan merupakan suatu operator
yang dimana operator ini memberikan suatu sifat atau keadaan, yang
di berlakukan pada suatu variabel, dengan kata lain ekspresi
memberikan atau menunjukan kondisi yang ada pada suatu variabel.
Contoh :
1 + 2 merupakan contoh ekspresi yang dimana + merupakan
operator ekspresinya, jadi operator + menunjukan kondisi apa yang
diberlakukan pada variabel 1 dan 2 yakni dijumlahkan, sedangkan
nilai 3 merupakan hasil ekspresi.
Selain tanda + , dalam bahasa C++ juga terdapat operator
ekspresi lainnya, diantaranya:
Operator aritmatika :
Tabel 2.1 Operator aritmatika
Operator
Arti
Tipe data
+
Penjumlahan (bilangan bulat atau bilangan pecahan)
-

pengurangan (bilangan bulat atau bilangan pecahan)

perkalian

(bilangan bulat atau bilangan pecahan)

pembagian

(bilangan bulat atau bilangan pecahan)

modulo

(bilangan bulat)

++

increment

(bilangan bulat)

decrement

(bilangan bulat)

--

Modul 2 Statement Control

2-1

Praktikum Algoritma dan Pemrograman 2015

Operator relasi :
Tabel 2.2 Operator relasi
Arti
Contoh
lebih kecil dari
5<3

Operator
<
<
=

5<=5

4>4
lebih besar dari
4>=4
lebih besar atau sama dengan

sama dengan

lebih kecil atau sama dengan

>
>
=
=
=

Nilai
0

tidak sama dengan

(3+2) ==(4+1)
(5 + 2) != (5 2)

1
1

Ekspresi adalah segala sesuatu yang bila dievaluasi akan


menghasilkan suatu nilai.
a. Sebuah konstanta adalah sebuah ekspresi.
b. Sebuah variabel adalah sebuah ekspresi.
c. Sebuah ekspresi yang dioperasikan dengan operasi lain adalah
sebuah ekspresi.
d. pemanggilan terhadap sebuah function adalah sebuah ekspresi.
2.2.2. Statement Control
Statement control merupakan sebuah statement yang terdiri dari
kondisi-kondisi yang dimana jika kondisi tersebut terpenuhi program
akan melakukan suatu instruksi tertentu. Jadi dapat di katakan
statement control merupakan penunjuk arah bagi urutan suatu
program.
Dalam bahasa C++ terdapat beberapa jenis statement control
sebagai berikut :
a. Konstruksi if
Pada konstruksi if sebuah konstruktur program hanya
memiliki

sebuah kondisi, artinya dimana suatu instruksi atau

beberapa instruksi akan dijalankan apabila sebuah kondisi tersebut


dipenuhi, namun apabila kondisi tersebut tidak terpenuhi maka
instruksi yang ada tidak akan dijalankan.
Berikut sintaks dari konstruksi if :
if

(kondisi)
{
instruksi/statement;

}
Modul 2 Statement Control

2-2

Praktikum Algoritma dan Pemrograman 2015

b. Konstruksi if else
Pada konstruksi if

else

sedikit berbeda dengan

konstruksi if karena pada konstruksi if else. jika sebuah


kondisi tidak terpenuhi maka program akan mencari kondisi lain
yang ada atau menjalankan instruksi yang berada di luar bagian
dari kondisi yang tidak terpenuhi.
Berikut sintaks dari konstruksi if-else :
if

(kondisi)
{
statement/instruksi;
}

else

{
}

statement/instruksi;

c. Konstruksi if else bersarang


Pada konstruksi ini terdapat lebih dari satu buah kondisi jadi
apabila sebuah kondisi tidak terpenuhi maka jumlah akan berlanjut
ke kondisi berikutnya tergantung berapa banyak kondisi yang ada.
Berikut sintaks konstruksi if else bersarang :
if

(kondisi){
statement/instruksi;
}

else if (kondisi){
statement/instruksi;
}
else
{

statement/instruksi;

d. Konstruksi switch case


Konstruksi switch

case

sedikit berbeda dengan

konstruksi if else, di mana konstruksi switch case


lebih menguntungkan digunakan pada program yang memiliki
banyak pilihan kondisi dalam satu step dan jumlah kondisi sudah
pasti.jadi berbeda dengan statement if else yang hanya
Modul 2 Statement Control

2-3

Praktikum Algoritma dan Pemrograman 2015

memiliki 2 pilihan kondisi pada satu step.


Berikut sintaks konstruksi switch case :
switch (variabel)
{
case konstanta1
{
statement;
break;
}
Case konstanta ke-n
{
statement;
break;
}
}

2.2.3. Statement Looping


Statement Looping atau pengulangan dimana suatu instruksi
dapat

dilaksanakan

secara

terus

menerus

tergantung

jumlah

pengulangan atau batas pengulangan yang telah ditentukan.


Struktur pengulangan terdiri dari dua buah bagian yaitu :
a. Kondisi pengulangan, yaitu ekspresi Boolean yang harus di penuhi
untuk melakukan pengulangan.
b. Isi atau badan pengulangan, yaitu satu atau lebih pernyataan yang
akan diulang.
Berikut macam konstruksi pengulangan :
a. Konstruksi for
Konstruksi

for

adalah

perintah

pengulangan

yang

digunakan apabila programmer sudah mengetahui berapa kali


proses pengulangan yang akan dilakukan, dan perintah for tidak
membutuhkan suatu kondisi terpenuhi.
Berikut sintaks programnya :
Deklarasi peubah ;
for (peubah=nilai awal ; peubah=nilai akhir ;
kondisi)
{Statement;

Contoh :
int i;
for ( i=0 ; i<5 ; i++ )
Modul 2 Statement Control
(
Cout<<looping 5 kali \n;
}

2-4

Praktikum Algoritma dan Pemrograman 2015

b. Konstruksi while
Konstruksi while merupakan perintah pengulangan yang di
pakai apabila programmer tidak mengetahui berapa kali jumlah
pengulangan dilakukan, dan perintah while ini memungkinkan
statement yang ada pada konstruksinya tidak dilakukan sama sekali
jika kondisi tidak di penuhi.
Berikut sintaks programnnya :
while (kondisi)
{
statement;
}

c. Konstruksi do-while
Konstruksi do-while merupakan perintah pengulangan
yang dipakai apabila programmer tidak mengetahui berapa kali
jumlah pengulangan dilakukan. Perintah do-while sedikit
berbeda dengan while karena pada perintah do-while,
statement yang berada pada konstruksinya harus dilaksanakan satu
kali walaupun kondisi yang ada tidak terpenuhi.
Berikut sintaks programnya :
do
{
statement;
}
while (kondisi);

2.3. PERMASALAHAN
1. Buatlah program untuk menentukan suatu bilangan merupakan kelipatan
2, 9, keduanya, atau tidak keduanya.
2. Buatlah program untuk menampilkan bilangan berikut :
1

11 16 22

3. Buatlah program menampilkan menu :


Modul 2 Statement Control

2-5

Praktikum Algoritma dan Pemrograman 2015

a.

Bilangan ganjil dari 0-100

b.

Bilangan genap dari 0-100

Modul 2 Statement Control

2-6

Praktikum Algoritma dan Pemrograman 2015

2.4. HASIL PERCOBAAN


2.4.1. Penyelesaian permasalahan pertama
a. Algoritma
1) Masukkan variabel yang dibutuhkan untuk menampung suatu
nilai, yaitu x.
2) Tentukan syarat kondisi pertama, yaitu jika x habis dibagi 2 dan
x tidak habis dibagi 9, maka akan ditampilkan bahwa x adalah
bilangan kelipatan 2.
3) Tentukan syarat kondisi kedua, yaitu jika x habis dibagi 9 dan x
tidak habis dibagi 2, maka akan ditampilkan bahwa x adalah
bilangan kelipatan 9.
4) Tentukan syarat kondisi ketiga, yaitu jika x habis dibagi 2dan x
habis dibagi 9, maka akan ditampilkan bahwa x adalah bilangan
kelipatan 2 dan 9.
5) Tentukan tampilan jika x tidak memenuhi ketiga syarat tersebut,
yaitu x bukan bilangan kelipatan 2 dan 9.
6) Cetak hasil.
b. Pseudocode
Step 1 : start
Step 2 : Input x is integer
Step 3 : if(x%2==0&x%9!=0){
print merupakan bilangan kelipatan 2
}
else if (x%9==0&x%2!=0){
print merupakan bilangan kelipatan 9
}
else if(x%2==0&x%9==0){
print merupakan bilangan kelipatan 2 dan 9
}
else
print bukan bilangan kelipatan 2 dan 9
Step 4 : stop
Modul 2 Statement Control

2-7

Praktikum Algoritma dan Pemrograman 2015

c. Flowchart
START

input x

(x
%2==0&&
x%9!=0)

Y
y

print
merupakan
bilangan
kelipatan 2

N
(x
%9==0&&
x%2!=0)

Y
y

print
merupakan
bilangan
kelipatan 9

N
(x%2==0
&& x
%9==0)

Y
y

print
merupaka
n bilangan
kelipatan
2 dan 9

N
print bukan
bilangan
kelipatan 2 dan
9
STOP
Gambar 2.1 flowchart permasalahan 1
d. Source code
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
cout<<"masukkan angka=";
cin>>x;
if(x%2==0&x%9!=0)
cout<<"merupakan bilangan kelipatan 2";
Modul 2 Statement Control

2-8

Praktikum Algoritma dan Pemrograman 2015


else if(x%9==0&x%2!=0)
cout<<"merupakan bilangan kelipatan 9";
else if(x%2==0&x%9==0)
cout<<"merupakan bilangan kelipatan 2 dan 9";
else
cout<<"bukan bilangan kelipatan 2 dan 9";
getch();
}

e. Hasil run

Gambar 2.2 Program setelah di-compile


2.4.2. Penyelesaian permasalahan kedua :
a. Algoritma
1) Deklarasikan variabel x=1 sebagai angka pertama yang akan
ditampilkan dan a sebagai variabel dari angka kedua yang akan
dioperasikan dengan x.
2) Tentukan batas-batas nilai a, yaitu a=0; a<=7; a++.
3) Gunakan rumus x+=a untuk mengoperasikan kedua variabel.
4) Cetak hasil.
b. Pseudocode
Step 1 : start
Step 2 : set x=1, a is integer
Step 3 : for (a1;a<=7;a++) then
print x
x+a
Step 4 : stop

Modul 2 Statement Control

2-9

Praktikum Algoritma dan Pemrograman 2015

c. Flowchart
START

x=1
a=0

a<=7

Y
print x

x+=a

a++

STOP
Gambar 2.3 flowchart permasalahan 2
d. Source code
#include <iostream.h>
#include <conio.h>
void main()
{
int x=1,a;
for(a=0;a<=7;a++)
{
cout<<x<<" ";
x+=a;
}
getch();
}

Modul 2 Statement Control

2-10

Praktikum Algoritma dan Pemrograman 2015

e. Hasil run

Gambar 2.4 Program setelah di-compile


2.4.3. Penyelesaian permasalahan ketiga :
a. Algoritma
1) Deklarasikan x sebagai variabel untuk menentukan pilihan.
2) Tampilkan Menu pilihan pada output.
3) Tampilkan keterangan pilihan menu,yaitu 1 untuk menampilkan
bilangan ganjil dari 0-100 dan 2 untuk menampilkan bilangan
genap 0-100.
4) Jika dimasukkan angka 1, maka akan muncul bilangan dari 0100 yang apabila dibagi 2 hasil baginya tidak sama dengan 0.
5) Jika dimasukkan angka 2, maka akan muncul bilangan dari 0100 yang apabila dibagi 2 hasil baginya sama dengan 0.
b. Pseudocode
Step 1 : start
Step 2 : set x is integer
Step 3 : print menu pilihan
Step 4 : print 1. Bilangan ganjil 0-100
2. Bilangan genap 0-100
Step 5 : print masukkan pilihan
Step 6 : input x
Step 7 : case x of
1. for(x=1;x<=100;x++)
if(x%2!=0)
Modul 2 Statement Control

2-11

Praktikum Algoritma dan Pemrograman 2015

print x
2. for(x=1;x<=100;x++0
if(x%2==0)
print x
Step 8 : stop
c. Flowchart
START

input x

case
1

x=
1
N

x=
1

x<=1
00

x<=1
00
Y
Y

x%2!
=0

case
2

N
Y

print x

x
%2==
0

x++
print x

x++

STOP

Gambar 2.5 flowchart permasalahan 3


d. Source code
#include <iostream.h>
#include <conio.h>
Modul 2 Statement Control

2-12

Praktikum Algoritma dan Pemrograman 2015


void main()
{
int x;
cout<<"MENU PILIHAN"<<endl;
cout<<"1.bilangan ganjil 0-100"<<endl;
cout<<"2.bilangan genap 0-100"<<endl;
cout<<"masukkan pilihan=";
cin>>x;
switch(x)
{
case 1:
for(x=1;x<100;x++){
if(x%2!=0)
cout<<x<<" ";
}
break;
case 2:
for(x=1;x<=100;x++){
if(x%2==0)
cout<<x<<" ";
}
break;
}
getch();
}

e. Hasil run

Gambar 2.6 Program setelah di-compile

Modul 2 Statement Control

2-13

Praktikum Algoritma dan Pemrograman 2015

2.5. ANALISIS DATA


2.5.1. Analisis permasalahan pertama
#include <iostream.h>
#include <conio.h>

#include <iostream.h> digunakan apabila melibatkan objek


cout dan cin. cout adalah perintah untuk menampilkan
suatu keluaran pada layar atau output yang akan ditampilkan setelah
program di compile. cin diartikan sebagai input untuk data yang
akan di compile.
#include <conio.h> diperlukan bila melibatkan clsrscr(),
yaitu perintah untuk membersihkan layar dan fungsi getch()
untuk menerima sembarang input keyboard dari user.[2]
void main()
{

main() adalah nama judul fungsi. main() diikuti oleh sepasang


tanda kurung () karena merupakan fungsi. void adalah fungsi
kosong artinya void tidak memiliki nilai kembalian.
int x;

Script diatas adalah pendeklarasian variabel x yang bertipe integer.


Variabel x ini akan menampung nilai yang akan dimasukkan,
nantinya nilai x akan dicek apakah merupakan kelipatan 2 atau 9.
int merupakan salah satu tipe dasar yang menyimpan data
variabel yang berbentuk bilangan bulat.
cout<<"masukkan angka=";
cin>>x;

cout<<"masukkan

angka=";

berfungsi untuk menampilkan

output masukkan angka= pada layar.


cin>>x; berarti variabel x akan menampung nilai yang
dimasukkan.
if(x%2==0&x%9!=0)
cout<<"merupakan bilangan kelipatan 2";

script diatas berarti jika sisa hasil bagi dari x dibagi 2 sama
dengan 0 dan sisa hasil bagi dari x dibagi 9 tidak sama dengan
0, maka pada output akan tercetak merupakan bilangan

Modul 2 Statement Control

2-14

Praktikum Algoritma dan Pemrograman 2015


kelipatan

2. Jika kondisi ini tidak terpenuhi maka program akan

memeriksa variabel x ke kondisi selanjutnya.


else if(x%9==0&x%2!=0)
cout<<"merupakan bilangan kelipatan 9";

else if(x%9==0&x%2!=0) merupakan kondisi kedua yang akan


diperiksakan kepada x. jika sisa hasil bagi dari x dibagi 9
sama dengan 0 dan sisa hasil bagi dari x dibagi 2 tidak sama
dengan 0, maka pada output akan tercetak merupakan bilangan
kelipatan 9.

Jika kondisi ini tidak terpenuhi maka program akan

memeriksa variabel x ke kondisi selanjutnya.


else if(x%2==0&x%9==0)
cout<<"merupakan bilangan kelipatan 2 dan 9";

else if(x%2==0&x%9==0) merupakan kondisi ketiga yang akan


diperiksakan kepada x. jika sisa hasil bagi dari x dibagi 2
sama dengan 0 dan sisa hasil bagi dari x dibagi 9 sama dengan
0, maka pada output akan tercetak merupakan bilangan
kelipatan

dan

9.

Jika kondisi ini tidak terpenuhi maka

program akan menjalankan statement pada else.


else
cout<<"bukan bilangan kelipatan 2 dan 9";

jika kondisi-kondisi sebelumnya tidak terpenuhi maka program akan


menjalankan statement pada else, sehingga nanti pada output
akan tercetak bukan bilangan kelipatan 2 dan 9.
getch();
}

getch() berfungsi untuk mengehentikan proses compile sejenak


sampai pengguna menekan tombol yang ada pada keyboard.
2.5.2. Analisis permasalaha kedua
#include <iostream.h>
#include <conio.h>

Script ini sudah dijelaskan sebelumnya.


void main()
{

Script ini sudah dijelaskan sebelumnya.


int x=1,a;

Modul 2 Statement Control

2-15

Praktikum Algoritma dan Pemrograman 2015

Pendeklarasian variabel x dan a bertipe integer dimana x


ditetapkan bernilai 1, sedangkan variabel a digunakan sebagai
variabel yang akan diinisialisasikan pada statement looping for.
for(a=0;a<=7;a++)
{
cout<<x<<" ";
x+=a;
}

Script

diatas

digunakan untuk melakukan perulangan. a=0

merupakan inisialisasi yang berarti nilai awal untuk a sama dengan


0, a<=7 merupakan syarat terjadinya perulangan dimana
program akan berulang sampai a kurang atau sama dengan 7.
Sedangkan a++ berarti nilai a akan terus bertambah dan akan
dievaluasi lagi, dan jika bernilai true maka perulangan akan
berlanjut.
cout<<x<<" "; berfungsi untuk menampilkan output nilai x.
getch();
}

Script ini sudah dijelaskan sebelumnya.


2.5.3. Analisis permasalahan ketiga
#include <iostream.h>
#include <conio.h>
void main()
{
int x;

Script ini sudah dijelaskan sebelumnya.


cout<<"MENU PILIHAN"<<endl;

cout<<"MENU PILIHAN"<<endl; berfungsi untuk menampilkan


output MENU PILIHAN pada layar.
endl merupakan suatu fungsi manipulator yang digunakan untuk
menyisipkan karakter NewLine atau mengatur pindah baris.[1]
cout<<"1.bilangan ganjil 0-100"<<endl;

cout<<"1.bilangan ganjil 0-100"<<endl; berfungsi untuk


menampilkan output 1.bilangan ganjil 0-100 pada layar.
cout<<"2.bilangan genap 0-100"<<endl;

cout<<"2.bilangan

genap

0-100"<<endl;

berfungsi untuk

menampilkan output 2.bilangan genap 0-100 pada layar.


Modul 2 Statement Control

2-16

Praktikum Algoritma dan Pemrograman 2015


cout<<"masukkan pilihan=";
cin>>x;

cout<<"masukkan

pilihan=";

berfungsi untuk menampilkan

output masukkan pilihan= pada layar.


cin>>x;

berarti variabel

x akan menampung nilai yang

dimasukkan.
switch(x)
{

suatu statement switch diawali dengan kata baku switch dan diikuti
dengan sebuah ekspresi dan sebuah blok berisi case statements.
Baris-baris perintah yang dapat dikerjakan diawali dengan case serta
diikuti oleh suatu nilai dan tanda titik dua (:).[3]
case 1:
for(x=1;x<100;x++){
if(x%2!=0)
cout<<x<<" ";
}
break;

case 1: berisikan kondisi pertama. Statement dari case 1


berisikan for(x=1;x<100;x++) dimana x=1 berarti nilai awal
x sama dengan 1, x<100 merupakan

syarat terjadinya

perulangan, sedangkan x++ berarti nilai x akan terus bertambah


dan akan dievaluasi lagi, dan jika bernilai true maka perulangan akan
berlanjut.
if(x%2!=0) merupakan statement didalam for dimana (x%2!
=0)

merupakan kondisi yang berarti jika x dibagi 2 dan sisa

hasil baginya tidak sama dengan 0 maka nilai dari x akan


ditampilkan pada layar., jika kondisi dari if tidak dipenuhi maka
statement didalam if tidak akan dijalankan.
Perintah break;

akan menghentikan alur program yang

dikerjakan oleh switch.[3]


case 2:
for(x=1;x<=100;x++){
if(x%2==0)
cout<<x<<" ";
}
break;
}

Modul 2 Statement Control

2-17

Praktikum Algoritma dan Pemrograman 2015

case 2: berisikan kondisi kedua. Statement dari case 2


berisikan for(x=1;x<=100;x++) dimana x=1 berarti nilai awal
x sama dengan 1, x<=100 berarti looping akan terjadi sampai
x bernilai 100 dan berhenti ketika nilai x lebih dari 100,
sedangkan x++ berarti nilai x akan terus bertambah dan akan
dievaluasi lagi, dan jika bernilai true maka perulangan akan
berlanjut.
if(x%2!=0) merupakan statement didalam for dimana (x
%2==0)

merupakan kondisi yang berarti jika x dibagi 2 dan sisa

hasil baginya sama dengan 0 maka nilai dari x akan ditampilkan


pada layar., jika kondisi dari if tidak dipenuhi maka statement
didalam if tidak akan dieksekusi.
getch();
}

Script ini sudah dijelaskan sebelumnya

Modul 2 Statement Control

2-18

Praktikum Algoritma dan Pemrograman 2015

2.6. KESIMPULAN
Berdasarkan permasalahan dan analisa data diatas, maka dapat disimpulkan :
1. Untuk

membuat

program

yang

membutuhkan

perulangan

bisa

menggunakan for, while, dan do-while.


2. Statement looping yang digunakan untuk menyelesaikan permasalahan
kedua yaitu for. Karena jumlah perulangan yang dilakukan sudah
ditentukan yaitu sebanyak 8 kali.
3. Untuk menyelesaikan permasalahan pertama menggunakan konstruksi
if else sembarang yang terdiri dari beberapa kondisi. Dimana apabila
kondisi pertama tidak terpenuhi maka program akan melanjutkan mencari
kondisi yang terpenuhi. Dan jika kondisi pertama yang terpenuhi maka
program hanya akan menjalankan perintah yang ada pada kondisi
pertama.

Modul 2 Statement Control

2-19

Praktikum Algoritma dan Pemrograman 2015

DAFTAR PUSTAKA
[1] Frieyadie. (2007). Pemrograman C++ dengan Borland C++ 5.02. Jakarta :
BSI.
[2] Kurniawan, Erick. (2011). Membangun Aplikasi Mobile dengan Qt SDK.
Yogyakarta : CV Andi Offset.
[3] Sanjaya, Dwi. (2005). Asyiknya Belajar Struktur Data di Planet C++.
Jakarta : PT Elex Media Komputindo.

Modul 2 Statement Control

2-20

Vous aimerez peut-être aussi