LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Modul 3 INHERITANCE INHERITANCE (PEWA (P EWARISAN) RISAN)
UNTUK MEMENUHI TUGAS MATAKULIAH PRAKTEK PEMROGRAMAN BERORIENTASI OBJEK yang dibina oleh Bapak He! "ahy! He#an$o% S&T% M&Ko'
oleh ( Nela P!)i N!ani *+,-.//0-+1,23 S+ PTI 2-+, o44 B
PRO5I S+ PEN5I5IKAN TEKNIK IN6ORMATIKA JURUSAN TEKNIK ELEKTRO 6AKULTAS TEKNIK UNI7ERSITAS NEGERI MALANG SEPTEMBER 2-+.
TUJUAN
T!)!an dai pak$ik!' PBO ini adalah !n$!k( +& Maha8i8#a 'a'p! 'e'aha'i kon8ep inheritance *pe#ai8an3& inheritance *pe#ai8an3& 2& Maha8i8#a 'a'p! 'ende4ini8ikan superclass 'ende4ini8ikan superclass dan dan subclass. subclass. /& Maha8i8#a 'a'p! 'eng-override 'eng-override 'e$hod 'e$hod dai superclass dai superclass&& ,& Maha8i8#a 'a'p! 'eneapkan key#od this.
DASAR TEORI
1.
Pengenln Inheritance (Pe!"#$n)
5i dala' dala' Ja9a Ja9a%% 8e'! 8e'!aa class% class% $e' $e'a8 a8! !k class yang yang 'e'ban 'e'bang!n g!n Ja9a Ja9a API API adalah adalah subclasses dai subclasses dai superclass superclass Object & :on$oh hiaki class dipeliha$kan class dipeliha$kan di ba#ah ini(
Bebeap Bebeapaa class class di a$a8 a$a8 class !$a'a !$a'a dala' dala' hiaki hiaki class dikena dikenall 8ebagai 8ebagai superclass& superclass& Se'e Se'en$ n$aa aa bebe bebea apa pa class di ba# ba#ah class poko pokok k dala' dala' hia hiaki ki class dikenal dikenal 8ebagai 8ebagai subclass dai subclass dai class $e8eb!$& class $e8eb!$& Pe#ai8an Pe#ai8an 'e!pakan 'e!pakan ke!n$!ngan ke!n$!ngan be8a dala' pe'oga'an pe'oga'an beba8i8 object kaena 8!a$! 8i4a$ a$a! method dide4i method dide4ini8ik ni8ikan an dala' superclass, dala' superclass, 8i4a$ ini 8e;aa o$o'a$i8 o$o'a$i8 di#ai8kan dai 8e'!a subclasses 8e'!a subclasses&& Jadi% ki$a dapa$ 'en!li8kan kode method hanya hanya 8ekali dan 'eeka dap dapa$ dig! ig!nakan akan oleh leh 8e' 8e'!a subclass& subclass& Subclass hanya hanya pel! pel! 'engi' 'engi'ple ple'en 'en$a8i $a8ikan kan pebedaannya 8endii dan ind!knya& ind!knya&
1 S1 Pend. Teknik Informatika 2014 OFF B
%.
De&l"$# Inheritance (Pe!"#$n)
:aa !n$!k 'endeklaa8ikan inheritance adalah inheritance adalah dengan 'e'beikan keyword extends 8e$el 8e$elah ah na'a na'a class diik diik!$ !$ii deng dengan an na'a na'a parent class& class& Ka$a Ka$a k!n; k!n;ii extends extends 'e'beikan in4o' in4o'a8i a8i pada pada ko'pil ko'pile e Ja9a Ja9a bah#a bah#a ki$a ki$a ingin ingin 'elak! 'elak!kan kan pel!a pel!a8an 8an class& class& :on$oh dai deklaa8i inheritance( inheritance( •
5e4ini8i parent 5e4ini8i parent class A Public class A{ …….. }
•
5e4ini8i child class B yang 'e!pakan $!!nan dai class A class A Public class B extends A{ …… }
Pada ada da8a a8any nyaa 8e' 8e'!a class dala' dala' Ja9a 'e!pa 'e!pakan kan $!!n $!!nan an a$a! 8!b;la 8!b;la88 88 dai dai superclass Object & :on$ohnya 'i8alkan ada 8eb!ah class( class( Public Class A { ……… }
Maka
pada
8a a $
;o'pila8i
compiler
Ja9a
akan
'e'ba;anya
8ebagai subclass 8ebagai subclass dai dai parent parent classObject ( Public class A extends Objet{ ……. }
3.
Penggunn Inheritance (Pe!"#$n)
Ki$a Ki$a 'eng 'engg! g!na naka kan n inheritance apab apabil ilaa di$e di$e'! '!ka kan n class yang yang dapa dapa$$ dipe dipel l!a !a88 'engg!nakan class lain& class lain& Mi8alnya ki$a 'e'p!nyai class Pega#ai( class Pega#ai( Public class Pegawai{ Public String nama; Public double gaji; }
Selain i$! ki$a )!ga 'e'p!nyai class Mana)e( class Mana)e( Public class Manajer{ Public String nama; Public double gaji; Public String deartemen; } 2 S1 Pend. Teknik Informatika 2014 OFF B
5ai ai d!a d!a class di a$a8 ki$a ki$a dapa dapa$$ 'eli 'eliha ha$$ bah# bah#aa class Mana)e 'e'p!nyai 'e'p!nyai da$a 'e'be yang iden$ik dengan class Pega#ai% class Pega#ai% hanya 8a)a ada $a'bahan 'e'be 5epa$e'en& Sebenany Sebenanyaa class Mana)e class Mana)e 'e!pakan pel!a8an dai class Pega#ai Pega#ai dengan dengan $a'bahan $a'bahan da$a 'e'be5epa$e'en& Maka ki$a pel! 'engg!nakan kon8ep inheritance !n$!k inheritance !n$!k ka8!8 di a$a8& Sehingga class Mana)e dapa$ ki$a ki$a $!li8kan 8ebagai beik!$( Public class Manajer extends Pegawai{ Public String deartemen; }
'.
K K Ku Kun n## (&e (&e*! *!o" o"d) d) Su Su+e +e""
Subclass )!ga Subclass )!ga dapa$ 'e'anggil 'e'anggil constructor 8e;aa 8e;aa ek8pli8i$ dai superclass dai superclass $edeka$& Hal ini dilak!kan dengan pe'anggil construktor 8!pe& 8!pe& Pe'anggil constructor 8!pe 8!pe dala' constructor da daii subclass akan akan 'engha 'engha8il 8ilkan kan ek8ek!8i ek8ek!8i dai superclass constructor yang be8angk!$an% beda8a dai ag!'en 8ebel!'nya& Sebagai ;on$oh% pada ;on$oh class 8ebel!'ny 8ebel!'nya& a& Pe8on dan S$!den$% ki$a $!n)!kkan $!n)!kkan ;on$oh dai pe'anggil pe'anggil constructor 8!pe& 5ibeikan kode beik!$ !n$!k S$!den$( ublic Student!"{ suer! #Some$ame#% #SomeAddress# "; S&stem.out.rintln!#'ns S&stem.out.rintln!#'nside ide Student(Constructor#"; Student(Constructor#"; }
Kode ode ini ini 'e'an e'angg ggil il constructor ked!a da dai superclass $ed $edek eka$ a$ *yai$ *yai$! ! Pe8 Pe8on on33 dan dan 'engek8ek!8inya& :on$oh kode lain di$!n)!kkan 8ebagai beik!$( ublic Student!"{ suer!"; S&stem.out.rintln!#'nside
Student(Constructor#";
}
Kode Kode ini ini 'e'a 'e'ang nggi gill defa defaul ultt cons constr truc ucto torr dai superclass $edek $edeka$ a$ *yai$! *yai$! Pe8on Pe8on33 dan 'engek8ek! 'engek8ek!8inya 8inya&& Ada bebeapa hal yang yang ha!8 diinga$ ke$ika ke$ika 'engg!nak 'engg!nakan an pe'anggil pe'anggil constructor 8!pe( 8!pe( a3 Pe'anggil Pe'anggil 8!pe*3 8!pe*3 ha!8 ha!8 di)adik di)adikan an penya penya$aan $aan pe$a'a pe$a'a dala' dala' constructor & b3 Pe'anggil 8!pe*3 hanya dapa$ dig!nakan dala' de4ini8i de4ini8i constructor & ;3 Te'a8!k constructor $hi8*3 $hi8*3 dan pe'angg pe'anggil il 8!pe*3 8!pe*3 $idak $idak boleh boleh $e)adi $e)adi dala' constructor yang yang 8a'a& Pe'akaian lain dai 8!pe adalah !n$!k 'en!n)!k anggo$a dai superclass *8epe$i superclass *8epe$i reference this3& this3& Sebagai ;on$oh( 3 S1 Pend. Teknik Informatika 2014 OFF B
ublic Student!" { suer.name ) *somename+; suer.address ) *some address+; }
,.
Overriding Method
Un$!k Un$!k bebeapa bebeapa pe$i'bangan pe$i'bangan%% $ekadang $ekadang class a8al class a8al pel! 'e'p!nyai i'ple'en$a8i bebeda dai method yang kh!8 kh!8!8 !8 dai dai superclass $e8eb $e8eb!$& !$& Oleh kaena kaena i$!lah% i$!lah% method overriding dig!nakan& dig!nakan& Subclass dapa$ 'enge8a'ping 'enge8a'pingkan kan method yang yang dide4ini8ikan dala' superclass dengan dengan 'enyedia 'enyediakan kan i'ple' i'ple'en$a en$a8i 8i ba! ba! dai dai method $e8eb!$& $e8eb!$& Mi8alnya Mi8alnya ki$a 'e'p!nyai i'ple'en$a8i beik!$ !n$!k method ge$Na'e ge$Na'e dala' superclass dala' superclass Pe8on( Pe8on( ublic class Person { ( ( ublic String get$ame!"{ S&stem.out.rintln!#Parent( get$ame#"; return name; } ( }
Un$!k override% override% method ge$Na'e ge$Na'e dala' subclass dala' subclass S$!den$% S$!den$% ki$a $!li8kan( ublic class Student extends Person { ( ( ublic String get$ame!"{ S&stem.out.rintln!#Student( get$ame#"; return name; } ( }
Jadi% ke$ika ki$a 'e'in$a 'e$hod ge$Na'e dai ob)e;$ ;la88 S$!den$% 'e$hod o9eidde akan dipanggil% kel!aannya akan 'en)adi( Student( get$ame
4 S1 Pend. Teknik Informatika 2014 OFF B
-.
Kon Kon""ol Peng Peng& &$e $e$ $n n
a3 Private 7aiabel dan method yang yang dideklaa8ikan private dideklaa8ikan private hanya hanya bi8a diak8e8 oleh class yang 'endeklaa8ikan 9aiabel dan method $e8eb!$& $e8eb!$& :on$oh pengak8e8an private pengak8e8an private variable dai class lain(
b3 efault B!kan 'e!pakan Ja9a key#od% $e$api 'e!pakan )eni8 ak8e8 kon$ol )ika ki$a $idak $idak 'en!li 'en!li8ka 8kan n ak8e8 ak8e8 kon$o kon$oll 8e;aa 8e;aa ek8pli ek8pli8i$ 8i$&& Se'!a Se'!a feature classes yang ada dala' 8a$! package 8a$! package bi8a bi8a diak8e8 oleh 8e'!a yang ada dala' package $e8eb!$& !lass di l!a package bole boleh h 'elak 'elak!k !kan an subclass subclass $e$ $e$api api subclass $e8eb! $e8eb!$$ $idak $idak bi8a bi8a 'engak8e8 feature 'engak8e8 feature superclass superclass&& :on$oh pengak8e8an default (
5 S1 Pend. Teknik Informatika 2014 OFF B
;3 Protected Po$e;$ed 'e'p!nyai ke'a'p!an ak8e8 yang lebih be8a daipada private dan private dan default & Protected feature dai feature dai 8!a$! class bi8a class bi8a diak8e8 oleh 8e'!a class dala' class dala' 8a$! package& package& !lass di !lass di l!a package l!a package boleh boleh 'elak!kan subclass 'elak!kan subclass%% dan subclass dan subclass $e8eb!$ $e8eb!$ bi8a 'engak8e8 feature 'engak8e8 feature superclass superclass&& :on$oh pengak8e8an protected pengak8e8an protected (
. Method Final dn Class Final
5ala' Ja9a% )!ga 'e'!ngkinkan !n$!k 'endeklaa8ikan class-class yang $idak la'a 'en) 'en)ad adii subclass& subclass& !lass ini ini dina' dina'ak akan an class final & Un$!k Un$!k 'endek 'endeklaa laa8ik 8ikan an class class !n$!k 'en) 'en)ad adii final ki$a ki$a hanya hanya 'ena'bah 'ena'bahkan kan ka$a k!n;i k!n;i final dala' dekl deklaa aa8i 8i class& class& Sebagai ;on$oh% )ika ki$a ingin class Pe8on class Pe8on !n$!k dideklaa8ikan final dideklaa8ikan final % ki$a $!li8( ublic ,inal class Person { --area ode }
Bebeapa class dala' class dala' Ja9a API dideklaa8ikan 8e;aa final 8e;aa final !n$!k !n$!k 'e'a8$ikan 8i4a$nya $idak dapa$ di
ini 'e'!ngkinkan 'e'!ngkinkan dala' Ja9a 'e'b!a$ 'e'b!a$ method yang yang $idak dapa$ di
"ethod static )!ga static )!ga 8e;aa o$o'a$i8 4inal& Ini a$inya ki$a $idak dapa$ 'e'b!a$nya override& override&
7 S1 Pend. Teknik Informatika 2014 OFF B
LATI/AN LATI/AN 1
•
Kode Poga'
#ile Pertama.java
#ile Keda.java
#ile TestPertamaKeda.java 8 S1 Pend. Teknik Informatika 2014 OFF B
•
Ha8il Ek8ek!8i
$asil %ompilasi #ile Pertama.java
$asil %ompilasi #ile Keda.java
$asil %ompilasi #ile TestPertamaKeda.java
$asil %ompilasi %etika !".ter#rote$%& &estPertama%edua !".ter#rote$%& ihilangkan dari !lass &estPertama%edua
$asil %ompilasi TestPertamaKeda.java %etika Semua !lass ihapus dari #older #older
•
5e8kip8i poga' ( 9
S1 Pend. Teknik Informatika 2014 OFF B
Poga' di a$a8 'e!pakan 8alah 8a$! ;on$oh poga' dengan kon8ep inheritance *pe#ai8an3& *pe#ai8an3& Poga' $e8eb!$ $e8eb!$ $edii $edii dai $iga class% class% yai$! class Pe$a'a% class Ked!a% dan class Te8$Pe e8$Pe$a' $a'aKe aKed!a d!a&& !lass Pe$ Pe$a' a'aa 'e! 'e!pa paka kan n class ind! ind!k k yang ang 'e'il e'ilik ikii class $!! $!!na nan% n% yai$! yai$! cla class Ked! Ked!a& a& Pada Pada cla class Pe$a' Pe$a'aa $edapa $edapa$$ 9aiab 9aiabel el =b> dengan dengan modifier #rivate& Hal ini bea$i bah#a 9aiabel $e8eb!$ hanya dapa$ diak8e8 oleh class yang 8a'a
a$a! class yang 'endeklaa8ikannya 8a)a& Selain i$!% )!ga $edapa$ method dengan modifier #rotected % yai$! method =$epo$ek*3>& Hal ini bea$i bah#a method $e8eb!$ dapa$ diak8e8
oleh class lain yang beada dala' 8a$! package 8a$! package%% 8edangkan class dai package dai package lain hanya dapa$ 'engak8e8 'engak8e8 subclassnya 'engak8e8 superclass subclassnya yang )!ga dapa$ 'engak8e8 superclass&& Pada method =in4o*3> $ed $edap apa$ a$ pei pein$ n$ah ah t/is.getClass!".get$ame!" yang yang be4!n be4!ng8i g8i !n$!k !n$!k 'endap 'endapa$ka a$kan n na'a dai class di 'ana method $e8eb!$ $e8eb!$ diek8ek!8i& Pada Pada clas classs Ked!a Ked!a $edii $edii dai dai 9aiab 9aiabel el =b> dengan dengan modifi modifier er privat privatee dan method =Ba; =Ba;aS aS!p !pe* e*3> 3> deng dengan an modifier modifier protected protected & 5ala' method $e8eb! $e8eb!$$ dig!na dig!nakan kan !n$!k !n$!k 'ena'pilkan 'ena'pilkan nilai dai 9aiabel 9aiabel =b> dan 'e'anggil 'e'anggil method =$epo$ek*3> dan =in4o*3> dai class ind!k& !lass Ked!a ini 'e!pakan class anak dai class Pe$a'a yang di$andai dengan keyword keyword e'tends& !las !lasss Te8$Pe$a' Te8$Pe$a'aKed!a aKed!a 'e!pakan 'e!pakan clas classs !$a'a yang be4!ng8i !n$!k 'ena 'ena'p 'pil ilka kan n da$a da$a pada pada class ind ind!k dan dan class anak anak dala' dala' poga poga' ' ini& ini& Un$!k Un$!k dapa$ dapa$ 'engak8e8 da$a pada class-class $e8eb!$% 'aka dib!a$ ob)ek ba! yang ke'!dian dig!nakan !n$!k !n$!k 'e'ang 'e'anggil gil meth method od pada clas classs yang be8angk!$a be8angk!$an& n& Mi8alnya% Mi8alnya% 0edua 12 ) new 0edua!"; yai$! yai$! 'e'b!a$ 'e'b!a$ ob)ek ob)ek pada clas classs Ked! Ked!aa dan dan 12.BacaSuer!"; 'e!pakan
pe'anggilan method =Ba;aS!pe*3> pada class =Ked!a>&
10 S1 Pend. Teknik Informatika 2014 OFF B
LATI/AN LATI/AN %
•
Kode Poga'
Person.java 'class induk( #ile Person.java
Em#lo(.java 'class anak( #ile Em#lo(.java
Konstr$tor!#erKelas.java #ile Konstr$tor!#erKelas.java 11 S1 Pend. Teknik Informatika 2014 OFF B
•
Ha8il Ek8ek!8i
•
5e8kip8i poga' ( Poga' Poga' di a$a8 'e!pakan 'e!pakan 8alah 8a$! ;on$oh ;on$oh poga' dengan kon8ep kon8ep inheritance *pe#ai8an3 *pe#ai8an3 dengan dengan pengg!naan pengg!naan keyword super di dala'nya& Poga' $e8eb!$ $edii dai $iga $iga class% class% yai$! ai$! class class Pe8on% Pe8on% clas classs E'ploy E'ploy%% dan class class Kon8$!k$o Kon8$!k$oS!pe S!peKela8& Kela8& 5i dala' Person!String g name% int age" yang clas classs Pe8on Pe8on $edapa $edapa$$ kon8$! kon8$!k$o k$o% % yai$! yai$! Person!Strin yang di
dala'nya dala'nya 'engg!nakan 'engg!nakan keywor keyword d this this !n$!k 'engak8e8 9aiabel =na'e> dan =age> yang be modifier modifier protected protected & Sela Selain in i$!% i$!% )!ga )!ga $ed $edap apa$ a$ meth metho od =in4o* =in4o*3> 3> yang yang be4!n be4!ng8i g8i !n$!k !n$!k 'en;e$ak da$a pada ked!a 9aiabel $e8eb!$& Pada cla class E'pl E'ploy oy *anak *anak dai dai class lass Pe8on3 Pe8on3 $edapa$ $edapa$ 8eb!ah 8eb!ah kon8$!k$o kon8$!k$o% % yai$! 3ml 3mlo& o&!S !Str trin ing g
'e'an e'ang ggil gil
no0a no0ar& r&aw awan an% %
kon8 kon8$ $! !k$o k$o
Stri String ng
dai ai superclass
name name% %
$ede deka
%$int int
yai$! i$!
age" age"
Pe8on 8on
yang yang di dala dala'n 'ny ya deng engan
keyword
suer!name% suer!name% age"; dan )!ga 'engg!n 'engg!naka akan n keyw keywor ord d this this !n$!k !n$!k 'engak8e8 'engak8e8 9aiabel 9aiabel
noKay noKaya#an a#an yang yang be modifier modifier private private& Sela Selain in i$!% i$!% )!ga )!ga $ed $edap apa$ a$ meth method od =in4o*3> =in4o*3> yang yang be4!ng8i !n$!k 'en;e$ak 8e'!a da$a dai ked!a class $e8 $e8eb eb!$ !$ 'elal elal!i !i keyword this.noKar(a)an !n$!k !n$!k 'ena'p 'ena'pilk ilkan an nilai nilai dai dai 9aiab 9aiabel el noKay noKaya#an a#an dan s#er.in*o%&
!n$!k 'engak8e8 method =in4o*3> pada superclass pada superclass *Pe8on3& *Pe8on3& !lass Kon8$! Kon8$!k$o k$oS! S!pe peKel Kela8 a8 'e!pa 'e!pakan kan class !$a'a !$a'a yang yang 'ena'p 'ena'pilk ilkan an da$a da$a kaya#an& Pada class ini% ob)ek =poga'e+> dib!a$ pada class E'ploy dan dii8ikan da$a kaya#an 8e8!ai dengan 4o'a$ paa'e$enya% yai$! noKaya#an% na'e% age& Pen;e$akan da$a
dilak!kan
'elal!i
pe'anggilan
method
=in4o*3 4o*3>>
dengan
pein in$ah
rogramer4.in,o!";
12 S1 Pend. Teknik Informatika 2014 OFF B
LATI/AN LATI/AN 3
•
Kode Poga'
#ile He)an.java 'class induk(
#ile +ajah.java 'class anak(
•
Ha8il Ek8ek!8i
13 S1 Pend. Teknik Informatika 2014 OFF B
•
5e8kip8i poga' ( Pog Poga' a' di a$a8 a$a8 'e! 'e!pa paka kan n ;on$ ;on$oh oh pog poga' a' overwrite overwrite method method dengan dengan kon8ep kon8ep inheritance *pe#ai8an3& Poga' $e8eb!$ $edii dai d!a class% class% yai$! class He#an dan class Ga)ah Ga)ah&& 5i dala' dala' clas classs He#an He#an yang yang 'e!pa 'e!pakan kan clas classs ind!k ind!k $edapa$ $edapa$ d!a methods% methods% yai$! method =$e8$:la88Me$hod*3> yang 'ena'pilkan kali'a$ =&he = &he class method in $ewan) dan method =$e8$In =$e8$In8$an 8$an;eMe ;eMe$ho $hod*3 d*3>> yang yang 'ena'p 'ena'pilk ilkan an kali'a kali'a$$ *&he *&he inst instan ance ce meth method od in $ewan)& $ewan)& !lass Ga)ah *class *class anak dai class He#an3 'e'iliki na'a method yang 8a'a dengan method pada class He#a He#an& n& Hany Hanyaa 8a)a 8a)a kali kali' 'a$ yang ang di$a di$a'p 'pil ilka kan n pada ada method =$e8$In8$an;eM =$e8$In8$an;eMe$hod e$hod*3> *3> bebeda% yai$! 'en)adi 'en)adi *&he instance method in +ajah >. 5ala' class ini $edapa$ method main yang di dala'nya adalah po8e8 overwrite method pada pada class He#an& Sehingga ha8ilnya adalah 'ena'pilkan method pada method pada class Ga)ah&
14 S1 Pend. Teknik Informatika 2014 OFF B
LATI/AN LATI/AN '
•
Kode Poga'
#ile A.java 'class induk(
#ile ,.java 'class anak(
15 S1 Pend. Teknik Informatika 2014 OFF B
-emoOverride.java #ile -emoOverride.java
•
Ha8il Ek8ek!8i
•
5e8kip8i poga' ( Poga' ini 'e'iliki $iga class% class% yai$! class A% class B% class B% dan class 5e'oO9eide2& class 5e'oO9eide2& !lass A !lass A 'e!pakan superclass 'e!pakan superclass%% 8edangkan kela8 B 'e!pakan subclass 'e!pakan subclass&& Te$api Te$api ked!a class $e8eb!$ $idak !n$!k di)alankan% kaena class ini $idak 'e'iliki method main& main& Ha8il poga' di$a'pilkan 'engg!nakan class 5e'oO9eide2& class 5e'oO9eide2& Pada
class A $ e edapa$
tamilan$ilai. "ethod 8e$A
$iga
methods, methods, ya yai$!(
method
setA%
getA%
dan
'e!pakan 'e!pakan pendeklaa8i pendeklaa8ian an 9aiabel 9aiabel A?nilai% A?nilai% method ge$A
dig!nakan dig!nakan !n$!k e$!n A% dan method $a'pilkanNilai $a'pilkanNilai dig!nakan !n$!k 'ena'pilkan nilai A& !lass B !lass B 'e'iliki method yang 8a'a dengan class A& "ethod $a'pilkanNilai $a'pilkanNilai yang ada pada class B ini 'e! 'e!pa paka kan n Override Override da daii superclass *class class A3& A3& Overriding 'e!pakan kead keadaan aan di 'ana 'ana method subclass dengan an method superclass paa'e$enyaa 8a'a method subclass 8a'a deng method superclass%% paa'e$eny $e$api i'ple'en$a8iny i'ple'en$a8inyaa bebeda& bebeda& Sehingga Sehingga pada 'e$hod 'e$hod ini 'engg!nakan 'engg!nakan keyword super !n$!k
'e'a e'anggil
method $a'p a'pilkanNilai yang ang
ada
pada
class A& Pa Pada
class
5e'oO9eide2% poga' akan 'ena'pilkan ha8il overriding & Na'!n 8ebel!'nya poga' akan 'enginp!$ nilai a dan b pada class ini class ini dengan 'engg!nakan 8yn$a@ obj.setA!56"; obj.setB!456" &
16 S1 Pend. Teknik Informatika 2014 OFF B
LATI/AN LATI/AN ,
•
Kode Poga'
#ile Trc$.java 'class induk(
17 S1 Pend. Teknik Informatika 2014 OFF B
MontainTrc$.java 'class anak( #ile MontainTrc$.java
•
Ha8il Ek8ek!8i
•
5e8kip8i poga' ( Poga' Poga' ini 'e'iliki 'e'iliki class kela8% class kela8% yai$! class T!;k class T!;k dan class Mo!n$ainT!;k& class Mo!n$ainT!;k& !lass T!;k 'e!pakan S!pe;la88% 8edangkan class Mo!n$ainT!;k class Mo!n$ainT!;k 'e!pakan S!b;la88& Na'!n class class T!;k $idak !n$!k di)alankan& Kaena kela8 ini $idak 'e'iliki 'e$hod 'ain& Ha8il poga' akan di$a'pilkan 'engg!nakan class class Mo!n$ainT!;k& Pada kela8 T!;k $edapa$ kon8$!k$o T!;k dan , 'e$hod yai$!( 'e$hod
setCadence% set7ear% al&Brea%
dan
seed8.
Pada Pada 8aa$ 8aa$ $!;k $!;k 'ena'b 'ena'bah ah ke;epa ke;epa$an $an akan akan dig!na dig!nakan kan 'e$hod 'e$hod seed8 i$!
seed8. Me$hod
8endii 'engg!nakan opea8i in;ee'en$ !n$!k 'ena'bah ke;epa$an '!la<
'!la& Sedangkan apabila $!;k 'eng!angi ke;epa$annya% 'aka poga' akan 'en)alankan 18 S1 Pend. Teknik Informatika 2014 OFF B
'e$h 'e$hod od
al&Brea.
Me$h Me$hod od
al&Brea i$!
8endii 'engg!nakan opea8i de;ee'en$
!n$!k 'enghi$!ng 'enghi$!ng ke;epa$an yang 8e'akin 'en!!n& 'en!!n& Sepe$i halnya halnya kela8 T!;k% T!;k% kela8 Mo!n$a Mo!n$ainT inT!; !;k k )!ga )!ga 'e'ilik 'e'ilikii + kon8$! kon8$!k$o k$o yai$! yai$! Mo!n$a Mo!n$ainT inT!; !;k k dan + 'e$hod 'e$hod yai$! yai$! set9eig/ set9eig/t t
yang 'odi4ienya be!pa p!bli;& Pada kela8 ini )!ga 'e'iliki Me$hod 'ain
8ehingga poga' dapa$ lang8!ng 'ena'pilkan ha8il dengan 'engg!nakan kela8 ini& :aa ke)a poga' adalah 8ebagai beik!$( Ke$ika $!;k '!lai be)alan% keadaan Gea?- dan Speed?- ke'!dian ke$ika Gea di$a'bah Speed )!ga ik!$ be$a'bah 2 kali lebih banyak dai '!la<'!la& Un$!k penghi$!ngan Speed ini 'engg!nakan opea8i in;ee'en$ yang ada pada kela8 T!;k& Ke$ika poga' di'odi4ika8i% Poga' akan 'ena'pilkan ke$ika $!;k dala' keadaan dia' *Speed ? -3% ke'!dian be)alan no'al *Speed ? ,3& Saa$ $!;k 'enaiki 'enaiki $an)akan% ke;epa$an ke;epa$an 'en!!n 'en!!n 'en)adi 'en)adi Speed ? +& Ke'!dian Ke'!dian T!;k T!;k
'en!!ni 'en!!ni
$an)akan% ke;epa$an be$a'bah *Speed ? /3& Ke'!dian T!;k be)alan bia8a hingga behen$i% ke;epa$an ke'bali -&
•
Ke8i'p!lan( Ke8i'p!lan yang didapa$kan dai la$ihan yang $elah dilak!kan% yai$! bah#a 8!a$! class dapa$ di$!!nkan dan class anak di$andai dengan keyword extends diik!$i dengan na'a class ind!knya& Un$!k dapa$ 'engak8e8 9aiabel a$a! 'e$hod dengan 'odi4ie pi9a$e a$a! po$e;$ed 'engg!nakan key#od $hi8& Key#od 8!pe dig!nakan !n$!k 'engak8e8 kon8 kon8$! $!k$ k$o o pada pada 8!pe 8!pe; ;la la88 88 dai dai 8!b; 8!b;la8 la88& 8& Pei Pein$ n$ah ah t/is.getClass!".get$ame!" dig!nakan !n$!k 'endapa$kan na'a ;la88 di 'ana pein$ah $e8eb!$ diek8ek!8i& 5i dala' pe#ai8an $edapa$ i8$ilah Overriding yang yang 'e!pa 'e!pakan kan keadaan keadaan di 'ana method subclass method subclass 8a'a dengan method superclass% superclass% paa'e$enya 8a'a $e$api i'ple'en$a8inya bebeda&
19 S1 Pend. Teknik Informatika 2014 OFF B
TUGAS PRAKTIKUM P"og"0 L#ng&"n dengn Kon$e+ Inheritance Kon$e+ Inheritance •
Kode Poga'
/ing$aran.java 'class induk( #ile /ing$aran.java
#ile Ta0ng.java 'class anak(
20 S1 Pend. Teknik Informatika 2014 OFF B
#ile Hasil.java
•
Ha8il ek8ek!8i
•
5e8kip8i poga' ( Poga' Poga' di a$a8 'e!pakan poga' Lingkaan Lingkaan dengan dengan kon8ep kon8ep pe#ai8an& pe#ai8an& Pada poga' ini $edapa$ $iga ;la88% yai$! ;la88 Lingkaan 8ebagai 8!pe;la88% ;la88 Tab!ng Tab!ng 8ebaga 8ebagaii 8!b;la8 8!b;la88% 8% dan ;la88 ;la88 Ha8il Ha8il !n$!k !n$!k 'ena'p 'ena'pilk ilkan an ha8il ha8il poga poga'& '& 5i dala' dala' ;la88 ;la88 Ling Lingka kaa an n $ed $edap apa$ a$ d!a d!a 'e$h 'e$hod od !n$! !n$!k k peng penghi hi$! $!ng ngan an l!a8 l!a8 dan dan keli kelili ling ng ling lingka kaa an& n& Sebel!'nya% 9aiabel )ai<)ai *)ai3 dan phi *93 dideklaa8ikan dala' ;la88 ini& Pada ;la88 Tab!ng bei8ikan 'e$hod !n$!k penghi$!ngan l!a8 dan 9ol!'e $ab!ng% 8e$a pendeklaa8ian 9aiabel $inggi $ab!ng *$3& Pada ;la88 Ha8il $elebih dah!l! dib!a$ ob)ek
21 S1 Pend. Teknik Informatika 2014 OFF B
TUGAS RUMA/ D D#"# M$#$! dengn Kon$e+ Pe!"#$n •
Kode Poga'
!lass Fa$ltas 'class induk(
!lass 1rsan 'class induk(
!lass Ceta$
•
Ha8il ek8ek!8i
22 S1 Pend. Teknik Informatika 2014 OFF B
•
5e8kip8i poga' ( Poga' di a$a8 'e!pakan poga' !n$!k 'ena'pilkan da$a dii 'aha8i8#a dengan kon8ep inheritance *pe#ai8an3& Poga' $e8eb!$ $edii dai $iga class% class% yai$! class 6ak!l$a8 * superclass3% superclass3% clas classs J!!8an * subclass3% subclass3% dan dan clas classs :e$ak& :e$ak& 5i dala' clas classs 6ak!l$a8 $edapa$ kon8$!k$o kon8$!k$o% % yai$!
yang be4!ng8i !n$!k 'en;e$ak nilai 9aiabel =na'a> dan =ni'>& Pada class J!! J!!8a 8an n )!ga )!ga $ed $edap apa$ a$ 8eb!a 8eb!ah h kon8 kon8$! $!k$ k$o o%% yai$! yai$! =urusan!String nama% String nim% String jur% String rodi" yang di dala'nya 'e'anggil
kon8$!k$o dai superclass dai superclass%% yai$! 6ak!l$a8 dengan keyword suer!nama% nim"; dan )!ga 'engg!nak 'engg!nakan an keyword this !n$!k 'engak8e8 9aiabel =)!> dan =podi> yang be modifier modifier private& private& Selain i$!% )!ga $edapa$ method =$a'pil*3> yang be4!ng8i !n$!k 'en;e$ak da$a dai ked!a class $e8eb!$ 'elal!i keyword this.jr dan this.#rodi !n$!k 'ena'pilkan nilai dai 9aiabel 9aiabel =)!> dan =podi>% =podi>% 8e$a s#er.tam#il%& !n$!k !n$!k 'e'anggil 'e'anggil method method =$a'pil*3> =$a'pil*3> pada superclass *6ak!l$a83& superclass *6ak!l$a83& !las !lasss :e$a :e$ak k 'e! 'e!pa paka kan n clas classs !$a'a !$a'a yang yang 'ena'p 'ena'pilk ilkan an da$a da$a 'aha8i8 'aha8i8#a #a 8e;aa 8e;aa lengkap& Pada class ini% ob)ek ='h8+> dib!a$ pada class J!!8an dan dii8ikan dengan da$a 'aha8i8#a 8e8!ai dengan 4o'a$ paa'e$enya% yai$! na'a% ni'% )!% dan podi& Pen;e$akan da$a dilak!kan 'elal!i pe'anggilan method =$a'pil*3> dengan pein$ah m/s4.tamil!";
23 S1 Pend. Teknik Informatika 2014 OFF B
KESIMPULAN
Bed Beda8a a8ak kan an ha8il ha8il pak pak$i $ik! k!' ' yang yang $elah $elah dila dilak! k!ka kan% n% 'aka 'aka dapa dapa$$ di8i' di8i'p! p!lk lkan an bah# bah#aa nheritance *pe#ai8an3 adalah 8alah 8a$! kon8ep da8a pe'oga' beoien$a8i ob)ek% di 'ana 8!a 8!a$! class dapa dapa$$ 'e'p 'e'p!n !nya yaii class $!!na $!!nan& n& 5ala' 5ala' kon8ep kon8ep pe#ai8 pe#ai8an an ini $edap $edapa$ a$ i8$ilah i8$ilah superclass dan subclass. S!pe;la88 S!pe;la88 adalah kela8 yang 'e#ai8kan 'e#ai8kan 9aiabel 9aiabel a$a! method nya nya a$a! 8eing di8eb!$ kela8 Ind!k% 8edangkan 8!b;la88 adalah kela8 yang di#ai8i 9aiabel a$a! method oleh kela8 ind!k a$a! 88eing eing di8eb!$ kela8 T!!nananak& 5i dala' pe#ai8an )!ga $edapa$ i8$ilah overloading % yai$! method dengan dengan na'a yang 8a'a deng dengan an method lain lain pad pada 8!a$ 8!a$! ! class $e$api $e$api dengan dengan paa'e paa'e$e $e yang yang bebed bebeda& a& Sedang Sedangkan kan overriding 'e!pakan 'e!pakan keadaan di 'ana method subclass 8a'a subclass 8a'a dengan method superclass% superclass% yang paa'e$enya 8a'a $e$api penya$aan a$a! i'ple'en$a8inya bebeda& Selain keywor keyword d $hi8% di dala' pe#ai8an )!ga $edapa$ keyword super yang yang dig!nakan oleh subclass !n$!k subclass !n$!k 'e'anggil kon8$!k$o yang beada pada superclass pada superclass&&
DA2TAR RUJUKAN
Ti Adi N!goho& 2-+-& nheritance 2-+-& nheritance dalam ava. 'online(. *h$$p8($iadin!gCodpe88&;o'2-+--.+0inhei$an;e
24 S1 Pend. Teknik Informatika 2014 OFF B