ap ii 2016

26
MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN II Tim Penyusun: Dosen Teknik Informatika JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKARAYA 2016 1

Upload: ignatius-epant-gaman

Post on 13-Apr-2018

238 views

Category:

Documents


0 download

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"[email protected]"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