Anda di halaman 1dari 158

Disusun Oleh :

Tim Penyusun Komisi MI


2012
Modul Algoritma Pemrograman I BORLAND
C++

1
Pengenalan
Bahasa C++
1.1. Sejarah Singkat
1.1.1. Sekilas Perkembangan Bahasa C
Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis pertama
kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa
turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson
pada tahun 1970 yang diturunkan oleh bahasa sebelumnya, yaitu BCL.
Bahasa C, pada awalnya dirancang sebagai bahasa pemrograman yang
dioperasikan pada sistem operasi UNIX.
Bahasa C merupakan bahasa pemrograman tingkat menengah yaitu
diantara bahasa tinggat rendah dan tingkat tinggi yang biasa disebut dengan
Bahasa Tingkat Menengah. Bahasa C mempunyai banyak kemampuan yang
sering digunakan diantaranya kemampuan untuk membuat perangkat lunak,
misalnya dBASE, Word Star dan lain-lain.

1.1.2. Sekilas Tentang C++


Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup
mengembangkan beberapa hal dari bahasa C yang dinamakan “C with
Classes” yang pada mulanya disebut “a better C” dan berganti nama pada
tahun 1983 menjadi C++ oleh Rick Mascitti, dibuat di Laboratorium Bell,
AT&T.
Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-
sifatnya yang disebut dengan Object Oriented Programming (OOP), yang
mempunyai tujuan utamanya adalah membantu dan mengelola program yang
besar dan kompleks.

1.1.3. Perbedaan Antara Bahasa C Dengan C++


Bahasa C merupakan bahasa pemrograman prosedural, di mana
penyelesaian atas suatu masalah dilakukan dengan membagi-bagi masalah
tersebut ke dalam sub-sub masalah yang lebih kecil. Sedangkan C++
merupakan bahasa pemrograman yang memiliki sifat Object Oriented
Programming (OOP). Untuk menyelesaikan masalah, C++ melakukan
langkah pertama dengan mendefinisikan class-class yang merupakan a.-class
yang dibuat sebelumnya sebagai abstraksi dari objek-objek fisik. Class
tersebut berisi keadaan objek, anggota-anggotanya, dan kemampuan dari
objeknya. Setelah beberapa class dibuat, masalah dipecahkan menggunakan
class.

Tim Penyusun Komisi MI 2


Modul Algoritma Pemrograman I

1.2. Pengenalan IDE Borland C++


IDE merupakan singkatan dari Integrated Development Environment,
merupakan Lembar kerja terpadu untuk pengembangan program. IDE dari Borland
C++, dapat digunakan untuk:

1. Menulis Naskah Program.


2. Mengkompilasi Program ( Compile )
3. Melakukan Pengujian Program ( Debugging )
4. Mengaitkan Object dan Library ke Program ( Linking )
5. Menjalankan Program ( Running )

Untuk mengaktifkan aplikasi Borland C++, lakukanlah langkah-langkah berikut ini:


Klik tombol Start à pilih Program à Borland C++ 5.02 à klik Borland C++

Gambar 1.1.
Menu Untuk Mengaktifkan Program Borland C++

Berikut lDE dari Borland C++, seperti gambar dibawah ini:

Gambar 1.2.

Tim Penyusun Komisi MI 3


Modul Algoritma Pemrograman I
Layar Pembuka Borland C++

Menu Bar Tools Bar

Jendela
Editor

Jendela
Message

Status Bar

Gambar 1.3.
IDE Borland C++ 5.02

IDE pada Borland C++, terbagi menjadi 4 (empat) bagian, yaitu:


a. Baris Menu ( Menu Bar )
Menu utama terdiri dari; File, Edit, Search, Run, Compile, Debug, Project,
Options, Window dan Help.
b. Baris Peralatan (Tools Bar)
Baris yang menampilkan shortcuts (icons) untuk mempermudah pengguna dalam
pembuatan program-program C++, seperti icon open, save, compiler, run dan lain-
lain.
c. Jendela Editor
Tempat untuk pengetikan program dan membuat program. Jika pertama kali anda
membuat program, nama file jendela editor adalah NONAME00.CPP
d. Jendela Message
Tempat untuk menampilkan pesan-pesan pada proses kompilasi dan link program.
Jika ada kesalahan sintax program maupun varibel dan objek, maka akan
diberikan pesan kesalahannya yang kemudian dapat didouble klik pada pesan
tersebut untuk mendapatkan petunjuk di baris yang mana terdapat kesalahannya.
e. Baris Status (Status Bar)
Baris yang akan menampilkan keterangan-keterangan pada saat mengaktifkan
menu bar dan sub menu serta keterangan-keterangan lain (seperti petunjuk baris
dan kolom, waktu yang sedang berjalan).

Tim Penyusun Komisi MI 4


Modul Algoritma Pemrograman I

1.3. Struktur Program C++


Struktur program C++, sama seperti struktur program C yang terdahulu.
Struktur program C++ terdiri sejumlah blok fungsi, setiap fungsi terdiri dari satu atau
beberapa pernyataan yang melaksanakan tugas tertentu.

Bentuk Umum:
#include <file-header>
main()
{

pernyataan;

Contoh-1

1. #include <file-header> merupakan preprocessor pada C++ untuk pemanggilan file


header yang memuat beberapa perintah-perintah dari C++ (contoh, apabila ingin
menggunakan perintah cout maka harus menggunakan file header iostream.h)
2. main() merupakan awal mula dari blok program utama
3. tanda { dan } sebagai punctuator yang awal blok program hingga akhir blok
program
4. cout merupakan perintah keluaran pada C++
5. getch(); apabila ditempatkan sebelum funtuator }, maka berfungsi sebagai
penahan dari tampilan hasil

1.4. Model Memori


Borland C++, mempunyai enam model memori untuk program dan data.
Model-model memori tersebut adalah:

a. Model Tiny
Model memori yang menyediakan jumlah memori untuk program dan data tidak
lebih dari 64 Kb.

Tim Penyusun Komisi MI 5


Modul Algoritma Pemrograman I

b. Model Small
Model memori yang menyediakan jumlah memori untuk masing-masing program
dan data tidak lebih dari 64 Kb.
c. Model Medium
Model memori yang menyediakan jumlah memori untuk program tidak lebih dari
64 Kb dan data tidak lebih dari 64 K.
d. Model Compact
Model memori yang menyediakan jumlah memori untuk program lebih dari 64
Kb dan data tidak lebih dari 64 K.
e. Model Large
Model memori yang menyediakan jumlah memori untuk program dan data lebih
dari 64 K.
d. Model Huge
Model memori yang menyediakan jumlah memori untuk menyimpan satu jenis
data.

1.5. Membuat File Editor


File Editor merupakan file kode program yang dapat dikompilasi, kemudian
dijalankan untuk menampilkan hasilnya yang mempunyai ekstensi file .CPP.
Cara mengaktifkannya : Klik Menu File à Klik New àText Edit

Gambar 1.5 Cara Menampilkan Text Edit

Tim Penyusun Komisi MI 6


Modul Algoritma Pemrograman I

Gambar 1.6 Jendela Text Edit

1.6. Menyimpan File Editor


Setelah selesai mengetikan naskah program yang baru pada jendela Text Edit,
maka selanjutnya disimpan dengan cara :
a. Kik Menu File à Sa ve
b.Me n ekanHot Ke yCtrl + KS.
Sela
njutny at ampi ljen de
laSa veFi l
eAs ,se per
tidibawahi ni:

Gambar 1.7. J
ende
laSa
veFi
leAs

PadaBor la
ndC++5. 02t erdapatti
gacaramenyimpanfi
leedi
tor,
dia
ntara
ny ayai
tu:
Save Digunak
anun tukme nyi
mpa nFi
leProgr
am padaje
n de
layangsedangakti
f
kedal
am disk.Hot keyy angadabis
ag unakanuntukmeny i
mpa ndengan
me n
ekantombolCtrl + KS.
Save As Di gunak
anun tukme nyi
mpa nFi
leProgr
am padaje
n de
layangsedangakti
f
kedal
amdi s
kde ng
a nnamaf i
leya
ngbe r
beda.
Save All Digunak
an un tuk me nyi
mpa nsemuaFi l
ePr ogr
am padaj endel
ay ang
se
da ngakt
ifkeda l
am disk.

Tim Penyusun Komisi MI 7


Modul Algoritma Pemrograman I

1.7. Menterjemahkan Program


ProsesCompi l
e merupaka
nsuat
u pr
os e
sme nt
erj
emahk
an pr
ogr
am da
ri
bahas
ama nusi
akedal
am ba
ha s
ay a
ngdi
menge
rtiole
hkompute
ryai
tuba
has
amesi
n,
yai
tudeng a
nc ar
a:
a. KikMe n uDebug àCompile
b. Men e
k anHotKeyAlt+F9

Se
lan
jut
nyat
ampi
lkot
akdi
al
ogCompi
le
,se
per
tidi
bawa
hini:

Gambar 1.8 Kot


akDi
al
ogCompi
le

1.8. Menjalankan Program


ProsesRunme r
upakansuat
u prose
sme nt
erj
emahk a
nprog
ram,me
lak
ukan
prose
slinking,membuatf
il
ee k
sek
usi(.ex
e)da nsekal
igusmen
jal
anka
nprogr
am,
yait
udeng ancar
a:
a.KikMe nuDebug àRun
b.Me nekanHotKeyCtr
l+F9
Selanj
utnyatampi
lkot
akdial
ogRun,se
pert
idiba
wahini:

Gambar 1.9 Kot


akDi
al
ogRun

Set
el
ahpros
esme nt
erj
emahka
nprog
ram,
pros
esl
ink
ing
,se
lan
jut
nyat
ampi
lha
sil
se
pert
iga
mba r1.
10dibawa
hini:

Ti
m Pe
nyus
unKomi
siMI 8
Modul Algoritma Pemrograman I

Gambar 1.10 Con


tohHa
silKe
lua
ranPr
ogr
am

1.9. Membuka File Editor


Penj
el
asanMe mbukaa t
aume mang
gilfil
ee di
tory
a ngs
uda
hpe
rna
hdi
bua
t,de
nga
n
ca
ra:KlikMenuFile à Open
Sel
anj
utnyat
ampilJendel
aOpe n
,seper
tidibawahini:

Gambar 1.11 J
ende
laOpe
nFi
lepa
daC++

1.10.Mencetak File Editor


Pe
nje
lasanMe n
cetakf i
leprog
rampadaje
ndel
ay a
ngseda
ngakt
ifde
nga
nca
raKl
ik
File à Print
Se
lan
jut
ny atampilJe n
delaPri
ntOpt
ion
,sepe
rtidi
bawa
hini:

Ti
m Pe
nyus
unKomi
siMI 9
Modul Algoritma Pemrograman I

Gambar 1.12 J
ende
laPr
intOpt
ion

1.11. Keluar dari Borland C++ 5.02


Ke
lua
rda
riApl
ika
siBor
lan
dC++5.
02,de
nga
nca
raFile à Exit

Ti
m Pe
nyus
unKomi
siMI 1
0
Modul Algoritma Pemrograman I
BORLAND
Pengenalan Tipe Data, C++

Perintah Masukan
dan Keluaran 2
2.1. Pengenalan Tipe Data
Bor
lan
dC++me
mil
iki7t
ipeda
tada
sarda
n3t
ipet
amba
han
,di
ant
ara
nya
:

Tabel 2.1. Tipe Data

Tipe Ukuran Jumlah


Jangkauan Nilai
Data Memori Digit
Char 1By
te -
128s
.d1
27
I
n t 2By
te -
32768s
.d3
2767
Short 2By
te -
32768s
.d3
2767
Lon
g 4By
te -
2,1
47,
435
,64
8s.
d2,
147
,43
5,64
7
Fl
oat 4By
te 3.
4x1
0-3
8s.
d3.
4x1
0+38 5–7
Dou
ble 8By
te 1.
7x10-
308s
.d1.
7x1
0+3
08 1
5–1
6
Long
1
0By
te 3
.4x1
0-4
932s
.d1.
1x1
0+4
932 1
9
Doubl
e

Tipe Data Tambahan,yangdi


mil
ikiole
hBorl
andC++,ada
lah:
Unsigned digun
akanbil
adatay
angdigunak
anhany
adataya
ngposi
ti
fsa
ja.

Tabel 2.2. Tipe Data Tambahan Tambahan

Tipe Jumlah
Jangkauan Nilai
Data Memori

Unsi
gnedI
nte
ger 2By
te 0–6 5535
Unsi
gnedChar
act
er 1By
te 0–25 5
Unsi
gnedLon
gInte
ger 4By
te 0–4,
294,967,
295

2.2. Konstanta
Konst
ant
aa da
lahsua
tunil
aiyangs
if
atny
ate
tap.Se
car
aga
risbe
sark
ons
tan
ta
da
patdi
bagimenj
adiduabagi
an,yai
tu:
• Konst
antaBi
langan
• Konst
antaTeks

A. Konstanta Bilangan
Da
lamh
ali
nik
ons
tan
tabi
lang
andi
bag
ime
nja
dit
igak
elompok
,an
tar
ala
in:

1.Kon
sta
ntaBi
lan
ganBul
a Integer)
t( .

Ti
m Pe
nyus
unKomi
siMI 1
1
Modul Algoritma Pemrograman I
Adalahbilangany angti
da kme n
g a
ndun gnil
a ide s
ima l.Inimerupak
anni l
ai
defa
ultpadak onst
antabila
ngan.
Contoh:1, 2,3,100
2.Konstant
aDe s
imalBe r
presis
iTunggal(Floating Point )
Konstant
aFl oat
ingPoint,mempuny a
ibe nt
ukpe nulisan,yait
u:
• Be ntukDe simal(con t
oh:5.57)
• Be ntukEk sponensi
al/Bi l
anganBe rpa
ngk at(c ontoh:4. 2
2e 3à 4.22x
103)s
3.Konstant
aDe s
imalBe r
presis
iGanda(Double Precision )
Konstant
aDoubl ePrecisi
on,padaprins
ipnyas amas epe rt
iKonst
antaFloat
ing
Point
,tetapiKon sta
n t
aDoubl ePr ec
isi
onme mpun ya idayatampungda t
a
le
bihbesar.

B. Konstanta Teks
Dal
amh alinik on st
antateksdibagimenjadiduak elompok,ant
aral
a i
n ;
1.Da t
aKa ra kt
er( Character)
.
Da t
ak arakterha nyat er
dir
ida risebuahk a
ra k
tersaj
ay angdiapitole
ht anda
kutipt un ggal(‘) .Da t
ak arakt
erda patberbentukabj
ad(huruf besar atau
kecil )
,a ngka ,notasiat
ausimbol .
Con toh:‘ Y’‘ y’‘ 9’‘&’da nlai
n-lain
.
2.Da t
aTe k s(String).
Da t
aSt ringme r
upa k
anr angkaia
nda r
ibe berapakarakt
eryan gdiapitoleh
tandak ut i
pg a nda(“) .
Con toh:“ Virus l
and”,“Jak
a r
ta”,“AMI KBSI ”,“Y”da nlai
n-l
ain.

C. Deklarasi Konstanta
Be
ntukde
kla
ras
ikon
sta
ntadi
awa
lide
nga
nre
ser
vedwo
rdconst.

Be
ntukpe
nul
is
ann
ya:
const nama_konstanta = nilai konstanta;

a
tau
const tipe_data nama_konstanta = nilai konstanta;

Contoh: const x = 89;


const float phi = 3.14;

Pa
dade k
lar
asik
ons
tant
abi
langa
ndesima
l(f
loa
tin
gpoi
nt)ha
rus
di
ikut
ser
tak
anmodelda
rit
ipedat
any
a.

Ti
m Pe
nyus
unKomi
siMI 1
2
Modul Algoritma Pemrograman I

2.3. Variabel
Ada la
hs uatut empa tme nampun g dataa t
auk onstant
a di memor iy
ang
memp uny a
in i
laiat
a uda t
ay a
ngda pa
tbe rubah-u
ba hsela
mapr osesprogram.
Dal
am pe mbe ri
ann amav a
ria
be l
,mempuny a
iketentuan-
ketent
uana n
ta r
alain:
1.Tidakbol eha das pasi(contoh:gajibersih)danda patme n
gguna kantandag
ari
s
bawa h(_)s ebag aipenghubung(contoh:gaji_bers
ih).
2.Tidakbol ehdi awa l
iolehang k
adanme nggunakanope r
atorari
tmatika.
Var
iabel,dibagime njadiduajeniske
lompok ,ya
itu:
• Va ri
a belNume rik
• Va ri
a belTek s

A. Variabel Numerik
Va
ria
belnume
riki
nidi
bagimenja
dimenjadi3(t
iga
)macam:
1.Bilan
ganBula
tat
auInte
ger
2.Bilan
ganDesi
malBerpr
esi
siTun
g ga
la t
auFl
oati
ngPoi
nt.
3.Bilan
ganDesi
malBerpr
esi
siGandaatauDoubl
ePre
cis
ion
.

B. Variabel Text
1.Char
act
er(Kar
akte
rTungga
l)
2.St
ri
ng(Un t
ukRangka
ianKar
akt
er)

C. Deklarasi Variabel
Adala
h pr oses me mperkenal
kan v ari
abelk e
pada Bor l
an d C++ da n
pende
klara
sia
ntersebutber
sif
atmutlakkarenaji
katidakdiper
kenalka
nt e
r l
ebi
h
dahul
uma kaBorl
andC++t idakme ne
rimav a
ria
belters
ebut.
Dekla
rasiVari
abelinimeli
putiti
pev ar
iabel
,sepert
iint
egerata
uc harac
terdan
namav a
ria
belit
us e
n di
ri
.Seti
apk a
lipendekl
arasi
anvaria
belharusdia
khiriole
h
ta
ndatit
ikkoma(; ).

Tabel 2.3. Deklarasi Variabel

TIPE VARIABEL SIMBOL DEKLARASI


In
teger Int
Fl
oati
ngPoi n
t Float
DoublePreci
sion Dou bl
e
Karakte
r Char
UnsignedInt
eger unsign
edint
UnsignedCharac
ter unsign
edchar
LongI n
tege
r longint
UnsignedLongInte
ger unsign
edlongi
nt

Be
ntukpe
nul
is
anny
a:

Tipe data nama_variabel;

Ti
m Pe
nyus
unKomi
siMI 1
3
Modul Algoritma Pemrograman I
Contoh Deklarasi c
h a
rnama _maha
sis
wa[
20]
;
c
h a
rgrade;
f
loatr
ata_ra
ta;
i
ntnil
ai
;

2.4. Perintah Keluaran


Per
int
ahs t
a n
daro
utp
uty
ang di
sedi
aka
n ol
eh Bor
lan
d C++,di
ant
ara
nya
a
dal
ah:
§ printf( )
§ puts( )
§ putchar( )
§ cout( )

2.4.1 printf( )
Fun
gsiprintf( ) me
rupa
kanfung
sik
elua
rany
angpa
li
ngumum di
gun
aka
n
un
tukmenampi
lkani nformas
ikel
aya
r.

printf("string-kontrol", argumen-1, argumen-2,


…);
St
ri
ng-
Kont
r oldapatber
upake t
era
ngany an
ga ka
ndit
ampil
kanpa
dalaya
r
be
ser
tapenen
tufor mat
.Pe n
entuformatdipakaiunt
uk member
itahukompi
le
r
meng
enaij
eni
sda
tay angdipa
kaida
na kandit
ampil
kan.
Arg
umeninidapatber
upavar
iabel
,konst
ant
adanungk
apan
.

Tabel 2.4. Penentu Format Printf( )


Penentu Format Untuk
TIPE DATA
printf( )
In
teger %d
Fl
oa t
ingPoint
BentukDe simal %f
BentukBe rpangkat %e
BentukDe simaldanPangka
t %g
DoublePr e
c i
si
on %l
f
Charact
er %c
St
ring %s
UnsignedInteger %u
LongInteger %l
d
LongUns ignedI n
teger %l
u
UnsignedHe xadecimalInt
ege
r %x
UnsignedOc talInt
eger %o

pr
int
f(
“%cme
rupa
kana
bja
dya
ngk
e-%d”
,’b’
,2)
;

Ti
m Pe
nyus
unKomi
siMI 1
4
Modul Algoritma Pemrograman I
Contoh-1 #i
ncl
ude<st
dio.h>
#i
ncl
ude<conio.h
>
#i
ncl
ude<i
ost
re a
m.h>

mai
n()
{
c
harn ama=”
dit
a”;
i
ntnila
i=100;
c
lrs
cr();

pri
ntf
(“h
ai%s
,Ka
mume
nda
pat
kanNi
la
i%i
”,n
ama
,ni
lai
);
}

Gambar 2. 1 Ha
silCon
toh1

a. Penggunaan Penentu Lebar Field


Bi
lainginme nce
takat
au menampil
kandat
ayangbert
ipedataFLOAT a tau
pe
cahan,t
ampila
ny a
ngtampakbia
sanyak
ura
ngbagus
.Halter
sebutdapa
tdiat
ur
l
ebarfiel
d-nya danjumlah des
imalyang i
ngi
n dic
e t
ak.Be ri
kut be
ntuk
pe
nuli
sannya:

Contoh-2 #i
nclude<s
tdio.
h>
#i
nclude<coni
o.h>
#i
nclude<i
ostr
eam.h>
main()
{
fl
oata 1
=87 .
5,a2=77
.50;
cl
rscr
();
pri
ntf
("Nil
aiTug a
s1:%2f\n
",a
1);
pri
ntf
("Nil
aiTug a
s2:%2f",
a2);
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,ji
kat
ida
kme
ngg
una
kanpe
nen
tul
eba
rfi
el
dada
lah:

Ti
m Pe
nyus
unKomi
siMI 1
5
Modul Algoritma Pemrograman I

Gambar 2. 2 Ha
silCon
toh2

Contoh-3 #i
nclude<s
tdio.
h>
#i
nclude<coni
o.h>
#i
nclude<i
ostr
eam.h>
main()
{
fl
oata 1
=87 .
5,a2=77
.50;
cl
rscr
();
pri
ntf
("Nil
aiTug a
s1:%2.2f\n",
a1);
pri
ntf
("Nil
aiTug a
s2:%2.2f"
,a2);
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,ji
kame
ngg
una
kanpe
nen
tul
eba
rfi
el
dada
lah

Gambar 2. 3 Ha
silCon
toh3

b. Penggunaan Escape Sequences.


Esca
peSe q
uenc e
sme n
ggunaka
nn ot
asi“\”(backsl
ash)j
ikak
ara
kte
rte
rda
pat
not
asi“\
”inis
e baga
ikar
akte
r“esc
ape”(menghi
ndar
).
Bebera
paEscapeSequenc
eslai
nnyaanta
ral
ai
n:

Tabel 2.5. Escape Sequences

ESCAPE SEQUENCES PENGERTIAN


\
b Backs
pace
\
f For
mf e
ed
\
n Bar
isBaru
\
r Car
riag
eRe t
urn
\
t Tab(defa
ult=8kar
akt
er)
\
' Tandakut
iptun
gga
l(')

Ti
m Pe
nyus
unKomi
siMI 1
6
Modul Algoritma Pemrograman I
\
" TandaKuti
pGa nda(")
\
\ Backsl
ash
KodeASCI Idal
amh exa
deci
ma l
.
\
xaa
(aame n
unjukk
ana ng
kaASCI Iybs)
Kode ASCI Idala
m oc t
al
.(aaame nun
juk
kan
\
aaa
angkaASCIIybs)

Contoh-4 #in
clude<stdi
o.h>
#in
clude<conio.
h>
main()
{
charnama1[10]="Dit
a",n
a ma
2[10]
="Ani",
nama3[
10]
="Fi
tr
i";
fl
oata=88. 5,b=90.8,c=9 8.2
;
cl
rscr
();
pri
ntf
("%8s \
t%7s \
t%8s" ,na
ma 1,
nama2,n
ama3);
pri
ntf
("\n%8.2f\t%8.2f\t%8.
2f",a,
b,c
);
get
ch();
}

Gambar 2. 4 Ha
silCon
toh4

2.4.2. puts( )
Peri
nta
hputs( ) s ebe
na rnyasa made nganprintf(),y
ait
udi
gun
aka
nun
tuk
menc
e t
akst
ringkelay ar.puts( ) be
rasalda r
ikat
aPUT STRING.
Pe
rbedaanan
taraprintf( ) denganputs( ) a
dala
h:

Tabel 2.6. Perbedaan fungsi puts( ) dengan printf( ) untuk tipe data string

printf( ) puts( )
Har
us me nent
ukan ti
pe data TidakPerlupe n
entutipedata
un
tukdat
astri
ng,yai
tu%s st
ring,k
arenaf ungsii
nikhusus
untukti
pedat astr
ing.
Unt
uk men c
etak pi
ndah ba
ris
, Un t
ukme n
ce takpindahbaris
memer
lukannota
si‘\n‘ ti
dakperlunotasi‘\n‘,kare
n a
sudah dibeikan s
ecara
ot
oma ti
s.

Ti
m Pe
nyus
unKomi
siMI 1
7
Modul Algoritma Pemrograman I
Contoh-5 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

mai
n()
{

c
harnama[5]="
BSI
";
c
lrs
cr(
);

puts
("AndaKuli
ahdi"
);
puts
(a)
;
}
Out
puty
anga
k andih
asil
kan
,dar
iprog
ramc
ont
oh-
5di
at
asa
dal
ah:

Gambar 2. 5 Ha
silCon
toh5

2.4.3. putchar( )
Per
int
ah putchar( ) di
gun
akan un
tukmenampi
lka
n sebuah karakter k
e
l
aya
r.Pen
ampila
nka rakterti
dakdi
akh
iride
nganpi
nda
hbari
s.

Contoh-5 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

main()
{
cl
rscr
();
put
char(
'B')
;
put
char(
'S'
);
put
char(
'I'
);
put
char(
'-'
);
put
char(
'2'
);
put
char(
'0'
);
put
char(
'0'
);
put
char(
'9'
);
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 1
8
Modul Algoritma Pemrograman I

Gambar 2. 6 Ha
silCon
toh6

2.4.4. cout
Fungs
icout me rupa kansebuah obj
eck di
dal
am Bor
lan
d C++ di
gunakan
un
tukme n
ampilk
ans uatuda takelay
ar.Un t
ukme n
gguna
kanfungs
icouti
ni,h
arus
meny
ert
akanfi
leheaderiostream.h .

Contoh-7 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
in
tjumba
r1=15
0,j
umba
r2=2
3;

c
lrs
cr()
;
c
out<<"J
umla
hBarang1:"
<<jumba
r1;
c
out<<"Juml
ahBa
rang2:"<<j
umbar
2;

ge
tch
();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
7di
at
asa
dal
ah:

Gambar 2. 7 Ha
silCon
toh7
2.4.5. Fungsi Manipulator
Mani
pul
at
orpadaumu mnyadig
unakanunt
ukmengat
urta
mpil
a nlayar
,untuk
mengguak
anmanipul
at
orinifi
lehea
deryan
gh ar
usdi
ser
tak
anfil
eheaderiomanip.h
.Adabebera
paf
ungsimanipul
at
oryangdi
sedi
akanol
ehBorl
andC++,antaral
ain
.

§ endl § setbase()
§ end § setw()
§ flush() § setfill()
§ dec() § setprecision()
§ hex() § setosflags()
§ oct()

Ti
m Pe
nyus
unKomi
siMI 1
9
Modul Algoritma Pemrograman I
Be
rik
uta
kandi
bah
asbe
ber
apaf
ungs
ima
nipul
at
or,
dia
nta
rany
a:

a. endl
endl me rupa k
ans uat
ufun g
simanipulat
oryangdigunaka
nun t
ukme ny
isi
pkan
kar
a kt
erNe wLinea t
aume ngat
urpindahbari
s.Fungs
iinisan
gatber
gunauntuk
pir
antikeluaranberupafi
ledidisk
.Fi l
eheaderyanghar
usdis
ert
aka
na dal
ahfil
e
headeriostream.h .

Contoh-8 #inc
lude<stdi
o.h>
#inc
lude<conio.h>
#inc
lude<iostr
eam.h>
main
()
{
ch
arnim[ 9]="120988
90",
nama[
15]="
Andi
";
ch
aralamat[20]="J
akar
taSel
at
an"
;

cl
rscr()
;
cout<<"
Nim :"
<<ni
m<<endl
;
cout<<"
Nama :
"<<n
ama<<en
dl;
cout<<"
Ala
mat:
"<<a
lama
t<<endl
;
getc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
8di
at
asa
dal
ah:

Gambar 2. 8 Ha
silCon
toh8

b. ends
ends me r
upa kansuatufungs
imani
pulat
ory a
n gdigunakanuntukme nambah
kara
k t
e rnull(n il
aiASCI INOL )kederet
ans uat
uk ara
kter
.Fungsiiniakan
berguna un t
uk me ngir
im sej
uml
ahka r
akterke f
il
e didi
ska ta
u mo dem dan
ma n
g akhi
rinyade n
gank ar
akt
erNULL.
.Fileheaderyangharusdi
ser
tak
a nada
lah
fi
leh e
a de
riostream.h .

Contoh-9 #in
clude<s
tdi
o.h
>
#in
clude<con
io.
h>
#in
clude<i
ost
rea
m.h>
mai
n()
{
in
ta,b,c,
d;

Ti
m Pe
nyus
unKomi
siMI 2
0
Modul Algoritma Pemrograman I
c
lrs
cr()
;
c
out<<"
Mas
uka
nNi
la
iA:"
;ci
n>>a
;

cout
<<"
Masuk
anNi
la
iB:"
;ci
n>>b;
c=a% b;
d=a*b;

cout<<"Hasi
ldariC=A% Ba da
lah"<<c
<<ends;
cout<<"Hasi
ldariD=A*Ba dal
ah"<<d<<en
ds;
getch()
;
}
Out
puty
angakandihas
il
kan,daripr
ogr
amc
ontoh-
9diat
asada
lah:

Gambar 2. 9 Ha
silCon
toh9

c. dec, oct dan hex


dec, oct dan hex me r
upa
k ansuatufungsima nipul
atoryangdi g
unaka nunt
uk
me nampi lka
nda tadal
am bentukde s
ima l
(bil
anganber ba
sis10),okt
al(bil
ang
a n
berbasis8)da nh exa
desi
ma l(
bil
angan berbasi
s1 6).Fileh ea
dery ang harus
dis
e rt
aka nadalahfi
lehe
aderiomanip.h .

Contoh-10 #in
clude<s t
dio.h>
#in
clude<c onio.
h>
#in
clude<iostream.h
>
#in
clude<ioma n
ip.
h>
mai
n()
{
in
tn i
lai=320;
cl
rscr
() ;

c
out
<<"
Nil
aiAwal
=" <<nil
ai<<endl;
c
out
<<"
Nil
aikeOc
tal=" <<oct<<ni
lai
<<endl;
c
out
<<"
Nil
aikeHe
xades i
mal=" <<hex<<nil
ai
<<endl
;
c
out
<<"
Nil
aikeDe
sima l="<<de c
<<n i
la
i<<endl
;

ge
tch
();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
10di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 2
1
Modul Algoritma Pemrograman I

Gambar 2. 10 Ha
silCon
toh10

d. setprecision( )
Fun g
sisetprecision( ) mer
upa
kansua
tufungs
imanipul
at
oryang di
gun
ak a
n
untukme ngaturj umlahdigi
tdesi
malya
ngingi
ndi
tampil
kan
.Fungs
iinibiasa
pada fungsicout( ),f i
lehea
deryan
gh ar
usdis
ert
akanadal
ahfileheader
iomanip.h .

Contoh-11 #i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
ream.
h>
#i
ncl
ude<i
oma n
ip.
h>

mai
n()
{
fl
oata,
b,c
;
a=25.23;
b=12.54;
cl
rscr
();

c=a*b
;

cout<<se
tios
fla
gs(i
os:
:fi
xed)
;
cout<<se
tprec
isi
on(1)
<<c<<endl
;
cout<<se
tprec
isi
on(2)
<<c<<endl
;
cout<<se
tprec
isi
on(3)
<<c<<endl
;
cout<<se
tprec
isi
on(4)
<<c<<endl
;
cout<<se
tprec
isi
on(5)
<<c<<endl
;
getc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
11di
at
asa
dal
ah:

Gambar 2. 11 Ha
silCon
toh11

Ti
m Pe
nyus
unKomi
siMI 2
2
Modul Algoritma Pemrograman I
e. setbase( )
se t
base()me rupakansua t
ufungs
imanipula
torya
n gdig
un a
kanun t
ukk onve
rsi
bilanganOc t
al,Decimalda nHex
adec
imal.Fil
eheaderya
ngh arusdi
ser
takanf
ile
h eaderiomanip.h .
Be ntukpe nul
isannya:
setbase(base bilangan);
Ba sebila nganme rupakanbaseda
rimasi
ng-masi
ngbil
angan,yai
tu:
•Oc t
al=ba si
s8
•De c
ima l=ba si
s10
•He x
a de ci
ma l=ba s
is1 6

Contoh-12 /
/PenggunaanMa nipulatorsetbas
e()
#include<stdi
o. h>
#include<conio. h>
#include<iost
re am.h>
#include<ioma n i
p.h>
ma i
n()
{
inta=25 0;
clrs
cr();
cout<<"Penggun anMa nipulat
orset
base
()"
<<"\n\
n";
cout<<"Decima lOc t
a lHe xadeci
mal"
<<endl;
cout<<"--
---
---
-------
-----
----
----
"<<"\
n";
for(
a=250;a<=26 0;a++)
{
cout<<set
base(10)<<a <<"" ;
cout<<set
base(8)<<a <<"" ;
cout<<set
base(16)<<a <<e ndl;
}
getche()
;
}
Out
puty
anga kandihasil
kan ,darip r
og r
a mcont
oh-12dia
tasada
lah
:

Gambar 2.12. Ha
silCon
toh
-12

Ti
m Pe
nyus
unKomi
siMI 2
3
Modul Algoritma Pemrograman I
f. setw()
setw()me r
upa kansuat
ufungsima n
ipulat
oryangdi
guna
ka nun
tukmengaturle
bar
tampi l
andi l a
yardarisuat
un i
la
iv ar
iabel
.Filehea
deryangharusdi
ser
takanfil
e
heade riomanip.h .
Be nt
ukpe nulisa
nnya:
setw(int n);
n=me rupak annil
ail
ebarta
mpilandata,i
nte
ger.

Contoh-13 /
/Pe
nggunaanMa nipul
ators
etw(
)
#inc
lude<stdi
o.h>
#inc
lude<conio.
h >
#inc
lude<iost
ream.h>
#inc
lude<ioma n
ip.h>

ma i
n()
{
inta;
clrs
cr();
cout<<"PenggunanMa ni
pulat
ors e
tw()
"<<"
\n\
n";
cout<<"--
---
---
---
---
---
---
---
---
---
--"
<<"\
n";
for(
a=1;a<=15;a
++)
{
cout<<set
w(a)<<a<<endl;
}
cout<<"--
---
---
---
---
---
---
---
---
---
--"
<<"\
n";
getche()
;
}
Out
puty
angakandihasi
lkan,dar
ip r
ogramc ont
oh-
13diat
asa
dal
ah:

Gambar 2.13. Ha
silCon
toh
-13

Ti
m Pe
nyus
unKomi
siMI 2
4
Modul Algoritma Pemrograman I
g. setfill()
setfill()me rupakans uat
uf ungs
ima ni
pul
a t
oryangdigunaka
nunt
ukman a
mpi l
kan
sua tuk a
rakt
ery an gdit
ela
k andide
pann i
laiy
a ngdiatu
rolehf
ungs
isetw().Fil
e
he ade ry angharusdi se
rta
ka nfi
lehea
deriomanip.h .
Be n tukpe n
ulis
anny a:
setfill(charakter);

Contoh-14 /
/penggunaanse tfi
lldansetw()
#include<stdio.h>
#include<con io.h>
#include<iostream.h>
#include<ioma ni
p.h>
ma i
n()
{
inta;
clrs
cr();
cout<<"Penggun anMa nipulat
orset
fil
l(
)"<<"
\n\
n";
cout<<"--
---
---
- ---
---
---
----
---
---
---
"<<"\
n";
for(
a=1;a<=15;a ++)
{
cout<<set
fil
l('
-'
);
cout<<set
w(a )
<<a <<e ndl;
}
getche()
;
}
Out
puty
angakandihasi
lka n,dariprogra
mc ontoh-
14diat
asada
lah
:

Gambar 2.14. Ha
silCon
toh
-14

Ti
m Pe
nyus
unKomi
siMI 2
5
Modul Algoritma Pemrograman I
h. setiosflags( )
Fun gsisetiosflags( ) merupak
ans ua
tufungs
ima ni
pulat
ory
a ngdi
gunakanun t
uk
me n gaturse jumlahf or
ma tkel
uara
nda t
a.
.Fungsiinibia
sapadafun
gsicout( ),f
il
e
hea dery angha rusdi ser
takanfi
lehea
deriomanip.h .

Adabe berapaf ormatkelua r


anuntukfun gs
isetiosflags( ),ant
arala
in.
1. Tanda Format Perataan Kiri dan Kanan
Tedapatduabua ht andaf or
maty angdiguna kanun tukpe r
ataa
nkirida
nkana
n,
pengat
ura nt erha
da ple barvar
iabelun t
ukpe r
a taanki ridank an
aninime
lal
ui
fung
sisetw( ).
Ø ios::left di
gun a
ka nun t
ukme ng a
turperataans ebe l
ahkiri
Ø ios::right di
g unaka nunt
ukme ngat
urpe rataans ebela
hk anan

Contoh-15 //
tan
daformatios:
:l
eftdanios::
right
#inc
lude<stdi
o.h>
#inc
lude<conio.h>
#inc
lude<iost
ream.h>
#inc
lude<ioma ni
p.h>
main
()
{
i
nta=75 ,b=56;
cl
rs
cr();
co
ut<<"Penggunaanios:
:leftda
nios::
rig
h t
\n\n
";
co
ut<<"RataSebelahKiri=" ;
co
ut<<set
iosfl
ags(
ios::
le
f t
)<<set
w(10)<<a;
co
ut<<set
iosfl
ags(
ios::
le
f t
)<<set
w(10)<<b;
co
ut<<endl;
co
ut<<"RataSebelahKa nan=" ;
co
ut<<set
iosfl
ags(
ios::
ri
g ht
)<<set
w(10)<<a ;
co
ut<<set
iosfl
ags(
ios::
ri
g ht
)<<set
w(10)<<b;
ge
tche()
;
}
Out
putya
ngakandihasil
kan,dariprogramcontoh-15diat
asada
lah
:

Gambar 2.15. Ha
silCon
toh
-15

2. Tanda Format Keluaran Notasi Konversi


Tandafor ma tya ngdigun a
kanunt
ukkel
uara nNotas
i,yai
tu:
Ø ios::scientific digunaka
n unt
uk me ngaturkelua
ran da
lam bent
uk not
asi
e
kspon ensi
a l.
Ø ios::fixed dig un
aka nunt
ukmenga
turk e
luar
andala
m bent
uknota
sides
imal
.

Ti
m Pe
nyus
unKomi
siMI 2
6
Modul Algoritma Pemrograman I
Contoh-16 //
tandaforma tios::
scie
ntif
icda nios:
:f
ixe
d
#inc
lude<s tdio.h>
#inc
lude<c on io.h
>
#inc
lude<i ostream.h>
#inc
lude<i oma ni
p.h>
main
()
{
cl
rs
cr();
co
ut<<"Peng gun aanios:
:scien
tif
icdanios::
fi
xed\
n";
co
ut<<"\nHa si
li os:
:sci
ent
ificdari75.
45a dal
ah";
co
ut<<seti
os fl
ags (
ios:
:sci
entif
ic)<<75.
45<<endl;
co
ut<<"Ha sili
os ::
fix
edda ri56.65adal
ah" ;
co
ut<<seti
os fl
ags (
ios:
:fi
xed)<<5 6.
65;
ge
tche()
;
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
16di
at
asa
dal
ah:

Gambar 2.16. Ha
silCon
toh
-16

3. Tanda Format Konversi Dec, Oct dan Hex


Terda
pa tti
g ama c
a mtandaforma tya ngdi gunaka nuntukkonvers
ikelua
randal
am
bas
isDe cima l,Oc t
aldanHe xadecima l,y ai
tu:
Ø ios::dec digun a
kanun t
ukme nga turkeluaranda la
mk onvers
ibasi
sdesimal
.
Ø ios::oct digunakanuntukme ng aturk el
ua randa l
amk onver
sibasi
soktal
.
Ø ios::hex di gunakan un t
uk me ngat
ur k el
ua r
an da l
am k onver
si bas
is
h
e ksadesima l
.
Contoh-17 //t
andaformatios::de c,i
os :
:oct,ios:
:he
x
#i nc
lude<stdi
o. h>
#i nc
lude<conio.h>
#i nc
lude<iost
re am. h>
#i nc
lude<ioma nip.h >
ma i
n()
{
clrs
cr();
cout<<"\
n\n";
cout<<"Bil
anganDe cimalda r75=" ;
cout<<set
iosfl
ags(ios :
:dec)<<7 5<<endl;
cout<<"Bil
anganOc taldari10=" ;
cout<<set
iosfl
ags(ios :
:oct)<<10<<e ndl;
cout<<"Bil
anganHe xadec i
ma lda r
i15="
cout<<set
iosfl
ags(ios :
:hex)<<1 5;
getche()
;

Ti
m Pe
nyus
unKomi
siMI 2
7
Modul Algoritma Pemrograman I
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
17di
at
asa
dal
ah:

Gambar 2.17. Ha
silCon
toh
-17

4. Tanda Format Manipulasi Huruf Hexadecimal


Untukke perl
uanme mani
pul a
siataume nguba hhur
ufpadanot
asihe
xade
cimal
denga
nme nggunakanta
ndaf ormat:
Ø ios::uppercase di
gun akan un t
uk me n
gubahh ur
uf pa
da not
asihuruf
h
e xadeci
ma l
.

Contoh-18 /
/tandaforma tios:
:uppercas
e
#include<stdio.h>
#include<c onio.h>
#include<ios t
ream. h
>
#include<ioma ni
p.h>
ma i
n()
{
i
n ta;
cl
r s
cr();
cout<<"Peng gunaanios::
uppercas
e\n
";
cout<<"---
----
-----
----
---
---
---
\n"
;
cout<<"TanpaDe ngan\n";
cout<<"Konv ersiKon ver
si\n";
cout<<"---
----
-----
----
---
---
---
\n"
;
f
or( a=1;a<=1 5;a++)
cout<<hex<<a <<e ndl;
f
or( a=1;a<=1 5;a++)
{
gotoxy(15,
a+5) ;
cout<<seti
osflags(
ios::
uppercas
e)<<hex
<<a
<<e
ndl
;
}
g et
che();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
18di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 2
8
Modul Algoritma Pemrograman I

Gambar 2.18 Ha
silCon
toh
-18

5. Tanda Format Keluaran Dasar Bilangan Hexadecimal dan Octal


Untukk eperlua
nme nampil
kanda sarbil
anganHe x adeci
ma ldanOk t
aldeng
a n
mengg unakantandaformat
:
• ios::showbase dig
unakanun tukme n
a mpi
lkant a
n da0x (nol-
x )di
awalpada
ta
mpi la
nbi l
anganh exa
decima lda n0 (nol)diawa lpadatampi l
anbil
ang
a n
deci
ma l.

Contoh-19 //ta
n daforma tios::
showba se
#include<s tdio.h>
#include<c on io.
h>
#include<i ostream.h>
#include<i oma n
ip.h>
ma i
n()
{
i
n ta;
cl
r s
cr();
cout<<"Peng gun aanios::
showba s
e\n"
;
cout<<"---
--------
----
----
---
---
---
\n";
cout<<"De cima lHe xadeci
ma lOktal\
n";
cout<<"---
--------
----
----
---
---
---
\n";
cout<<seti
os fl
ags (
ios:
:showba s
e);
f
or( a=1;a<=1 5;a ++)
{
gotox y
(4,a
+5) ;
cout<<de c
<<a <<e ndl;
}
f
or( a=1;a<=1 5;a ++)
{
gotox y
(15,a+5);

Ti
m Pe
nyus
unKomi
siMI 2
9
Modul Algoritma Pemrograman I
c
out
<<h
ex<<a
<<e
ndl
;
}

f
or(a=1;a<=15;a++)
{
g
otoxy(25,a
+5);
c
out<<oct<<a<<endl;
}
c
out<<"---
---
---
---
---
---
--
---
---
--\
n";
g
etche();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
19di
at
asa
dal
ah:

Gambar 2.19. Ha
silCon
toh
-19

6. Tanda Format Menampilkan Titik Desimal


Untukke perl
uanme nampi
lkanti
ti
kde s
ima lden
ganmenggun
akanta
ndafor
mat:
• ios::showpoint di
guna
kanun t
ukme n a
mpilk
anti
ti
kde s
imalpadabi
lan
gan
y
a ngtidakme mpunya
itit
ikde si
ma lpadati
pedat
afl
oatat
audouble
.

Contoh-20 //t
an daf or
ma tios::
showpoint
#include<s tdio.h>
#include<c on io.
h>
#include<i ostream.h>
#include<i oma n
ip.
h>
ma i
n( )
{
doubl ea=78;
cl
rscr();
/
/->t anpatandaf ormatios
::s
howpoint
cout<<" Tanpat andaformati
os::
showpoi
nt"
<<e
ndl
;

Ti
m Pe
nyus
unKomi
siMI 3
0
Modul Algoritma Pemrograman I
cout
<<"Vari
abela=" <<a <<"\
n\n "
;
//
->denga
ntandaf or
ma tios:
:s
h owpoint
cout
<<"Dengantandaforma ti
os :
:showpoi
nt"
<<endl
;
cout
<<set
ios
fla
gs (
ios
::s
h owpoint);
cout
<<"Vari
abela=" <<a <<endl;
get
che()
;
}
Out
puty
angaka
ndihasi
lkan,dar
iprog r
amc ont
oh -
20di
atasa
dal
ah:

Gambar 2.20. Ha
silCon
toh
-20

7. Tanda Format Menampilkan Simbol Plus ( + )


Untukk eperl
uanme nampil
kans imbolPl us(+)pa dabil
ang
angenapde
ngan
menggun akant
andaformat:
• ios::showpos di
gunak
anun tukme n ampi lka ns
imbolpl
us(+)pa
davar
iabe
l
y
a ngme mil
ikini
laibi
lang
anpos i
tif
.

Contoh-21 //
tandafor
ma tios :
:showp os
#include<stdio.h>
#include<con io.h
>
#include<iostream. h>
#include<ioma ni
p.h>
ma i
n()
{
in
ta=8, b=- 9;
cl
rscr();
cout<<"TanpaMe ngg unaka
ni os::
showp os"
<<" \
n\n";
cout<<"Nila
ia=" <<a <<"Ni l
aib=" <<b<<e ndl
;
cout<<"\
n\n";
cout<<set
iosfl
ags (
ios::s
howpos )
;
cout<<"DenganMe nggunakanios::
s h
owp os"<<"\
n \
n";
cout<<"Nila
ia=" <<a <<"Ni l
aib=" <<b<<e ndl
;
get
ch e(
);
}
Out
puty
angakandihasil
ka n,da r
iprogr
amc ontoh-2
1di at
asadalah:

Ti
m Pe
nyus
unKomi
siMI 3
1
Modul Algoritma Pemrograman I

Gambar 2.21. Ha
silCon
toh
-21

2.5. Perintah Masukan


Per
int
ahs tanda
rin
puty
angdi
sedi
aka
nol
ehBor
landC++,
dia
nta
rany
aada
lah
:
§ scanf( )
§ gets( )
§ cout( )
§ getch( )
§ getche( )

2.5.1. scanf( )
Fungsiscanf( ) di
gun
a k
anun
tukme
mas
ukk
anbe
rba
gaij
eni
sda
ta.Be
ntukUmum
dar
ifungsiinia dal
ah:

scanf("
penentu format"
, &nama-variabel);

s
imbol& merupaka
npoi
nte
ry an
gdigun
akanuntukme n
unj
ukk
eal
ama
tva
ria
bel
memoriy
angdit
uju.
Tabel2.
7.Pe
nent
uFormatsca
nf()
Penentu Format Untuk
TIPE DATA
scanf( )
In
teg e
r %d
Fl
oa ti
ngPoint
Be n
tukDe simal %eat
au%f
Be n
tukBe rpangk
a t %eat
au%f
Dou bl
ePr e
c i
si
on %lf
Character %c
St
ring %s
UnsignedInteger %u
LongI nt
eger %ld
LongUns ignedI n
tege
r %lu
UnsignedHe xadecimalInt
ege
r %x
UnsignedOc ta
lI nt
eger %o

Contoh-22 #i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<iost
rea
m.h>

Ti
m Pe
nyus
unKomi
siMI 3
2
Modul Algoritma Pemrograman I
main()
{
ch
arn ama[15],
kel
as[20],
hobby[
15];
cl
rs
c r
();
pr
intf
("\
tBI
ODATASAYA\ n")
;
pr
intf
("Nama:");s
canf("
%s "
,&na ma)
;
pr
intf
("Kel
as:")
;sca
nf("%s",
&k ela
s);
pr
intf
("Hobby:")
;sc
an f
("%s"
,&h obby)
;
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
22di
at
asa
dal
ah:

Gambar 2. 22 Ha
silCon
toh22

2.5.2. gets( )
Fungs
igets( ) di
gun
aka
nun
tukme
mas
ukk
anda
tas
tri
ng.Be
ntukUmum da
ri
f
ung
sii
nia
dalah:
gets(nama-variabel-array);

Pe
rbe
daa
nan
tar
ascanf( ) de
nga
ngets( ) a
dal
ah:

Ta
bel
2.8
.Pe
rbe
daa
nsc
anf
()de
nga
nge
ts()

scanf( ) gets( )
Ti
dakdapa
tme nerimas tr
ingyang Dapa
tme neri
mas tri
ng yang
menga
ndungs pasia t
autab dan menga
ndungs pa sia t
aut ab
di
angg
apsebagaida tater
pis
ah danmasi
ngdi ang g
aps eba
g a
i
sa
tukes
atua
nda ta .

Contoh-23 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

mai
n()
{
c
harn
m1[
20]
;
c
harn
m2[
20]
;

c
lrs
cr()
;

Ti
m Pe
nyus
unKomi
siMI 3
3
Modul Algoritma Pemrograman I

puts(
" Ma s
uk a
nn amake-1=");
ge
ts(
n m1);
print
f("Ma sukannamake-2=");
s
canf("%s",&nm2);
print
f("\n\
n");
puts(
" SenangBe r
kena
lanDen
ganAnda..
")
;
puts(
n m1);
print
f("SenangBe r
kenal
anDeng
anAnda..
%s"
,nm1)
;
print
f("\n\
n");
puts(
" SenangBe r
kena
lanDen
ganAnda..
")
;
puts(
n m2);
print
f("SenangBerkena
lanDe
nganAnda..
%s"
,nm2)
;
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
23di
at
asa
dal
ah:

Gambar 2. 12 Ha
silCon
toh23

2.5.3. cin
Fungsicin me rupa
k a
nsebuah obj
eck dida
lam C++ dig
unaka
n unt
uk
memas
uk kansuatudat
a.Untukme
n gg
unakanfung
sicinin
i,h
arusmeny
ert
aka
nfil
e
he
ade
riostream.h .

Contoh-24 #incl
ude<s t
dio.h>
#incl
ude<c onio.h>
#incl
ude<iostream.h>
main()
{
intnila
i1,
n i
lai2,t
ota
l;
clr
scr();
cout<<"Ma s
uk anNil
ai1:"
;
cin>>nil
ai
1;
cout<<"Ma s
uk anNil
ai2:"
;

Ti
m Pe
nyus
unKomi
siMI 3
4
Modul Algoritma Pemrograman I
cin>>ni
lai
2;
tot
a l
=ni
lai
1+ni
lai
2;
cout<<"Masuk
anTota
lNi
la
i:"
<<t
ota
l<<e
ndl
;
getch()
;
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
24di
at
asa
dal
ah:

Gambar 2. 13 Ha
silCon
toh24

2.5.4. getch ( )
Fungs get character and echo)di
igetch( ) ( paka
iuntukme mbac
as e
buah
k
arak
terdengansifa
tk ara
ktery a
ngdi ma sukkantida
kpe r
ludi
akhi
rideng
anme ne
kan
t
ombolENTER,da nk arakt
ery angdi ma s
ukant i
daka k
andit
ampilk
andilaya
r.Fil
e
h
eaderyangharusdisert
akana dal
ahconio.h.

Contoh-25 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

mai
n()
{
c
hark
ar;

c
lrs
cr();
print
f("
Ma s
ukanSe
bua
hKara
kterBeba
s=")
;
ka
r=g et
ch();
print
f("
\nTa
diAndaMema
sukankar
akt
er%c
",ka
r);
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
25di
at
asa
dal
ah:

Gambar 2. 14 Ha
silCon
toh25

Ti
m Pe
nyus
unKomi
siMI 3
5
Modul Algoritma Pemrograman I

2.5.5. getche()
Fun
g sigetche()di
pakaiunt
ukme mbacas
ebuahk
a r
akte
rdeng
ansif
atka
rakt
er
yangdi masukkant i
da kperl
udiakhi
rideng
anme ne
kant
omb olENTER,danka
rakt
er
yangdi masuk andi t
ampi l
kandil aya
r.Fil
eh e
aderyangh ar
usdis
ert
akanada
lah
conio.h.

Contoh-26 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

ma
in()

{
c
harkar
;
c
lrs
cr()
;

print
f(
"Ma s
ukanSe
bua
hKara
kterBeba
s=")
;
ka
r=g et
che()
;
print
f(
"\n
TadiAndaMema
sukankar
akt
er%c
",ka
r);
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
26di
at
asa
dal
ah:

Gambar 2. 15 Ha
silCon
toh2
6

Ke d
uaf ungsii nidapatdi
gunakanunt
ukme naha
ntampila
n
hasi
lprogramy angdie ks
ekusiaga
rti
daklang
sungkembali
kelist
ingprog ramtanpame n
ekantombolALT–F5.Ka rena
fungsigetch() me r
upakanfungsimasukka
n,jadisebe
lum
progra
mk e l
ua rhar
usme ngi
nputk
ansat
ubuahkara
kte
r.

2.6. Tugas
1.Buat
lahpr
og r
am un
tukmenghi
tungni
la
irat
a-r
atadaris
eor
angs
iswa,de
nga
n
ket
ent
uansebaga
iberi
kut:
§ Nim Sis
wa ,NamaSiswa,Nila
iTugas1,NilaiTugasI
I,Ni
laiTugasI
II
dii
nput
.

Ti
m Pe
nyus
unKomi
siMI 3
6
Modul Algoritma Pemrograman I
§ Ni
laiRata
-ra
tamerupaka
nhasi
ldariNi
laiTug
asI
,IIda
nII
Idi
bag
ide
nga
n
3.
§ Tampil
anyangdi
ingin
kanse
bagaiber
ikut:

Layar Masukkan

PROGRAM HI
TUNGNI
LAIRATA-
RATA

Ni
m Siswa :
Na
maSi swa :
Ni
laiTugasI :
Ni
laiTugasI
I :
Ni
laiTugasI
II :

Layar Keluaran

Ni
m...
..
..
.Sis
way a
ngbe rn
ama……
Memper
olehn
ila
irat
a-r
ata…..da
rih
asi
ltug
asy
angdi
ikut
iny
a.

2.Buatl
ahpr ogram untukme nghi
tungni l
aia khi
rseora
n gsiswadarikur
sus
yan
gdi i
kutinya.Denganke t
ent
uansebagaiberi
kut:
§ Na maSiswa ,Nil
aiKe akt
if
an,Nil
aiTug asdanNila
iUj i
andiin
put
.
§ Prosesyan gdil
akukanun t
ukme ndapat
k annil
aimurnidarimasi
ng-mas
ing
nil
ai,adalah
§ NilaiMur niKeakti
fan=Ni l
aiKeakti
faandikal
ika
nde ngan20%.
§ NilaiMur niTugas=Ni l
aiTugasdikal
ikandengan30%
§ NilaiMur niUji
an=Ni laiUji
andikali
kande n
gan50%
§ NilaiAk hiradal
a hNi l
aiMur n
iKe aktif
an+ Ni l
aiMur niTugas+ Nil
ai
Mur niUjian
§ Tampi l
any angdii
ng i
nkansebaga
ibe r
ikut:

Layar Masukkan

PROGRAM HI
TUNGNI
LAIAKHI
R

Na
maSi swa :
Ni
laiKeakt
if
an :
Ni
laiTugas :
Ni
laiUji
an :

Layar Keluaran

Si
sway a
ngbern
ama……
DenganNil
aiPe
rse
nta
siYan
gdi
has
il
kan
.
Ni
laiKeakt
if
an *20% :……
Ni
laiTugas *30% :……
Ni
laiUji
an *50% :……

J
adiSi
sway
angbe
rna
ma…… me
mpe
rol
ehni
la
iak
hirs
ebe
sar….
.

Ti
m Pe
nyus
unKomi
siMI 3
7
Modul Algoritma Pemrograman I
BORLAND
C++

3
Operator
Dan Operasi String
Operat
orme r
upaka
ns imbola t
aukara k
terya
ng bi
asa di
li
bat
kan dal
am
pr
ogram,yangdi
gunaka
nun t
ukme la
kukanse
s uat
uope
ras
iat
auma ni
pul
asi
,seper
ti
pe
njumlah
an,pen
gura
ngandanlain
-la
in.
Operat
ormempunyais
ifa
tsebaga
iber
ikut:

• Unary
Sif
atUn ar
ypadaope
rat
ora
dal
ahha
nyame
li
bat
kans
ebua
hope
ran
dpa
das
uat
u
oper
a s
iari
tma
tik
Contoh:-5

• Binary
Sif
atBi n
arypa dao
per
atora
dal
ahme
li
bat
kanduabua
hope
ran
dpa
das
uat
u
operas
iari
tma ti
k
Contoh:4 + 8

• Ternary
Sif
atTe narypa daoper
atora
dal
ahme
liba
tka
nti
gabua
hope
ran
dpa
das
uat
u
operasiar
it
ma tik
Contoh:
(10 % 3) + 4 + 2

3.1. Operator Aritmatika


Ope
rat
orun
tukope
ras
iar
it
mat
ikay
angt
erg
olon
gse
bag
aiope
rat
orbi
nar
y
a
dal
ah:

Tabel 3.1. Operator Aritmatika

Operator Keterangan Contoh


* Perkal
ian 4*5
/ Pemba gi
an 8/2
Sis
a Pe
mbag
ian 5% 2
%
(mod )
+ Penjumlahan 7+2
− Pengurangan 6− 2

Ope
rat
ory
angt
erg
olon
gse
bag
aio
per
atorUnary,a
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 3
8
Modul Algoritma Pemrograman I
Tabel 3.2. Operator Unary

Operator Keterangan Contoh


+ Ta
ndaPl
us −4
− Ta
ndaMinus +6

Contoh-1 #incl
ude<s tdio.h
>
#incl
ude<c on io.
h>
#incl
ude<i ostrea
m. h
>
ma i
n()
{
intx,y,a=0,b=0,c=0, d=0;
clrs
cr();
cout<<"Ma suk a
nNi l
aiA:"
;ci
n>>x;
cout<<"Ma suk a
nNi l
aiB:"
;ci
n>>y;
a=x+y ;c=x %y ;
b=x -
y;d=x*y ;
print
f(“HasilDa r
iA=X+Y=%i\ n”,a)
;
print
f(“HasilDa r
iB=X-Y=%i\ n”,
b)
cout<<"Ha sildariC=X% Y=" <<c<<endl
;
cout<<"Ha sildariD=X*Y=" <<d<<endl
;
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 3. 1 Ha
silCon
toh1

3.1.1. Ekspresi Aritmatika


Bent
ukpen
uli
sane
kspr
esia
rit
mat
ikadi
kai
tka
nde
nga
npe
rny
ata
anpe
mbe
ri
n
ila
i.Ben
tukUmum :

• Var
iabe
l,di
kena
ldeng
ansebut
anLVa
lue(Left Value)
• Ek
spres
iArit
mati
kadi
ken
aldenga
nsebut
anRVa lue(Right Value)

Ti
m Pe
nyus
unKomi
siMI 3
9
Modul Algoritma Pemrograman I
• Ta nda“=“,di
ken
alde
nga
nse
bag
aiOperator Pemberi Nilai (Assignment
Operator).
LVa lue h ar usselaluber
upav ar
iabe
ltunggal
.Bi
laLValuebuka
n
berupa v aria bel
,ma kaakant ampi
lpe sankes
ala
han LValue
required in function …
RVa lue da patbe r
upa konst
ant
a,v a
ria
bellai
n maupun s
uat
u
ekspresia t
aur umusa r
it
matik
a.

3.1.2. Hierarki Operator Aritmatika.


Di da
lam suat
ue ks
pres
ia r
itma
tik
a,sel
al
u menj
umpaibebe
rapa o
per
ator
a
rit
mat
ikaya n
gbe r
bedayangdapatdi
gunak
anseca
rabe
rsa
maan.Urut
anoper
ator
a
rit
mat
ikasebaga
iberi
kut:

Tabel. 3.3. Tabel Hierarki Operator Aritmatika

Operator Keterangan
Ti
ngkat
anoper
atorsama,pen
gg un
aan
*a
tau/ ny
aterg
ant
ungletak
,y a
ngdidepan
di
dahul
uka
n
% Si
saPembagi
an
Ti
ngkat
anoper
atorsama,pen
gg un
aan
+a
tau- ny
aterg
ant
ungletak
,y a
ngdidepan
di
dahul
uka
n

Contoh A=8+2*3/6

Langkah perhitungannya :
A=8+6/ 6à (6/6=1)
A=8+1
A=9

Ti
ngka
tano pe
rat
orinidapa
tdi
aba
ika
n de
nga
n pe
ngg
una
an
t
andakur
ung“(“dan“
)”.

Con
toh:
A=(8+2)*3/6

Langkah perhitungannya :
A=1 0*3/6
A=3 0/ 6
A=5

Contoh-2 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
rea
m.h>

Ti
m Pe
nyus
unKomi
siMI 4
0
Modul Algoritma Pemrograman I

ma i
n()
{
inta,b;
clrs
cr();
a=8+2*3/6;
b=( 8+2)*3/6 ;
cout<<"A=8+2*3/6" <<endl;
cout<<"B=( 8+2 )*3/
6"<<endl;
cout<<endl
;
cout<<"Hasilda
riA="<<a<<endl;
print
f("Has
ildar
iB=%i" ,
b);
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 3. 2 Ha
silCon
toh2

3.2. Operator Pemberi Nilai Aritmatika


Sebel
umny a kit
at elah me ngenal ope r
ator pe mber
i nil
ai (assignment
operator)yait
utanda“=“ .Se ba
gaic ont
ohpe nggun a
a noperat
orpemberinilaiA =
A+1
Daripe nuli
sanekspr
esidia
tas,Borl
an dC++da patme nyeder
hanakanmenjadiA +=
1
Not as
i“+= “i nidi k
e na
lde nganope ra
torpe mbe r
in i
la
ia r
it
ma ti
k a.Ada
beberapaope r
ato
rpembe r
inil
a ia
rit
ma tk
adiantaranya:

Tabel. 3.4. Tabel Operator Pemberi Nilai Aritmatika


Operator Keterangan
*= Pe
rkal
ian
/
= Pe
mba g
ian
%= Si
saPembagi
an
+= Pe
njumlah
an
-
= Pe
ngurang
an

Ti
m Pe
nyus
unKomi
siMI 4
1
Modul Algoritma Pemrograman I

3.3. Operator Penambah dan Pengurang


Masi
hberka
ita
nde ng
anoperat
orpember
in i
lai
,Borl
andC++me ny
ediak
an
o
per
atorpena
mbahda npengur
ang.Daricon
tohpe n
uli
sanoper
atorpe
mbe rini
lai
s
eba
gaipeny
eder
hanaanny
adapatdi
gunaka
noper
atorpena
mbahdanpengura
ng.

Tabel. 3.5. Tabel Operator Penambah dan Pengurang


Operator Keterangan
++ Pe
nambah
an
-- Pe
ngur
angan
A=A+1a t
auA = A - 1; di
seder
hana
kanme n
jadiA ++ a
tauA--
Oper
ator“++ “ata
u“- -“da patdi
let
aka
ndi depa
na taudibe l
aka
ng
va
ria
bel.

Keterangan : 1.Pe
nambah an: menambahk
an1k
enil
aiva
ria
ble
,pr
efi
x(++A)
at
aupost
fi
x( A ++)
2.Peng
urangan :meng
urang
kan1keni
la
ivari
abe
l,p
ref
ix(--A)
at
aupost
fi
x( A --)

Keduabe n
tukpe nuli
sanope r
atorinime mpunyaiart
iyangberbeda.
• Jika diletakan didepan variabel,ma kaprosespenambahana t
aupeng ura
n gan
akandilakukans es
a a
ts ebelum ata
ul a
ngsungpa dasaatmenjumpaiekspresiini
,
se
hingga ni laiv ari
abelt a dia kanlangsung be r
ubah be g
itue ks
pr e
sii ni
di
temuk an,sedangkan
• Jika diletakan dibelakang variabel, ma ka pr os
es pe nambahan a tau
pengur
a ngana kandi la
k ukans ete
lahe k
spresiinidij
umpaia ta
un il
aiv ar
iabel
akantet
a ppadas aatekspresiinidi
temukan.

Contoh Penambahan:
i
n tx=5;
y=++x ;
(nil
aisa
ati
ni:y=6,x
=6)
i
n tx=5;
y=x ++;
(nil
aisa
ati
ni:y=5,x=6)

Pengurangan:
i
n tx=5;
y=- -x;
(nil
aisa
atini
:y=4
,x=4)
i
n tx=5;
y=x --;
(nil
aisa
atini
:y=5
,x=4)

Contoh-3 /*Penggun
a a
nNot a
siDi
depa
nVa
ria
bel
*/
#in
clude<st
dio.h
>
#in
clude<conio.
h>

Ti
m Pe
nyus
unKomi
siMI 4
2
Modul Algoritma Pemrograman I

mai
n()
{
i
nta=10,b=5;
c
lrs
cr()
;

print
f("
Nila
iA =%d",a);
print
f("
\nNil
ai++A=%d",++a)
;
print
f("
\nNil
aiB =%d"
, b)
;
print
f("
\nNil
ai--
B=%d",--
b);
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 3. 3 Ha
silCon
toh3

Contoh-4 /*Pengguna a
nNot a
siDi
bel
aka
ngVa
ria
bel
*/
#in
clude<stdio
.h>
#in
clude<con i
o.h
>
#in
clude<iostr
eam.h>
main()
{
in
ta=1 0,b=5;
cl
rscr
();

print
f("
Nila
iA =%d",a);
print
f("
\nNil
ai++A=%d",a++)
;
print
f("
\nNil
aiA =%d"
,a )
;
print
f("
\nNil
aiB =%d"
, b)
;
print
f("
\nNil
ai--
B=%d",b--
);
print
f("
\nNil
aiB =%d"
, b)
;
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
4di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 4
3
Modul Algoritma Pemrograman I

Gambar 3. 4 Ha
silCon
toh4

3.4. Operator Relasi


Opera
torRela
sidig
unaka
n untuk memba
ndin
gk an duabua
h ni la
i.Ha
sil
pe
rba
nding
anopera
torin
imeng
hasi
lka
nn i
lain
umeri
k1( True)at
au0(False).

Tabel. 3.5. Tabel Operator Relasi


Operator Keterangan
== SamaDe nga n(buk anpe mbe
rini
la
i)
!= Tida
kSa made ngan
> Lebi
hDa r
i
< KurangDa ri
>= Lebi
hDa r
isamade ngan
<= KurangDa risamade ng an

Contoh-5 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
fl
oata,b,c
,d,e
,f,
x,y
;
cl
rscr
();

c
out
<<"
Mas
uka
nNi
la
iX="
;ci
n>>x
;
c
out
<<"
Mas
uka
nNi
la
iY="
;ci
n>>y
;

a=x==y;
b=x!=y
;
c=x>y;
d=x<y;
e=x>=y;
f=x<=y;

cout<<endl
;
cout<<"Hasi
lda
ri"
<<x
<<"=="<<y<<"="<<a<<endl;
cout<<"Hasi
lda
ri"
<<x
<<"!="<<y<<"="<<b<<e
n dl
;
cout<<"Hasi
lda
ri"
<<x
<<">"<<y<<"="<<c<<endl;
cout<<"Hasi
lda
ri"
<<x
<<"<"<<y<<"="<<d<<endl;
cout<<"Hasi
lda
ri"
<<x
<<">="<<y<<"="<<e<<endl;
cout<<"Hasi
lda
ri"
<<x
<<"<="<<y<<"="<<f<<endl
;
getc
h ()
;
}

Ti
m Pe
nyus
unKomi
siMI 4
4
Modul Algoritma Pemrograman I

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
5di
at
asa
dal
ah:

Gambar 3. 5 Ha
silCon
toh5

3.5. Operator Logika


Operat
orRelasidi
gun ak
anuntukme ngh
ubungkanduabua
hoper
asire
lasi
menj
adis
ebuahung k
apankon di
si.Ha
silda
rioper
atorl
ogik
ainime
ngh
asi
lka
nn i
lai
nume
rik1(True)a
tau0(False).

Tabel. 3.5. Tabel Operator Relasi


Operator Keterangan
&& Ope
rat
orLogi
k aAND
|
| Ope
rat
orLogi
k aOR
! Ope
rat
orLogi
k aNOT

3.5.1. Operator Logika AND


Operat
orlog
ika AND di
gun
akan un
tuk meng
hubungka
n dua a
taulebi
h
eks
pres
irel
asi
,ak
andia
nggapBENAR,bi
lasemuaek
spres
ire
las
iyangdi
hubun
gkan
ber
nil
aiBENAR.

Tabel Logika And


A B A && B
T T T
T F F
F T F
F F F

Contoh : Ek
spr
esiRe
las
i1à A+4<10
-

Ek
spr
esiRe
las
i2à B>A+5
-
Ek
spr
esiRe
las
i3à C-3>=4
-

Pe
ngg
abungank eti
gaek
spr
esire
las
idiata
sme n
jadi
;
A+4 < 10 && B>A+5 && C–3 >= 4

Ti
m Pe
nyus
unKomi
siMI 4
5
Modul Algoritma Pemrograman I
Ji
kanilaiA=3;B=3;C=7, makak et
igaeks
pre
sit
ers
ebutme
mpun
yaini
la
i:
• Ek spresiRela
si1à A+4<1
- 0 à 3+4<1 0 à BENAR
• Ek spresiRela
si2à B>A+5 à 3>3+5 à SALAH
-
• Ek spresiRela
si3à C–3>=4 à 7–3>=4 à BENAR
-
Dariekspresir
ela
site
rse
butmempun y
ainil
aiBENAR,ma k
a
A+4 < 10 && B>A+5 && C–3 >= 4 à SALAH=0

Contoh-6 /*Pengguna a
nOpe ra
siLogikaAND* /
#in
clude<stdio
.h>
#in
clude<con i
o.h>
#in
clude<iostr
eam.h>
main()
{
fl
oata ,
b, c,d,
e,f,g
,h ;
clr
scr();
cout<<"Ma suk
anNilaiA=" ;c
in>>a;
cout<<"Ma suk
anNilaiB=" ;c
in>>b;
cout<<"Ma suk
anNilaiC=" ;c
in>>c;

/
/Pr
ose
s

d=a+4<10;
e=b>a+5;
f=c-3>=4;
g=d&&e&& f;

cout<<endl<<endl;
cout<<"Program Ekspr
esiAND"<<endl
<<e
ndl;
cout<<"Hasildarid=a+4<1 0ada
lah"<<d<<endl
;
cout<<"Hasildarie=b>a+5a dal
ah"<<e<<endl;
cout<<"Hasildarif=c-3>=4a dal
ah"<<f;
cout<<endl<<endl;
cout<<"Hasildarig=d&&e&&fa dal
ah"<<g;
cout<<endl;
getc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 3. 6 Ha
silCon
toh6

Ti
m Pe
nyus
unKomi
siMI 4
6
Modul Algoritma Pemrograman I

3.5.2. Operator Logika OR


Opera
torlogi
kaORdigun
akanuntukme n
gh ubungkanduaataul
ebiheks
pre
si
re
las
i,akandia
ng g
a pBENAR,bil
as a
lahs at
ue kspre
s ir
e l
asiyangdihubun
gkan
ber
nil
aiBENARda nbi
las
emuaeks
presirel
asiyangdihubungkanbern
ila
iSALAH,
makaakanbe
rnil
aiSALAH.

Tabel Logika Or
A B A || B
T T T
T F T
F T T
F F F

Contoh Ek
spr
esiRe
las
i-1à A+4<10
Ek
spr
esiRe
las
i2à B>A+5
-
Ek
spr
esiRe
las
i3à C-3>4
-

Pe
ngg abun g anket
igae ks
presire
las
idi
at
asme
nja
di;
A+4 < 10 || B>A+5 || C–3 > 4

J
ikani
laiA=3;B=3;C=7, ma
kak
eti
gae
kspr
esit
ers
ebutme
mpun
yaini
la
i:
• Ekspre
siRe
las
i-1à A+4<10à 3+4<10 àBENAR
• Ekspre
siRe
las
i-2à B>A+5 à 3>3+5 àSALAH
• Ekspre
siRe
las
i-3à C-3>4 à 7–3>4 àSALAH

Dil
iha
tekspresidi at
ass
ala hs a
tue kspr
esit
ers
ebutme
mpun
yain
ila
iBENAR,ma
ka
eks
pres
ite
rsebutt eta
pbernil aiBENAR.
A+4 < 10 || B>A+5 || C–3 > 4 à BENAR=1

Contoh-7 /*Pengg
una a
nOpe r
asiLog
ikaOR*
/
#in
clude
<stdio
.h>
#in
clude
<con i
o.h
>
#in
clude
<iostr
eam.h
>

mai
n()
{
fl
oata ,
b,c,
d,e
,f,
g,h;
clr
scr();
cout<<"Mas
uka
nNila
iA="
;ci
n>>a;
cout<<"Mas
uka
nNila
iB="
;ci
n>>b;
cout<<"Mas
uka
nNila
iC="
;ci
n>>c;

d=a+5>1 0;
e=b>5+a;
f=c-4<=7;
g=d||
e||
f;

c
out
<<e
ndl
<<e
ndl
;

Ti
m Pe
nyus
unKomi
siMI 4
7
Modul Algoritma Pemrograman I
c
out<<"Program Ekspr
esiAND"<<endl
<<e
ndl;
c
out<<"Ha si
ldarid=a+5>10a da
lah"<<d<<endl
;
c
out<<"Ha si
ldarie=b>5+aa dal
ah"<<e<<endl;
c
out<<"Ha si
ldarif=c-4<=7a dal
ah"<<f;
c
out<<endl<<endl;
cout<<"Hasildarig=d||e|
|fa
dala
h"<<g ;
cout<<endl;
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
7di
at
asa
dal
ah:

Gambar 3. 7 Ha
silCon
toh7

Contoh-8 /*Pengg
una a
nOpe ra
siLogi
kaANDOR*
/
#in
clude
<stdi
o.h>
#in
clude
<conio.h>
#in
clude
<iost
ream.h>
main()
{
f
loata,b,c
,d,e,f
,g,h;

c
lrs
cr()
;
c
out<<"
Mas
uka
nNi
la
iA="
;ci
n>>a
;

c
out
<<"
Mas
uka
nNi
la
iB="
;ci
n>>b;
c
out
<<"
Mas
uka
nNi
la
iC="
;ci
n>>c;

/
/Pr
ose
s
d=a+4<1 0;
e=b>a+5;
f=c-3>=4;
g=d&&e&& f ;

c
out
<<e
ndl<<endl;
c
out
<<"
Program Ekspr
esiAND/OR"<<e
ndl
<<endl
;
c
out
<<"
Ha s
ildar
id=a+4<1 0adal
ah"<<d<<e
ndl
;

Ti
m Pe
nyus
unKomi
siMI 4
8
Modul Algoritma Pemrograman I
c
out<<"Hasi
lda
rie=b>a+5adal
ah"<<e<<en
dl;
c
out<<"Hasi
lda
rif=c-3>=4a
dal
ah"<<f;
c
out<<endl
<<endl
;
c
out<<"Hasi
lda
rig=d||
e&&fada
lah"<<g;
c
out<<endl
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
8di
at
asa
dal
ah:

Gambar 3. 8 Ha
silCon
toh8

3.5.3. Operator Logika NOT


Oper
atorl
ogikaNOTa kanmembe
rik
annil
aike
bal
ikk
andar
iek
spre
siyang
di
sebut
k a
n.Jikanil
aiyangdis
ebut
kanbe
rni
laiBENAR makaa
kanmenghas
il
kan
ni
laiSALAH,be g
itupul
aseba
lik
nya.

Cont
oh:
Eks
pres
iRela
sià A+4<1 0
Pen
ggunaa
nOperat
orLog
ikaNOTdi
at
asme
nja
di;

!(A+4 < 10)

J
ikani
laiA=3;ma
kae
kspr
esit
ers
ebutme
mpuny
ain
ila
i:

• Ek
spr
esiRe
las
i-1à A+4<1
0 à 3+4<1
0à BENAR

Di
lih
ate ks
presidiat
assal
ahsa
tueks
pre
site
rse
butmempuny
aini
laiBENARdanj
ika
di
gunakanope rat
orlog
ikaNOT,makaeks
pres
ite
rse
buta
kanbe
rni
laiSALAH
!(A+4 < 10) à !(BENAR) =SALAH=0

Contoh-9 /*Penggun
a a
nOpe r
asiLog
ikaNOT*
/
#in
clude<st
dio.h>
#in
clude<conio.h
>
#in
clude<i
ostr
e a
m.h>

Ti
m Pe
nyus
unKomi
siMI 4
9
Modul Algoritma Pemrograman I
mai
n()
{
i
nta,b,c;
c
lrs
cr();

c
out<<"
Mas
uka
nNi
la
iA ="
;
c
in>>a;

/
*Pr
oses*
/
b=(
a+4<1 0)
;
c=!
(b)
;

c
out
<<e
ndl
<<"
Prog
ram Ek
spr
esiNOT"
<<e
ndl
;

c
out
<<"
Nil
aiA="<<a<<endl
;
c
out
<<"
Nil
aib=(
a+4<1 0)="<<b<<e
ndl
;
c
out
<<"
Nil
aic=!
(b)="<<c;

ge
tch
();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
8di
at
asa
dal
ah:

Gambar 3. 9 Ha
silCon
toh9

3.6. Operator Bitwise


Ope
rat
orBitwi
sedi
guna
k anuntuk mema n
ipula
sida
tada
lam be
ntuk bi
t.
Bor
lan
dC++me ny
edia
kane
nam buaho
pe r
atorbi
twise
.

Tabel. 3.6. Tabel Operator Bitiwise

Operator Keterangan
~ Bi
twi
seNOT
<< Bi
twi
seShi
ftLeft
>> Bi
twi
seShi
ftRight
& Bi
twi
seAND
^ Bi
twi
seXOR
| Bi
twi
seOR

Ti
m Pe
nyus
unKomi
siMI 5
0
Modul Algoritma Pemrograman I

3.6.1. Operator Bitwise << (Shift Left)


Ope
rat
orBi
twi
seSh
iftLe
ftdi
gun
aka
nun
tukme
ngg
ese
rse
juml
ahbi
tke
kir
i.
Con
toh:

0
0000
0001100100
1=2
01
/
//
//
//
/ ç di
ges
er1bi
tkek
iri
0
0000
0011001001
0=4
02

Di
bagiank
anandi
si
si
pka
n0,s
eba
nya
k
bi
tyangdi
ges
er

Contoh-10 #i
ncl
ude
<iost
rea
m.h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>

mai
n()
{

i
ntx;
c
lrs
cr(
);

c
out<<"
Mas
uka
nNi
la
iX="
;
c
in>>x;

cout
<<"
Nil
aiAwal:"
<<x<<en
dl;
x=x<<1;
cout
<<"
Hasi
lda
riGese
r1BitKeki
ri="
<<x
<<e
ndl
;

g
etc
h()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
10di
at
asa
dal
ah:

Gambar 3. 10 Ha
silCon
toh1
0

Ti
m Pe
nyus
unKomi
siMI 5
1
Modul Algoritma Pemrograman I

3.6.2. Operator Bitwise >> (Shift Right)


Ope
rat
orBi
twi
seSh
iftRi
ghtdi
gun
aka
nun
tukme
ngg
ese
rse
juml
ahbi
tka
nan
.
Con
toh:

0
0000
0001100100
1=201
\
\\
\\
\\ è di
\ ges
er1bi
tkek
ana
ni
0
0000
0000110010
0=100

Di
bagiank
anandi
si
si
pka
n0,s
eba
nya
k
bi
tyangdi
ges
er

Contoh-11 #in
clude<iost
ream.h
>
#in
clude<stdi
o.h>
#in
clude<conio.
h>
voi
dma in
()
{
intx;
clrs
cr();
cout<<"Ma s
ukanNil
aiX=";
cin>>x;
cout<<”Ni l
aiAwal:“
<<x
<<endl
;
x=x>>1;

c
out<<"Ha
silda
riGe
ser1Bi
tKe
kir
i="
<<x
<<e
ndl
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
11di
at
asa
dal
ah:

Gambar 3. 11 Ha
silCon
toh11

Ti
m Pe
nyus
unKomi
siMI 5
2
Modul Algoritma Pemrograman I

3.6.3. Operator Bitwise & (And)


Oper
atorBitwis
e& (An d)digunaka
nuntukme mbandingka
nbi tdar
idua
ope
ran
d.Akanbe rnil
aibenar(1)ji
kas e
muaop era
ndy angdigabungk
a nberni
lai
ben
ar(1)
.Ber
ikutdapatdi
li
hati
lust
ras
iuntukmembandi
ngkanbitdari
2o per
and.

Tabel. 3.7. Tabel Operator Bitiwise And

Bit Operand 1 Bit Operand 2 Hasil Operand


0 0 0
0 1 0
1 0 0
1 1 1

Con
toh:

1
1001
001=2
01
0
1100
100=1
00
AND
0
1000
000=6
4

Contoh-12 #i
ncl
ude
<iost
rea
m.h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>

v
oidmain()
{
in
ta,x,y;
cl
rsc
r();

cout<<"
Masuk
anNi
la
iX="
;
cin>>x;
cout<<"
Masuk
anNi
la
iY="
;
cin>>y;
a=x& y ;

c
out<<’
\n’
;
c
out<<"Ha
silda
ri"
<<x
<<"& "
<<y
<<"="
<<a
<<e
ndl
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
12di
at
asa
dal
ah:

Gambar 3. 12 Ha
silCon
toh12

Ti
m Pe
nyus
unKomi
siMI 5
3
Modul Algoritma Pemrograman I

3.5.4. Operator Bitwise | ( Or )


Ope
ratorBit
wi s
e|(Or)di gunakanun t
ukme mba n dingka
nbi tdaridua
ope
rand.Akanberni
laiben
a rj
ikaa das al
ahs atuoperandy angdi gabungk
ana dayang
ber
nil
aibenar(1)
.Be ri
kutdapa tdi li
h atil
us t
rasiuntukme mba ndi
ngka
nbi tdari2
ope
rand.
Tabel. 3.8. Tabel Operator Bitiwise Or

Bit Operand 1 Bit Operand 2 Hasil Operand


0 0 0
0 1 1
1 0 1
1 1 1

Con
toh:

1
1001
001=2
01
0
1100
100=1
00
OR
1
1101
101=2
37

Contoh-13 #i
ncl
ude
<iost
rea
m.h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>

v
oidmain()
{
in
ta,x,y;
cl
rsc
r();

c
out<<"
Mas
uka
nNi
la
iX="
;
c
in>>x;
c
out<<"
Mas
uka
nNi
la
iY="
;
c
in>>y;

a=x|
y;

c
out<<’
\n’
;
c
out<<"Ha
silda
ri"
<<x
<<"|
"<<y
<<"="
<<a
<<e
ndl
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
13di
at
asa
dal
ah:

Gambar 3. 13 Ha
silCon
toh13

Ti
m Pe
nyus
unKomi
siMI 5
4
Modul Algoritma Pemrograman I

3.6.5. Operator Bitwise ^ ( eXclusive Or )


Ope r
atorBit
wi s
e^(XOr)di gun
akan unt
uk memba n
dingk
anbi tdar
idua
operand.Akanbe r
nil
aibena
r( 1)ji
kadariduabity angdibandi
ngka
nh anya
sebuahberni
laiben
ar(1).Ber
ikutdapa
tdili
hati
lus
tra
siun t
ukme mbandi
ngka
n
bitdar
i2o pe
rand.

Tabel. 3.9. Tabel Operator Bitiwise XOr

Bit Operand 1 Bit Operand 2 Hasil Operand


0 0 0
0 1 1
1 0 1
1 1 0

Con
toh:

1
1001
001=2
01
0
1100
100=1
00
XOR
1
0101
101=1
37

Contoh-14 #i
ncl
ude
<iost
rea
m.h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>

v
oidma in
()
{
inta,x,y;
clrs
cr();
cout<<"Masuk
anNi
la
iX="
;
cin>>x;
cout<<"Masuk
anNi
la
iY="
;
cin>>y;

a=x^y
;

c
out<<’
\n’
;
c
out<<"Ha
silda
ri"
<<x
<<"^"
<<y
<<"="
<<a
<<e
ndl
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
14di
at
asa
dal
ah:

Gambar 3.13 Ha
silCon
toh
-14

Ti
m Pe
nyus
unKomi
siMI 5
5
Modul Algoritma Pemrograman I

3.6.5. Operator Bitwise ~ ( Not )


Oper
a t
orBit
wis
e~(Not)di guna
kanmembal
iknil
aibi
tda
ris
uatuope
ran
d.
Ber
ikutda
patdi
li
hati
lus
tra
siun
tukmemba
ndi
ngkanbi
tdar
i2o
per
and.

Ta
bel
.3.
10.Ta
belOpe
rat
orBi
ti
wis
eNot

Bit Operand Hasil


0 1
1 0

Con
toh:

0
000100
0=8
|
|
||
|
||
|
1
111011
1=2
47=-
9

Contoh-15 #i
ncl
ude
<iost
rea
m.h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>

v
oidma in
()
{
inta,x,y;
clrs
cr()
;
cout<<"Masuk
anNi
la
iX="
;
cin>>x;

a=~x
;

c
out
<<’
\n’
;

c
out<<"Ha
silda
ri~"
<<x
<<"="
<<a
<<e
ndl
;
g
etc
h (
);
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
15di
at
asa
dal
ah:

Gambar 3. 14 Ha
silCon
toh15

Ti
m Pe
nyus
unKomi
siMI 5
6
Modul Algoritma Pemrograman I

3.7. Operasi String


Operasist
ri
ngs el
aludijumpaidi
dal
am bah
asapemrograman,dikar
e n
aka n
hampirsemuaba has
ape mrogramanme n
gguna
kanma n
ualinputnyaadal
ahs tr
ing,
te
rutamapa da pemrogra
ma n vis
ual
is
asi
.Pada ba
bi niakan dibah
asa bebera
pa
peri
ntahdanfungs
istri
ng.

3.7.1. Fungsi Manipulasi String


Borl
andC++me nyedi
aka
nbe
ber
apaf
ung
siy
angdi
gun
aka
nun
tukk
epe
rlua
n
me
nipul
asis
tri
ng,di
ant
ara
ny a
:

a. Fungsi strcat( )
Fungsii
nidigunak
anuntukmenambahk
anstr
ings umbe rkeba
giana kh
irda
ri
st
ri
ngtuj
uan.Fi
leh e
aderyangh
arusdi
ser
tak
anada
lahstring.h da
nctype.h
Bent
ukPenuli
san:
strcat(tujuan, sumber);

Contoh-16 #i
ncl
ude<s
tri
ng.
h>
#i
ncl
ude<c
type.
h>
#i
ncl
ude<i
ost
ream.
h>

mai
n()
{
c
hara1[20]
;
c
hara2[20]
;
c
lrs
cr(
);
c
out<<"Masukka
nKa t
a-1=";
c
in>>a1;
c
out<<"Masukka
nKa t
a-2=";
c
in>>a2;
s
trc
at(
a1,a2);
c
out<<"Hasi
lPengg
abung
anny
a"<<a
1;
g
etch(
);
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
16di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 5
7
Modul Algoritma Pemrograman I

Gambar 3.15 Ha
silCon
toh
-16

b. Fungsi strcmp( )
Fun
g s
iinidig unaka
nunt
ukmemban
dingk
anst
ri
ngper
tamaden
ganstr
ing
ke
dua.Hasildarifungsiinibe
rti
peda
taint
ege
r(i
nt)
.Fi
leheade
ryang h
arus
di
ser
tak
anadal
ahstring.h
Bent
ukPenul
isa
n:

var_int = strcmp(str1, str2);

Contoh-17 #i
ncl
ude<str
ing.
h>
#i
ncl
ude<iost
rea
m.h >
#i
ncl
ude<conio.
h>
mai
n()
{
ch
ara1[]=" BSI";
ch
ara2[]=" Bsi"
;
ch
arb1[]=" BSI";
cl
rs
cr();
co
ut<<"Hasi
lPerbandi
ngan"<<a
1<<"da
n"<<a
2<<"
->"
;
co
ut<<st
rcmp(a1,
a2)<<en
dl;
co
ut<<"Hasi
lPerbandi
ngan"<<a
2<<"da
n"<<a
2<<"
->"
;
co
ut<<st
rcmp(a2,
a1)<<endl
;
co
ut<<"Hasi
lPerbandi
ngan"<<a
1<<"da
n"<<b
1<<"
->"
;
co
ut<<st
rcmp(a1,
b1)<<endl
;
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
17di
at
asa
dal
ah:

Gambar 3.1.6. Ha
silCon
toh
-17

Ti
m Pe
nyus
unKomi
siMI 5
8
Modul Algoritma Pemrograman I

c. Fungsi strcpy( )
Fungsii
nidigun
akanuntukme ny
ali
ns t
ri
ngasalke-v ar
iabelst
ri
ngtuj
uan
,
de
ngansyara
tstr
ingtuj
uanhar
usme mpunyait
ipedat
ada nda nuk ura
ny angs
ama
de
nganst
ri
nga s
al.Fi
lehea
dery
an gh
arusdis
ert
akana
dalahstring.h.
Bent
ukPenul
isa
n:
strcpy(tujuan, asal);

Contoh-18 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tri
ng.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
c
harhuruf
[20];
c
harpin
dah[20];
c
lrs
cr()
;

c
out<<"
Masuk
kanSe
mba
ran
gKa
ta="
;
g
ets
(hur
uf)
;

/
*Proses*/
s
trc
py(pin
dah,huruf);
c
out<<"Pemi
n dah
a nnya="
<<pi
nda
h;
g
etch();
}
Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
18di
at
asa
dal
ah:

Gambar 3.17 Ha
silCo
nto
h-18

d. Fungsi strlen( )
Fungs
iinidi
gunak
anun t
ukmempe r
olehba
nya
kny
aka
rak
terda
lams
tr
ing
.
Fi
lehea
deryangha
rusdi
ser
tak
anada
lahstring.h
Bent
ukPenul
isa
n:
strlen(str);

Ti
m Pe
nyus
unKomi
siMI 5
9
Modul Algoritma Pemrograman I

Contoh-19 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tri
ng.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
c
harhuruf
[20];
c
harpin
dah[20];
c
lrs
cr()
;

c
out<<"
Ma sukka
nSe mbar
angKata=";
g
ets
(huruf
);
c
out<<"
PanjangKataYangDii
nputk
an=";
c
out<<s
trl
en(h
uruf)
;
g
etc
h ()
;
}
Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
19di
at
asa
dal
ah:

Gamabr 3.18 Ha
silCo
nto
h-19

e. Fungsi strrev( )
Fungs
iinidigun
ak anun tukme
mbal
ikle
takur
uta
npadastr
ing
.St
ri
n gur
utan
pa
linga kh
irdipin
dahkank eurutanpa
li
ngdepa
nda nse
ter
usny
a.Fil
eheaderyang
ha
rusdiser
taka
na dal
ahstring.h
BentukPenul
isan:
strrev(str);

Contoh-20 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tri
ng.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
c
harkat
a[20];
c
lrs
cr(
);
c
out<<"MasukanSe
mba
rangKa
ta="
;
ge
ts(
kat
a);

s
trr
ev(ka
ta)
;
c
out<<"Hasi
lPe
ruba
han="
<<k
ata
;

Ti
m Pe
nyus
unKomi
siMI 6
0
Modul Algoritma Pemrograman I
get
ch()
;
}
Out
puty
anga
kandihas
il
kan
,da
rip
rog
ramc
ont
oh-
20di
at
asa
dal
ah:

Gambar 3.19 Ha
silCon
toh
-20

3.7.2. Fungsi Konversi String


Bor
landC++5.02me
nye
dia
kanbe
ber
apaf
ung
siy
angdi
gun
aka
nun
tuk
k
epe
rluankon
fer
sis
tri
ng.

a. Fungsi atof( )
Fungs
iin
idi
guna
k a
nun t
ukmengubahst
ri
n g(
tek
s)angk ame
nja
dibi
la
nga
n
n
ume
rikfl
oat
.Fi
leh
eaderyan
gha r
usdi
ser
taka
na dal
ahmath.h

Contoh-21 #i
ncl
ude<s
tdi
o.h>
#i
ncl
ude<con
io.
h>
#i
ncl
ude<math.
h>
#i
ncl
ude<i
ost
ream.h
>

main
()
{
chark at
a[20];
fl
oata ngka,a,b;
cl
rscr();
cout<<"Ma sukanSemba r
angKat
aberu
paangka=";
gets
(ka t
a);
angka=a t
of(kat
a);
a=a n gka+5;
cout<<"Ha si
lPerubaha
nditamba
hdengan5="<<a;
getc
h ();
}
Out
puty
angakandi ha
s i
lkan
,daripr
ogramcont
oh-
21dia
tasa
dal
ah:

Gambar 3.20 Ha
silCon
toh
-21

Ti
m Pe
nyus
unKomi
siMI 6
1
Modul Algoritma Pemrograman I

b. Fungsi atoi( )
Fungs
iinidi
gunak
anunt
ukme ng
ubahstr
ing(t
eks)a ngk ame
nja
dibi
la
nga
n
n
ume
rikin
tege
r.Fi
lehe
adery
angha
rusdis
ert
aka
na da
lahstdlib.h

Contoh-22 #i
nclude<st
dio.
h>
#i
ncl
ude<conio.
h>
#i
ncl
ude<stdl
ib.
h>
#i
ncl
ude<iost
rea
m.h>

mai
n()
{
c
h a
rk at
a[20]
;
f
loatangka,a
,b;
c
lrscr
();

c
out<<"
Ma suk
anSe
mba
rangKa
tabe
rupaa
ngk
a="
;
g
ets
(kat
a);

an
gka=at
oi(
kat
a);
a=ang
ka+5;

c
out<<"Ha
silPe
ruba
handi
ta
mba
hde
nga
n5="
<<a
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
22di
at
asa
dal
ah:

Gambar 3-21. Ha
silCon
toh
-22

c. Fungsi atol( )
Fungsii
nidigun
aka
nuntukmenguba
hs t
ri
ng(te
ks)angkame nj
adibi
la
nga
n
n
ume
riklon
gi n
tege
r.Fi
leh
eade
ryangha
rusdis
ert
aka
na da
lahstdlib.h

Contoh-23 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tdl
ib.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
c
hark
ata
[20]
;

Ti
m Pe
nyus
unKomi
siMI 6
2
Modul Algoritma Pemrograman I
f
loa
tan
gka
,a,b;

c
lrs
cr()
;

c
out<<"
Ma suk
anSe
mba
rangKa
tabe
rupaa
ngk
a="
;
g
ets
(kat
a);

an
gka=at
ol(
kata)
;
a=ang
ka+25 00;

c
out<<"Ha
silPe
ruba
handi
ta
mba
hde
nga
n250
0="
<<a
;
g
etc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
23di
at
asa
dal
ah:

Gambar 3.22. Ha
silCon
toh
-23

d. Fungsi strlwr( )
Fungs
iinidig
unaka
nun t
ukmenguba
hs et
ia
ph ur
ufkapit
al(h ur
ufbe sar)
da
lamstr
ingmenja
dihur
ufkec
il
.Fil
ehe
aderyanghar
usdi
ser
tak
ana da
lahstring.h
Bent
ukPenul
isa
n:
strlwr(str);

Contoh-24 #i
ncl
ude<st
dio.
h>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tr
ing.
h>
#i
ncl
ude<i
ost
ream.
h>

mai
n()
{
c
harkat
a[2
0];
c
lrs
cr()
;

c
out<<"Masuk
anSe
mba
ran
gKa
tade
nga
nHur
ufBe
sar="
;
g
ets(
kat
a);
s
trl
wr(k
ata
);

c
out<<"Ha
silPe
ruba
han="
<<k
ata
;
g
etc
h ()
;
}

Ti
m Pe
nyus
unKomi
siMI 6
3
Modul Algoritma Pemrograman I
Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
24di
at
asa
dal
ah:

Gambar 3.23. Ha
silCon
toh
-24

e. Fungsi strupr( )
Fungsiinidigun
akan un
tuk me
nguba
hs et
ia
ph ur
ufk e
cildala
m st
ri
ng
me njadihurufkapi
tal(h ur
ufbesa
r).Fil
eheade
ry a
ngharusdis
ert
akana
dal
ah
string.h
Be ntukPenuli
san:
strupr(str);

Contoh-25 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<s
tri
ng.
h>
#i
ncl
ude<i
ost
rea
m.h>

ma i
n()
{
chark a
ta[
20];
clr
scr();
cout<<”Ma s
ukka
nSembar
angKat
aden
ganHur
ufBe
sar
:”;
gets
(kata)
;
s
trupr(kat
a);
cout<<”Hasi
lPer
uba
han:”<<k
ata
<<e
ndl;
getc
h ();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
25di
at
asa
dal
ah:

Gambar 3-24 Hasil Contoh-25

Ti
m Pe
nyus
unKomi
siMI 6
4
Modul Algoritma Pemrograman I

3.8. Tugas
1
.Te ntuk
ana
paha
siln
ume
rikda
rie
kspr
esir
ela
sida
nlog
ikadi
bawa
hin
i.Di
ber
ika
n
ni
laiA=3;B=6;C=2;K=5;L=4;M =3

a. D=(4+2>A&&B–2>3+2| |B+2<=6+2)
b. D=K+5<M |
|(C*M <L&&2*M –L>0)
c. D=L+5<M |
|C*K< L&&2*K–L>0
d. D=A*4<=3*M +B
e. D=K+10>A&&L–2>4*C

2
.Da
ripr
ogr
amdi
bawahini
,bag
aimanak
ahk
elua
rany
angdi
has
il
kan
#in
clude
<st
dio.
h>
#in
clude
<coni
o.h>

mai
n()
{
inta=2 1;
cl
r s
cr();
print
f("
\nNil
aia=%d",a
);
print
f("
\nNil
aia++=%d",a++)
;
print
f("
\nNil
ai++a=%d",++a)
;
print
f("
\nNil
ai--
a=%d",--
a);
print
f("
\nNil
aia=%d",a
);
a+=3;
print
f("
\nNil
aia=%d",a
);
print
f("
\nNil
ai++a=%d",++a)
;
print
f("
\nNil
aia++=%d",a++)
;
print
f("
\nNil
ai--
a=%d",--
a);
print
f("
\nNil
aia--=%d"
,a--
);

g
etc
h()
;
}

3
.Buatl
ahpr
ogra
muntukmengh
itungpanj
angka
tabe
rik
uti
ni:
Ak
ademiManaj
eme
nI n
for
mati
k adanKomput
erBi
naSar
anaInf
orma
ti
ka

4
.Buatl
ahpr
ogra
muntukme mba
li
kk a
taber
ikuti
ni:
Ak
ademiManaj
eme
nI nf
ormat
ikadanKomp ut
erBi
naSa
ran
aInf
orma
ti
ka

Menjadis
epe
rtiber
ikut:
ak
ita
mr of
nIan
a r
aSaniBret
upmoKa
nda
kit
amr
ofnIn
eme
jana
Mime
dak
A

5
.Buatl
ahprog
ramuntukme
ngg
abun
gka
nduab
uahs
tri
ng
Ka
li
ma t
1=Ma naj
emen
Ka
li
ma t
2=Infor
matik
a

Me
nja
dis
eper
tiber
ikut
:
Ma
naj
emenI
nfor
matika

Ti
m Pe
nyus
unKomi
siMI 6
5
Modul Algoritma Pemrograman I

6
.Diber
ika
nka
li
mats
tri
ngbe
rik
ut:
Ka
li
mat1="
35.
6"
Ka
li
mat2="
12.
5"

Kemudi
ank eduakali
ma tdi
at
asdi
hit
ungme
nja
dipe
rhi
tun
gan:
a.Pe
rka
li
an
b.Pe
mbagian
c.Pe
namba h
an
d.Pe
ngurangan
e.Menc
arisis
ah a
silpembagia
n

Ti
m Pe
nyus
unKomi
siMI 6
6
Modul Algoritma Pemrograman I
BORLAND
C++

Operasi
Penyeleksian Kondisi 4
Pe
rnyat
aan Per
cabangan di
gun
a k
an unt
uk meme c
ahk
an per
soa
lan unt
uk
meng
ambilsua
tukeputus
andiantar
aseki
anperny
ata
any an
gada.Unt
ukk e
perl
uan
pe
ngambi
lankeput
usa
n,Bo r
lan
dC++me nye
dia
kanbebe
rapape
rin
taha
nta
ralai
n.

4.1. Pernyataan IF
Pernyata
a nif me mpun ya ipe ngert
ia
n,“Jika kondisi bernilai benar, maka
perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan” .
Dar ipengerti
antersebutda patdilihatda r
idiagr
ama li
rbe ri
k ut
:

s
ala
h
kondisi

b
ena
r
perintah

Gambar 4.1. Di
agr
am Al
irI
F

Be
ntukumumda
ripe
rny
ata
anif

if (kondisi)
pernyataan;

Pe
nul
isa
nkondisi be
radadida
lamtan
dakurun
gkura
walji
kapemaka
ianif di
ikut
i
de
nga
npe r
nya
taanma jemuk
,bent
ukpe
nul
is
annyas
eba
gaibe
rik
ut:
if (kondisi)
{
pernyataan;
……
}

Ti
m Pe
nyus
unKomi
siMI 6
7
Modul Algoritma Pemrograman I
Contoh-1 #i
ncl
ude<st
dio
.h>
#i
ncl
ude<coni
o.h
>
#i
ncl
ude<i
ostr
eam.h
>
mai
n()
{
fl
oatx,
y;
cl
rscr
();

c
out
<<"Masuk
kanNila
iPos
it
ifa
tauNe
gat
if"
<<e
ndl
;
c
out
<<"Ni
la
iX:" ;
cin
>>x;
c
out
<<"Ni
la
iY:" ;
cin
>>y;

if(
(x>=0)&&( y
>=0))
cout
<<"
Xda nYBer
nil
aiPOSI
TIF"
<<e
ndl
;
get
ch()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 4. 2 Ha
silCon
toh1

4.1.1. Pernyataan IF - ELSE


Pe r
ny at
aa nif me mpun y a ipe ngerti
an,“Jika kondisi bernilai benar, maka
perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan
perintah-2”.Da ripen gert
ianterse butda patdil
iha
tda ridiagrama lirbe ri
kut:

kondisii Salah

Benar

Perintah-1 Perintah-2

Gambar 4.3 Di
agr
am Al
iri
f-
els
e

Be
ntukumumda
ripe
rny
ata
anif -
els
e
if (kondisi)
perintah-1;
else
perintah-2;

Ti
m Pe
nyus
unKomi
siMI 6
8
Modul Algoritma Pemrograman I
Pe
rin
tah
-1danpe ri
nta
h-2 dapa
tberupasebuahpe rny ata
antungga
l,pe
rny
ata
an
maj
emukata
upe r
nyat
aankosong.J
ikapemakai
anif-else di
ikut
ide
nganpe
rny
ata
an
maj
emuk,ben
tukpenul
isa
nnyasebaga
iberi
kut:

if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
}

Contoh

Men
entuka
nbe sarny
ag aj
ipokokdanjaba
tandarigolon
gan,de
nga
nkr
it
eri
a:
-j
ikagol
on ga
n =1,Ja
batan
=Di r
ektur
,gapok=50 00000
-Ji
kagolongan=2,jabat
an=Manajer
,gapok=4000000

contoh-2 #i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
rea
m.h>

main()
{
cha
rg ol
,ja
b[10]
;
longg a
pok=0;

clrscr();
co ut<<en dl<<"Da t
aJ abat
an"
<<e ndl
<<"================" <<endl;
co ut<<"Ma s
ukanGol ongan[1/2]
:";
cin
>>g ol
;
if(
g ol=='1')
{s trcpy (
jab,"Dire
ktur");
g apok=5 000000;
}
e
lse
{
strcpy(jab,"Manajer
");
g apok=4 000000;
}
co ut<<"J abatan=" <<jab<<endl
cout <<"Ga j
iPokok=" <<ga
p ok<<e
ndl;
get c
h() ;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 6
9
Modul Algoritma Pemrograman I

Gambar 4. 4 Ha
silCon
toh2

4.1.2. Pernyataan NESTED IF


Ne
ste
di fmerupak
an pe
rnya
taa
ni fbera
da di
dal
am pe
rny
ata
ani
fya
ng
l
ain
nya
.Bentukpe
nul
isa
npern
yat
aanNeste
difa
dalah:

if(syarat)
{
if(syarat)
… perintah;
else
… perintah;
}
else
{
if(syarat)
… perintah;
else
… perintah;
}

Contoh
Sua
tupe r
usahaanmenj
ualpakai
andeng
a nke
ten
tuansebagaiber
ikut:
• J i
kak odeba
ju=1ma kaMe r
kBa ju=H&R,de nganukura nba
ju=S,
mak
a
har
ganya45000,J
ikaukur
anbaj
u=M,ma kaharganya60000 .
• J i
kakodebaj
u=2ma k
aMe rkBaju=Adidas,denga
nuk uranbaj
u=S,mak
a
har
ganya65000,J
ikaukur
anBaju=M,makah ar
ganya7500 0.

Contoh-3 #i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<iost
rea
m.h>

main
()
{
chark
ode,
ukur
an,
mer
k[1
5];
longha
rga
=0;

Ti
m Pe
nyus
unKomi
siMI 7
0
Modul Algoritma Pemrograman I
c
lrs
cr()
;
c
out<<"
KodeBa
ju:";
cin>>k
ode;
c
out<<"
Ukur
an :";
cin
>>ukura
n;

if(kode=='1')
{
str
cpy (merk,"H&R" )
;
if(ukuran=='S'||
ukuran=='s'
)
harga=45 000;
els
e
harga=60 000;
}
els
ei f(kode=='2')
{
str
cpy (merk,"Adidas")
;
if(uk uran=='S'|
|ukuran=='s')
harga=65 000;
els
e
harga=75 000;
}
els
e
cout<<” Sala
hKodeBa ju”<<endl;
cout<<" --
---
----
---
---
---
---
---
"<<e n
dl;
cout<<" Me r
kBa ju:"<<me rk<<endl;
cout<<" HargaBa j
u:" <<harg
a <<endl
;
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 4. 5 Ha
silCon
toh3

Ti
m Pe
nyus
unKomi
siMI 7
1
Modul Algoritma Pemrograman I

4.1.3. Pernyataan IF – ELSE Majemuk


Bentukda riif-else bert
ingka
tseben
arnyas
erupad engnnested if,k
a euntun
gan
pe
nggunanif-else be
a rt
ingk atdiba
ndingdengnnested if a
a da
lahpengg unaanbent
uk
pe
nuli
sanyangle bihs ede rhana.
Bent
ukUmum Pe nul isanny a
:

if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}

Contoh
Sua t
u per
usahaan membe
rik
a nk omisikepa
dapa r
as e
les
ma n de
ngank ete
ntua
n
sebagaibe
rik
ut:
• Bi l
as al
esmandapa
tme nj
ua lbar
anghinggaRp.200
.000,-,akandiber
ika
n
uangjasasebe
sarRp.10.000ditambahdenga
nua n
gk omisiRp.10% dari
pendapa
tanyangdi
perol
ehh ar
iit
u.
• Bi l
as al
esmandapatmenjualbara
ngdiata
sRp.200.000,
-,a kandiber
ika
n
uangjasasebe
sarRp.20.000ditambahdenga
nua n
gk omisiRp.15% dari
pendapa
tanyangdi
perol
ehh ar
iit
u.
• Bi l
as al
esmandapatmenjualbara
ngdiata
sRp.500.000,
-,a kandiber
ika
n
uangjasasebe
sarRp.30.000ditambahdenga
nua n
gk omisiRp.20% dari
pendapa
tanyangdi
perol
ehh ar
iit
u.

Contoh-4 #i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<iost
rea
m.h>

main
()
{
f
loatpen
dapa
tan
,ja
sa=0,k
omi
si
=0,t
ota
l=0;
c
lrs
c r
();

c
out<<"
Pen
dapat
anHa
rii
niRp."
;
c
in>>pe
nda
pata
n;

Ti
m Pe
nyus
unKomi
siMI 7
2
Modul Algoritma Pemrograman I
i
f(penda
patan>=0&&pe nda
pat
an<=20
0000)
{
jas
a=10000;
komisi
=0.1*pe
nda
pat
an;
}

e
lseif
(pe
n dpt
an<=500000)
{
ja
sa=20000;
komis
i=0.15*pen
dapata
n;
}
e
lse
{
ja
sa=30000;
komis
i=0.2*pen
dapatan
;
}

/
*me n
ghit
ungtot
al*
/
t
ota
l=k o
misi
+jas
a;

cout<<"UangJas
a Rp ."<<j
asa<<e
ndl;
cout<<"UangKomisiRp."<<komisi
<<endl
;
cout<<"============================="
<<e
ndl
;
cout<<"Hasi
lTota
lRp."<<tot
al<<endl
;
getc
h ()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
4di
at
asa
dal
ah:

Gambar 4. 6 Ha
silCon
toh4

Ti
m Pe
nyus
unKomi
siMI 7
3
Modul Algoritma Pemrograman I

4.2. Pernyataan switch - case


Be nt
ukda riswitch - case me r
upak anpe r
ny a
taanyangdi r
ancangankh
usus
unt
ukme n
anganipe ngambi lank eputusa
ny angme l
ibat
kansejumlaha ta
ubanyak
al
tern
atifpenyelesai
an.Perny at
aanswitch - case i
nime mil
ikike
g unaa
ns amase
pert
i
if– e l
sebe rt
ingkat,tetapipe ngg unaan
ny aun t
uk me meri
ksada t
ay a
ng be
rti
pe
karakter a
tauinteger.Ben t
ukpe n uli
sanperintahiniseba
gaiber
ikut:

switch (ekspresi integer atau karakter )


{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}

Seti
a ppil
iha
na kandi j
ala
nkanjikas
yara
tn i
laikonsta
ntaters
ebutdipe
nuhi
dandefault ak
andij
ala
nk anji
kasemuac a
ban
gdiata
snyatidakter
penuhi
.
Pernya
taan break me nunjuk
an ba h
wa peri
nta
hs iapk e
luar daiswitch.J
r i
ka
perny
ataani niti
dakada ,ma kaprogr
ama kandit
erusk
ank epi l
ihan
-pil
iha
ny ang
la
innya.

Contoh-5 #i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<iost
rea
m.h>

main()
{
intk ode;
clr
scr();
cout<<" Masuk
kanKo
deJ
urus
an[
11/
12/
13]:"
;
cin>>k ode
;

s
wit
ch(k
ode)
{
cas
e11:
cout<<"Komput
eri
sas
iAkunt
ansi
";
break;
cas
e12:
cout<<"Mana
jemenInf
orma
tik
a";
break;

Ti
m Pe
nyus
unKomi
siMI 7
4
Modul Algoritma Pemrograman I

ca
se13:
cout<<"
Tehni
kKomput
er"
;
brea
k;
def
ault
:
cout<<"
AndaSal
ahMemasuk
ank
ode
";
break;
}
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
5di
at
asa
dal
ah:

Gambar 4. 7 Ha
silCon
toh5

Contoh-6 #i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<iost
rea
m.h>

main()
{
charkode;
clr
scr();
cout<<"Masuk
kanKo
deBa
ran
g[A.
.C]:"
;
cin>>kode;

s
wit
ch(k
ode )
{
cas
e'A' :
cas
e'a':
cout<<"Ala
tOl
ahRaga"
;
br
eak;
cas
e'B':
cas
e'b':
cout<<"Ala
tEl
el
ktr
oni
k";
break;
cas
e'C':
cas
e'c':
cout<<"Ala
tMasa
k";
break;

Ti
m Pe
nyus
unKomi
siMI 7
5
Modul Algoritma Pemrograman I
def
ault
:
cout<<"
AndaSa
lahMe
mas
uka
nkode
";
break;
}
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 4.8 Ha
silCon
toh6

4.3. Tugas
1. Buat
lahpr ogram untukme ngh
itungnil
airat
a-r
atadar
iseoran
gsis
wa ,dengan
ket
entuans e
ba gaiberi
kut:
§ Na ma Si swa , Nil
ai Pert
a n
dinganI , Nila
i Per
tandi
nganI I, Ni
lai
Pe r
tandinganIIIdii
nput.
§ Ni l
aiRa ta-rat
ame rupaka
nh as
ildariNilaiPer
tan
dinganI,IIda nIII
dibagideng an3.
§ Ke t
entuanJ uara
• J ikan i
lairat
a-r
atayangdihasi
lka
nlebihbesa
rdari80,makame nj
adi
JuaraI
• J ikan i
lairat
a-r
atayangdihasi
lka
nlebihbesa
rdari75,makame nj
adi
JuaraII
• J ikan i
lairat
a-r
atayangdihasi
lka
nlebihbesa
rdari65,makame nj
adi
JuaraIII
• Se l
ainituti
dakjuara
§ Ta mpilany angdii
nginkansebaga
iberi
kut:

Layar Masukkan

PROGRAM HI
TUNGNI
LAIRATA-
RATA

Na
maSi swa :
Ni
laiPe
rtan
ding
anI :
Ni
laiPe
rtan
ding
anII :
Ni
laiPe
rtan
ding
anII
I :

Ti
m Pe
nyus
unKomi
siMI 7
6
Modul Algoritma Pemrograman I
Layar Keluaran

Si
sway
angberna
ma..
.
Mempe
role
hnila
ira
ta-
rat
a..
.da
nme
nja
dij
uar
ake
-..
.da
rih
asi
lpe
rlomba
an
ya
ngdi
ikut
iny
a.

2. Buat
lahpr ogram un t
ukme nghitungni l
aia khi
rs eoran
gs i
swada r
ik ur
sus
yangdi i
kuti
ny a.De ng anke te
ntua nsebagaiber
ikut:
§ Na maSiswa ,Ni laiKe aktif
an,Ni l
aiTug asdanNi l
aiUj i
andiin
put.
§ Prosesy ang di lakukan un tuk me ndapatka
nn il
aimur nidarima si
ng-
ma si
ngni l
ai,a dal
a h
§ NilaiMur niKe a
ktifan=Ni l
a iKeak t
if
aandikali
kande ngan20%.
§ NilaiMur niTug as=Ni laiTug asdikali
kandenga n30%
§ NilaiMur niUj ian=Ni la iUjiandikali
kande nga
n50%
§ NilaiAkh ira dalahNi l
a iMu rniKe akt
ifa
n+Ni laiMur niTugas+Ni l
ai
Mur niUjian
§ Ke t
entuanNi laiHur uf
• Ji
kan ilaiAkh iry a
n gdi hasil
kanlebihbesarda r
i8 0,makame n
dapat
grade“ A”
• Ji
kan ilaiAkh iry a
n gdi hasil
kanlebihbesarda r
i7 0,makame n
dapat
grade“ B”
• Ji
kan ilaiAkh iry a
n gdi hasil
kanlebihbesarda r
i5 6,makame n
dapat
grade“ C”
• Ji
kan ilaiAkh iry a
n gdi hasil
kanlebihbesarda r
i4 6,makame n
dapat
grade“ D”
• Sela
ini t
ume n dapatg r
ade“ E”
§ Ta mpil
a nya ngdi in
g i
nk ans ebagaiberi
kut:

Layar Masukkan

PROGRAM HI
TUNGNI
LAIAKHI
R

Na
maSi swa :.
..
Ni
laiKeakt
if
an :.
..
Ni
laiTugas :.
..
Ni
laiUji
an :.
..

Layar Keluaran

Si
swayangbern
ama……
Deng
anNilaiPe
rsen
tas
iYa
ngdi
has
il
kan
.
Nil
aiKeakt
if
an*20% :..
.
Nil
aiTugas *3 0% :..
.
Nil
aiUji
an *5 0% :..
.

J
adiSi
sway
angbe
rna
ma.
..me
mpe
rol
ehn
ila
iakh
irs
ebe
sar.
.
..de
nga
ngr
ade.
..

Ti
m Pe
nyus
unKomi
siMI 7
7
Modul Algoritma Pemrograman I
3. PT.DI NGIN DAMAI ,me mberiga
jipok
ok ke
pa dakar
yawank on
tra
knya
se
besarRp.30
0,000perbul
an,de
nganmempe
rol
ehtunja
nga
n-tun
jan
gansebag
ai
ber
ikut:
§ Tun ja
nganJ
a ba
tan

Golonga
n Per
sen
tase
1 5%
2 10%
3 15%
J
ikaseora
ngk a
ryawanters
ebutdeng
ang
olon
gan 3,ma
ka me
nda
pat
kan
t
unj
ang
a nsebe
sar15% *Rp.300,
000

• Tun
jang
anPe
ndi
dik
an

Tin
gk a
t Per
sen
tase
Pendi
dikan
SMA 2.
5%
D1 5%
D3 20%
S1 30%
J
ikaseorangk a
ryawanters
ebutdeng
ang
olon
gan 3,ma
ka me
nda
pat
kan
t
unj
angansebe
sar15% *Rp.300,
000

HonorLembur
Juml
ahjamk er
janor
ma lsebanyak8jam,Honorlemburdiberi
kanji
kajumla
h
j
a mker
jale
bihdar
i8j a
m,ma kakel
ebi
ha nj
amk e
rjat
ersebutdi
kali
kandenga
n
Rp.3500unt
ukset
iapkele
bihanjamk e
rjaka
ryawanter
sebut.
Tampil
anyangdii
ngin
kans ebaga
iberi
kut:

Layar Masukkan

PROGRAM HI
TUNGGAJ
IKARYAWAN

NamaKa r
yawa n:..
.
Golonga
nJ abata
n:...
Pendi
dikan :.
..
Jumla
hjam ke r
ja :.
..

Layar Keluaran

Kar
y a
wanyangbernama……
Honorya
ngdit
eri
ma
Tunj
anga
nJaba t
an Rp.
..
Tunj
anga
nPe ndi
dika
n Rp.
..
HonorLembur Rp.
.
..
.
+
Tot
alGa
ji Rp.
..

Ti
m Pe
nyus
unKomi
siMI 7
8
Modul Algoritma Pemrograman I
BORLAND
C++

Proses
Perulangan
5
Opera
siper
ulang
ans el
al
u dij
umpaidi
dal
am bah
asape
mrog
rama
n,di
si
ni
a
kandi
bah
asabe
bera
pape r
int
ahper
ula
ngandi
ant
ara
nya
.

5.1. Pernyataan for


Pe
rul
ang
any
angpe
rta
maa
dal
ahfor.Be
ntukumu
mpe
rny
ata
anfor s
eba
gaibe
rik
ut:

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

Bil
ape r
nyat
aandida
lam for l
ebi
h daris
atu ma
kape
rny
ata
an-
per
nya
taa
n
t
ers
ebuth
arusdi
let
akandi
dal
amtandakurung.

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )


{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaandarimasin
g-ma s
ingar
gume nfor di
atasadala
h:
• Ini
si
alisa
si;me r
upakan bagi
an untuk me mberikann il
aiawa lunt
uk vari
abe
l-
vari
abelter
tent
u.
• SyaratPengul
angan;me mega
ngk ontr
olt e
rhadappe ngul
angan,kar
enabagi
anini
yanga k
anme nent
ukansuatuper
ulanganditerus
ka nat
audi h
enti
kan.
• PengubahNi l
aiPenca
cah;mengaturkenaikanat
a upenurunannil
aipen
cac
a h
.

Contoh :
Sebaga
ic ont
ohpr
ogr
am un
tukme n
ceta
kbilan
gandari1hi
ngga10s
eca
rame
nai
k,
se
c a
rame nur
unda
nme n
ampil
kanbil
angang
anji
l,s
eba
g a
ibe
rik
ut:

Contoh-1 /*--
---
---
---
--
- --
---
---
---
--*
/
/*Progr
amf or-bilangannai
k*/
/*--
---
---
---
--
- --
---
---
---
--*
/
#in
clude<st
dio.h>
#in
clude<conio.
h>
#in
clude<i
ostream.h>

Ti
m Pe
nyus
unKomi
siMI 7
9
Modul Algoritma Pemrograman I
mai
n()
{
i
nta;
c
lrs
c r
();
f
or(a=1;a<=10;++a
)
c
out>>a;
ge
tch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 5. 1 Ha
silCon
toh1

Contoh-2 /*---
-----
---
---
----
---
----
---*/
/*Programf or-bilangantur
un*
/
/*---
-----
---
---
----
---
----
---*/
#include<s t
dio.h>
#include<c onio.
h>
#incl
ude <i
ostr
e am.h
>
ma i
n()
{
inta;
clrs
cr();
for(
a=10;a>=1;- -
a)
cout<<a;
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 5. 2 Ha
silCon
toh2

Ti
m Pe
nyus
unKomi
siMI 8
0
Modul Algoritma Pemrograman I

Contoh-3 /
*--
---
---
---
--
---
---
---
---
---
-*/
/
*Progr
amf or-bi
langangan
jil*
/
/
*--
---
---
---
--
---
---
---
---
---
-*/

#i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

#i
ncl
ude
<ios
tr
eam.
h>

mai
n()
{
i
nta;
c
lrs
cr()
;
f
or(
a=1;a<=10;a
+=2)
cout
<<a;

ge
tch
();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 5. 3 Ha
silCon
toh3
5.1.1. Pernyataan nested - for
Pe
rnya
taaa
nNe st
edfor a
dalahsua
tupe rulanganfordi
dalam pe
rul
ang
anf
ory
ang
l
ain
nya.Bent
ukumumpe rny
atanNested for s
a ebag
aiber
ikut:

for (in
isi
ali
sasi
;sy
aratpen
gula
ngan
;pen
gubahnil
aipen
cac
ah)
{
for (i
nisi
ali
sas
i;s
yaratpen
gula
ngan
;pen
gubahni
laipe
nca
cah
)
{
perny
ataan/per
int
ah;
}
}

Di
dalam pe
nggun
aannes
ted-
for,per
ula
ngany
angdida
lamte
rle
bih
da
huludihi
tunghi
ngg
as el
esai
,k e
mudianpe
rul
ang
any a
ngdil
uar
di
sel
esai
kan.

Ti
m Pe
nyus
unKomi
siMI 8
1
Modul Algoritma Pemrograman I

Contoh-4 /*----
---
---
---
----
---
---
--*/
/*Progr
amf or-Ne ste
dfor*/
/*--
---
---
---
-----
---
---
---*
/
#in
clude<st
dio.h>
#in
clude<conio.
h>

ma
in()

{
i
nta,b;
c
lrs
cr()
;

f
or(a=1;a<=5;a ++)
{
pri
ntf
("\
n");
fo
r(b=a ;b<=5;b++)
pri
ntf
("%d" ,
a);
}
get
ch()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 5. 4 Ha
silCon
toh5

5.1.2. Perulangan Tidak Berhingga


Perul
angant akberhing
game rupaka
npe rulangan(loop)yan
gtakpern
ahber
hen
ti
at
aume n
g ul
a n
gterus,hali
niser
ingter
jadidiseba
bkanada
nyakes
ala
hanpen
ang
anan
kondi
siy angdipa
ka iunt
ukk e
luardar
iloop.
Sebagaicontoh,j
ikapenuli
sanperi
nta
hs ebagaiber
ikut
:

Contoh-5 /*--
---
---
---
--
---
---
---
---*/
/*Progr
amf orTdkBe rh
ingg
a*/
/*--
---
---
---
--
---
---
---
---*/
#in
clude<st
dio.
h>
#in
clude<coni
o.h>
main()
{
i
ntbil
;

Ti
m Pe
nyus
unKomi
siMI 8
2
Modul Algoritma Pemrograman I
clrs
cr();
for(bil=60;bi
l>=10;bi
l++)
pri
ntf(
"%d",bi
l)
;
getch();
}
Out
puty
an gakandiha
sil
kan,da
riprog
ramc
ont
oh-
6di
at
asa
dal
ah:

Gambar 5. 4 Ha
silCon
toh4

Padapernya
taa ni n
it i
daka ka
nberhen
tiunt
ukme n
ampil
kanbil
anganmen
urun,
ke
s a
lah
anterjadipa dape n
gubahn
ila
ipenca
cah,s
ehar
usny
apenul
isa
ny a
ngbena
r
be
r u
pa
bil - -
Akantet
apiyangdi t
uli
sa dal
ah:
bil ++

Ol
ehk a
renakon disibi
l>=1s e
lal
ube
rni
la
ibe
nar(k
are
nabi
lbe
rni
lai6)
,ma
ka
pe
rny
ataan
printf("%d", bil);

a
kant
erusdij
al
anka
n.
J
ikat
erja
dih alse
maca
m ini
,untuk me
ng he
nti
kan prosesya
ngt e
rusme n
erus
s
emac
ami niden
anmene
kant
ombolCTRL – PAUSE atau CTRL – BREAK.

5.2. Pernyataan goto


Pe rnyat
aangoto mer
upakani
nst
ruks
iunt
ukme ng a
rah
k a
neksek
usiprogr
am
ke -
pe rny at
a a
ny angdi a
waliden
gansuatula
bel
.La be
lme rupa
kansuat
upe nge
nal
(identifier)yangdii
kutidengant
andat
it
ikdua(: )
.Bentukpemakai
angoto s
eba
gai
be r
ikut : goto label;

Con
tohPe
ngg
una
angoto,
dapa
tdi
li
hatpa
dapr
ogr
am be
rik
ut:

Contoh-6 /*--
---
---
---
--
---
---
---
---
---
--*/
/*Progr
amde nganpernyat
aangot
o*/
/*--
---
---
---
--
---
---
---
---
---
--*/
#in
clude<i
ostr
eam.h>
#in
clude<st
dio
.h>
#in
clude<coni
o.h
>
main()

Ti
m Pe
nyus
unKomi
siMI 8
3
Modul Algoritma Pemrograman I
{
in
ta ,b;
charlag
i;
a
tas:
c
lrs
cr();

cout>>"Ma sukkanBil
anga
n=" ;
ci
n<<a ;
b=a% 2;
pri
n t
f(
"Nilai%d%% 2a dal
ah=%d" ,
a,b)
;
pri
n t
f(
"\n\nI
ng i
nHitungLagi[
Y/T]:")
;
la
g i=ge t
che();

i
f(l
agi=='
Y'||
lag
i=='
y'
)
got
oata
s;

ge
tch
();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 5. 5 Ha
silCon
toh6

5.3. Pernyataan while


Per
nyata
anpe rul
ang
anwhile me r
upakani n
str
uksiperul
anganyangmi r
ip
den
g anperul
anganfor.Bent
ukpe rul
anganwhile di
kendal
ikanolehsya
ratt
ert
ent
u,
ya
ituperul
anganakanter
usdilaks
anakansel
amas yar
atter
sebutt
erpen
uhi.
Bentukumumpe rul
anganwhile,s
ebagaiberi
kut
:

while ( syarat )
Pernyataan / perintah ;

Bent
ukumu
m pe
rul
ang
anwhile,de
nga
nle
bihda
ripe
rin
tah/pe
rny
ata
an,s
eba
gai
be
rik
ut:
while ( syarat )
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}

Ti
m Pe
nyus
unKomi
siMI 8
4
Modul Algoritma Pemrograman I

Contoh-7 /
*--
---
---
---
--
---
---*
/
/
*Progr
amwh il
e01.cp
p*/
/
*--
---
---
---
--
---
---*
/

#i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

mai
n()
{
in
tbil
=1;
cl
rsc
r();
whil
e(bi
l<=10)
{
pri
ntf(
"%d" ,
bil
);
++bil;
}
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
9di
at
asa
dal
ah:

Gambar 5. 6 Ha
silCon
toh7

Contoh-8 /*---
---
---
----
----
--*/
/*Program whi l
e02.c
pp*
/
/*---
---
---
----
----
--*/
#incl
ude<s t
dio.h>
#incl
ude<c onio.h>
ma i
n()
{
i
ntbil
=2;
cl
rs
cr();
whil
e(bil
<=10)
{
pri
ntf(
"%d" ,bil
);
bil
+=2;
}
getc
h() ;
}
Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
10di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 8
5
Modul Algoritma Pemrograman I

Gambar 5. 7 Ha
silCon
toh8
5.4. Pernyataan do - while
Pernyat
aan perul
angan do - while me r
u pa
kan ben
tuk pe
rul
anga
ny ang
mel
aksan
ak a
n perulangante rl
ebih dahul
u dan penguj
ia
n per
ulan
gan di
lak
ukan
di
bel
akang.
Bent
ukumumpe r
ulangando - while,s
ebag
aibe
rikut:
do
pernyataan / perintah ;
while ( syarat );

Bent
ukumum pe r
ula
nga
ndo - while,de
nga
nle
bihda
ripe
rin
tah/pe
rny
ata
an,
se
bagaibe
rik
ut:
do
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
while ( syarat );

Contoh-9 /*---
---
---
----
----
-* /
/*Programd o-wh i
le*/
/*---
---
---
----
----
-* /
#incl
ude<s t
dio.h>
#incl
ude<c onio.
h >
ma i
n()
{
i
ntbil
=2;
cl
rs
cr();
do
{
pri
ntf(
"%d" ,bil
);
bil
+=2;
}
whil
e(bil
<=10);
getc
h() ;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
9di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 8
6
Modul Algoritma Pemrograman I

Gambar 5. 8 Ha
silCon
toh9
5.5. Pernyataan break
Per
ny a
taan break te
lah dibah
aspa dape r
nyat
aa n pengambilank eputusa
n
switch.Pernyat
aanbreak iniberfungs
iuntukkeluardarist
rukturswitch.Se l
ainit
u
pernyatanbreak be
a rfungsikel
uarda r
iper
ulang
an(for, while dan do-while )
.Jika
pernyataa
nbreak di kerj
akan,ma kaekse
kusiakandi l
anjut
k a
nk epe rnyat
a any a
ng
ter
letaksesudahakhirdaribada
npe rul
angn(loop )
a .

Contoh-10 /
*--
---
---
---
--
---
---
---
---
---
--
-*/
/
*Progr
amd o-wh il
edenganbr
eak*
/
/
*--
---
---
---
--
---
---
---
---
---
--
-*/

#i
ncl
ude<stdi
o.h
>
#i
ncl
ude<c on
io.
h>
mai
n()
{
i
ntbil=1;
c
lrs
cr();

do
{
i
f(bil>=6)
break;
print
f("%d" ,
bil
);
}
while(
bil++)
;
get
ch() ;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
10di
at
asa
dal
ah:

Gambar 5. 9 Ha
silCon
toh10

Ti
m Pe
nyus
unKomi
siMI 8
7
Modul Algoritma Pemrograman I
Contoh-11 /
*--
----
---
---
---
---
---
---
---
--*/
/
*Perul
anganFORde nganbre
ak;*
/
/
*--
----
---
---
---
---
---
---
---
--*/

#i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

main()
{
inta=3, b=2,c=1, bil
;
clrs
cr();
print
f("Bil-
A | Bil-
B| Bil
-C\n")
;
print
f("--
----
---
-----
---
----
---
-")
;
for(
bil=1;bil<=10;++bi l
)
{
a
+=b; b+=c ;c+=2;
print
f("\
n%d\ t
| %d\ t
|%d",a,b,c);
i
f(
c==13)
brea
k;
}
getche();
}
Out
puty
angakandihas i
lkan,dariprogr
amc ontoh-
11di
at
asa
dal
ah:

Gambar 5. 10 Ha
silCon
toh11

Ti
m Pe
nyus
unKomi
siMI 8
8
Modul Algoritma Pemrograman I

5.6. Pernyataan continue


Per
nyata
an continue dig
una ka
n untuk mengar
ahkane k
sekus
ik ei t
era
si
(
pros
es)ber
ikut
nyapadal oopy angs a
ma,de n
ga nka
talai
nme ngemba
lik
anproses
y
angsedangdil
aks
anaka nk e
-awalloopla
gi,tanpamenj
ala
nkansis
aperi
ntahdal
am
l
oopter
seb
ut.

Contoh-12 /
*--
----
---
---
---
---
---
---
---
--*
/
/
*Perul
anganFORde ngancon
inue*
/
/
*--
----
---
---
---
---
---
---
---
--*
/

#i
ncl
ude<s
tdi
o.h
>
#i
ncl
ude<c
onio.
h>

mai
n()
{
in
tbil
;
cl
rsc
r();

for(
bil=1;bil
<=10;++bil
)
{
if(
bil==6)
con ti
nue;
pri
ntf("%d" ,
bil
);
}
getch();
}
Out
puty
angakandi h
a s
il
kan,dar
iprogr
amc
ont
oh-
12di
at
asa
dal
ah:

Gambar 5. 11 Ha
silCon
toh12

Ti
m Pe
nyus
unKomi
siMI 8
9
Modul Algoritma Pemrograman I

5.7. Tugas
Bua
tl
ahbe
ber
apapr
ogr
ams
epe
rti
pet
unj
ukbe
rik
ut:

1
. Bula
tl
ahprog
ram un
tukmeng
hit
ung10de
retbil
ang
ang
ena
pde
nga
n
has
il
nya:
2+4+6+8+10+1 2+14+16+18+20=1 10

2
. Bula
tl
ahprog
ram un
tukme
ngh
itung10de
retbi
la
nga
nga
nji
lde
nga
n
has
il
nya:
1+3+5+7+9+11+13+15+1 7+1
9=100

3
. Bul
at
lahprog
ram un
tukme
nghi
tun
gpe n
juml
aha
nde
retbi
la
nga
nge
nap
membent
uksegi
ti
gasik
ude
nganhas
il
nya:
2 =2
2+4 =6
2+4+6 =12
2+4+6+8 =20
2+4+6+8+10 =30

4
. Bul
at
lahprog
ram unt
ukme nghi
tungper
kal
ia
n de
retbi
la
nga
nga
nji
l
membent
uksegi
ti
gas
ikude
ng a
nha s
il
nya:

1 =1
1*3 =3
1*3*5 =15
1*3*5*7 =10
5
1*3*5*7*9 =94
5

5
. Bul
at
lahprog
ram un
tukme nghi
tungperkal
iande
retbi
la
nga
nge
nap
membent
uksegi
ti
gas
ikut
erbal
ikdenga
nh as
ilny
a:
10+8+6+4+2 =30
10+8+6+4 =28
10+8+6 =24
10+8 =18
10 =10
--
---
---
--+
110

Ti
m Pe
nyus
unKomi
siMI 9
0
Modul Algoritma Pemrograman I

BORLAND
C++

Array 6
Va r
iabelLa r
ika t
aul ebi
hdi k
e nalde n
ganARRAY a dal
ahTi peter
str
uktur
ya
ngt er
dir
ida ris
e j
umlahk omponen-komp onenya n
gme mpunyait
ipes ama.Suatu
Arr
ayme mpun yaijumlahk omponeny a
ngba nyaknyat
etap.Banya
k nyakompone n
dal
ams uat
ul ar
ikdit
unjukanolehsuatuindekun t
ukme mbedakanvari
abelyangsatu
den
ganv ar
iabelyangla
innya .
Vari
abelar
rayda l
am Borlan
dC++, dapatdi
g ol
ongkanmenjadid
uab uahdimensi
:
•Arra
yBe rdimensiSat
u .
•Arra
yBe rdimensiDua

8.1. Array Berdimensi Satu


Sebel
um di
gun akan
,v a
ria
belar
rayperl
udi
dekla
ras
ikanter
lebi
hda h
ulu.Cara
mendeklar
asik
anvariabelarr
aysamasepert
idekl
ara
sivar
iabelya
ngl ai
nnya,hanya
sa
ja dii
kutiolehs uatuindeky ang menunj
uka
nj umla
h ma ksi
mum da tay an
g
di
sediaka
n .
BentukUmumpe n
de kl
arasi
anarr
ay:
Tipe_Data Nama_Variabel[Ukuran]

Ket
eran
gan:
•TypeDat
a:Unt
ukmeny
ata
kanty
peda
tayangdi
guna
kan.
•Ukura
n:Unt
ukmeny
ata
kanjuml
ahmaks
imum e
lemena
rray
.

Contoh Pendeklarasian Array

float Nil_Akhir[6];

J
uml
ahEl
eme
nAr
ray

Na
maVa
ria
bleAr
ray

Ti
peda
tae
leme
nar
ray

Suat
ua r
raydapatdi
gamba
rkanseba
gaik
ota
kpa
nja
ngy
angbe
ris
ikot
ak-
k
ota
kkeci
ldi
dal
amk ot
akpanj
angt
ers
ebut
.

Ti
m Pe
nyus
unKomi
siMI 9
1
Modul Algoritma Pemrograman I
El
eme
nAr
ray

e
leme
n e
leme
n e
leme
n e
leme
n e
leme
n e
leme
n

1 2 3 4 5 6
0 1 2 3 4 5 Su
bcr
ipt
/I
nde
x

ARRAYNI
L_AKHI
R

Subs
cri
pta
tauI
nde
xar
raypa
daC++,
sel
al
udi
mul
aida
riNol(0)

8.1.1. Inisialisasi Array Berdimensi Satu


I
nis
ial
is
asiadal
ahme mber
ikannil
aiawalt
erhada
psua
tuv
ari
abe
l.Be
ntuk
pe
nde
fin
isi
ansuat
ua r
rayda
patdi
li
hatda
ricon
tohbe
rik
ut:

Ti
pe_da
tan
ama
_ar
ray
[jml
_el
eme
n]={n
ila
iar
ray}
;

Contoh-1 /*---
---
---
---
---
---
---
---
---
---
---
-*/
/*Ini
sial
isa
siArrayDime nsi1*/
/*---
---
---
---
---
---
---
---
---
---
---
-*/
#in
c l
ude<conio.h>
#in
c l
ude<iostr
eam.h>

main
()
{
charh ari
[7][10]=
{"Mi nggu","Senin",
"Sel
asa"
,"Rabu",
"Kamis
","
jum'
at"
,"Sa
btu"}
;
cl
rscr();
cout<<" Nama -namah ar
i:
"<<endl;
cout<<h ari
[0]<<e n
dl<<har
i[
1]<<endl<<h
ari
[2]
<<endl
<<hari
[3]
<<en dl<<hari[4]
<<e ndl
;
getc
h ();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 8.1. Ha
silCon
toh
-1

Ti
m Pe
nyus
unKomi
siMI 9
2
Modul Algoritma Pemrograman I

8.1.2. Mengakses Array Berdimensi Satu


Sua
tua
rra
y,dapa
tdia
kse
sdenganmengg
una
kans
ubs
cri
pta
taui
nde
xny
a.
Be
ntukumumpengak
sesa
ndenganbe
ntuk:
Nama_Array[Subscript/Index]

Contoh Ni
l_Ak
hir[
3];
Ni
l_Akhi
r[
1];
Ni
l_Akhi
r[
0];

Contoh-2 /*--
---
---
---
--
-- -
---
---
---
---*/
/*Progr
am Ar raySatuDi me
nsi*
/
/*--
---
---
---
--
-- -
---
---
---
---*/
#in
clude<conio.
h >
#in
clude<st
dio.h>
#in
clude<i
ostream.h>
#in
clude<i
oma n
ip.h>

mai
n()
{
i
nti;
c
h a
rn ama[5]
[20]
;
f
loatni
lai
1[5];
f
loatni
lai
2[5];
f
loathasi
l[
5];
c
lrscr
();

f
or(
i=1;i
<=2;i
++)
{
c
out<<"DataKe-"<<i<<e n
dl;
c
out<<"NamaSiswa:";g et
s(na
ma [i
]);
c
out<<"Nil
aiMidTes
t:" ;cin
>>n il
ai
1[i]
;
c
out<<"Nil
aiFina
l:";cin>>nil
ai
2[ i
];
h
a s
il
[i]=(ni
lai
1[i
]*0.40)+(nil
ai2[i
]*0.60)
;
c
out<<endl
;
}

c
out<<"-
---
---
-----
---
---
--
- -
---
---
---
---
---
---
--"
<<en
dl;
c
out<<"No.Na maSi s
waNi laiNila
i";
c
out<<"Hasi
l"<<endl;
c
out<<"MidTe stFina
l";
c
out<<"Uji
an"<<e n
dl;
c
out<<"-
---
---
-----
---
---
--
- -
---
---
---
---
---
---
--"
<<en
dl;
f
or(
i=1;
i<=2;i
++)
{
c
out<<set
iosfl
ags(i
os::l
eft
)<<set
w(4)<<i;
c
out<<set
iosfl
ags(i
os::l
eft
)<<set
w(10)<<nama[
i]
;
c
out<<set
precisi
on(2)<<" "<<n i
lai
1[i
];

Ti
m Pe
nyus
unKomi
siMI 9
3
Modul Algoritma Pemrograman I
c
out
<<s
etpr
eci
si
on(
2)<<" "<<n
ila
i2[i
];
c
out
<<s
etpr
eci
si
on(
2)<<" "
<<hasi
l[
i]
<<endl
;
}
c
out<<"-
---
---
---
---
---
---
---
---
---
---
---
---
---
--"
<<e
ndl
;
g
etc
h (
);
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 8.2. Ha
silCon
toh
-2

8.2. Array Berdimensi Dua


Arr
aydimensiduat e
rsusundala
m bent
ukba r
isdankol
om,dimanainde
ks
pe
rta
mame nunj
ukanbari
sda nindek
sk e
duame n
unjuka
nk ol
om.Arr
aydimens
idua
da
patdi
gunaka
nsepert
ipendatanpenj
ual
an,pe
ndata
annila
idanl
ai
nsebag
ainy
a.
Bent
ukUmumpe ndekl
ara
sianarray:
Tipe_Data Nama_Variabel[index-1][index-2]

Ke
ter
ang
an:
•TypeDat
a:Un
tukme
nya
tak
ant
ypedat
ayangdi
gun
aka
n.
•In
dex-
1 :Untukme
nya
tak
anj
umlahbar
is
•In
dex-
2 :Untukme
nya
tak
anj
umlahkol
om

Contoh Pendeklarasian Array


Sebaga
ic ontohpe nde kl
arasi
any anga kank it
ag unak
ana
dal
ahpe
ngol
aha
nda
ta
pe
n j
ualan,beri
kutdapa tandalihatpadatabelberi
kut:
Data Penjualan Pertahun
Tahun Penjualan
No
2001 2002 2003
1 150 1 59 230
2 100 1 25 150
3 210 1 25 156

Ti
m Pe
nyus
unKomi
siMI 9
4
Modul Algoritma Pemrograman I
Ji
kaa n
dali
hatda
rit
abe
l7.
1di
at
asma
kada
patdi
tul
is
kank
eda
lama
rra
ydi
men
sidua
ber
ikut:

int data_jual[3][3];

JumlahKol
om
JumlahBar
is
Na maArr
ay
Tipedat
aele
mena
rra
y

8.2.1. Inisialisasi Array Berdimensi Dua


I
nis
ial
is
asiadal
ahme mber
ikannil
aiawalt
erhada
psua
tuv
ari
abe
l.Be
ntuk
pe
nde
fin
isi
ansuat
ua r
rayda
patdi
li
hatda
ricon
tohbe
rik
ut:

Contoh-3 #i
ncl
ude<c
onio.
h>
#i
ncl
ude<i
ost
rea
m.h>

mai
n()
{
cha
rnama[2]
[3]
[10]
={{"Pa
k",
"BU" ,
"Mas"
},
{
"Andi"
,"Budi
","
Carl
i"
}};
cl
rsc
r()
;

c
out<<na
ma[
0][
0]<<e
nds
<<n
ama
[1]
[0]
<<e
ndl
;
c
out<<na
ma[
0][
1]<<e
nds
<<n
ama
[1]
[2]
<<e
ndl
;
c
out<<na
ma[
0][
2]<<e
nds
<<n
ama
[1]
[1]
<<e
ndl
;
g
etc
h (
);
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 8.3. Ha
silCon
toh
-3

8.2.3. Mengakses Array Berdimensi Dua


Sua
tuarr
ay,da
patdia
kse
sdenga
nme n
ggunaka
nsubs
cri
pta
taui
nde
xny
a.
Con
tohpenga
kses
andenganben
tuks
ebaga
iberi
kut
:

Contoh-4 /
*--
---
---
---
--
---
---
-*/
/
*ArrayDimensi2*/
/
*--
---
---
---
--
---
---
-*/

Ti
m Pe
nyus
unKomi
siMI 9
5
Modul Algoritma Pemrograman I
#i
ncl
ude
<conio.
h>
#i
ncl
ude
<stdi
o.h>
#i
ncl
ude
<iost
ream.h
>
#i
ncl
ude
<ioma n
ip.
h>

mai
n()
{
i
nti,j
;
i
ntdata_jual[4][4];
c
lrs
c r
();
f
or(
i=1;i<=3; i++)
{
f
or(j=1;j<=3; j++)
{
c
out <<" Da taKe-" <<i<<""<<j<<endl;
c
out <<" Juml ahPe nj
ulan:";
c
in>>da ta_jual[i
][
j];
}
}
c
out<<" Da t
aPe njualanPert
a h
un"<<endl;
c
out<<" -
--------
------
----
---
-"<<en
dl;
c
out<<" NO 2 00 72 0082093"<<endl;
c
out<<" -
--------
------
----
---
-"<<en
dl;
f
or(
i=1;i<=3; i++){
cout<<s e
tios f
lags(ios:
:l
eft
)<<set
w(5)<<i;
f
or(j=1;j<=3; j++)
{
c
out <<s eti
os f
lags(i
os:
:ri
ght
)<<setw(4)
;
c
out <<da ta_jual[i
][
j];
c
out <<"" ;
}
cout<<e ndl;
}
c
out<<" -
--------
------
----
---
-"<<en
dl;
g
etch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
4di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 9
6
Modul Algoritma Pemrograman I

Gambar 8.4. Ha
silCon
toh
-4

8.2.24. Sorting dalam C++


a. Selection Sort
Tehnikpengurutande nganc arape mil
ihane lemena tauprosesk e
rja denga
n
memili
he lemenda tate r
keci
lun t
ukk e
mudi andi bandi
n gkan& di t
ukarkande n
gan
el
emenpa dada t
aa wal,dstsampa is e
luruhe l
eme ns hgak anme nghas
il
k anpoladata
ygtel
ahdisort.
Pri
nsi
pk er
jada r
iteknikiniadalahs bb:
1.Pen gecekandimul a
ida t
ak e-1sampa idenga ndatak e-
n
2.Te ntukanbil
anga ndenganI ndext e
rkecildaridatabilang
ant e
rsebut
3.Tuk arbila
ng a
nde nganI ndext e
rkecilt
ersebutden ganbil
an g
anpe r
tama(I=
1)da r
idatabil
a nganters
e but
4.La kukanlangkah2da n3un tukbi l
anganbe rikut
ny a(I=I+1)s ampai
di
dapa t
kanurutany gopti
ma l.

Contoh-5 /
*--
---
---
---
--
---
---
---
---
---
--
--*
/
/
*Sel
ecti
onsortdenganC++*/
/
*--
---
---
---
--
---
---
---
---
---
--
--*
/
#in
clude<c oni
o.h>
#in
clude<s t
dio.
h>
in
tma in(){
in
ti,j,i
Mi n;
in
tn ,Urut;
in
tTmp,c ode;
in
tAr r[
10 0];

Ti
m Pe
nyus
unKomi
siMI 9
7
Modul Algoritma Pemrograman I

print
f(
"\nInput kanba nyakda tayangakandi
urut
kan:"
);
scanf(
"%i ",&n );
Urut=1;
for(
i=0;i<n ;i++){
print
f(
"Ma sukanda tak e%i:" ,i+1) ;
scanf(
"%i ",&Ar r[i
]);
}
for(
i=0;i<n-1;i ++){
iMin=i ;
for(
j=Ur ut ;j<n ;j++){
if(
Arr[j
]<Ar r
[iMin]){
iMin=j ;
if(
Arr[i
]!=Ar r[i
Mi n]){
Tmp=Ar r[i]
;
if(
Arr[i
]>Ar r
[iMin]){
Ar r
[i
]=Ar r[iMin];
Ar r
[i
Mi n]=Tmp ;
}
}
}
}
Urut=Ur ut+1;
}
print
f(
"\nSe tel
ahPe ng urutan\
n");
for(
i=0;i<n ;i++){
print
f(
"Ele me nke%i:%i \
n",i+1, Arr
[i
])
;
}
getch(
);
}for(
i=0;i<n-1;i ++){
iMin=i ;
for(
j=Ur ut ;j<n ;j++){
if(
Arr[j
]<Ar r
[iMin]){
iMin=j ;
if(
Arr[i
]!=Ar r[i
Mi n]){
Tmp=Ar r[i]
;
if(
Arr[i
]>Ar r
[iMin]){
Ar r
[i
]=Ar r[iMin];
Ar r
[i
Mi n]=Tmp ;
}}
}
}
Ur ut=Ur ut+1;
}
pr i
ntf(
"\nSetelahPe nguruta n
\n");
for (
i=0;i<n ;i++){
pr i
ntf(
"Eleme nke%i:%i \n",i+1, Arr
[i
])
;
}
ge tch
();}

Ti
m Pe
nyus
unKomi
siMI 9
8
Modul Algoritma Pemrograman I
b. Buble Sort
Pr
insi
pKe r
jadariBubble Sort ada
lah:
1.Pe ngecekanmul a
ida ridatak e
-1s a
mpaida t
ak e
-n
2.Ba ndingkanda t
ake-nde ng andatasebe
lumnya(n-1)
3.J i
kalebihkecilmakapi nda hkanbila
nganter
sebutde
ng a
nbila
nga
nyga
da
di
depa n
ny a (s ebelumn y a)satupers
atu(n-1,n
-2,
n-3,
..
..
dst
)
4.J i
kalebihbesarma kat i
dakt er
jadipeminda
han
5.Ul angilangk
a h2da n3s /ds or
to pt
imal
.

#incl
ude <c on io.h>
#incl
ude <s tdio.h>
intma in(){
inti
,j ,i
Mi n;
intn,Ur ut;
intTmp ,code ;
intAr r[
1 00];
print
f("\nInput k anbanyakdatay a
ngakandi
urut
kan:"
);
scanf("%i ",&n );
for(
i=0;i<n ;i++){
print
f("Ma suka nda t
ak e%i:" ,i+1);
scanf("%i ",&Ar r[i
]);
}
for(
i=1;i<n ;i++){
for(
j=0;j<n-1;j ++){
if(
Ar r[j
]>Ar r[j+1] ){
Tmp=Ar r[j]
;
Ar r
[j]=Ar r[j+1] ;
Ar r
[j+1]=Tmp;
}
}
}
print
f("\nSe telahPe ngurut
an\
n" )
;
for(
i=0;i<n ;i++){
print
f("El eme nk e%i:%i \
n",i+1, Arr
[i
])
;
}
getch();
}

c. Insertion Short
Pri
nsi
pda sarInsert
iona dalahs e c
arabe r
ula
ng -
ulangme nyis
ipkan/me mas
ukan
se
tia
pe l
emen.kedl mp os i
siny a/tempatnyaygbe n
a r
.
1.Pr i
nsi
pKe r
jaInsertion Sort a
dala
h
2.Pe ngec
e k
a nmul aida r
ida t
ak e-1sampaida t
ak e-
n
3.Ba ndin
gk andatak e-I(I=da take-2s/
dda t
ak e-
n)
4.Ba ndin
gk andatak e-Itersebutdengandatasebel
umny a(I
-1),J
ikalebi
hkeci
l
makada t
atersebutda patdis i
si
pkankeda t
aa walses
uaidgnposisi
siyg
se
harusnya
5.La kukanlangkah2da n3un t
ukbil
anganbe r
ikut
nya(I =I+1)sampa i
di
dapatkanurutany gopt ima l
.

Ti
m Pe
nyus
unKomi
siMI 9
9
Modul Algoritma Pemrograman I

#i
ncl
ude"
conio.
h"
#i
ncl
ude"
stdi
o.h
"

i
ntma
in(){

inti,j,i
Mi n;
intn,Ur ut;
intTmp,c ode;
intAr r[
100] ;
printf
("\nInputk
a nbanyakdatay a
ngakandi
urut
kan:"
);
scanf("%i",&n );
for(
i=0;i<n ;i++)
{
printf
("Ma sukanda t
ak e%i:" ,i+1);
scanf("%i",&Ar r[i
]);
}
for(
i=1;i<n ;i++)
{
Tmp=Ar r
[i]
;
j=i-1;
while(Ar r
[j]>=Tmp&&j>0){
Ar r
[j+1]=Ar r[
j];
j=j-1;
}
if(
Tmp>=Ar r[
j]
){
Ar r
[j+1]=Tmp;
}e l
se{
Ar r
[j+1]=Ar r[
j];
Ar r
[j]=Tmp;
}
}
printf
("\nSetel
ahPe ngurut
an\
n" )
;
for(
i=0;i<n ;i++){
printf
("Eleme nke%i:%i \
n",i+1, Arr
[i
])
;
}
getch();
}

Ti
m Pe
nyus
unKomi
siMI 10
0
Modul Algoritma Pemrograman I

8.4. Latihan
1
. Sebuah pe
rusa
haa
n a y
a m goreng denga
n n ama “ GEROBAK FRIED
CHICKEN”y a
ngtel
ahlumayanbanya
kpelangganny
a,ing
indiba
ntudi
buat
kan
progr
amuntukmembant
uk e
lan
caranus
ahaannya
.
“GEROBAK FRIED CHICKEN”me mpunyaidafta
rh ar
gaa ya
ms eba
gai
beri
kut:

KodeJ en
isPotongHa r
ga
--
---
---
---
----
---
------
---
---
---
-
D Da daRp .2 500
P Pa haRp. 20 00
SSa ya
pRp. 150 0
--
---
---
---
----
---
------
---
---
---
-
Buatl
ahprog r
amny adengankete
ntua n:
•Se t
iappembe lidikenakanpaj
akse besa
r10% daripe
mba
yar
an.
•Ba nyakJenis,JenisPotongdanBa nyakBelidi
input
.
•Ta mpil
any angdi ingi
nkansebagaiberik
ut:

Layar Masukkan
GEROBAKFRI EDCHI CKEN
-
---
---
--
---
---
---
---
---
---
---
---
---
--
KodeJeni
sPotong Ha rga
-
---
---
--
---
---
---
---
---
---
---
---
---
--
D Dada Rp.2500
P Paha Rp.2000
S Saya
p Rp.1500
-
---
---
--
---
---
---
---
---
---
---
---
---
--

Banya
kJenis:.
..<diin
put>
Je
nisKe-..
.<prosescounter
>
KodePot
ong[D/P/S]:...<di
input
>
Banya
kPotong:...<dii
nput>
<<Ter
usberul
angt e
rgant
ungBa nyakJ
eni
s>>

Layar Keluaran
GEROBAKFI REDCHI CHEN
-
---
---
--
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
-
No.Jeni
s Harga Ba yakJ umlah
Potong Sat
uan Be li Ha rga
-
---
---
--
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
-
.
.. ..
..
..
. .
..
. .
..
. Rp. ..
.
.
.. ..
..
..
. .
..
. .
..
. Rp. ..
.
-
---
---
--
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
---
JumlahBa yarRp...
.
Pajak10% Rp. .
..
TotalBa y
ar Rp. .
..

Ti
m Pe
nyus
unKomi
siMI 10
1
Modul Algoritma Pemrograman I
2
.PT.STAY COOL,me mbe
rik
an Hon
ortet
apkepa
da kar
yawankontr
akny
a
s
ebe
sarRp.70 0,
000
,-perbula
n,deng
an me
mpe r
ole
ht uj
ang
an-
tunj
anga
n
s
eba
gaibe
rik
ut:

•Tun
jan
ganJ
aba
tan

Gol
ong
an Pers
en
t
a s
e
1 5%
2 10%
3 15%

• Hon orLemb urJumlahja


m kerj
an ormaldal
a msa tubula
ns ebanyak240Jam
Ke r
ja.Hon orlemburdiberi
kanjikajumlahj a
mk e
rjasebihda r
i24 0ja
m,
ma kak e
lebihka
nj a
m kerjater
sebutdika
lik
a nde nganhonorl emburperj
am
sebesarRp.2,500untukse
tia
pk el
ebiha
njamk e
rjadalams atubula
nnya.
• PendapatanBe r
sih=Honorteta
p+Tun j
anganJab at
an+Hon orlembur–Paja
k
10%
• To t
alGajiyangdikel
uarka
n=a kumulasidaripendapata
nbe rsi
hk a
ryawan

•Ta
mpi
la
nya
ngdi
ing
inka
nse
bag
aibe
rik
ut:

Layar Masukkan dan Keluaran

Program Hitung Honor Karyawan Kontrak


PT. STAY COOL

Ma s
ukkanJ umlahKar y
awa n:.
..<dii
nput
>
KaryawanKe-. ..<prosescoun
ter>
NamaKa rya wa
n:. .
.<diinput>
Golonga
n( 1/2/
3):...
<dii n
put>
JumlahJa
m Ke rj
a:. .
.<diinput
>

<<Te
rusbe
rul
angt
erg
ant
ungJ
uml
ahKa
rya
wan
>>

PT. STAY COOL


-------------------------------------------------------------------------------------------
No. Nama Tunjangan
Karyawan Jabatan Honor Pendapatan
Lembur Pajak Bersih
-------------------------------------------------------------------------------------------
..
. . .
....
.. ..
...
....
....
.. ..
... ..... . ....
...
..
. . .
....
.. ..
...
....
....
.. ..
... ..... . ....
...
------------------------------------------------------------------------------------------
Total Gaji yang dikeluarkan Rp. ........

Ti
m Pe
nyus
unKomi
siMI 10
2
Modul Algoritma Pemrograman I
BORLAND
C++

Pointer 7
Mer
upakanse buahvar
iabelyang be
ris
ia l
amatdar
iv a
ria
be ll
ai
n.Suat
u
poi
nterdi
maksudkanun t
ukme nunj
ukankes ua
tualamatmemorisehi
nggaa
lama
t
dar
isuat
uvari
abeldapatdi
ket
ahuideng
anmuda h.

7.1. Operator Pointer


Terdapat dua macam operator pointer yang disediakan oleh Borland C++:
1. Operator dereference ( & )
2. Operator reference ( * )

7.1.1. Operator Dereference ( & )


Didalam me n
de kla
rasi
kans uatuv ari
abelh ar
us pa da lokasiy ang pasti
didalam pengg anti
anme mori
.Padaumumn yakitati
dakda patme ne
ntukandi man a
variabelakandi tempatkanTe r
k a
dangs e
caraotoma t
isdilakukanolehk ompi l
erda n
sist
em ope rasiya ngsedanga kti
f,tet
apisesekal
isist
em ope rasiakanme mbe ri
ka n
ban y
a ka l
ama ty angk i
tat i
dakme n
getahuidimanav ariabeldite
mpa tkan.Ha lini
dapatdi l
akuka ndenganme mberi
kansuatuidenti
fi
er“&”(ampersand sign) didepa n
namav ar
iabel,operat
orinibiasadis
ebutdengan“address of”at
auope r
a t
oralamat.
De ngan me ng gunakan ope r
ator dere
feren
ce (& )i ni
,s uat
uv ari
abe la k
a n
me nghasil
kana lamatlokasimemor i
.
Seba gaicontohI LHAM di t
empa t
kanpadame morideng analamat0x 0012ff88da n
dideklara
sikans ebaga
ibe ri
kut:
ILHAM =7 5;
AMI R=I LHAM; // AMIR sama dengan ILHAM (75)
RAKA=&I LHAM; // RAKA sama dengan Address Of ILHAM (0x0012ff88)

Gambar 7.1. Di
agr
am Pe
ngun
aanOpe
atorDe
ref
ere
nce

Ti
m Pe
nyus
unKomi
siMI 10
3
Modul Algoritma Pemrograman I

7.1.2. Operator Reference ( * )


De ng anme nggunakanoperato
ra ndada patmengakse ssec ar
al ang
sungnil
ai
yamgt er
da pa tdi dala
mv ari
abelyangbe r
poin
ter,halinida pa tdi l
akukandengan
me na
mba hk ani den t
if
ierast
erisk(*),ag ardapatme nt
erje
ma hkann i
lais
eben
arnya
darisuatuv ariabel.Ope ra
torinibi
asadis
e butdengan“value pointed by”.
De ng
a nme n ggun akanope r
atorref
erenc
e(*)i ni
,me nghasilkanni laiya
ngberada
padas uat
ua lama tme mori
Sebaga ic on toh I LHAM di tempatkan pada me moride ng a
na lama t65524 dan
dideklar
asik ans eba g
aiberik
ut:
ILHAM =7 5;
RAKA=&I LHAM; // RAKA sama dengan Address Of ILHAM (0x0012ff88)
RAFLI=* RAKA; // RAFLI sama dengan value pointed by RAKA(75)

Gambar 7.2 Di
agr
am Pe
nguna
anOpe
ato
rRe
fer
enc
e

7.2. Deklarasi Pointer Pada Konstanta


Suat
up oi
nterdapatdi
deklar
asi
kanseca
rakon
stan
taata
useca
rat
eta
ptida
k
da
patdiu
bah.Un t
ukme ndekl
ara
sikanpoi
nte
rseca
rakons
tan
taden
ganmember
ika
n
ka
tacons
tdidepa
nn amakonst
anta.
Bent
ukpenuli
san
:
tipe_data * const nama_konstanta;

Contoh-1 //
---
---
---
-----
---
---
---
---
---
---
--/
/
/
/Pendekl
arasi
anPoi nt
erKon s
tant
a//
/
/--
---
---
---
----
---
---
---
---
---
---
-//
#inc
lude<stdi
o.h>
#inc
lude<conio.
h>
#inc
lude<iost
ream.h>

Ti
m Pe
nyus
unKomi
siMI 10
4
Modul Algoritma Pemrograman I
voi
dma in()
{
c
har* c
onstnama="Borl
andC++"
;
c
lrs
cr();
c
out<<"NamaProgra
m ="<<na
ma<<e
ndl
;
na
ma=" Vis
ualC++";
c
out<<"NamaProgra
m ="<<na
ma<<e
ndl
;
ge
tch();
}

Padaprogra
m di atas
,te rdapatke
sal
aha
ndant i
dakdapatdija
lanka
n,pe
nye
babny
a
padape r
nyat
a annama = "Borland C++";. Ka re
nav ar
iabelnama,mer
upaka
n
poin
terkonst
a nta,y ai
tut i
dakdapatdi
uba
h-ubah.Pes
anKe s
ala
hanYangTampil
adal
ah:
Cannot modify a const object

Er
rorMe
ssa
gey
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 7.3Er
rorMe
ssa
geCon
toh
-1

7.3. Deklarasi Pointer Pada Variabel


Karen
ak eakhl
iandar
ipoi
nte
run
tukme n
unj
uks e
caral
angsun
gk es
uat
un i
lai
,
memeri
ksasatu per
sat
u dat
ay a
ng memil
ikipoi
nte
rpa dasaa
tv ari
abe
lters
ebut
pe
rta
mak a
lidide
k l
ara
sika
n.
Bent
ukpenul
isan
:
tipe_data *nama_variabel;

Contoh-2 /
/--
---
---
---
----
---
---
---
---
---
-/
/
/
/PenggunaanPointe
rDe ref
ere
nce/
/
/
/--
---
---
---
----
---
---
---
---
---
-/
/
#incl
ude<stdi
o.h>
#incl
ude<conio.
h>
#incl
ude<iost
ream.h>

mai
n()
{
i
ntil
ham,amir
,*r
aka
;
c
lrs
cr()
;
i
lha
m =7 5;
a
mir=i l
ham;

Ti
m Pe
nyus
unKomi
siMI 10
5
Modul Algoritma Pemrograman I

r
aka=&i l
ham;
c
out<<"Ni
laiILHAM ="<<il
ham<<endl
;
c
out<<"Ni
laiAMIR=" <<amir
<<endl
;
c
out<<"Ni
laiRAKA=" <<raka
<<endl
;
g
etch(
);
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 7.4 Ha
silCon
toh
-2

Contoh-3 //
----
---
---
----
---
---
---
---
---
//
/
/PenggunaanPointerRefer
enc
e//
/
/--
---
---
---
----
---
---
----
---
-/
/
#incl
ude<stdi
o.h>
#incl
ude<conio.
h>
#incl
ude<iost
ream.h>

mai
n()
{
i
ntil
ham,*raka,r
afl
i;
c
lrs
cr()
;
i
lha
m =7 5;
r
aka=&i lh
am;
r
afl
i=* r
aka;
c
out<<"Nil
aiILHAM =" <<i
lha
m<<en
dl;
c
out<<"Nil
aiRAKA=" <<ra
ka<<e
ndl
;
c
out<<"Nil
aiRAFLI=" <<ra
fli
<<e
ndl
;
g
etch()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 7.5 Ha
silCon
toh
-3

Ti
m Pe
nyus
unKomi
siMI 10
6
Modul Algoritma Pemrograman I

7.4. Pointer Pada Pointer


Ti
dakt er
bata
sme nunj
uk a l
amatdarisuatuv ar
iabe
l,poi
nterdapa
tpula
menunjuk k
e pointerlain
ny a
.Di dalam pende
klara
sia
nya,h a
nya mena
mba h
kan
poin
terre
fer
ence(*)pa dav a
riabe
lyangakandit
unjuk.
Sebagaic
ont
oh:
cha
rilha
m;
cha
r* r
aka; /
/poi
nterkevar
iabel
cha
r* *a
mi r
; //
point
erpadapoint
er
i
lham ='75'
;
r
aka=&i lham;
amir=&r aka
;

Gambar 7.6 Di
agr
am Pe
nguna
anPoi
nte
rPa
daPoi
nte
r

Contoh-5 //--
---
---
------
- -
---
---
---
---
-/
/
//
Penggunaa nPointertoPoint
er/
/
//
--
----
---
----
------
---
---
---
--/
/
#in
clude<stdio.h>
#in
clude<con io.
h>
#in
clude<iostream.h>

mai
n()
{
i
ntil
ham;
i
nt*rak
a;//
poi
nt
erkeva
ria
bel
i
nt**amir
;//
poi
nte
rpa
dapoin
ter
c
lrs
cr();

i
lha
m =75;
c
out<<"Nil
aiILHAM =" <<i
lha
m<<e ndl;
/
/-
>Pe n
ug a
sanKeAl amatMemori
r
aka=&i l
ham;
a
mir=&r aka;
c
out<<"Nil
aiRAKAHa si
lMengaksesILHAM ="
;
c
out<<*ra
ka<<endl;
c
out<<"Nil
aiAMI RHa s
ilMengaks
esILHAM =";
c
out<<**amir
<<endl;
g
etch()
;
}
Out
puty
angak
andi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
5di
at
asa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 10
7
Modul Algoritma Pemrograman I

Gambar 7.7 Ha
silCon
toh
-5

7.5. Pointer pada Array


KonsepAr r
aydian
tar
any aadal
ahba ny
aklonca
tandar
ip oi
nte
rsat
ukepoint
er
yanglai
n .k
arenaseca
raint
ernalarr
ayjugame nyat
akanal
amat,yai
tupenge
nalar
ray
sa
made nganalamatpadaeleme npert
ama ,padaarr
ay.Sebagaicont
ohseder
hana
dapata
n dali
hatpadacont
ohprog r
ambe r
ikut:

Contoh-6 //
--
----
---
- -
----
----
---
---
---
--//
//
Penggun aanPoi nt
ertoAr ray//
//
--
----
---
- -
----
----
---
---
---
--//
#in
clude<s t
dio.h>
#in
clude<c onio.h>
#in
clude<iostream.h>
main()
{
inti;
intnil
a i
[5];
int*ptrnil
ai;
ptrni
lai=n ilai
;
for(
i=1;i<=5; i
++)
{
cout<<"Ma sukanNi laiPer
tama=" ;
cin>>n i
lai[
i]
;
}
cout<<e ndl;
cout<<" Has i
lPengaksesanElemenAr ra
yLe wat
";
cout<<" Pointer
";
cout<<e ndl<<endl;
for(
i=1;i<=5; i
++)
{
cout<<"El e
me n"<<i <<".Nil
ai"<<nil
ai
[i]
;
cout<<",Me nempa tiAlamatMe mori=";
cout<<&pt rni
lai
[i]
;
cout<<en dl
;
}
getche() ;
}
Out
puty
angakandi hasil
k an
,dariprog r
amc ont
oh-6diat
asada
lah:

Ti
m Pe
nyus
unKomi
siMI 10
8
Modul Algoritma Pemrograman I

Gambar 7.8 Ha
silCon
toh
-6

7.6. Pointer pada String


Poi
nte
rpa
das
tri
ngda
pata
ndal
iha
tpa
dac
ont
ohpr
ogr
ambe
rik
ut:

Contoh-7 /*--
---
---
---
--
----
--*/
/*Point
erpadaStri
ng*/
/*--
---
---
---
---
---
--*/
#in
clude<iost
ream.
h>
#in
clude<conio.
h>

main()
{
charba n
d_metal
[]="SEPULTURA" ;
char*band_punk="RANCI D";
cout<<"NamaBa ndMetal="<<band_met
al<<e
ndl;
cout<<"NamaBa ndPunk="<<band_punk;
band_pun k
+=3;//
menambahnil
aipenunj
uk/point
er
cout<<"NamaBa ndMetal="<<band_met
al<<e
ndl;
cout<<"NamaBa ndPunk="<<band_punk;
getc
h e();
}

Ti
m Pe
nyus
unKomi
siMI 10
9
Modul Algoritma Pemrograman I
Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
7di
at
asa
dal
ah:

Gambar 7.9 Ha
silCon
toh
-7

Pa
daprogra
m diat
as,terda
patper
ubaha
nnilaipoint
erband_punk,yangditunj
ukka
n
ol
ehpenambahanni
la ipoi
nte
rpadaband_punk+=3,sec
aradefa
ult,
pe mba
c aa
n
di
la
kukanmulaidar
ipoi nt
erper
tama,k
arenasudahter
jadipena
mba handengan3,
makapembaca
anbe rpin
dahk ea
lamatke.
4,sehingg
atercet
akkataCID.
R A N C I D \0

1 2 3 4 56

Ti
m Pe
nyus
unKomi
siMI 11
0
Modul Algoritma Pemrograman I

BORLAND
C++

8
Macro
Dan File Header
Dida
lam pe
nyus
una
nsua
tuma
kroa
dabe
ber
apah
aly
angpe
rludi
pel
aj
ari
a
dal
ah:

8.1. Preprocessor Directives


Prepr
ocess
ordi r e
cti
veme rupa kansuatu peri
ntahy angt ermasuk kedal
am
progr
am, te t
api buk anl
ahi nstruk s
i da r
i pr o
g r
am i tus endi
ri,te t
api untuk
prepr
ocess
or.Pr e
proc e
s s
orinidi jalankans ec
a r
aot oma ti
sol ehk ompi l
er,ket
ika
didal
am pr oses pe n
terje
ma h
an( Compile) prog r
am be rl
angsung, didalamnya
me mbuatni
laipemb ukt
ianperta
mada nme n
terj
ema hkanc odeprogramdi dal
amk ode
objek
.Didalam penggun a
anpreproc essordi
rect
iveselaludimulaidengant a
nda:#
Adabe ber
apapreprocessordi
rect
iv e,diant
aranyaadalah:

8.1.1. # define
Digun
akan un t
ukme nde
fini
si
kans uat
un il
aitertent
uk epa
dasua
tun
ama
konstanta.Be
ntukumumda ripre
proces
sordir
ect
ive#define i
nia
dala
h:
#define nama_konstanta teks

Con
toh:
Te
ks

#define A 6

Na
ma_Kon
sta
nta

Dal
am pendeklar
asia
n pr e
proces
sordir
ect
iv
e #def
ine,Nama_Konstanta
se
baiknyadit
uli
sde nga
nme nggunaka
nh ur
ufbesar
,gunaun t
ukmembedak
a nnya
deng
ann ama_var
iabe
l.SedangkanTeks meru
pakansua
tuni
laiyan
gdi
beri
kanpa da
nama_konst
ant
a.Teksdapatberupa:

•Nume ri
k c
ont
oh:#de
fin
ePI3.
14
•Karakte
r c
ont
oh:#de
fin
eHURUF‘B’
•Str
ing c
ont
oh:#de
fin
eJABATAN“INSTRUCTOR”
•Perny
a t
aan c
ont
oh:#de
fin
eCETAK(“Bor
lan
dC++”)
•FungsiSede
rha
na c
ont
oh:#de
fin
eLUAS_KUBUS(n*n)

Ti
m Pe
nyus
unKomi
siMI 11
1
Modul Algoritma Pemrograman I
Set
el
ah #de f
ine dit
ent
uka
n didala
m pr ogr
am c uk
up di t
uli
skan
na
ma_konst
ant
anyasaj
a.# def
ineaka
n mengga
ntis
emua n
ama kon
sta
ntatadi
de
nga
nt e
ksnyase
bel
umpros
eskompi
las
idi
mulai
.

Contoh-1 /*--
---
---
---
--
---
---
---
---
---
--
---
--*/
/*Progr
am Penggunaan#def
ine*/
/*--
---
---
---
--
---
---
---
---
---
--
---
---*
/
#in
clude<st
dio.
h>
#in
clude<coni
o.h>
#in
clude<i
ostr
eam.h>
#defi
nePI3.141592
#defi
neL(n)PI*n*n

mai
n()
{
c
lrs
cr(
) ;
c
out<<"LuasLingka
randenga
n:" <<endl;
c
out<<"Jari
-j
ari=5adal
ah"<<L(5)<<endl
;
c
out<<"Jari
-j
ari=10adal
ah"<<L(10)<<endl
;
g
etche();
}
Out
puty
angak
andih as
il
kan,dar
iprog
ramcontoh-1diat
asada
lah
:

Gambar 8.1 Ha
silCon
toh
-1

Contoh-2 /
*----
---
---
---
-----
---
---
---
---
---
--*/
/*Progr
am Pe nggunaan#define*/
/*--
---
---
---
------
---
---
---
---
---
---*
/
#inc
lude<st
dio.h>
#inc
lude<conio.h>
#inc
lude<i
os t
ream.h>
#defi
neawa l{
#defi
neakhir}
#defi
nemul ai
()ma in(
)
#defi
necetakc out
#defi
nema sukc in
#defi
nehapus()c l
rscr
()
#defi
netahan()g e
tch(
)
#defi
neLS_KUBUS( s
isi
*sis
i)

mul
ai()
awa
l

Ti
m Pe
nyus
unKomi
siMI 11
2
Modul Algoritma Pemrograman I

i
ntsisi,l
s_kub us;
hapus();
ce
tak<<" ProgramPenggunaan#de
fin
e"<<endl
;
ce
tak<<" Ma sukkanNi
laiSis
iKubus=" ;
ma s
uk>>s i
s i
;
l
s_kub us=LS_KUBUS;
ce
tak<<" LuasKu busa
da l
ah:"<<l
s_kubus;
t
ah a
n() ;
a
khir

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 8.2. Ha
silCon
toh
-2

8.1.2. # include
Preprocessor#incl
udet e
lahdibahaspadababs ebe
lumnya,y
ait
uberf
ungsi
unt
ukme ma sukkana t
aume nyert
akanf i
le-
fi
lehea
de rkeda
lam pr
ogr
amy a
nga k
an
di
buat
.Da l
am pe nuli
san#includeadad uabent
ukpenuli
san:
#include "nama_file_header"
at
au
#include <nama_file_header>

Padabe ntukpe n
ulis
an#i nc l
udeme mpunya
iart
iy angber
beda,yai
tu:
•#include "nama_file_header"
“Perta
mak al
icompi l
era ka
nme ncar
ifil
eh eaderya
ngdi s
ebutkanpadadi
rec
tor
i
yangs edanga kt
ifda na pabilati
dakditemuk anakanme ncaripa
dadirec
tor
i
dimanaf i
leheaderte r
sebutbera
da“.
•#include <nama_file_header>
“Perta
mak al
icompi l
era ka
nme ncar
ifil
eh eaderya
ngdi s
ebutkanpadadi
rec
tor
i
yanga dafil
eheade rnya,kecua
lipa
dadirect
oriyangseda
nga k
tif.

8.1.3. # if - #endif
Pre
p r
oc es
s or#if-#e ndi
fdigunakanunt
ukme ngkompil
asiji
kaper
nya
taa
n
kondisipada#i fbe rni
laibe nar
,jikatidakma ka
,diaba
ikan.Perny
ata
ankondi
si
ber
u paeks
pres ikonsta
ntay angdidekl
ara
sikande
ngan#def
ine.
Benuk Penulisan #i fe ks
pr e
si-
konst
anta
pe n
yataan;
#endif

Ti
m Pe
nyus
unKomi
siMI 11
3
Modul Algoritma Pemrograman I
Contoh-3 /********** ** ******
** **
*
Pe n
gg unaa
n#i f-#e ndif
***** ******** **********/
#incl
ude<c on io.h
>
#incl
ude<s tdio.h>
#defineN4
ma i
n()
{
#ifN>0
pri
ntf(
"LebihBe sa
rda r
iNol")
;
#endif
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
rip
rog
ramc
ont
oh-
3di
at
asa
dal
ah:

Gambar 8.3. Ha
silCon
toh
-3

8.1.4. # if - #else - #endif


Prep
roc es
s or#if- #e l
se- #endifdiguna
kanu ntuk mengk
ompi l
asijika
per
nyataankon disipa
da#i fbern
ilaibenar
,ji
ka#ifberni
la
isala
hma ka,perny
ata
an
#el
sedikompi l
asi.Per
nya t
aankondisiber
upaekspr
esik
onstan
tayangdidekl
ara
sik
an
deng
an#de fi
n e.
Benuk Penulisan #i fekspr
esi
-konstan
ta
Pe nyat
aan-
1;
#els
e
Pe nyat
aan-
2;
#endif

Contoh-4 /
**** ********************
** **
**
Penggunaan#if-#e l
se-#endi
f
******************************/
#defi
n eN- 4
main()
{
#ifN>0
pri
ntf
("Lebi
hBe sa
rdariNol"
);
#else
pri
ntf
("Lebi
hKe ci
ldariNol"
);
#en di
f
}

Ti
m Pe
nyus
unKomi
siMI 11
4
Modul Algoritma Pemrograman I

Ha
silda
ripr
ogr
amc
ont
oh-
4di
at
asa
dal
ah:

Gambar 8.4. Ha
silCon
toh
-4

8.1.5. # elif
Prepr
oc ess
or #elif di gunakan untuk me ngkompi l
asi dari perny
ata
an
ber
tingkat
.Da lamh alini#elif samah al
nyas e
perti#elseif,me r
upakankombinasi
dar
i#if dan#else.Peri
ntahdi j
alankansesuaideng
ank on disiyangtel
ahditent
ukan,
Hasilhanyada pa
tdijal
a nka
ns esuaidengank e
tentua
ny angbe na
r.Be n
tuk#e l
if
di
ikutiole
hek spre
si-
kons t
ant
a .
Benuk Penulisan #ife kspr
e si
-konst
anta-
1
Pe nyat
aan -
1;
#el
ifekspresi-kons
tant
a-2
Pe nyat
aan -
2;
#elifekspresi
-konst
anta
-n
Pe nyat
aan -n
;
#endif

Contoh-5 /
**** *************
Penggunaan#e li
f
********* *********/
#defi
n eN12
main()
{
#ifN>1 0
printf
("LebihBe s
ardar
iSep ul
uh")
;
#elifN==10
printf
("SamaDe n
ganSepuluh");
#elseN<10
printf
("LebihKe ci
ldar
iSepuluh"
);
#en di
f
}

Ha
silda
ripr
ogr
amc
ont
oh-
5di
at
asa
dal
ah:

Gambar 8.5. Ha
silCon
toh
-5

Ti
m Pe
nyus
unKomi
siMI 11
5
Modul Algoritma Pemrograman I

8.1.6. #undef
Pre
p r
oce
ssor#unde
fdigun
aka
nun
tukme
ngh
ila
ngk
anni
la
iya
ngt
ela
h
di
def
ini
skandar
idaft
ardef
ini
si
.

Contoh-6 /**********
******
Penggunaan#undef
***************
**/
#incl
ude<ios
tre
am.h>
#defi
n eLEBAR_MAKS10 0
#ifLEBAR_MAKS>20 0
#undefLEBAR_MAKS/ /
--
>me
nghi
la
ngk
anLEBAR_MAKS
#defi
n eLEBAR_MAKS20 0
#elsi
fLEBAR_MAKS<50
#undefLEBAR_MAKS/ /
--
>me
nghi
la
ngk
anLEBAR_MAKS
#defi
n eLEBAR_MAKS50
#else
#undefLEBAR_MAKS/ /
--
>me
nghi
la
ngk
anLEBAR_MAKS
#defi
n eLEBAR_MAKS50
#endif

main
()
{
ch
arstr
[LEBAR_MAKS]
;
co
ut<<LEBAR_MAKS;
}

Ha
silda
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 8.6. Ha
silCon
toh
-6

8.1.7. # ifdef - # ifndef


Pre pr
ocessor#if
de fda n#ife
nde fme mberi
kanbagi
andariprogr
amy angaka
n
dikompi l
e ,halin
ida patdil
ak uk a
njikas udahkonst
ant
adidef
ini
skanpadabagian
#de f
in e,ha li
nime rupakanpa rame t
ery angkhususyanghar
usterdef
ini
si
.
Be nukumumpe nulisa
ns ebag aiber
ikut:
#ifdef
nama-konstanta pernya t
aan;
#endif
Pe nj
el a
s an:Jikanama -konst
a ntater
def i
nisimaka,per
nyat
aanakandij
alank
an,ji
ka
nama - kons t
antati
da kter
de f
inisima k
a ,pernya
taanakandi
abai
kan .

Ti
m Pe
nyus
unKomi
siMI 11
6
Modul Algoritma Pemrograman I
Contoh-7 //
--
>Pe ngg
unaan#ifde
fda
n#if
nde
f
#in
clude
<iost
rea
m. h
>
#defi
neANAK1" I
LHAM"
#defi
neANAK2" HADIANSYAH"

main
()
{
#i
fdefANAK1
cout<<"Pagii
ni"<<ANAK1 <<"pergiKes
ekol
ah"
;
#el
se
#if
nde fANAK2
c o
ut<<"Hariini"
<<ANAK1 <<""<<ANAK2;
c o
ut<<"pergiKesek
ola
h";
#els
e
c o
ut<<"Pagiini"
<<ANAK2 <<"per
giKese
kol
ah"
;
#endif
#endi
f
get
che();
}

Ha
silda
ripr
ogr
amc
ont
oh-
7di
at
asa
dal
ah:

Gambar 8.7. Ha
silCon
toh
-7

8.2. Pembuatan File Header


Fil
eHe adera dala hsuat
uf i
ledenganakhir
an.h .Fil
einisebenar
ny aberi
si
kan
dekl
arasif ungsida n de fi
nis
ik onst
ant
a.Se l
a i
nf il
e-fi
leh eaders t
an daryang
di
sedi
a ka
nol e
hC++,k itadapatjugame mbuatfil
eh eadersedi
ri
,de n
ga nc a
rayang
sa
mas epertime mbua tfileedit
or.Ya nghar
usdiperha
tikanpadasa a
tme nyimpanfi
le
hea
dery angt e
lahdi bua th a
rusdigunakanakhir
an.h .
Beri
kutcon tohfilehe ade rst
andary a
ngdisedi
akanolehBor l
andC++.
/*types.h
Ty pesf orde alingwithtime.
Copy r
igh t(c)Bor landInter
nati
onal1987,
1988
Al lRig htsRe served.
*/

#if
ndef TI
ME_T
#defi
ne TI
ME_T
ty
pedefl
ongt
ime
_t;
#endi
f

Ti
m Pe
nyus
unKomi
siMI 11
7
Modul Algoritma Pemrograman I
Sebagailati
hanbe ri
kuti n
ia ka
ndi bua
tka
ns ua
tuf
il
eheade
rsendi
riya
nga ka n
di
g unakanpadafi
leedit
or.
Bua t
la
hpr ogra
mf il
eh ederdibawa
hi ni
,kemudi
ans
impa
ndenga
nn ama:atur.h,
padafolderker
jaandafolderi
ncl
ude.

Contoh-8 /
*a t
ur.h
contohpe mb uat
anf ileheade
run
tuk
pengaturan .
Copy r
igh t(c)Fr i
eya die2001
AllRigh tsRe s
erved.
*
/
#
de f
inea wa l{
#
de f
inea khir}
#
de f
inemul ai
()ma in()
#
de f
inec et
a kc out
#
de f
inetampi lc pri
ntf
#
de f
inema suks canf
#
de f
ineha pus ()clr
s cr()
#
de f
inejikai f
#
de f
inewa rn at e
xtcolor
#
de f
inetaha ng etch
e ()

Setelahdi
simpanpadadi
rektoriC:\BC5\INCLUDE\
..
.,s
elan
jut
nyaCompi
lefi
le
atur.h.
Bua t
lahprogr
a m di
bawahini,kemudi anguna
kanf
il
eheaderya
ngsuda
ha n
dabua
t
dans i
mpande ngannama:sendiri.cpp

Contoh-9 /
*------
---------
---
--
-----
---
---
---*/
/*programde nganfil
eh ea
ders endi
ri*/
/*--
-----
---------
---
----
---
---
---
--* /
#inc
lude<s tdio.h>
#inc
lude<c on io.h
>
#inc
lude<i ostream.h>
#inc
lude "atur.h"
mulai()
awal
inta,b,c ;
hapus ();
wa rna(4);
tampi l
("\n PROGRAM PENJ UMLAHAN\ n")
;
cout<<e n dl;
cout<<" Ma sukkanNi l
aiA=" ;
cin>>a ;
cout<<" Ma sukkanNi l
aiB=" ;
cin>>b;
c=a +b;
cout<<" Ha si
ldari"<<a<<"+" <<b <<"="
<<c;
tahan;
akhi
r

Ti
m Pe
nyus
unKomi
siMI 11
8
Modul Algoritma Pemrograman I

Ha
silda
ripr
ogr
amc
ont
oh-
9di
at
asa
dal
ah:

Gambar 8.9. Ha
silCon
toh
-9

8.3. Latihan
1
.Buatla
hprogra
m me n
ghit
ungpangkatduasert
apangkatti
gada r
ise
buahbi
lan
gan
bul
atdeng
anma kr
o.Sebaga
iinputada
lahbil
anganit
us e
ndir
i,seda
ngkans
ebaga
i
out
putada
lahpan
gkatduaser
tapangkatt
igadar
ibil
anganbul
a tt
ers
ebut
.

2
.Bua t
lahpr
og ram me nghitungluasdankel
il
inglingkaran
.Pr os
esbe
radadi
dal
am
f
il
eheader
,n amaf il
eh eadery angdi
ing
inkan:lingkaran.h
Tampilan Yang Diinginkan:

Ma
suk
kanNi
laiJ
ari
-j
ari:.
..<di
-i
nput
>

Lua
sLingk
ara
n:...<has
ilpr
ose
s>
Kel
il
ingLi
ngkar
an:..
.<hasi
lpr
ose
s>

3
.Bua t
la
h program menghi
tun
g nil
aia
khi
rpe
rkul
ia
han pa
das
uat
u ma
tak
uli
ah,
de
nganketen
tuanseba
gaiber
ikut
:
•Nil
aiAbsensi*10%
•Nil
aiTugas*20%
•Nil
aiU.T.S*3 0%
•Nil
aiU.A.S*4 0%

Untukpr osespe nilaiandi lakuka


ndi
dal
amf
il
ehe
ade
rda
nsi
mpa
nna
maf
il
e
he
ade rte
rsebuthitnilai.h.
Tampilan yang diinginkan:

Program Hitung Nilai Akhir Mata Kuliah


Ma s
ukkanNi l
aiAbs ens i:……<di -input
>
Ma s
ukkanNi l
aiTug as:……<di -
input>
Ma s
ukkanNi l
aiU.T. S:……<di -
input>
Ma s
ukkanNi l
aiU.A. S:……<di -
input>

Ni
laiMurniAbsens
i=<data
-input
an>*1 0% =<hasil
-pr
oses
>
Ni
laiMurniTugas=<dat
a-i
nputan>*20% =<h asi
l-
pros
es>
Ni
laiMurniU.T.S=<dat
a-i
nputan>*30% =<h as
il
-pros
es>
Ni
laiMurniU.A.S=<dat
a-i
nputan>*40% =<h asi
l-
prose
s>
Ni
laiAkh
iry a
n gdi
per
ole
hsebesar:…..<has
il-
proses
>

Ti
m Pe
nyus
unKomi
siMI 11
9
Modul Algoritma Pemrograman I
BORLAND
C++

Fungsi 9
Fungsi( Function) me r
upaka
n blok darik ode yang di
ran
cang un
tuk
mel
aksanakantuga
sk husus
.Keguna
andarif
ungs
iiniada
lahunt
uk:
- Me ngura
ngipeng ulang
anpenul
is
anprogr
amy a
ngberula
ngana
tausa
ma.
- Pr ogram menj
a dil e
bihte
rst
rukt
ur,s
ehi
nggamuda hdipah
amidandapa
tlebi
h
di
k embangkan.

Fung si
-fun gsiy angsuda
hk i
taken
alsebelumnyaadal
ahfungsimain(),ya
ng
bers
ifatmut la k,k aren af
ungsiinipr
ogramak a
ndi mul
ai,s
eba
g aic
ontohy anglai
nny
a
fungsiprintf(), cout() ya
ngme mp un
yaitug
a suntukmenampi
lkaninfor
ma s
iata
udata
kela
y ardanma si
hba nyakl
ai
n nya.

9.1. Struktur Fungsi


Se
bua
hfun
gsis
ede
rha
name
mpuny
aibe
ntukpe
nul
is
ans
eba
gaibe
rik
ut:

n
ama_fungs
i(a
rgumen)
{
… pe
rnyat
aan/peri
nta
h;
… pe
rnyat
aan/peri
nta
h;
… pe
rnyat
aan/peri
nta
h;
}
Keterangan:
-Na mafung si
,bole
hdituli
skansecarabebasdeng
ank ete
ntuan,t
idakmenggun
akan
spasidann ama-na
maf ungsiyangme mpun y
aiar
tise
n di
ri.
- Ar gume n
,di l
eta
kandi a
ntaratandak ur
ung“ ()
”y angt e
rlet
akdibel
aka
ngna ma
fungsi
.Ar gumenbolehdiis
ide ng
a nsuat
uda t
aata
udibiarkankosong
.
- Pe rnya
taan/perint
ah,dil
et
a ka
ndi ant
arat
andakurung‘{} ’
.

Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.


Contohpemb uatanf ungsisederha n a

Contoh-1 /*pembuatanf ungsigar


is(
)* /
#inc
lude<conio.h>
#inc
lude<stdi
o.h>
#inc
lude<iost
ream.h >
ga
ris
()
{
print
f("
\n--
-- -
---
---
---
---
---
--\
n")
;
}

Ti
m Pe
nyus
unKomi
siMI 12
0
Modul Algoritma Pemrograman I

/
*progra
mut ama* /
mai
n()
{
c
lrs
cr();
g
aris
();//
me manggi
lfungsig
aris
c
out<<"AMI KBSI-Pon dokLa b
u"<<en
dl;
g
aris
();//
me manggi
lfungsig
aris
g
etche()
;
}
Out
puty
angakandihas
il
k an
,daripr
ogramc ont
oh-
1diat
asa
dal
ah:

Gambar 9.1. Ha
silCon
toh
-1

9.2. Prototipe dan Parameter Fungsi


Pr
ototi
peme r
upakanur ai
andaribl
okfun
gsiyangda
patdi
gun
aka
nun
tuk
me
ndekla
rasi
kank ekompi l
ermen g
enai
:
•Tipedatakel
uaranda r
ifungsi
.
•Jumlahparameteryangdigunakan
•Tipedatadarimasi
ng -
ma si
ngparamet
ery
angdi
guna
kan.

Protot
ipefungsiditul
iskandia t
asblokpr ogra
m utamada ndiakh
iridengan
tandaquali
fie
rtiti
kk oma(;) ,s edangkanblokpr ogramfungs iyangme ngandung
perin
tah-
perint
aha t
aupe rnya t
aan-pernyat
aanda riprogram beradadiba wa hblok
programutamay angme milikikeuntungansebagaiberi
kut:
•Kompi lerakanme l
akukank onversiantar
at ipepa r
ame t
erda l
am defi
nisidan
par
ame t
erfungsi
.
•J i
kajuml ah par
ame t
ery a ng digunakan dal
am de fi
nisifun gsidan padas aa
t
pemanggil
anfungsiberbedaa t
aut i
daksama ,ma kaakanme nunjukka
nk esal
ahan.

Seda ngkany ang di ma ksud dengan pa r


a meterpa da fun gsiadalahs uatu
pendefi
nisi
anni lai
-nilaida riobjek-obj
eky angdi dekl
a r
asikanpa daba gia
na rgume n
difungsi
.Ni l
ai-ni
laipa daobj ek -
objekter
sebu tdidapatdar ivaria
be l
-vari
abely ang
bar
a dapadap rogramut a ma .
Terda patduama ca mpa r
apa ramet
erfun gsi
,yaitu:
•Parameter formal a da lahvariabel yang terdapat pada daftar parameter yang
berada didalam definisi fungsi.

•Parameter Aktual a
dal
ahvariabel yang digunakan pada pemanggilan suatu
fungsi.

Ti
m Pe
nyus
unKomi
siMI 12
1
Modul Algoritma Pemrograman I

Be
ntukpe
nul
is
anPa
rame
terFor
malda
nPa
rame
terAk
tua
l.

main() parameter formal


{
…..
total(a, b);
….. float total( int x, int y)
} {
…...
parameter aktual }

Con
tohpe
ngg
una
anpr
otot
ipef
ungs
ida
npa
rame
terf
ung
sis
eba
gaibe
rik
ut:

Contoh-2 //
Pengguna
anProtot
ipepadaFungsi
#in
clude<coni
o.h
>
#in
clude<i
ostr
eam.h>
#in
clude<st
ri
ng.h>//
untukst
rcpy

c
harc
ome
nt(
cha
rke
t[3
0],
in
tn)
;//
prot
oti
pef
ung
si

mai
n()
{
c
harlagi,
c[30];
i
nti;
a
tas:
c
lrs
cr();
{
cout<<"Ma sukkannil
ai=" ;
cin
>>i;
come nt
(c,
i);//
paramaterfor
mal
cout<<c;
cout<<"\
n\nIngininputla
gi[Y/T]
:";
ci
n>>l
agi
;
}
i
f(l
ag i
=='Y' |
|l
agi=='y'
)
gotoatas
;
e
lse
g
etch();
}

/
/bl
okpr ogra
mf ungsidenganpara
me t
erakt
ual
c
h a
rcome nt(charket[
30],
intn)
{
i
nta;
a
=n %2;
i
f(a==1)
strc
py(ke
t,"-
--Bil
anganGanjil
--
-")
;
e
lse
s
trcpy(
ket
,"---
Bilang
anGe nap-
--"
);

Ti
m Pe
nyus
unKomi
siMI 12
2
Modul Algoritma Pemrograman I
}
Out
puty
angak
andi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 9.2. Ha
silCon
toh
-2

Didal
am ba
hasaC++a daduacar
aunt
ukme
lewa
tka
nni
la
i-n
ila
ipa
rame
terk
e
da
lamf
ungs
idar
inil
ai
-ni
laiv
ariabe
l,y
ait
u:

9.2.1. Pemanggilan dengan nilai ( Call by Value )


Pada pemanggilan dengann i
la
iy a
itun i
laidaripara
me t
eraktua
la ka
n
di
masukkankepa r
ameterformal.Dengancarainini
laipa
ramete
raktua
lti
dakdapat
be
rubah
,wa l
aupunn i
laidaripa
rameterf
orma lber
ubah.Beri
kutcon
tohpemangg
ila
n
de
ngannil
aidapatdil
ihatpadacont
ohbe r
ikut
:

Contoh-3 /
*----
---
---
---
---
---
---
--*/
/*PenggunaanCa l
lByVa l
ue*
/
/*Progr
am Ta mbahNila
i*/
/*--
---
---
---
---
---
---
---
-*/
#in
clude<coni
o.h>
#in
clude<st
dio.h
>
#in
clude<i
ostrea
m.h>

t
amba
h(i
ntm,i
ntn
);

mai
n ()
{
i
n ta,b;
a=5;
b=9;
clrs
cr();
cout<<"Nil
aiSebe
lum Fun
gsiDi
gun a
kan";
cout<<"\n
a=" <<a<<"b="<<b;
t
a mba h
(a,
b);
cout<<"\n
Nila
iSetel
ahFungs
iDigunaka
n";
cout<<"\n
a=" <<a<<"b="<<b;
getch();
}

t
ambah(i
ntm,i
ntn
)
{
m+=5;
n+=7;

Ti
m Pe
nyus
unKomi
siMI 12
3
Modul Algoritma Pemrograman I
c
out
<<"
\n\
nNil
aidi
dal
am Fungs
iTamba
h()
";
c
out
<<"
\nm ="
<<m<<"n=" <<n;
c
out
<<e
ndl;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
3di
at
asa
dal
ah:

Gambar 9.3. Hasil Contoh-3

9.2.2. Pemanggilan dengan Referensi (Call by Reference)


Pe manggil
ande nganr e
ferens
ime rupak a
npemang gi
lannil
aisuatupar
ameter
didala
mf ungs
ik epa ra
me teractualyangdi simpanpadaa lamatme morideng
an
mengguna kanpointer.Ca rainidapatdipakaiuntukme ngubahisis
ua t
upa r
ameter
akt
ualdeng a
nme l
ak s
an a
ka npengubahanni l
a idar
isua
tupa ramet
ery a
n gdil
akuk
an
didal
amf ungsi
.
Contoh-4 /
*- -
----
----
---
---
---
---
----
--* /
/*Pe nggunaanCa l
lByRe fer
ence*
/
/*Prog r
am Ta mbahNi l
ai* /
/*----
----
---
---
---
---
-----
---*/

#i
ncl
ude
<conio.
h>
#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<iost
rea
m.h>

t
amba
h(i
nt*
c,i
nt*
d);

mai
n ()
{
i
n ta,b;
a=4;
b=6;
clrs
cr()
;
cout<<"
Ni l
aiSebel
um Pe
man ggi
la
nFungsi
";
cout<<"\
na=" <<a<<"b="<<b;
t
a mbah(&a,
&b) ;
cout<<endl
;
cout<<"\
nNila
iSetel
ahPemanggil
anFun
gsi"
;

Ti
m Pe
nyus
unKomi
siMI 12
4
Modul Algoritma Pemrograman I
c
out<<"\
na="
<<a
<<"b="
<<b;
g
etc
h ()
;
}
t
ambah
(in
t*c,int*d)
{
*
c+=7;
*
d+=5;
c
out
<<endl;
c
out
<<"\n
NilaidiAkhi
rFun
gsiTamba
h()
";
c
out
<<"\n
c=" <<*
c<<"d="<<*d;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
4di
at
asa
dal
ah:

Gambar 9.4. Ha
silCon
toh
-4

9.3. Pernyataan return().


Di gun
a kanuntukme ngi
rimk
a nnil
aiat
aun il
aida risuatufungs
ikepadafungs
i
yan gla iny ang me manggi
lnya.Pernyat
aan return() dii
k utiole
ha rgumeny ang
be r
upan il
aiy anga kandiki
rimkan
.Sy ara
tutamada l
am pe mbua t
anfungsiret
urn
ada l
ahn amaf ungsiyangda patmengembali
kann i
lai,dika r
enakannil
aih a
sildar
i
pa r
ame terforma lakandisi
mpa npadan a
maf ung si
.Con t
ohpe ma kai
anpernyat
aan
return() dapa
tdi l
iha
tpa dac
on t
ohberik
ut:

Contoh-5 /*Perny
ata
anRe tur
npdFun
gsi*
/
#in
clude<conio.
h>
#in
clude<i
ostrea
m.h>
#in
clude<st
dio.h
>

f
loatl
uas(i
ntr
)/
/f
ung
sil
uasl
ingk
ara
n
{
ret
urn(
3.1
4*r*
r);

f
loatk
el(i
ntr)
//
fungs
ike
lli
ngka
ran
{
ret
urn(
3.1
4*2*r)
;
}

Ti
m Pe
nyus
unKomi
siMI 12
5
Modul Algoritma Pemrograman I
main()
{
i
ntj;
cl
rs
cr();
cout<<"
Ma sukkanJar
i-
jar
i=";ci
n>>j;
cout<<"
Luaslingkar
an=" <<l
uas
(j)
<<endl
;
cout<<"
Ke l
ili
nglin
gkara
n=" <<kel
(j
);
get
ch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
5di
at
asa
dal
ah:

Gambar 9.5. Ha
silCon
toh
-5

9.4. Jenis Variabel


JenisVa r
iabelpadaC++inisa
ngatbe
rgunadi
dalam pe
n ul
is
ansuat
ufungs
i
a
garpengg unaa
ndi dal
am pe
ngguna
ansua
tuvari
abelt
ida
ks a
lah.Terda
patbe
ber
apa
j
eni
svari
a belyai
tu:
•Vari
abelLok al
.
•Vari
abelEks t
ernalat
auGloba
l.
•Vari
abelSt a
tis
.

9.4.1. Variabel Lokal


Va ri
abelLoka
ladal
ahvar
iabe
lyan
gdi dekla
rasi
kandidal
amfungs
idanha nya
di
k e
nalol e
hf ungs
iyangbe
rsa
ngkuta
n.Var
iabellokalbi
asadis
ebutde
nganVariabel
Otomatis.

Contoh-6 /*--
---
---
---
---*/
/*Varia
belLok al*
/
/*--
---
---
---
---*/
#in
clude<conio.
h>
#in
clude<st
dio.h
>
#in
clude<i
ostrea
m.h>

lokal( );

mai
n()
{
i
nta=1 5;
c
lrs
cr()
;

Ti
m Pe
nyus
unKomi
siMI 12
6
Modul Algoritma Pemrograman I
cout<<" Pema
nggi
lanVa
ria
belLoka
l"<<e
ndl
;
cout<<" \n
Nil
aidi
dal
amfuns
imain
()=:"<<a;
lokal( );
cout<<" \n
Nil
aidi
dal
amfuns
imain
()=:"<<a;
getch() ;
}

lokal( )
{
i
n ta=1 0;
cout <<"
\nNi
laiadi
dal
amf
ungs
ilok
al()="
<<a
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
6di
at
asa
dal
ah:

Gambar 9.6. Ha
silCon
toh
-6

9.4.2. Variabel Eksternal


VariabelEkst
er n
aladalahvari
abelya ngdidek
lar
a s
ika
ndi l
uarfungsiyang
be
rsi
fat global yang a r
tinya dapat dig
un akan ber
s a
ma-sama tanpa h a
r us
di
dekl
aras
ikanbe r
ulang-ul
ang.Un t
ukpe ndeklar
asi
anv a
riabe
le kt
ern
alini,dil
ua r
da
rifungsima i
n()
,y angselamainipendekl
a ra
sianvar
iabelsel
al
udidalamf ungsi
mai
n().

Contoh-7 /*--
---
---
---
---
---
---
---
---
---
-*/
/*Varia
belEkster
nalatauGlo
bal*
/
/*--
---
---
---
---
---
---
---
---
---
-*/
#in
clude<coni
o.h>

#i
ncl
ude
<stdi
o.h
>
#i
ncl
ude
<iost
rea
m.h
>

i
nta=6;/
/-
->de
kla
ras
iva
ria
bele
kst
ern
al

v
oidlokal
();
v
oidma i
n()
{
c
lrsc
r();
c
out<<"Pen
ggun
aanVa
ria
belEk
ste
rna
l"<<e
ndl
;

Ti
m Pe
nyus
unKomi
siMI 12
7
Modul Algoritma Pemrograman I
c
out<<"\
nNila
idi
dalamfunsimain
()=:"<<a;
l
okal()
;//-
->pemanggi
lanfungs
iloc
al
c
out<<"\
nNila
iSet
el
a hpeng
gila
nfungsil
oca
l()="
;
c
out<<a;
g
etc
h ()
;
}

v
oidloka
l()
{
a+=10;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
7di
at
asa
dal
ah:

Gambar 9.7. Ha
silCon
toh
-7

9.4.3. Variabel Statis


Variabe lStat
isdapatberupavaria
belloc
alatauv a
riabe
lekst
erna
lSifatva
ria
bel
s
tat
isinime mp unyaisi
fatant
arlai
n .
•Jikava riabelstat
isbersi
fatlocal
,ma kavar
iabe
lh anyadikena
lolehfungsit
empat
vari
abe ldide k
lar
a s
ikan.
•J i
kav ari
a belstati
sbe r
sifa
te kst
ernal
,ma kava r
iabeldapatdiper
gunakanoleh
semua f un gsiy angt er
letak pada fi
ley an
gs ama dite
mpa tvaria
bels t
ati
s
di
dek l
a rasikan.
•Jikatida ka dainisi
ali
sas
iole hpemrogramansecar
aot omati
sakandiberi
kannil
ai
awaln ol.

Sua
tuv a
ria
belst
ati
s di
per
ole
h de
nga
n me
namba
hka
nka
ta-
kun
cistatic
di
depa
npenen
tuti
pedat
avari
abe
l.

Contoh-8 /*--
----
---
----
-----
-------
-* /
/*Pengguna anVa riabelSt at
is* /
/*--
----
---
----
-----
-------
-* /
#in
clude<con i
o.h>
#in
clude<stdio.
h >
#in
clude<iostream.h>
walah();/
/--> prototipe fungsi walah

Ti
m Pe
nyus
unKomi
siMI 12
8
Modul Algoritma Pemrograman I
mai
n ()
{
i
n tk=5;
clrs
cr()
;
wa l
ah();
wa l
ah();
cout<<"\
nNi
laiKdi
dal
amf
ung
sima
in(
)="
<<k
;
getch()
;
}

wal
a h
()
{
st
ati
ci n
tk;/
/-->de
k l
ara
siv
ari
abels
tati
s
k+=4;
cout<<"\
nNi
laiKdidal
amfung
si(
)=" <<k;
}
Halinite
rli
hatba hwa:
•Pa dapadap rototi
pef un gsiwalah()t
idaktedapatnil
aiawal,
ma kasecar
aot omatisv ariabe
lk=0.
•Padape mangg i
lanf un gsiwa la
h()pe rtama,tercet
ak ni
lai
vari
abelk=4 ,didapat darik=0+4.
•Pa da pemang gil
anf un gsiwa l
ah()k edua,terc
etakn i
lai
vari
abelk= 8,di da pa tdarik=4+4,k ar
enan il
aik y a
ng
te
rbaruadalah4 .
• Padape nc
etakankdi da lamfungsimain(),adal
ah5,k arena
vari
abelk,dida l
amf ung sima i
n()bers
if
atlokal.

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
8di
at
asa
dal
ah:

Gambar 9.8. Ha
silCon
toh
-8

9.5. Fungsi inline


Fung s
iinlie(inline function )di
n gunak
a nuntukme ngurangilambat
ny a
eksekusipr
og r
am danme mperc
e pa
te kse
k usiprogr
amt erut
amapa dap r
ogramya ng
seri
ng me nggunakana ta
u me ma n
gg ilfung siyang berl
ebi
h .terutama prog
ra m-
programy a
n gme nggunakanpernyataanpe r
ulanganpr
os esseper
tifor,wh i
ledando
– wh i
le.Inli
nef uncti
ondi de
klara
s i
kande ngan menambahk a
nk at
ak un
ciinline
didepanti
peda t
a.

Ti
m Pe
nyus
unKomi
siMI 12
9
Modul Algoritma Pemrograman I
Contoh-9 /
*- ---
---
---
---
---
------
---
-*/
/*Pe nggunaaninli
def uncti
on*
/
/*----
----
---
---
----
----
----*/
#incl
ude <coni
o.h>
#incl
ude <st
dio.
h >
#incl
ude <i
ostre
am. h>
inli
nei n
tk al
i(
inti,intj)
{
retur
n(i*j);
}
ma i
n()
{
intk;
clrs
cr();
for(
k=1;k<2 0;k ++)
cout<<k al
i(
k,k*2) <<"" ;
getch();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
9di
at
asa
dal
ah:

Gambar 9.9. Ha
silCon
toh
-9

Contoh-10 /*--
---
---
---
---
---
---
---
---*
/
/*Penggunaaninl
idefunct
ion*
/
/*--
---
---
---
---
---
---
---
---*
/
#in
clude<coni
o.h>
#in
clude<st
dio.
h>
#in
clude<i
ostre
am.h>

i
nli
nes
tat
icv
oidc
plus
plus
()
{

c
out<<"
Pemr
ogra
mmanC++\n"
;
c
out<<"
C++Prog
rammi
ng,"
;
}
i
ntmain
()
{
{
c
out<<"KamiSe
dan
gBe
laj
ar,"
;
c
plus
plus
();

Ti
m Pe
nyus
unKomi
siMI 13
0
Modul Algoritma Pemrograman I
c
out<<"Seda ngKa miPel
a j
ari
.\
n\n";
}
{
c
out<<"Ma riBe l
aja
r,";
c
plus
plus
();
c
out<<"Muda hUn t
ukDipelaj
ari
.\n\
n";
}
{
c
out<<"Jik
aSuda hMe n
ge r
ti
,";
c
plus
plus
();
c
out<<"Berar t
iSudahAn daKuasa i
";
}
g
etch
e();
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
10di
at
asa
dal
ah:

Gambar 9.10. Ha
silCon
toh
-10

10.6. Function Overloading


Funct
ion Ov e
rloading adalah me ndefi
nisika
n beberapa fungsi
,s e
hingga
memil
ikinamay angsa mat eta
pide nganpa ra
me teryangberbeda.Da patdi
art
ika
n
ba
hwaf ungsiyangov erl
oa dbe r
artime nyedi
a ka
nv e
rsila
inda r
if ungsite
rse
but.
Sa
lahsat
uk e
lebi
handa riC++a dalahOv erl
oading.s
Se
bagaicont
ohme mben t
ukf ungsiy a
n gsamade ngnati
pey angbe r
beda-be
dadan
di
buat
kanpulanamafung siyangbe rbeda-
bedapul a.

Contoh-11 s/*---
---
---
---
---
--
---
---
---
---
--*/
/*Penggunaanfunct
ionoverl
oadi
ng*
/
/*--
---
---
---
---
---
---
---
---
---
--*/
#in
clude<coni
o.h>
#in
clude<st
dio.
h>
#in
clude<i
ostre
am.h>

Ti
m Pe
nyus
unKomi
siMI 13
1
Modul Algoritma Pemrograman I
i
nthit
ung(i
ntb);
l
onghitung
(longc)
;
f
loathi
tung(
floa
td);

v
oidma i
n()
{
c
lrs
cr();
c
out<<"Ha s
il
nyaFungs
iov
erl
oad-
1:"
;
c
out<<hi
tung(4)
<<en
dl;
c
out<<"Ha s
il
nyaFungs
iov
erl
oad-
2:"
;
c
out<<hi
tung(2)
<<en
dl;
c
out<<"Ha s
il
nyaFungs
iov
erl
oad-
3:"
;
c
out<<hi
tung(3)
<<en
dl;
ge
tch()
;
}

i
nthi
tung(i
ntb)
{
re
turn(
b*b);
}

l
onghi
tung(l
ongc
)
{
re
tur
n(c*
c);
}

d
oublehit
ung(
doubl
ed)
{
re
turn
(d*d)
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
11di
at
asa
dal
ah:

Gambar 9.11. Ha
silCon
toh
-11

Ti
m Pe
nyus
unKomi
siMI 13
2
Modul Algoritma Pemrograman I

9.7. Latihan
1.Buatl
ahprog r
am unt
ukme nghitungbesarnyadiskonyang diber
ika
na t
asbes
any
a
sej
umlahpe mbeli
an,den
ga nketentuansebagaiberi
kut:
-Ji
k abel
an j
adibawahRp. 1,
00 0,
00 0,ma k
atidakme ndapa
tdis
kon.
-Jikabel
a njadimul
aidariRp.1, 000,000,sa mpaidenganRp.5.000.
000,mak
a
me nda
pa tdis
konsebes
ar2 0%.
-Ji
k abel
an j
adiat
asRp.5.000.000, mak
ame n
da patdi
skonsebe
sar35%.

Fung
siyangh
arusdi
bua
tpotong() un
tukmen
ghi
tungbesarpot
ong
any
anga
kan
di
beri
kan
.Denga
ntampi
la
nya ngdiingi
nka
nse
bag
a ibe
rik
ut:

Program Hitung Potongan.


Besarpembeli
a nbarangRp.……….<dii n
put>
Besardi
skony angdiberi
kanRp. ………<h as
ilpr
ose
s>
Besarhar
gay angh a
rusdibay a
rka
nRp.………<h asi
lpr
ose
s>

2. Buatl
ahpr og r
a muntukme nghit
ungk onv ers
idari
de r
ajatfa
hre
n hei
tkecelc
ius
Petunjuk :
Ø Gun ak anFun ct
ionOv er
loading.
Ø Bua tl
a h3 ( t
iga)bua hfung s
iun tukdi over
loadi
ng ,denganv a
ria
beluntuk
masi
ng -
ma si
ngf ungs
iberbeda-
be da .
•Un tukf ungs
ipe rt
amav ar
iabelya ngdiguna
k a
na dala
hdo ubl
e
•Un tukf ungs
ipe rt
amav ar
iabelya ngdiguna
k a
na dala
hfloat
•Un tukf ungs
ipe rt
amav ar
iabelya ngdiguna
k a
na dala
hintege
r
Ø Rumusk onvers
iy angdigunakana dala
h

c = (f - 32.0) * 5 / 9;
Con toh:
Jikan il
a iFah renh eit=10
0
c = (100 - 32) * 5 / 9;
c = (68) * 5 / 9;
c = 37,7778

Hasilkeluara
ny a ngdiing i
nkan:
Pemanggilan dengan tipe data double
Proses dengan tipe data double
100 sama dengan 37.7778

Pemanggilan dengan tipe data float


Proses dengan tipe data float
100 sama dengan 37.7778
Pemanggilan dengan tipe data integer
Proses dengan tipe data integer
100 sama dengan 37

Ti
m Pe
nyus
unKomi
siMI 13
3
Modul Algoritma Pemrograman I

3. Buat
la
hprogramun
tukmeng
hit
ungjuml
ahpemba
yaranpa
dape
rpus
tak
aan
"Ke
cil
-Ke
c i
lan"
.Mempun
yaike
ten
tuans
ebag
aiber
ikut
:

KodeJ
eni
sBuk
u Je
nisBuk
u Ta
rifBuku
C Cer
Pen(Kumpul
anCer
it
aPe
nde
k) 5 00
K Komik 7 00
N Novel 1000

Pe
tun
jukPros
es:
•Buat
lahFungs
iTari
funtukmen
ent
uka
nte
rifpe
nye
waa
n
•GunakanPe
rnyat
aanIf–Els
e

Ta
mpi
la
nMa
suk
any
angdi
ingi
nka
n:

Perpustakaan " .Kecil-Kecilan".


----------------------------
Nama Penyewa Buku : .... <di i
nput
>
Kode Buku [C/K/N] : .... <di i
nput
>
Banyak Pinjam : .... <di i
nput>

Ta
mpi
la
nKe
lua
rany
angdi
ingi
nka
n:

Tarif Sewa Rp. .... <has


ilpros
es>
Jenis Buku : ...... <h
asi
lprose
s>
Penyewa dengan Nama ..... <h as
ilpr
ose
s>
Jumlah Bayar Penyewaan Sebesar Rp. ..... <h
asi
lpr
ose
s>

Ti
m Pe
nyus
unKomi
siMI 13
4
Modul Algoritma Pemrograman I BORLAND C++

Structure 10
Str
ukt
urdigunak a
nun tukmengelompoka
ns e
jumla
hdatayangme mpunyai
ti
pe dat
ay ang berbeda. Vari
abel
-var
iabelyang memben
tuk s
e bua
hs tr
ukt
ur
di
namakane l
emens t
ruktur
.St r
uktur sama s
eper
tiRecor
d dida la
m Ba ha
sa
Pemrog
ramanPas
c a
l

100.1. Deklarasi Structure


St
ruc
tur
eda
patde
kla
ras
ika
nse
per
tibe
rik
ut:
struct nama_tipe_struktur
{
elemen_struktur;
.....
.....
};

Atau

struct
{
elemen_struktur;
.....
.....
} nama_tipe_struktur;

Contoh struct mahasiswa struct


Deklarasi { {
char nim[5]; char nim[5];
char nama[15]; atau char nama[15];
float nilai; float nilai;
}; }mahasiswa;

Hal yang perlu di perhatikan :


•Pe nulisa
nn ama St r
ucturej ik a mengikutibentuk umum pe r
tama,
pe nggunaann amas tr
uc t
ure -nyat i
dak bisal ang
sung diguna k
an,
ka r
e n
as ecaraot omati
sme nj
a disebuaht i
peda t
a.Danpenggunaannya
ha r
usme ngg una kanobj ek/
n amav aria
be lyang menggunaka
nda r
i
na mas t
ructurei tusen
di r
i
• Pe nuli
sann amaSt r
ucturede ng anme ngikut
ibentukumum kedua,
ma kape nggun aa nnamas tr
uc t
ure-ny
abi sala
ng s
ungdiapli
kasi
kan.

Ti
m Pe
nyus
unKomi
siMI 13
5
Modul Algoritma Pemrograman I
Contoh-1a /*----
---
---
---
---
---
---
---
--
-*/
/*Progr
am Penggunaanstr
uct
ure*
/
/*NamaFi l
e:s t
ruct
1.cpp*/
/*--
---
---
---
---
---
---
---
---
--*/
#in
clude<st
dio.
h>

#i
ncl
ude
<coni
o.h
>
#i
ncl
ude
<ios
tr
eam.h
>

mai
n()
{
s
truc
t
{
charni
m[5];
charna
ma [
15];
}ma has
iswa;

cl
rs
cr()
;
co
ut<<"
ma sukanNI M =";
ci
n>>mahasis
wa .ni
m;
co
ut<<"
ma sukanNa ma=" ;
ci
n>>mahasis
wa .nama;
co
ut<<"
ma sukanNi la
iAkhir=";
ci
n>>mahasis
wa .ni
lai
;
co
ut<<"\
n\nDataYa ngdiInput
kanadal
ah:\n\n";
co
ut<<"
NI M =" <<ma ha
sis
wa .
nim<<endl
;
co
ut<<"
Na ma=" <<ma h
asi
swa.nama<<endl
;
co
ut<<"
NilaiAkh ir="<<ma ha
siswa
.ni
lai
<<en dl
;
ge
tch()
;
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
1di
at
asa
dal
ah:

Gambar 10.1. Ha
silCon
toh1b

Bandingkanlah Contoh-1a dengan Contoh-1b berikut ini.


Adakah perbedaannya ?

Ti
m Pe
nyus
unKomi
siMI 13
6
Modul Algoritma Pemrograman I
Contoh-1b /*--
---
-- -
-----
---
---
---
---
---*/
/*Program Pe nggunaanstr
uct
ure*
/
/*NamaFi le:str
uct2.
cpp* /
/*--
---
--------
---
---
---
---
---*/
#in
clude <conio.h
>
#in
clude <stdi
o.h>
#in
clude <iost
ream.h>
main()
{
str
uc tda t
a
{
charn i
m[ 10],
nama[15];
i
ntn ila
i;
};

cl
rs
cr();
dat
ama has
iswa;
co
ut<<"masukanNI M :";
c i
n>>ma hasi
swa.nim;
co
ut<<"masukanNAMA:" ;ci
n>>ma hasis
wa .
nama ;
co
ut<<"masukanNI LAIAKHI R:" ;cin>>ma ha
siswa.ni
la
i;
co
ut<<"\
n\nDa t
ay angAn daInput
ka nAda l
ah:"<<e ndl
<<endl
;
co
ut<<"NIM :"<<ma has
iswa.nim<<e n
dl;
co
ut<<"NAMA:" <<ma h
as i
swa.na
ma <<e n
dl;
co
ut<<"NILAIAKHI R:"<<ma hasi
swa .
nil
ai<<endl;
ge
tch();
}
Out
puty
angakandi
hasil
kan,daripr
og r
amc ontoh-2diat
asadalah:

Gambar 10.1b. Ha
silCon
toh1b

Ti
m Pe
nyus
unKomi
siMI 13
7
Modul Algoritma Pemrograman I

10.2. Structure dengan Array dan Function


Pe
nggun
aanArr
ays e
ringdika
itk
andenganSt
ruc
tur
e,s
ehi
ngg
ame
mbe
ntuk
Ar
raydar
iSt
ruct
ure
.Be
rik
utbe n
tukdekl
ara
sia
rra
ystr
ukt
ur:
struct
{
elemen_struktur ;
…………………. ;
} nama_tipe_struktur[jml_index];

Sua
tuelemen-e
lemendarisua
tuStrukturdapatdiki
ri
mkank edala
ms ua
tu
fun
cti
onde nga
nc ar
ay angsamasepert
ime ngir
imkansuatuvar
iabe
lsederha
nak e
dal
ams uat
ufunct
ion
.
Beri
kutcont
ohseder
hanayangandadapatl
ihatpadacont
ohprogr
ambe r
ikut
:

Contoh-2 /*----
---
----
---
---
---
---
---
---
---
---
---
---
-*/
/*Progr
am Pe nggunaanst
ruct
urepadafunc
ti
on*
/
/*NamaFi le:str
uct4.
cpp* /
/*--
---
---
-----
---
---
---
---
---
--
---
---
---
---*/
#in
clude<stdi
o.h>
#in
clude<conio.h
>
#in
clude<iost
ream.h>

c
hark
et(
fl
oatn
);

mai
n()
{
i
nti;
st
ruct
{
charni
m[5];
charnama[
15];
fl
oatnil
ai
;
}mh s[
5];

c
lrs
cr();
f
or(
i=1;i
<2;i++)
{
cout
<<"DataKe-"<<i++<<endl;
cout
<<"masuka
nNI M =";cin>>mh s
[i
].
nim;
cout
<<"masuka
nNa ma=" ;cin>>mhs[i
].
nama;
cout
<<"masuka
nNilaiAkhir=" ;c
in>>mhs[i
].
nil
ai
;
cout
<<endl
;
}
c
lrs
cr();
f
or(
i=1;i
<2;i++)
{
cout
<<"DataKe-"<<i++<<endl;
cout
<<"NIM ="<<mh s
[i]
.ni
m<<e ndl
;

Ti
m Pe
nyus
unKomi
siMI 13
8
Modul Algoritma Pemrograman I
c
out
<<"
Nama=" <<mhs[i
].
nama <<en
dl;
c
out
<<"
Nil
aiAkhir="<<mh s
[i
].ni
la
i<<endl
;
c
out
<<"
Keter
ang
any an
gdidapat=";
c
out
<<k
et(
mhs[i
].
nil
ai
)<<endl
;
c
out
<<e
ndl
;
}
g
etc
h()
;
}

c
hark
et(
fl
oatn
)
{

i
f(
n>6 5)
ret
urn'
L';
el
se
ret
urn'
G';
}

Out
puty
anga
kandi
has
il
kan
,da
ripr
ogr
amc
ont
oh-
2di
at
asa
dal
ah:

Gambar 10.2. Ha
silCon
toh2

10.3. Latihan
Kerj
akantug as-tug asdibawa hinisesuaide n g
a npetunj
ukdanket
ent
uanpe
nger
jaa
n
ya
ngt e
lahdi berika n:
1.Bua t
lah pr og ram un tuk me nghit
ung ni l
a iHas i
ldarini
laiUTS,UAS dan
me nampi l
k ann ila
ih urufyanga k
a ndida pat.
Ke t
entuan:
Ø Ma sukanba nyakda t
ay angdiinginka nun t
ukme ne
ntuk
anbanya
kdatayan
g
akandi pros es
.
Ø Buatlahs ebua hfun ct
ionuntukme n ghitungnila
iHasi
l
Nil
a iHa sil=( NilaiUAS*4 0%)+( NilaiUTS*6 0%)
•JikaNi la iHuruf=A,ma kaNi l
aiHa sil>=80
•JikaNi la iHuruf=B, ma kaNi l
aiHa sil>=70
•JikaNi la iHuruf=C, ma kaNi l
aiHa sil>=56
•JikaNi la iHuruf=D,ma kaNi l
aiHa sil>=47
•JikaNi la iHuruf=E, ma kaNi l
aiHa s
il<4 7

Ti
m Pe
nyus
unKomi
siMI 13
9
Modul Algoritma Pemrograman I
Ø Ta
mpi
la
nakh
ira
dal
ahs
ebua
hta
bel
,se
per
tidi
bawa
hin
i:

2
.Buatl
ahpr ogramun t
ukme nghit
ungh onorpegawaihon orerdarisua t
uperusah
aan
denga
nme nghit
ungk elebihanjumlahjamk erj
ape gawa iter
sebut.Hon orhari
an
pega
wa ihonorersebesarRp .15000
Kete
ntuan:
Ø Ma sukanbanya kdatay angdiingi
nkanun t
ukme n
e ntukanba nyakdatayang
akandiproses.
Ø Bua t
lahsebuahfunc t
ionun t
ukme nghit
ungh onorlembur
Kete
ntuanl e
mburdi hit
un gda r
ik e
lebi
h a
nj a
mk er
jape gawa ite
se but.J
amk erj
a
nor
ma lpegawaisebanya k8j am
•Ji
kajuml ahjamk e
rjalebihda r
i8j am,ma kak ele
bih anjamk erj
adi k
ali
kan
Rp. 5000+Hon orha r
ian
•Ji
kaj umlahj amk erjah anya8j a
mt i
dakme n dapath onorl embur,h a
nya
me ndapathonorharians aj
a.

Ti
m Pe
nyus
unKomi
siMI 14
0
Modul Algoritma Pemrograman I

BORLAND
Class untuk C++

Object Oriented
Programming (OOP) 11
11.1. Pengertian OOP
ObjectOrie
nte
dPr ogr
ammi nga t
auy anglebihdikenaldenga
nOOPa dala
h
pemrogramany a
ngme nit
ikbe
rat
ka nkepadaobjek-obj
ekun t
ukme nyel
esai
kant ugas
ata
up rosesda r
iprogramt e
rsebut.Sedangkan penit
ikber
atka
ni nidimaksudk a
n
adanyainte
raksipengi
ri
ma nn i
lai
,pe sa
na t
aupe rnyataanantarobje
k.Ke mu dia
n
objekyangme res
ponh a
sildar
iintera
ksiter
sebutak a
nme mbe nt
uksuatut i
nda ka
n
ata
ua ks
i(methode)
.

Class
Calss me
rupa
kangambar
anatauabs
tra
ksik
a r
akt
erdansif
atda
ris
uat
uobj
ek.Class
j
ug adapatmen
def
ini
si
kanci
ridanper
il
akuobj
ekter
sebut
.

Object
Object (o
bjek)ada l
ahsuat
uda t
aatauenti
ta
sy a
ngbe rwuj udma upuntida
kbe r
wujud,
me milikisifat( kar
akt
eri
sti
k)t e
rten
tus esua
ide n ga nk ondis
ia t
a us t
at
us dari
penggun aannya.Da t
aata
ue nt
it
asdida l
am pemrograma nda patdi
sebutdenganbl
ok
fungsi
.
Con t
ohpe nsi
la dal
ahsuatuobjekyangme mili
k iattribute (kar
akt
er)jeni
s,wa r
na,
panja
ngda nlai
n -l
ain
.

Methode
Metodame rupaka
nt at
ac araobje
kt er
sebutdipe
rla
kukan
,a t
aupen
gguna
anat
au
manfaatda
riobje
kt e
rse
but.
Pens
iljugame mil
ikimethode (
per
il
aku)seper
tidir
unci
ngkan
,dig
unaka
ndanl
ain
-
l
ain.

11.1.1 Keuntungan Penggunaan OOP


Adapunk eunt
unganatauma nfaatdaripen
gg unaanOOPa dal
ah:
1.Natural
OOPda patmelakukanpe ndekatanter
ha dapobje
ky angme ngg a
mbarkansegal
a
se
s uat
uy ang nyata,sepe r
tisifa
ts uat
u be ndama upun ke
g unaan da
ribe n
da
t
ersebut.
2.Mo dular
Obj e
ky angsudahdi be
n tukda patdikelompokkankembalide nganobjek-
obje
k
yangl a
in,se
pert
ik el
omp oka la
ttulisyangdapatdik
elompokka nkembalideng
an
kelompokpe n
sil
,kelompokbuk udanlain-l
ain
.

Ti
m Pe
nyus
unKomi
siMI 14
1
Modul Algoritma Pemrograman I
3
.Mu dahdiperbahar
ui
Dikarenakansifa
tjangk aua
nda riobjekme mil
ikibagi
anprivate danpublic,maka
ji
kaba gianprivate i
n gindigunakanpa dao bjek-
objekl ainda pa
tdiperbahar
ui
denganme nempa t
kanobj eklai
nt er
sebutdibagianpublic.
4
.Da patdidaurulang
Suatuo bj
eky angtelahdi def
inis
ikanba i
kj eni
s,ben tuk,cirimaupunpe r
il
aku
dapatdidefi
n i
si
kanke mba l
ide nganobjeky a
ngl ai
n.Mi s
alkanobjekruma hyang
me mil
ikiciriumum a dapin t
unya,jendela
nya,atapnya,temb oknyadanlian-l
ain,
dapatdidef
inisi
kank e
mba l
icir
i-ci
rit
ersebutdenganme ny e
butkanciri
nyama si
ng-
ma s
ings epertitembok nyay ang me mili
kic i
rijenisnya,k ete
balan
nya,wa r
na
cat
nyada nlain-l
ain.

11.1.2 Tata Cara Penggunaan Pemrograman Berbasis


Obyek:
1.Fungs
ida ndat
ame nj
adisat
ukesat
uanyangdis
ebutoby
ek
2.Obyek-obyekdal
am OOPbe rs
if
atakt
if
3.Car
apa n
dang:pr og
ramb ukanurut
-ur
utanins
truk
sita
pidise
les
aik
anol
eh
oby
ek-obyekyangbekerj
asamaunt
ukme nyel
esa
ikanmasal
ah

Bentuk umum dari kelas:

c
lasscl
ass
_n ame
{
pri
vat
e:
dat
ae l
emen
t_c
las
s;
method;

publ
ic
:c
da
tae l
ement_cl
ass
;
met
hod;
pr
otypefuncti
on;
};
Obje
ctDeclar
ati
on;

Con
tohde
kla
ras
i:
Nama class

cl
assmotor
{
charmer
k[50]
;
fl
oathar
ga; Nama Anggota Data
intst
ok;
};
motors
port
;

Pendefinisian Objek

Ti
m Pe
nyus
unKomi
siMI 14
2
Modul Algoritma Pemrograman I

Per
nyat
aandia t
asdigunakanun t
ukme ndef i
nis
ikanv ar
iabelberna
mas port
.
PadaC++v a
ria
belse per
tisport ber
kedudukans ebagaivari
abelk e
lasyangbiasa
di
s ebutdenga
nobjek.
Padas ebuahkela
s,it
e m-i
tem dida l
amnyabi sabe rsi
fatpriv
atea t
aupu bl
ic.Sec
ara
default
,semuait
em di dal
amk el
a sber
sif
atprivate. Ja
ditanpame nul
iska
nka tak
unci
private,se
muaitemdida lamk e
lassudahprivat
e.

A. Public pada kelas


Public(public)me nya t
akanbahwade
kla
ras
iva
ria
bela
taui
te
m-i
te
mya
nga
dadi
dalamk elasdapa tdiaksesdar
ilua
rke
las
.

Contoh-1 //
Pengguna
anpublicpa
dac
las
s
#in
clude<i
ostr
eam.h>
#in
clude<con
io.h
>

g
aris
()
{
cout
<<"
==============================\
n";
}

c
lasssis
wa
{
publi
c:
c
h a
rn i
s[9]
,na
ma[
20]
;
f
loatnil
ai;
}
;

main()
{
clr
scr();
si
swas ekolah;
garis
();cout<<endl;
cout<<"\
tPr ogram Ni l
aiSiswa "<<endl
<<" \
t--
- -
----
-----
---
---"
<<e ndl;
cout<<"Inp utNIS =" ;
cin>>sekol
a h
.nis
;
cout<<"Inp utNa maSi swa=" ;ci
n>>sekolah.n
ama ;
cout<<"Inp utNilaiAkh ir=";cin>>sekola
h.nil
ai;
clr
scr();
garis
();cout<<endl;
cout<<"\
tNi laiSiswa"<<e ndl
<<" \
t--
- -
----
----"
<<e ndl<<endl
<<"NI S =" <<sekolah.ni
s<<endl
<<"Na maSi swa=" <<s ekolah.
nama<<e ndl
<<"Ni l
a iAkh ir=" <<sekolah.ni
lai
<<e n
dl;
garis
();
getch();
}

Ti
m Pe
nyus
unKomi
siMI 14
3
Modul Algoritma Pemrograman I
Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
1dia
tasa
dal
ah:

Gambar 11.1 Ha
silCon
toh
-1(
Lay
arI
nput
)

Gambar 11.2 Ha
silCon
toh
-1(
Lay
arOut
put
)

B. Private pada Kelas


Privatedigunakanpa dakelasunt
ukmemprot
eksia
ngg
ota
-ang
got
ate
rte
ntun
yaa
gar
ti
da kdapa tdia
ksesda ril
uarkel
asse
car
ala
n g
sung.

Contoh-2 //
Pengguna
anprivat
epadac
las
s
#in
clude<coni
o.h>
#in
clude<i
ostre
am.h>
#defi
nepi3.1
4

c
lassta bung
{
private:
i
n tj,
t;
f
loa tv,k;
publ i
c:
t
ab un g();
voidk eluar
an()
;
}
;

v
oidma i
n()
{
cl
rscr
();
ta
bungs;
s.
kel
uaran
();
get
ch();
}

Ti
m Pe
nyus
unKomi
siMI 14
4
Modul Algoritma Pemrograman I
t
abung: :t
abung()
{
c
out<<" \
nMe nghi
tungTa bung"<<e ndl
<<"- ---
---
---
---
---
-"<<endl<<e ndl;
cout<<"Ma s
uk a
nJ a
ri-j
ari=" ;
cin>>j;
cout<<"Ma s
uk a
nTi nggi =" ;ci
n >>t;
v=(pi*j*
j)*t;
k=(2*(pi*2*j
))+t;
}

v
oidta
bung::kel
uar
an()
{
c
out
<<endl
<<"VolumeTa bun
g =" <<v<<e
ndl
<<"Ke l
il
ingTabung ="
<<k<<en
dl;
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
2dia
tasa
dal
ah:

Gambar 11.3 Ha
silCon
toh
-2

11.2. Konstruktor
Konst
ruk t constructor)me
or( r
upakansuat
ufun g
sidar
ianggot
asuat
ukel
as
ya
ngme mil
ikinamay a n
gs amade ngannamak e
lasf
ungsii
tubera
da.
Kons
truktori
n idigunakanun tukmengal
okasi
kanruangunt
uksuatuobj
ekdanun
tuk
memberikannilaiawal.

Beri
kutcontohpe n
dek
lar
asi
ansua
tukonst
rukt
ordida
lams
ebua
hke
las
:
cl
asshit
ung
{
priv
ate:
i
nta;
i
ntb;
publ
ic:
i
ntinta();
i
ntintb();
hi
tung(in
tmudah)
;//
dek
lar
asicon
struc
tor
};

Ti
m Pe
nyus
unKomi
siMI 14
5
Modul Algoritma Pemrograman I
Contoh-3 //
Kon s
truk
tor
#in
clude<coni
o.h>
#in
clude<ios
tre
am.h>

c
las
sbil
ang
an
{
pri
vat
e:

intb ula
t;
dou bleny ata
;
publ ic:
bilangan() ;/
/kon st
ruktor
voi dinfo();
};
voidma i
n()
{
clrscr();
bilang ana ;
a.i
n fo();
bilang anb;
b.info();
getch ();
}
bilang an::bilangan ()
{
cout <<"\nKon st
ruk t
ordijal
ankan..
."<<e
ndl
;
bulat=5. 2;
n y
a t
a=3 .6;
}
voidbi la
nga n::info()
{
c
o ut<<"\nJ enisBi l
angan:"<<endl
<<"Bul at=" <<b ulat
<<endl
<<"Ny a
ta=" <<ny a
ta<<endl
;
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
3dia
tasa
dal
ah:

Gambar 11.4 Ha
silCon
toh
-3

Ti
m Pe
nyus
unKomi
siMI 14
6
Modul Algoritma Pemrograman I

11.3. Destruktor
Destr
uktormer
upaka
ns uat
ufungs
ia ng
g ot
ayangdij
ala
nkans
eca
raot
omati
s
ma
nak
alasuat
uobjekaka
nterbeba
sdar
ime morikar
enal
ingkupke
ber
ada
anny
ate
lah
me
nyel
esa
ikantuga
sny
a.

Destr
ukt
orh a
rusme mpunyainamayan
gs amadengankel
asda ndia
wali
kar
akt
ert
ilde
(~)at
aukara
ktert
akter
hingga
.
Destr
ukt
ordigunaka
ns eca
rakh us
usmanak
alasuat
uobjekme ngg
unaka
n
memoridinamissel
ama keber
adaanny
a dankemudi
an mele
pas
kan memoriit
u
se
tel
ahti
dakme ng
gunak
annyalagi
.

Contoh-4 //
Destruktor
#in
clude<c onio.
h>
#in
clude<i ost
ream.h>
#in
clude<s tr
ing.
h>
cl
assmot or
{
private:
char* merk;
fl
oatc c_mesin
;longha
rga
;

publi
c:
motor
(char*na
ma ,f
loa
tcc
,lon
ghr
g);
//
kon
str
ukt
or
~motor
();
//
dest
rukt
or
voi
dk e
tera
ngan();
}
;

v
oidma in()
{
clr
scr()
;
motorsport
("HondaCBR",
500,
30500000);
motorma t
ic("
HondaVari
o",
125,
14500000);
sport
.ke
teran
gan();
ma t
ic
.kete
rangan
();
getc
h();
}

mot
or::motor
(cha
r*nama,f
loa
tcc,l
onghrg
)
{
me r
k=n ewchar
[25]
;/
/mer
ubahdat
akar
akt
erme
nja
dis
tri
ng
st
rcpy(
merk,
nama);
cc_mesi
n=cc;
harga
=hrg;
}

mot
or::~mot
or()
{
del
et
e[]me r
k;/
/meng
hapusme
mor
ika
rak
terp
dme
rk
}

Ti
m Pe
nyus
unKomi
siMI 14
7
Modul Algoritma Pemrograman I
v
oidmot
or:
:k e
ter
angan()
{
cout
<<"
\nI
nformasiMotor
:"
<<e
ndl

<<"Merk ="<<merk<<e
ndl
<<"CCMesi
n=" <<c
c_mesi
n <<endl
<<"Har
ga ="<<har
ga<<endl<<e
n dl
;
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
4dia
tasa
dal
ah:

Gambar 11.5 Ha
silCon
toh
-4

11.4. Array pada Kelas


Anggot
adaris
uat
uk e
lasda
patp
ulabe
rupaa
rra
y.Be
rik
uti
nic
ont
oha
ngg
ota
da
ris
uatuke
lasya
ngbe r
upaarr
ay.

Contoh-5 //
ClassdgArr
ay&Fun g
si
#in
clude<con
io.h
>
#in
clude<i
ostr
eam.h
>

c
las
sk er
ja
{
publi
c:
charnik[
10],
nm[25];
intj
am;d ou
bletot
al
;
fl
oatlembur(
intl
);
}
;

mai
n()
{
i
n tx,
y,
a=1,b=1;
doubl
egrand=0;
kerj
akary
[15];
cout
<<endl<<"J
uml
ahDa
ta:
";
cin
>>y
;

Ti
m Pe
nyus
unKomi
siMI 14
8
Modul Algoritma Pemrograman I
f
or(x=0;x<y ;x++)
{
cout<<en dl<<"Da taKe -:"<<a++<<e ndl;
cout<<"NI K :";
c i
n>>k ar
y [
x].nik
;
cout<<"Na maKa rya
wa n : "
;ci
n>>k ary[x]
.nm;
cout<<"J uml ahJam :";c
in>>k a
ry[x].
jam;
}
c
lrs
c r
();
g
otoxy(14, 3);
co ut
<<"Da ftarGajiMi ngguan\n"
;
g
otoxy(16, 4);
co ut
<<"Ka ryawa nHon orer\
n";
c
out<<"- ------
----
---
---
------
---
---
----
-----
---
---
---
--\
n"
<<"No.NI K Na ma Juml ah Upa h To t
al\
n"
<<" Karyawa n J am Le mburGa ji
\n"
<<"- -
--------
----
---
---
-------
---
---
---
-----
---
---
--\
n";
f
or(x=0;x<y ;x++)
{
gotoxy(3,wh erey()
);
cout <<b++<<" ."
;
gotoxy(7,wh erey()
);
cout <<kary[x].
nik;
gotoxy(15,wh erey()
);
c out<<kary[x].
nm;
gotoxy(30,wh erey()
);
c out<<kary[x].
jam;
gotoxy(36,wh erey()
);
c out<<kary[x].
lembur(kary[
x].
jam);
kary[x]
.total=(40*20000) +kary[
x].l
embur (ka
ry[x].
ja
m) ;
gotoxy(44,wh erey()
);
c out<<kary[x].
total
<<endl;
grand=gra nd+k ar
y[x]
.total;
}
c
out<<"- ------
----
---
---
------
---
---
----
-----
---
---
---
--\
n";
c
out<<"Tot alKe sel
uruha nKa r
yawa n: "
;
g
otoxy(44, wh erey
())
;cout<<g ra
nd<<e ndl;
g
etch();
}
f
loatk
erj
a::
le
mbu r
(i
ntl)
{
i
f(l
>40)
re
tur
n(l
-40)
*30000;
e
lse
re
tur
n0;
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
5dia
tasa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 14
9
Modul Algoritma Pemrograman I

Gambar 11.6 Ha
silCon
toh
-5(
Lay
arI
nput
)

Gambar 11.7 Ha
silCon
toh
-5(
Lay
arOut
put
)

11.5. Karakterisitk OOP


Dida l
am penggunaa
nk onseppemrogr
amanyangbe rba si
sobjeka t
auy ang
disebutObj ectOrient
ed Pemrograman( OOP),ha
rusl
ah me milik
ik a
rakt
eirst
ik.
Ada pun k ar
akte
ris
tikt e
rse
but adalah memil
ikisi
fatturun ana t
au pe waris
an
(Inheritance),sat
un amame mil
ikibanayaksif
atat
au perilaku( Polymorphism),
pe mbun gkusans if
at dariobjeky ang ber
be Encapsulation)
da ( .Be ri
kut a k
an
dijel
ask ank a
rakt
eri
sti
kOOPt erse
b ut
:

11.5.1. Inheritance
I
nh e
rit
anceme mung kink
a npr ogramme runtuk" menurunka n"s ebuahc la
ss
me nja
dic las
sl a
iny angl ebihs pes
ifikda nme mi
likifungsiyangl ebihk omplit.
I
n heri
tanceme r
epres
e n
tasi
k anhubun gan" sepe
rti
"atau"seje
nis"(a kind of)
.Seba ga
i
contoh,sebuahperah
umot oradalahsepertipera
hun amunde ngank ema mpua nlebih
,
yaknime mil
ikimotor.Con tohl ai
na dal
a hkendaraanjenismobi l( sebagaisuper
cla
s s
)da nme mil
ikit
ipesport(sebagaisubc l
ass)
,bil
adigabungme njadimobi lsport.
Keti
kakitame nurunkans ebuahc lassdariclas
sy anglain,c lassyangba ru
akanme wari
sisemuaa tt
ributeda nme t
hodda ricl
assya ngsudaha da.Classy ang

Ti
m Pe
nyus
unKomi
siMI 15
0
Modul Algoritma Pemrograman I
sudaha dadi s
ebutde nganbase class a tausuper class a ta uparent class da nc la
s s
yangba rudi sebutde nganderived class a t
a usubclass,a tauchild class.De nga n
in
h e
r i
tan ce,kit
ada patme nda urul angpr ogramk itaatauba hkanme nda urul ang
programor angla i
na garse suaide ng ank ebut uh ankita.
Ta npa i nherit
ance,k e las me r
upa k ans ebuah un i
ty ang be r
di ris en di
ri.
Inheri
tanc ea kanme mbe ntuks ua t
uk on sepdi ma najikak onsepy angdi a t
a sbe ruba h
ma k
ape ruba h
ana kanjugabe rlak upa day anga dadi bawah nya.In her
a tes ang atmi r
ip
denganh ubun ganor angt uade n
g a na na k.Ma n a
k al
as uatuk elasme n erimawa risan,
semuaa nggotada tada nf un gsij ugaa kan me neri
mawa risan,wa lalupun t ida k
semua ny aak a
nda patdiak sesol e ha ngg otaf un gsidarikelas.
Dida l
am C++pe nen t
ua na ksespa dainh erit
an ceadat i
gama cam,y a it
u:
1
.Pu blic
Pen entuana ksesberba sispu blicme ny eba bkana nggot ada r
ip ubl i
cda ris ebua h
kela sutamaa kanme njadia ng gotap ublick e l
asturuna nda nme ny eba bkanj ug a
ang gotaprot ectkel
asut a mame njadia ngg otaprotectk ela
stur unan ,na munun t
uk
ang gotak e
la sprivat
et etappa dapr ivatek elasuta ma.
2
.Pr iv at
e
Pen entua ks e
sbe rbasispr ivateme ny ebabk ana nggotada ria ngg otapu blicda ri
kela sutamaa kanme n j
a dia ng gotapr otectk elastur unan,da nme nyeba bka n
ang gotada rik ela
sut amame n jadia ng gotapr otectke lasturun a
n ,n amunun t
uk
ang gotak e
la sprivat
et etappa dapr ivatek elasuta ma.
3
.Pr ot ect
ed
Pen entua ksesbe rbasispr otec tme nyeba bk ana nggotada ria nggot apr otectda n
publ ic dar
ik elasut ama a k a n me njadia nggotapr i
va t
e da rik e
la st urun an.
Ang gotaprivateda r
ik elasut a mas elalume njadianggot apriva t
ek elasut ama .

Padawa kt
ume ndeklarasi
ka ns uat
uk elas
,andadapatmen
andaibahwas ua
tu
kel
asbera
salda rima na,y aitude nga ntandat i
ti
kdua(:)set
el
ahn a
mak e l
as,ti
pe
as
alny
abiasbe rupapu bli
ca tauya ngl ai
nny adandarik
e l
asmanaberas
al.Berik
ut
pen
uli
sansintaks
isnya:
Class kucing_besar : Public predator

Contoh-6 //
pen
guna
aninheri
tan
ce
#i
ncl
ude<ios
tre
am.h>
#i
ncl
ude<coni
o.h>

e
num KETURUNAN{PUMA,TUTUL,SI
NGA,MACAN}
;

c
lassPr e
dator
{
public:
//constr
uctors
Predator():
Usiany
a(10)
,Bob
otn
ya(
5){
}
~Preda t
or(){}

//
acc
ess
ors
i
ntUmurny
a()c
onst{
ret
urnUsi
anya
;}
v
oidSet
Umur(i
ntUmur){Usi
anya=Umur
;}

Ti
m Pe
nyus
unKomi
siMI 15
1
Modul Algoritma Pemrograman I
i
ntBer
atny
a()cons
t{ret
urnBobotny
a;}
v
oidSet
Berat
(i
ntBe
rat
){Bo bot
nya
=Be r
at;}

//met
hodl ai
nnya
voidMeraung()con
st{cout
<<"Mera
ung..
.sua
ra
Preda
tor
!\n";}
voidTid
ur ()con
st{c
out
<<"sss
hhh
… Preda
torTid
ur.
\n"
;}

pr
ote
cte
d:
i
ntUsia
ny a
;
i
ntBobotnya;
}
;

c
lassKuc ing_besar:pu
bli
cPredat
or
{
public
:
//
construct
ors
Kucing _bes
ar():Ketur
unannya(
SINGA){
}
~Kuc ing_bes
ar(){}

/
/Acce
ssor
s
KETURUNANDpt Ke
tur
una
n()c
ons
t{
re
tur
nKe t
urun
anny
a;}

v
oidsetKe
tur
una
n(KETURUNANk
etur
una
n){
Ket
uruna
nnya=ket
urun
an;}

/
/ot
hermeth
ods
v
oidMe l
ompat
(){co
ut<<"Melompat.
..
\n"
;}
v
oidBerbur
u(){c
out
<<"Berburu.
..i
ngi
nma k
an\
n";}

pr
iva
te:
KETURUNANKe
tur
una
nny
a;
}
;

i
ntma i
n()
{
Kucing _bes
arSibelang;
Sibelang.Mera
un g();
Sibelang.Be
rburu();
cout<<"UmurRa jaHutanada
lah
:"<<Si
bel
ang
.Umur
nya
();
cout<<"Ta hunUs ia
nya\n"
;
getc
h ();
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
6dia
tasa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 15
2
Modul Algoritma Pemrograman I

Gambar 11.7 Ha
silCon
toh
-6

11.5.2. Polymorphism
Polymorphisms a dalahk emampua n 2 bua h ob je
cty ang ber
beda untuk
mere s
ponpe sanpe rmi ntaanya ngs amada lams uat
uc arayangunik.Con t
oh,sa ya
melatihl umba -
lumbas a yadeng anpe ri
ntahun tukme loncatdanjugasayame latih
burungun tukme responpe ri
ntahs ayaun tukbe rkicau.Sa yalakuk
a nlat
ihanuntuk
mere s
ponk epadame rek adeng anpe ri
ntahl i
san.Me laluipoly
morph i
sms ayatah u
bahwaa njingda nb urun gakanme res
ponde nga ngon ggong anat
aukicauan.
De ng anc a ra da nk ema mpua ns epe r
tii ni,j eni
sa ksest er
tent
u da pat
dit
erapak ande nga
nbe rba g
aicar aolehobjek-objeky angme mil
ikit
ipeyangberbe da
at
aume mi li
kiba ny akbe nt
uk.Fun gsiv i
rtualme r
u pakanda s
arda ipolymorphism
r
yang be rkerja h any a de n
g an poi nter-
poi nte
r da n r ef
erensi dan h any a
men deklara s
ik a
nme thods ebagaivirt
ual.
Ada puna turanda riv i
rtualfunctionsebagaiber i
kut:
1.Vi rtua lfuncti
onh arusanggot acl
a s
s.
2.Ang g otac l
assb uka nanggot ayangbe r
s i
fatstat
is.
3.Ang g otac l
assda pat di
aksesde nganpoi nt
erobj ek.
4.Vi rtua lf unct
ion t i
da kda pa tme mil
ikivi rt
ua lc onstr
uct
or,akant et
apida pat
berupav irt
ualde st
ruc t
or.

Contoh-7 //
Pengguna
anPolymorph
ism
#in
clude<i
ostr
eam.h
>
#in
clude<con
io.h
>

c
lassHewa nPeli
har
aan
{
publ
ic:
voidl
uc u()
{
cout<<"Lucunyahewanpel
iha
raan"
<<endl;
}
vi
rt
ualvoidma kan()/
/an
ggotac
las
s
{
cout
<<"Ma kan.
..di
but
uhkanhe
wa npel
iha
raan"
<<e
ndl
;
}
}
;

Ti
m Pe
nyus
unKomi
siMI 15
3
Modul Algoritma Pemrograman I
c
las
sJina
k:p ubl
icHewa n
Peli
haraa
n
{
publ
ic:
voidl
ucu()
{
cout
<<"Luc udanJina
k"<<endl
;
}
vir
tua
lvoidma k
a n
()
{
cout
<<"Di ber
ima k
ana g
arji
nak"
<<e
ndl
;
}
}
;

c
lassKuc ing:publ
icJi
nak
{
public:
voidlucu()
{
cout
<<"Lucunyakuci
ng"<<en
dl;
}
vir
tualvoidmakan()
{
cout
<<"Ma k
a n
andibut
uhkanKuci
ng"
<<e
ndl
;
}
}
;

v
oidma i
n()
{
//
def
ini
siObj
ekJ
ina
kda
nKuc
ingpuma

Ji
nakj
ina
k;
Kuci
ngpuma;

/
/def
ini
sipoi
nte
rkeobj
ek
HewanPeli
har
aan*h
ewan;

h
ewan=&ji
n a
k;
h
ewan->l
ucu();
h
ewan->makan();
c
out
<<"---
----
---
---
---
---
---
---
---
-"<<e
ndl
;

he
wan=&puma ;
he
wan->l
ucu()
;
he
wan->makan
();
ge
tch
();
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
7dia
tasa
dal
ah:

Ti
m Pe
nyus
unKomi
siMI 15
4
Modul Algoritma Pemrograman I

Gambar 11.8 Ha
silCon
toh
-7

11.5.3. Encapsulation
Ci ripent
ingla innyada riOOPa dalahencapsulation.En c a
psulati
ona dal
ah
sebuahpr osesdima nat idaka daa ks
esl a
ng sungk eda tay angdi beri
kan,ba h
kan
hidden.J ikaingin me ndapatda ta,ma kah arusbe ri
nt
e r
a k
side ng an obj
eky ang
bertangg ungjawaba t
asda r
ate r
sebut
.Berikutcirr
ida riencapsulat
ion:
1.Va riabeldanme t
h odda la
ms uat
uoby e
kdi bun gkusag art
e r
li
ndun gi
2.Un tuk me ngakses,v ar
iabelda n method y angs udah dibungk ust a
dipe rl
u
interface
3.Se telahvar
iabeldanme thoddibungkus,haka ksesterhadapnyada patdit
entukan
.
4.Kon seppemb ungk usanin ipadada s
arnyame r
up a
ka npe r
luasanda riti
peda t
a
st
r uk t
ur
Duah a lda l
ame nkapsulasi:
1.I nfor mati
onhiding
2.Me nyediak
anpe ran t
ara(me t
hod)untukme ng
a ksesda t
a

Pa dai nti
nya,e ncapsulat
ion a dalah pemi sah
ana ntar
aba gian pri
vat
eda n
publicpa das ebuaho bjek .Atau,dapa tdipandan gsebagaipemisa
h ananta
rainte
rface
(bagianpr ivat
e)da nimpl e mentat
ion( bagianpu bli
c).
Obj ek-objekl ainy a
ng h en
dakbe ri
n t
erakside n g
anobj ekinia kanme ngir
imk a
n
sebuahpe san( message )da nobjeki nia kanme ngerj
akansesuat
uda nme ngir
imk a
n
pesanba likseba ga
ijawa banjikadiperluka n
.
Ke untungan ut ama da r
ie nca ps
ul at
ion tentus aj
aa dal
a h penyembunyia
n
impleme n ta
si( i
mpl e
me n t
ati
onh iding )
.De ngani mplementat
ionhiding,kit
ada pat
me mpe rbaikiba gaima n a objekk it
a be ke
rjat a
npa h ar
us khawa t
ir bagai
ma na
me nginforma sika
npe ruba hanter
s e
butk eo bjek-obje
ky anglain.Selamak i
tati
dak
me ruba hi nterf
ace da r
iobj ek kita,o bj
ek -
objeky a
n gl a
ina k antetap dapat
me nggunk anobj ekkita.
Contoh-8 //pen ggunaanen capsulati
on
#in clude<con i
o.h >
#in clude<iostr
e am.h>

c
lasss
atu_kandang
{
in
tkandang;
publ
ic:
voi
da t
ur(
intni
la
i);

Ti
m Pe
nyus
unKomi
siMI 15
5
Modul Algoritma Pemrograman I

i
nth
asi
l(
voi
d);
}
;

v
oidsat
u_k
andang::a
tur
(i
ntn
ila
i)
{
kan
dang=nil
ai;
}

i
ntsat
u_ka
nda
ng::h
asi
l(
voi
d)
{
re
turnk
anda
ng;
}

v
oidma i
n()
{
sat
u_kanda
ngaya
m1,a
yam2,a
yam3;
in
tbebek;
ayam1.a
tur
(5)
;
ayam2.a
tur
(7)
;
ayam3.a
tur
(2)
;
bebek
=20;

cout<<"Ni
la
ida
riay
am1ada
lah"
<<ayam1.
hasi
l(
)<<e
ndl
;
cout<<"Ni
la
ida
riay
am2ada
lah"
<<ayam2.
hasi
l(
)<<e
ndl
;
cout<<"Ni
la
ida
riay
am3ada
lah"
<<ayam3.
hasi
l(
)<<e
ndl
;
cout<<"Ni
la
ida
ribe
beka
dal
ah"<<be
bek<<en
dl;
getc
h ()
;
}

Out
puty
angdi
has
il
kanda
ripr
ogr
amc
ont
oh-
8dia
tasa
dal
ah:

Gambar 11.9 Ha
silCon
toh
-8

Ti
m Pe
nyus
unKomi
siMI 15
6
Modul Algoritma Pemrograman I

11.6 Latihan
Seora
n gma nageringindibuatkansebuahprogr
ampe rhi
tunga
ng a
jipegawa i
st
affhon orsederha
n a.Andas ebagaist
affprogr
a mmerharusmemb uat
kanprogr
a m
te
rsebut.
Adapunk et
e n
tuanpe rhit
ungang aj
ipegawaihonoreradal
ahsebaga
iberi
k ut:
Hon orerperhariyangditeri
mape gawaihonorerse
besarRp.25.000.J
amk er
ja
sel
a ma8J ams eti
aph ari
ny a
Jambe ker
jalebihda r
i8j a
m,ma kakele
bihanjam di
kali
kandenganhonor
l
emburpe rj
ams ebesarRp. 1.
5 00.
Petunjuk:Gun akank el
aspegawai.
Des ai
nma sukany angdiinginkanada l
ahsebagaiberi
kut

PT.Me
ria
ngGe
mbi
ra

Jumlah :………………. .
TanggalInput:………………. .
---
---
---
---
---
---
---
---
--
---
---
---
---
---
---
--
---
---
---
---
---
---
---
---
---
---
---
---
---
--
-
DataKe -
1
NamaPe gawa i :
…………………. .
JumlahJam Kerja : ………………J am

DataKe-2
NamaPe ga
wai :
…………………. .
JumlahJ
am Kerj
a : ………………J a
m
<ter
usmengul
angse
suaij
uml
ahpe
gawaiyan
gdi
input
kan
>

De
sai
nke
lua
rany
angdi
ingk
ink
ana
dal
ahs
eba
gaibe
rik
ut:

PT.Me
ria
ngGe
mbi
ra

Tanggal:………………. .
==========================================================
No. Na ma Honor Juml
ah Honor Tot
al
Pegawa
i J
am Kerj
a Le
mb ur Hon or
==========================================================
… ………………. . ………… ……………. . …………. .…………. .
… ………………. . ………… ……………. . …………. .…………. .
==========================================================
Tot
a lHonorPega
waiSe
besar …………. .

Ti
m Pe
nyus
unKomi
siMI 15
7
Modul Algoritma Pemrograman I

Studi Kasus Pra - UAS


Buatl
ahsebuahprogr
a mapli
kas
iber
tema
kanbis
nisse
caraber
kelompok.Adapunisi
progr
amy angdibuath a
rusmemuatmater
iUAS:Ar r
ay,kondis
i,loopi
ng,la
bel,
fungs
i,str
uct
ureda n Clas
s.Lalubuat
kan be
ntuk r
anca
ngannyas eper
ticont
oh
beri
kut:
Bentuk Menu Utama

Bentuk Input

Bentuk Output

Ti
m Pe
nyus
unKomi
siMI 15
8

Anda mungkin juga menyukai