ap ii 2016
Post on 13-Apr-2018
238 Views
Preview:
TRANSCRIPT
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 1/26
MODUL PRAKTIKUM ALGORITMA
DAN PEMROGRAMAN II
Tim Penyusun: Dosen
Teknik Informatika
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS
PALANGKARAYA
2016
1
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 2/26
TATA TERTIB DAN TATA LAKSANA PRAKTIKUM
TATA TERTIB
1. Praktikan A!IB mn!ik"ti #m"a m$%"& 'raktik"m.2. Praktikan (an)a *$&( ti%ak mn!ik"ti 'raktik"m " #sa t u $ k a%i
DEN G AN ATAU TA N P A SUR A T I & IN %ari +"m&a( 'rtm"an
'raktik"m.
,. Praktikan )an! *r(a&an!an mn!ik"ti 'raktik"m- %ia+i*kan m&a'$rkan
k %$#n 'raktik"m "nt"k mnnt"kan +a%a& 'raktik"m #*a!ai
'n!!anti +a%a& )an! *r(a&an!an.
/. Praktikan )an! &*i( %ari 1 #at" ka&i ti%ak mn!ik"ti 'raktik"m- ti%ak
%i'r*$&(kan "nt"k mn!ik"ti 'raktik"m "nt"k m$%"&m$%"& 'raktik"m
#&an+"tn)a %an NILAI AK'IR PRAKTIKUM a%a&a( NOL.3. Praktikan %i*rikan t$&ran#i akt" ktr&am*atan #&ama 13 mnit %an
ti%ak a%a 'nam*a(an akt" 'raktik"m.6. Ti%ak %i'r*$&(kan #a&in! *kr+a #ama.
4. 5i&aran! mn!!"nakan ka$# $*&$n! %an #n%a& #&ama 'raktik"m. a!i
)an! m&an!!ar '$in ini- ti%ak %i'r*$&(kan mn!ik"ti 'raktik"m.
TATA LAKSANA :1. S*&"m 'raktik"m %i m"&ai- #tia' 'raktik"m a+i* mn!"m'"&kan
LAPORAN 'ASIL PRAKTIKUM m$%"& #*&"mn)a.
2. Jika 'raktikan ti%ak m&ak#anakan Tata Lak#ana '$in 1- maka ti%ak
%i'r*$&(kan mn!ik"ti 'raktik"m.
,. Stia' m$%"& 'raktik"m- akan %i&ak"kan Pre(Test./. F$rmat &a'$ran m&i'"ti 7
La)oran 'asi% Praktikum :
• 8a&aman 5'an
• A I. T"+"an %an Lan%a#an T$ri
• A II. Lan!ka( Kr+a
• A III. Pm*a(a#an
• A IV. K#im'"&an
• A V. 5a9tar P"#taka
• A VI. Lam'iran disertai laporan rencana praktikum modul sebelumnya
3. F$rmat Pn"&i#an
• S'a#i 7 1-3
• F$nt 7 Tim# N R$man
• F$nt Si: 7 12
• Mar!in# 7 T$' ,- L9t /- Ri!(t ,- $tt$m ,
• Krta# 7 A/
2
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 3/26
6. Pni&aian La'$ran 8a#i& Praktik"m
• A I. T"+"an %an Lan%a#an T$ri Ni&ai 20
• A II. Lan!ka( Kr+a Ni&ai 10• A III. Pm*a(a#an Ni&ai /0
• A IV. K#im'"&an Ni&ai 13
• A V. 5a9tar P"#taka Ni&ai 3
• A VI. Lam'iran Ni&ai 10
Tota% "**
4. Praktikan )an! mn!a*aikan 9$rmat 'n"&i#an '$in 3- akan %ik"ran!i 3
#tia' k#a&a(an.
;. Pni&aian Ak(ir Praktik"m 7
• PrT#t 7 13 <
• Praktik"m 7 ,0 <
• La'$ran Praktik"m 7 20 <
• R#'$n#i 7 ,3 <
Tota% "** +
=. Pni&aian Ak(ir Mata K"&ia( A&!$ritma %an Pmr$!raman II 7• T"!a# 7 20 <
• UTS 7 ,0 < 30 <
• Praktik"m 7 30 <
• UAS 7 30 <
Ni&ai Ak(ir 7 100 <
3
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 4/26
/
MODUL I
DASAR PEMROGRAMAN BERORIENTASI OB!EK
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'"7
• mma(ami %a#ar%a#ar 'mr$!raman *r$rinta#i $*)k
• Mma(ami nka'#"&a#i
• mm*"at k&a# %an $*+k
II, DASAR TEORI
Pr*%aan 'mr$!raman tra%i#i$na& %an *r$rinta#i $*+k a%a&a( 'a%a
>ara mn&#aikan #"at" 'rma#a&a(an. Pa%a 'mr$!raman tra%i#i$na& %a&ammm>a(kan #"at" ma#a&a(- ma#a&a( akan %i*a!i mn+a%i 9"n!#i9"n!#i )an!
&*i( k>i&- #%an!kan 'a%a 'mr$!raman *r$rinta#i $*+k PO #tia'
ma#a&a( %i#&#aikan %n!an >ara %i*a!i k %a&am $*+k?$*+k.
Pa%a PO %i&ak"kan 'm*"n!k"#an %ata attri*"t# %an 9"n!#i *(a@i$r
k 'akt )an! %i#*"t k&a#. Attributes mr"'akan %ata )an! mn!!am*arkan
#tat"# intrna& #*"a( $*+k %an *ia#an)a mr"'akan member variablesB 'a%a
CDD- ti%ak %a'at %iak## %ari &"ar nka'#"&a#i- %an +"!a #*a!ai #tatB.
Methods mr"'akan 9"n!#i )an! mn!ak## #tat"# intrna& #*"a( $*+k %an
*ia#an)a mr"'akan member functionsB 'a%a CDD- %a'at %iak## %ari &"ar-
mmani'"&a#i atri*"t- %an %i#*"t +"!a *(a@i$rB. rik"t ini mr"'akan
!am*aran mn!nai $*+k.
K&a# C&a## tr%iri %ari m$%& $*+k )an! mmi&iki atri*"t %ata
mm*r# %an Behaviors member functions- %an Member functions )ait"
Methods )an! %i'an!!i& #*a!ai r#'$n# tr(a%a' '#an. K&a# %i%9ini#ikan
%n!an keyword -%ass,
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 5/26
M$% Ak## ak## )an! a%a 'a%a k&a# a%a ti!a )ait" private )an!
mr"'akan default m$% ak## %an %a'at %iak## $&( member functions- public
)an! %a'at %iak## $&( #tia' A>>##i*& 9"n!#i %a&am 'r$!ram- %an protected
)an! *ia#an)a %i!"nakan "nt"k 'ari#an .
F"n!#i Constructor mr"'akan member function k("#"# )an!
mn!ini#ia&i#a#i %ata mm*r# %an mmi&iki nama )an! #ama %n!an nama k&a#.
F"n!#i Constructor d i'an!!i& #aat mm*"at $*+k %ari k&a# %an ti%ak mmi&iki
ti' *a&ikan.
Member functions )an! %i%9ini#ikan %i &"ar k&a# %i&ak"kan %n!an
mn!!"nakan binary scope resolution operator :: )an! *r9"n!#i "nt"k
mn!ikatB nama 9"n!#i k nama k&a# %an mn!in%nti9ika#i 9"n!#i %ari #"at"
k&a# trtnt".
rik"t ini mr"'akan 9$rmat %ari member functions.
NilaiBalikan NamaKelas::NamaFungsi( ){…
}
Member functions )an! %i%9ini#ikan %i %a&am k&a# ti%ak mm*"t"(kan #>$'
r#$&"ti$n $'rat$r %an nama k&a#
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
#include<iostream.h>#include<conio.h>class Sepeda {public:Sepeda(int, int, int);
void mengubahPutaran(int);void mengubahGir(int);void mengerem();void tampiln!o();private:
int "ecepatan;
int putaran;
int gir;
;
Sepeda::Sepeda(int ", int p, int g){"ecepatan $ ";
putaran $ p;gir $ g;void Sepeda::mengubahPutaran(int p){putaran $ p;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 6/26
void Sepeda::mengubahGir(int g){gir $ g;void Sepeda::mengerem()
{cout<< %&ecepatan dan putaran ber"urang ...% ;void Sepeda::tampiln!o(){
cout<< %Gir : % << gir << endl << %&ecepatan : %<<"ecepatan<< endl << %Putaran : % << putaran << endl;
int main(){
Sepeda sepeda'(',,*), sepeda+(,'+,'),
sepeda*(*-,,-);
sepeda'.tampiln!o();sepeda+.tampiln!o();sepeda*.tampiln!o();
getch();
return ;
2. "at&a( 'r$!ram #'rti %i *aa( ini
#include<iostream.h>
#include<iomanip.h>#include<conio.h>
class /ime {public: /ime();void set/ime( int, int, int );
void print0niversal();
void printStandard();
private:
int hour;
int minute;
int second;
; /ime::/ime(){hour $ minute $ second $ ;void /ime::set/ime( int h, int m, int s ){
hour $ ( h >$ 11 h < + ) 2 h : ;
minute $ ( m >$ 11 m < ) 2 m : ;
second $ ( s >$ 11 s < ) 2 s : ;void /ime::print0niversal()
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 7/26
{cout<< set!ill( 33 ) << set4( + ) << hour << %:%
<<set4( + ) << minute << %:%<<set4( + ) << second;
void /ime::printStandard(){
cout << ( ( hour $$ 55 hour $$ '+ ) 2 '+ : hour 6 '+ )<< %:% <<set!ill( 33 ) << set4( + ) << minute<< %:% <<set4( + ) << second<<( hour< '+ 2 % 78% : % P8% );
int main(){
/ime t;
cout<< %/he initial universal time is %;
t.print0niversal();
cout<< %9n/he initial standard time is %;t.printStandard();
t.set/ime( '*, +, );
cout<< %9n9n0niversal time a!ter set/ime is %;t.print0niversal();
cout<< %9nStandard time a!ter set/ime is %;t.printStandard();
t.set/ime( , , );
cout<< %9n9n7!ter attempting invalid settings:%<< %9n0niversal time: %;t.print0niversal();
cout<< %9nStandard time: %;t.printStandard();cout<< endl;
getch();
return ;
,. "at&a( #*"a( 'r$!ram "nt"k mn!(it"n! @$&"m %an k&i&in! #*"a( k$tak-
%n!an r"m"# V 'an+an! G &*ar G tin!!i- %an K 2 G 'an+an! D 2 G
&*ar D 2 G tin!!i. Pr$!ram tr#*"t (ar"# mmi&iki #ti%akn)a 1 #at" *"a(
Class %an 1 #at" *"a( Constructor .
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 8/26
MODUL II
PEARISAN
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'"mm*"at
k&a# *ar" %ari k&a# )an! #"%a( a%a %n!an 'ari#an
II, DASAR TEORI
5a&am PO- kita mn!am*i& ra&ita k(i%"'an #(ari(ari. Kita m&ak"kan
'n!amatan *a(a man"#ia #>ara a&ami #rin! m&ak"kan 'n!&$m'$kan ata# $*+k
ata" *n%a.S+a"( ini kita mn!ta("i >ara "nt"k m&ak"kan 'n!&$m'$kan ?
'n!&$m'$kan ata# $*+k$*+k )an! #r"'a mn+a%i k&a# $*+k.
S&ain m&ak"kan kata!$ri#a#i tr(a%a' $*+k )an! mmi&iki #k"m'"&an atri*"t
%an 'ri&ak" )an! #ama- man"#ia #rin! m&ak"kan 'n!&$m'$kan tr(a%a' $*+k )an!
mmi&iki k#amaan ata# **ra'a ti.ak semua atri*"tH'ri&ak". C$nt$(7
Pn!&$m'$kan ata# kn%araan *rm$t$r- km"%ian mn!!r"'kann)a *r%a#arkan #"at"
ti' ata" +ni# m$*i&- tr"k- #'%a m$t$r- %&&.. Stia' #"*kata!$ri ini mr"'akan k&a#
ata# $*+k$*+k )an! #r"'a.
A%a **ra'a karaktri#tik )an! %i#(ar $&( #m"a k&$m'$k. R&a#i antar
k&a#k&a# ini %i#*"t %n!an re%asi /is(a0, 5a&am #tia' ka#"#- $*+k )an!
%ik&$m'$kkan *r#ama %a&am #at" #"*kata!$ri mr"'akan an!!$ta %ari kat!$ri )an!
&*i( "m"m.C$nt$(n)a a%a&a( #'rti %i *aa( ini.
• M$*i& a%a&a( i#aB kn%araan *rm$t$r.
• Tr"k a%a&a( i#aB kn%araan *rm$t$r
• S'%a M$t$r a%a&a( i#aB kn%araan *rm$t$r
O*+k )an! %ik&$m'$kkan %a&am #at" k&a# mn#(ar #k"m'"&an atri*"t %an
'ri&ak". Ja%i- #&"r"( $*+k kn%araan *rm$t$r mmi&iki #k"m'"&an atri*"t %an
'ri&ak" )an! +"!a %imi&iki $&( $*+k %ari m$*i&. Ktrkaitan antar k&a# %a&am r&a#i
i#aB *ra#a& %ari kn)ataan *a(a #"* k&a# mmi&iki atri*"t %an 'ri&ak" )an! %imi&iki
k&a# in%"k- %itam*a( atri*"t %an 'ri&ak" )an! %imi&iki $&( #"* k&a# tr#*"t.
S"'r>&a## k&a# %a#arB ata" k&a# in%"kB mr"'akan k&a# )an! &*i( !nra&
%a&am r&a#i i#aB. S"*>&a## k&a# t"r"nanB ata" k&a# anakB mr"'akan k&a# )an!
&*i( #'#i9ik %a&am r&a#i i#aB. O*+k )an! %ik&$m'$kkan %a&am #"* k&a# mmi&iki
atri*"t %an 'ri&ak" k&a# in%"k- %an +"!a atri*"t %an 'ri&ak" tam*a(an. Ja%i- k"m'"&an
atri*"t %an 'ri&ak" #"* k&a# &*i( *#ar %ari #"'r k&a#n)a. R&a#i i#aB antar
#"'r>&a## %an #"*>&a###n)a %i#*"t %n!an )e1arisan ata" inheritance.
S"*>&a## mari#iB #"at" #"'r>&a## ata" +"!a *i#a %ikatakan #*"a( #"*>&a##
t"r"nan %ariB #"at" #"'r>&a## karna r"#a*i&ita# Pran!kat L"nak- mm*"at k&a#
*ar" k&a# t"r"nan %ari k&a# )an! #"%a( a%a k&a# %a#ar- k&a# t"r"nan mari#i k&a#
in%"k )an! mn%a'atkan %ata %an 'ri&ak"- mr"'akan *nt"k #'#ia& %ari k&a# in%"k-
%an %i'r&"a# %n!an 'ri&ak" tam*a(an-
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 9/26
Pari#an a%a %"a +ni# )ait" 'ari#an t"n!!a& %an 'ari#an +amak. Pa%a
protected access- )rote-te. mm*r# %a'at %iak## $&( mm*r k&a# %a#ar- 9rin% k&a#
%a#ar- mm*r k&a# t"r"nan- %an 9rin% k&a# t"r"nan. K&a# t"r"nan %a'at
mr"+"kHmn!ak## &an!#"n! )u2%i- %an )rote-te. %ata mm*r k&a# in%"k %n!an
mn!!"nakan nama atri*"t )an! )an! %iak##.
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
#include<iostream.h>#include<conio.h>
class Point {public:
Point(!loat $ ., !loat $ .);
void ceta"Point();protected:
!loat ,=;;Point::Point(!loat a, !loat b){
cout<< %&onstru"tor Point dialan"an %<<endl; $ a;= $ b;
void Point::ceta"Point(){
cout<< %Point : %<<3?3<<<<%, %<<=<<3@3<<endl;
class Aircle : public Point {public:
Aircle(!loat r $ ., !loat a $ ., !loat b $.);BB"onstru"tor
!loat area();void ceta"Point();
protected:!loat radius,l;
;
Aircle::Aircle(!loat r, !loat a, !loat b): Point(a, b){
cout<< %&onstru"tor Aircle dialan"an%<<endl;
radius $ r;
!loat Aircle::area(){
l$*.'CradiusCradius;return l;
void Aircle::ceta"Point(){
Point::ceta"Point();cout<< %Aircle dgn r : %<<radius<<% Aenter : ?%<<<<%,
%<<=<<%@%<<endl;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 10/26
cout<< %Duas circle : %<<l<<endl;
class A=linder:public Aircle {public:
A=linder(!loat h $ ., !loat r $ ., !loat a $ ., !loat b
$ .);BB"onstru"tor!loat area();
!loat vol();void ceta"Point();
protected:!loat height,l,v;
;
A=linder::A=linder(!loat h, !loat r, !loat a, !loat b): Aircle(r, a, b){
cout<< %&onstru"tor A=linder dialan"an%<<endl;height $ h;
!loat A=linder::area(){
l$ (+CAircle::area() E +C*.'CradiusCheight);return l;
!loat A=linder::vol(){
v$ (Aircle::area()Cheight);return v;
void A=linder::ceta"Point(){
Aircle::ceta"Point();
cout<< %/inggi tabung (h) : %<<height<<endl;cout<< %Duas tabung : %<<l<<endl;cout<< %Folume tabung : %<<v<<endl;
int main(){
Point p('.', +.+);cout<<endl;Aircle ling"aran(', -, -);ling"aran.area(); ling"aran.ceta"Point();cout<<endl;A=linder tabung(+, *, *, );tabung.area();tabung.vol(); tabung.ceta"Point();getch();return ;
2. "at&a( 'r$!ram "nt"k mn!(it"n! &"a# %an k&i&in! 'r#!i 'an+an! #rta
@$&"m %an k&i&in! k$tak. Pr$!ram tr#*"t (ar"# mnra'kan 'rin#i'
'ari#an
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 11/26
MODUL III
POLIMOR3ISME
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'" mm*"at
'$&im$r9i#m.
II, DASAR TEORI
P$&im$r9i#mMmi&iki arti *an)ak *nt"kB- m&ak"kan (a& )an! #ama "nt"k
*r*a!ai %ata )an! *r*%a- mn!irimkan '#an )an! #ama k *r*a!ai $*+k )an!
*r*%a karna tia' $*+k mm*ri r#'$n# %n!an >ara )an! *r*%a. rik"t inimr"'akan >$nt$( '$&im$r9i#m.
P$&im$r9i#m mmi&iki #)arat#)arat #*a!ai *rik"t7
• A%a (irarki 'ari#an
• K&a# %a&am (irarki 'ari#an (ar"# mmi&iki 9"n!#i @irt"a& @irt"a& mt($% %n!an
#i!nat"r )an! #ama
• Mn!!"nakan '$intr ata" r"+"kan k k&a# in%"k. P$intr %i!"nakan "nt"k
mman!!i& 9"n!#i @irt"a&
P$&im$r9i#m %a'at %iim'&mnta#ikan %n!an mn!!"nakan %a#ar 9"n>ti$n
$@rri%in! m&ak"kan r%9ini#i #"at" 9"n!#i %i k&a# anak- 9"n!#i )an! %i$@rri%mmi&iki #i!nat"r #ama- #i!nat"r #ama 7 ti' *a&ik- nama 9"n!#i- 'aramtr #ama %an
'ari#an.
S"at" k&a# %i#*"t a*#trak a'a*i&a mmi&iki minima& #at" 9"n!#i a*#trak.F"n!#i
a*#trak mr"'akan 9"n!#i )an! ti%ak mmi&iki %9ini#i (an)a %k&ara#i
9"n!#iHmn!!"nakan 9"n!#i @irt"a& '"r @irt"a&.
virtual balikan namaFungsi (parameter) = 0
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 12/26
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
#i!nde! 870S7HI
#de!ine 870S7HIclass 8anusia {public:virtual void Iello();;class Pelaar : public 8anusia {public:void Iello();;
class Pega4ai : public 8anusia {public:void Iello();;
#endi!
Manusia.cpp#include %8anusia.h%
#include <iostream.h>
void 8anusia::Iello() {cout<<%Iallo ...%<< endl;void Pelaar::Iello() {cout<<%Iallo, Sa=a Pelaar ...%<< endl;void Pega4ai::Iello() {
cout<<%Iallo, Sa=a Pega4ai ....%<<endl;
MPoli.cpp#include %8anusia.h%#include <iostream.h>
#include <stdlib.h>int main() {
8anusiaC m;int pilihan;do {cout<<%': 8anusia, +: Pelaar, *: Pega4ai >> %;cin >> pilihan;
4hile ( pilihan < ' 55 pilihan > * );
s4itch ( pilihan ) {case ': m $ ne4 8anusia; brea";case +: m $ ne4 Pelaar; brea";
case *: m $ ne4 Pega4ai; brea";#
mJ>Iello();
delete m;
return ;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 13/26
2. "at&a( 'r$!ram #'rti %i *aa( ini
Bentuk2D.h#i!nde! KL/0&+MHI
#de!ine KL/0&+MHI
class Kentu"+M {public:
virtual !loat cariDuas()$;;
class Segiempat : public Kentu"+M {protected:
!loat panang, lebar;public:
Segiempat(!loat, !loat);!loat cariDuas();
;
class Ding"aran : public Kentu"+M {private:!loat eari;public:
Ding"aran (!loat);!loat cariDuas();;
class Segitiga : public Kentu"+M {private:!loat alas, tinggi;
public:Segitiga(!loat, !loat);
!loat cariDuas();;
#endi!
Bentuk2D.cpp#include <iostream.h>#include %Kentu"+M.h%
Segiempat::Segiempat(!loat p, !loat l)
{panang $ p;
lebar $ l;!loat Segiempat:: cariDuas(){cout<< %Duas segiempat : % << panang C lebar << endl;
Ding"aran::Ding"aran (!loat r){eari $ r;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 14/26
!loat Ding"aran:: cariDuas(){cout << %Duas ling"aran : % << *. C eari C eari << endl;
Segitiga::Segitiga(!loat a, !loat t){alas $ a;
tinggi $ t;
!loat Segitiga:: cariDuas(){
cout << %Duas Segitiga : % << .- C alas C tinggi << endl;
MAbstrak.cpp#include %Kentu"+M.h%
#include <iostream.h>#include <stdlib.h>
int main() {
Kentu"+MC b+d;bool loop $ true;
int pilihan;do {
cout <<%': Segiempat, +: Ding"aran, *: Segitiga >> %;
cin >> pilihan;
4hile ( pilihan < ' 55 pilihan > * );
s4itch ( pilihan ) {case ': b+d $ ne4 Segiempat(., -.); brea";case +: b+d $ ne4 Ding"aran (.); brea";case *: b+d $ ne4 Segitiga (+., '.); brea";
case : loop $ !alse;b+dJ>cariDuas();
delete b+d;return ;
,. "at&a( 'r$!ram #'rti %i *aa( ini
shape.h#i!nde! SI7PLHI#de!ine SI7PLHI
class Shape {public:
virtual double area() const { return .; virtual double volume() const { return .;
virtual void printShapeame() const $ ;virtual void print() const $ ;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 15/26
;
#endi!
point.h#i!nde! PN/'HI
#de!ine PN/'HI
#include <iostream>
#include %shape.h%
class Point : public Shape {public:Point( int $ , int $ );void setPoint( int, int );int getO() const { return ; int get() const { return =;
virtual void printShapeame() const { cout << %Point: %; virtual void print() const;private:int , =;;
#endi!
point.cpp#include %point'.h%
Point::Point( int a, int b ) { setPoint( a, b );
void Point::setPoint( int a, int b ){
$ a;= $ b;
void Point::print() const{ cout<< 3?3 << << %, % << = << 3@3;
circle.h#i!nde! AQADL'HI
#de!ine AQADL'HI#include %point'.h%
class Aircle : public Point {public:Aircle( double r $ ., int $ , int = $ );
void setQadius( double );
double getQadius() const;
virtual double area() const;
virtual void printShapeame() const { cout << %Aircle: %; virtual void print() const;private:double radius;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 16/26
circle.cpp
#include <iostream>#include %circle'.h%
Aircle::Aircle( double r, int a, int b ): Point( a, b )
{ setQadius( r );
void Aircle::setQadius( double r ) { radius $ r > 2 r : ;
double Aircle::getQadius() const { return radius;
double Aircle::area() const
{ return *.''- C radius C radius;
void Aircle::print() const{
Point::print();
cout<< %; Qadius $ % << radius;
main.cpp#include <iostream>
#include <stdlib.h>
#include %shape.h%
#include %point'.h%#include %circle'.h%
#include %c=lindr'.h%
void virtualFiaPointer( const Shape C );
int main(){
Point point( , '' ); BB create a Point
Aircle circle( *.-, ++, ); BB create a Aircle
point.printShapeame(); BB static binding
point.print(); BB static bindingcout<< 39n3;
circle.printShapeame(); BB static binding
circle.print(); BB static binding
cout<< 39n3;
Shape Carra=N!Shapes? + @; BB arra= o! baseJclass pointers
arra=N!Shapes? @ $ 1point;
arra=N!Shapes? ' @ $ 1circle;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 17/26
14
cout<< %Firtual !unction calls made o!! %<< %baseJclass pointers9n%;
!or ( int i $ ; i < +; iEE )virtualFiaPointer( arra=N!Shapes? i @ );
return ;
void virtualFiaPointer( const Shape CbaseAlassPtr ){baseAlassPtrJ>printShapeame();baseAlassPtrJ>print();cout<< %9n7rea $ % << baseAlassPtrJ>area()<< %9nFolume $ % << baseAlassPtrJ>volume() << %9n9n%;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 18/26
1;
MODUL I4
RELASI KELAS
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'" mm*"at
*r*a!ai +ni# r&a#i antara k&a#,
II, DASAR TEORI
Jni# R&a#i antar k&a# tr%iri %ari 'ari#an- a!r!a#i- a#$#ia#i. Pari#an
mr"'akan ("*"n!an antar #at" k&a# %n!an k&a# &ain %a&am #"at" (irarki k&a# in%"k
%an k&a# t"r"nan. S"'r>&a## k&a# %a#arB ata" k&a# in%"kB mr"'akan k&a# )an!
&*i( !nra& %a&am r&a#i i#aB. S"*>&a## k&a# t"r"nanB ata" k&a# anakBmr"'akan k&a# )an! &*i( #'#i9ik %a&am r&a#i i#aB. O*+k )an! %ik&$m'$kkan
%a&am #"* k&a# mmi&iki atri*"t %an 'ri&ak" k&a# in%"k- %an +"!a atri*"t %an 'ri&ak"
tam*a(an. Kita mn!atakan #"*>&a## mari#iB #"at" #"'r>&a## ata" +"!a *i#a
%ikatakan #*"a( #"*>&a## t"r"nan %ariB #"at" #"'r>&a##.
A!r!a#i mr"'akan ("*"n!an antar k&a# )an! mn)atakan #"at" k&a#
mr"'akan 2a5ian %ari k&a# )an! &ain ata" ("*"n!an antar k&a# )an! mn)atakan #"at"
k&a# memi%iki k&a# &ain #*a!ai atri*"t. A!r!a#i mr"'akan r&a#i (a# aB. C$nt$(7
• M$*i& mmi&iki m#in
• Fak"&ta# tr%iri ata# +"r"#an
• R"ma( mmi&iki %a'"r M$*i&- Fak"&ta# %an R"ma( %in)atakan #*a!ai k&a# a!r!at.M#in- J"r"#an %an 5a'"r
mr"'akan k&a# 'n)"#"n.
Kar%ina&ita# mn)atakan +"m&a( $*+k 'n)"#"n )an! tr&i*at %a&am
'm*nt"kan r&a#i a!r!a#i.S"at" K&a#A!r!at %i*nt"k %ari **ra'a %i#im*$&kan
%n!an $*+k K&a# Pn)"#"n.
A#$#ia#i mn!!am*arkan ("*"n!an #tr"kt"ra& antar k&a#.Stia' k&a# mmi&iki
k%"%"kan )an! #ama ti%ak mr"'akan *a!ian %ari k&a# &ain.Pa%a #aat mran>an!
r&a#i antar k&a#- a%a %"a (a& )an! 'r&" %i'r(atikan )ait" *ra'a $*+k )an! tr&i*at
%ari ma#in!ma#in! k&a# )an! *rr&a#i %an a'aka( r&a#i tr#*"t *r#i9at a+i*
mandatory ata" $'#i$na&.
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
agregasi.cpp#include <iostream.h>#include <stdlib.h>
class /iti"
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 19/26
1=
{private:
!loat sbO, sb;public:
/iti"()
{sbO $ sb $ .!;
/iti"(!loat , !loat =){
sbO $ ; sb $ =;
void posisi/iti"(){
cout<< %?% << sbO << %, % << sb << %@% << endl;
;
class Ding"aran{private:
!loat eari;/iti" titi"Pusat;
public:
Ding"aran(!loat ){
eari $ ;
Ding"aran(!loat , !loat =, !loat )!titikPusat("#$){
eari $ ;
void ceta"Ding"aran(){
cout<< %/iti" pusat : % ; titi"Pusat.posisi/iti"();
cout<< %RariJari : % << eari << endl;
;
int main(){
Ding"aran D'(*.); Ding"aran D+(*., ., -.);
D'.ceta"Ding"aran();D+.ceta"Ding"aran();
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 20/26
20
2. "at&a( 'r$!ram #'rti %i *aa( ini
asosiasi.cpp#include <iostream.h>
#include <stdlib.h>
class 8ata&uliah{private:
charC "ode8&;charC nama8&;
int s"s8&;
public:
8ata&uliah(charC "ode, charC nm, int s"s){
"ode8& $ "ode;
nama8& $ nm;
s"s8& $ s"s;
void ceta"8&(){
cout<< "ode8& << % : % << nama8& << % : % << s"s8&<<endl;
;
class Mosen{private:
charC PP; charCama;
8ata&uliahC m";
int inde"s;
public:Mosen(charC noPeg, charC nm){
PP $ noPeg;
ama $ nm;
inde"s $ ;
void tambah8& (8ata&uliah mata"uliah){
m"?inde"s@ $ mata"uliah;inde"sEE;
void ceta"n!ormasi(){
cout<< ama << % 8engaar : % << endl;
!or (int i$; i<-; iEE)m"?i@.ceta"8&();
;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 21/26
21
int main(){
Mosen dsn(%P'%, %Steve N4en%);
8ata&uliah m"'(%8&'%, %PKN%, *);8ata&uliah m"+(%8&+%, %Stru"tur Mata%, *);
8ata&uliah m"*(%8&*%, %Q Perang"at Duna"%, *); 8ata&uliah m"(%8&%, %7nalisis 7lgoritma%, +);
8ata&uliah m"-(%8&-%, %Sistem Nperasi%, *);
dsn.tambah8&(m"');
dsn.tambah8&(m"+); dsn.tambah8&(m"*); dsn.tambah8&(m"); dsn.tambah8&(m"-); dsn.ceta"n!ormasi();
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 22/26
22
MODUL 4
OPERATOR O4ERLOADING DAN E67EPTION 'ANDLING
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'"7
• mn!im'&mnta#ikan EG>'ti$n 8an%&in!
• mn!im'&mnta#ikan $'rat$r $@r&$a%in!
II, DASAR TEORI
Jaran! #ka&i #*"a( 'r$!ram %i*"at %a'at *r+a&an %n!an #"k## 'a%a #aat
'rtama #ka&i %i+a&ankan. K#a&a(an #rin! tr+a%i 'a%a #aat 'ran>an!an ata"
'mr$!raman.K#a&a(an tr#*"t %ikata!$rikan mn+a%i ti!a *a!ian- )ait"7
• #)ntaG rr$r# ? mn!aki*atkan k#a&a(an k$m'i&a#i.
• #manti> rr$r#? 'r$!ram mn!(a#i&kan k&"aran )an! ti%ak ##"ai %n!an (ara'an.
• r"ntim rr$r# ? k*an)akan mn!aki*atkan trmina#i 'r$!ram #>ara ti%ak n$rma&
ata" *a(kan #i#tm >ra#(
rik"t ini mr"'akan >$nt$( r"ntim rr$r.
• Pm*a!ian *i&an!an %n!an n$&.
• Ak## &mn )an! *ra%a %i &"ar in%k# arra)
• Mn!!"nakan ni&ai n!ati9 "nt"k "k"ran arra)
Stia' 'r$!ram %a&am *ra%a %a'at #"at" k$n%i#i )an! ti%ak n$rma& ? Err$r
C$n%iti$n#.Pr$!ram )an! *aik (ar"# %a'at mnan!ani k$n%i#i ini.EG>'ti$n mr"'akan
#"at" ka%aan )an! %i#*a*kan $&( r"ntim rr$r %a&am 'r$!ram. Mm"n!kinkan
k#a&a(an %itan!ani tan'a (ar"# mn!$t$ri 'r$!ram %n!an r"tin )an! mnan!ani
k#a&a(an. Mm"n!kinkan 'mi#a(an 'nan!anan k#a&a(an %n!an 'r$!ram "tama
main business logic.
S"at" 9"n!#i %a'at mm*ri tan%a #"at" k#a&a(an %n!an m&m'ar #"at"
G>'ti$n ? throws. F"n!#i 'man!!i& %a'at mn)ra(kan kn%a&i k G>'ti$n (an%&r
%n!an mnan!ka' >at>(in! G>'ti$n try, catch. rik"t ini mr"'akan *&$k tr)
>at>(.
tr$%
instruksi yang berpotensi menghasilkan exception
&
catch(tipe'e"ception e)%
instruksi untuk menangani exception
&
S'rti *a(a#a tin!kat tin!!i )an! &ain- CDD mmi&iki **ra'a $'rat$r D- - - -
- - Q- - - %&&. O'rat$r ini t&a( %i%9ini#ikan pre-defined %an %i!"nakan "nt"k
ti' trtnt". Mi#a&7 $'rat$r D (an)a %a'at %i!"nakan "nt"k ti' %a#ar #'rti int!r-
9&$at- %&&. Ka%an!ka%an! %i'r&"kan "nt"k mr%9ini#i $'rat$r ini "nt"k %i!"nakan
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 23/26
2,
"nt"k ti' *nt"kan. Mi#a&n)a K&a# C$m'&G a %an *- a'aka( *i#a %i&ak"kan aD*
Mani'"&a#i *i&an!an k$m'&k# &*i( m"%a( a'a*i&a %a'at mm'r&ak"kann)a #'rti
'a%a ti' %a#ar. S(in!!a %a'at %i&ak"kan- (a&(a& #'rti
• Aomple a(+,);
• Aomple b(,-);• . . .
• Aomple c $ a E b;
"kann)a
• Aomple a(+,);
• Aomple b(,-);
• . . .
• Aomple c $ a.tambah(b);
O'rat$r )an! %i!"nakan 'a%a k&a# %a&am CDD %in)atakan %a&am 'man!!i&an
9"n!#i. Jni# $'rat$r a%a %"a )ait" $'rat$r "nr %an $'rat$r *inr.O'rat$r "nr (an)amm*"t"(kan #at" ar!"mnt-mi#a&n)a DD- - . O'rat$r *inr mm*"t"(kan %"a
ar!"mnt- mi#a&n)a D- - H- .
O'rat$r %a&am CDD %iim'&mnta#ikan %n!an 'man!!i&an 9"n!#i. U#r %a'at
mr%9ini#ikan arti #"at" $'rat$r 'a%a #"at" k&a# %n!an m&ak"kan r%9ini#i mt($%
)an! *rkaitan %n!an $'rat$r tr#*"t. Ti%ak #m"a $'rat$r *i#a %ioverload . A%a
*ata#an*ata#an )an! *i#a %i&ak"kan %a&am $'rat$r $@r&$a%in!.
Berikut ini meru)akan .aftar o)erator yan5 .a)at .i(o8er%oa. .an yan5 ti.ak
.a)at .i(o8er%oa.,
perator $ang apat i*overloa
+ * , - / 1
3 = 4 5 += *= ,=
-= = /= = 1= 44 55 55=
44= == 3= 4= 5= 11 ++
** *5, # *5 67 () ne8 elete
ne867 elete67
perator $ang tiak apat i*overloa
. ., !! 9! si:eo;
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
Complex.cpp#include <iostream>#include <stdlib.h>
class comple{
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 24/26
2/
double real;double imaginer;
public:comple(double re$, double im$)
{real $ re;
imaginer $ im;#
comple operatorJ(){
comple result;result.real $ Jreal;result.imaginer $ Jimaginer;
return result;#
comple operatorE(comple c){
comple result;result.real $ real E c.real;result.imaginer $ imaginer E c.imaginer;
return result;#
comple operatorJ(comple c){
comple result;result.real $ real J c.real;result.imaginer $ imaginer J c.imaginer;
return result;#
void displa=(){
cout << 3(3 << real << 3,3 << imaginer << 3)3 << endl;
;
int main(){
comple (',+), 4(*,), b;
comple a $ E 4;
a.displa=();
a $ J 4;a.displa=();
b$Ja;
b.displa=();
2. "at&a( #*"a( 'r$!ram ka&k"&at$r #%r(ana %n!an %"a $'ran% %an
$'rat$r )an! %i!"nakan a%a&a(7 D- - - H- - %an
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 25/26
23
MODUL 4I
TEMPLATE 7LASS
I, TU!UAN
St&a( mn)&#aikan m$%"& ini- ma(a#i#a %i(ara'kan mam'"
mn!im'&mnta#ikann)a tm'&at 9"n!#i %an k&a#.
II, DASAR TEORI
Tm'&at mr"'akan >ara "nt"k mn%9ini#ikan 9"n!#i$na&ita# !nrik 'a%a
'aramtr tan'a 'r&" mn%k&ara#ikan ti'n)a. A*#trak#i %9ini#i 9"n!#i %a&am *nt"k
'#"%$ >$% #(in!!a ti' )an! %i!"nakan %a'at %i!anti mr"'akan k$n#' %ari
tm'&at. Pnra'an tm'&at 'a%a 9"n!#i akan mn!(a#i&kan %9ini#i 9"n!#i. rik"t inimr"'akan &an!ka(&an!ka( "nt"k mn%9ini#ikan 9"n!#i- )ait"7
1. M"&ai %n!an k)$r% tm'&at
2. N)atakan %a&am k"r"n! #!iti!a- nama '&a>($&%r "nt"k ti' )an! akan %i!"nakan.
,. Ik"ti %n!an nama 9"n!#i
/. Ik"ti nama 9"n!#i %n!an %a9tar 'aramtr.
III, LANGKA' KER!A
1. "at&a( 'r$!ram #'rti %i *aa( ini
#include<iostream.h>template<class />void Aeta"7rra=(/ Carra=, const int count){
!or (int i$; i<count; iEE)cout<< arra=?i@ << % %;
cout<< endl;
main(){const int aAount$-, bAount$,
cAount$;
int a?aAount@ $ {', +, *, , -;!loat b?bAount@ $ {'.', +.+, *.*, .;char c?cAount@ $ %hello%;
cout<< %7rra= a berisi : % << endl;
Aeta"7rra=(a, aAount);
cout<< %7rra= b berisi : % << endl;
Aeta"7rra=(b, bAount);
cout<< %7rra= c berisi : % << endl;
7/26/2019 AP II 2016
http://slidepdf.com/reader/full/ap-ii-2016 26/26
Aeta"7rra=(c, cAount);
return ;
2. "at&a( tm'&at "nt"k m&ak"kan insertion sort #(in!!a %a'at %i!"nakan
"nt"k ma#"kan %n!an ti' %ata int!r- 9&$at- %an %$"*&
A&!$ritma in#rti$n #$rt a%a&a( #*a!ai *rik"t7
ML&D7Q7SFar
, R, : integer
O : integer
MLS&QPS
Tor + to Mo
O Dari"?@
Dari"?@
OR U 'While O <Dari"?R@ Mo
Dari"?RE'@ Dari"?R@
R RJ'LndWhileDari"?RE'@ O
LndTor
top related