SlideShare a Scribd company logo
1 of 4
Jefri Fahrian | Page 1 of 4
04.56 Polymorphic Arguements
Jefri Fahrian (06)
Dalam pemrograman berorientasi objek kita mengenal suatu istilah yaitu
“polimorfisme“, merupakan suatu teknik dalam programming yang lebih
mengarahkan kita untuk memprogram secara general dari pada secara spesifik.
Polimorfisme mempunyai arti “banyak bentuk”, yaitu kemampuan suatu objek
untuk menggunakan method yang sama di banyak kelas, namun method tersebut
memiliki karakteristik yang berbeda – beda di tiap kelas. Polimorfisme bisa
berupa overriding atau overloading.
Argumen/Parameter Pada Polimorfisme
Polimorfisme dapat berarti banyak bentuk, maksudnya yaitu kita dapat
menimpa (override) suatu method yang berasal dari parent class (super class)
dimana objek tersebut diturunkan, sehingga memiliki karakteristik yang berbeda.
Polimorfisme juga merupakan fungsi pengembangan dari inheritance (pewarisan)
(Hariyanto, 2003). Dalam pemrograman, polimorfisme dapat diartikan sebagai
modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku) yang
berbeda sehingga listing code dalam implementasi programnya juga berbeda -
beda. Cara yang digunakan polimorfisme untuk menyatakan satu nama yang
merujuk ke beberapa fungsi berbeda yaitu:
1. Method overloading : penggunaan satu nama untuk beberapa method
yang berbeda (beda parameter)
2. Method overriding dengan pewarisan : terjadi ketika deklarasi method
pada subclass dengan nama dan parameter yang sama dengan method
dari superclass-nya (induk).
Ada beberapa hal yang harus dipenuhi dalam polimorfisme, seperti :
1. Method yang dipanggil harus melalui parent class (kelas induk)
2. Method yang dipanggil harus menjadi method pada parent class
3. Access modifier method pada subclass (turunan) tidak boleh lebih terbatas
dari parent class, contohnya jika method pada parent class bersifat public
maka pada turunannya tidak boleh bersifat private atau public static
Jefri Fahrian | Page 2 of 4
Berikut ini contoh program yang mengimplementasikan polimorfisme
berparameter (memiliki argumen) :
Kelas Hewan :
class Hewan {
private String jenis;
private int kaki;
Hewan() { //kontruktor
}
Hewan (String jenis, int kaki) {
this.jenis = jenis;
this.kaki = kaki;
}
public void bersuara() { //method yang diturunkan
System.out.print("Suara hewan " + jenis + " berkaki " +
mmmmmmmmmmmmmmkaki);
}
}
Kelas Anjing :
class Anjing extends Hewan {
Anjing(String jenis, int kaki) { //parameter atau argumen
//memanggil konstruktor dari superclass atau menjadi variabel yang
mengacu pada superclass
super(jenis, kaki);
}
public void bersuara() { //overriding method
super.bersuara();
System.out.println(" guk guk guk...");
}
}
Kelas Kucing :
class Kucing extends Hewan {
Kucing(String jenis, int kaki) {
super(jenis, kaki);
}
public void bersuara() { //overriding method
super.bersuara();
System.out.println(" miaowwww...");
}
}
Kelas Ayam :
class Ayam extends Hewan {
Ayam(String jenis, int kaki) {
super(jenis, kaki);
}
Jefri Fahrian | Page 3 of 4
public void bersuara() { //overriding method
super.bersuara();
System.out.println(" kukuruyuuuk...");
}
}
Kelas Main :
class Main {
public static void main(String args[]) {
//penginstansian dari kelas asal
Anjing doggy = new Anjing("Anjing", 4);
Kucing tom = new Kucing("Kucing", 4);
Ayam chicky = new Ayam("Ayam", 2);
doggy.bersuara(); //pemanggilan objek
tom.bersuara();
chicky.bersuara();
}
}
Keluaran program :
Suara hewan Anjing berkaki 4 guk guk guk...
Suara hewan Kucing berkaki 4 miaowwww...
Suara hewan Ayam berkaki 2 kukuruyuuuk...
Keuntungan menggunakan Polimorfisme :
Kegunaan dari polimorfisme adalah agar kita dapat mendefinisikan
beberapa konstruktor atau metode dengan karakteristik yang berbeda-beda agar
nantinya dapat digunakan untuk kasus-kasus yang berbeda. Dengan menggunakan
konsep polimorfisme, dengan mudah dapat diperpanjang, menyediakan objek baru
yang sesuai. Hanya perlu menunjukkan perubahan baru bersama dengan aplikasi
lama. Dalam bahasa pemrograman, selalu ada kebutuhan untuk menambahkan
dan mengubah. Dengan memanfaatkan konsep polimorfisme, waktu dan tenaga
kerja berkurang di samping perawatan membuat masa depan lebih mudah.
1. Helps in reusability of code = Membantu dalam usabilitas kode
2. Provides easier maintenance of applications = Menyediakan lebih mudah
pemeliharaan aplikasi
3. Helps in achieving robustness in applications = Membantu dalam
mencapai ketahanan dalam aplikasi
Jefri Fahrian | Page 4 of 4
Daftar Pustaka
Bloch, J. (2001). Effective Java: Programming Language Guide. Massachusetts:
Addison Wesley.
Bracha, G. (2004). Generics in the Java Programming Language.
Hariyanto, B. (2003). Esensi - Esensi bahasa pemrograman Java. Bandung:
Penerbit Informatika.
Harold, E. R. (1999). Java I/O. O'Reilly.
McLaughlin, B. (2002). Building Java™ Enterprise Applications Volume I:
Architecture. O'Reilly.

More Related Content

Viewers also liked

Butler Final Project
Butler Final ProjectButler Final Project
Butler Final Projectjfbutler11
 
презентация стар топ
презентация стар топпрезентация стар топ
презентация стар топArydan
 
Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2stefany
 
사진 앨범
사진 앨범사진 앨범
사진 앨범net4you
 
致明天的我们 20120606
致明天的我们 20120606致明天的我们 20120606
致明天的我们 20120606cash0430
 
NewTest-910080.ppt
NewTest-910080.pptNewTest-910080.ppt
NewTest-910080.pptIQM123
 
Body paragraph and midtest
Body paragraph and midtestBody paragraph and midtest
Body paragraph and midtestPenyelamatJanda
 
Website usability ideas for business growth
Website usability ideas for business growthWebsite usability ideas for business growth
Website usability ideas for business growthJames Smith
 
TEDxTableMountain - 'The case for the maximum wage'
TEDxTableMountain - 'The case for the maximum wage'TEDxTableMountain - 'The case for the maximum wage'
TEDxTableMountain - 'The case for the maximum wage'leavesoflanguage
 
Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2stefany
 

Viewers also liked (18)

Meu slide
Meu slideMeu slide
Meu slide
 
Butler Final Project
Butler Final ProjectButler Final Project
Butler Final Project
 
презентация стар топ
презентация стар топпрезентация стар топ
презентация стар топ
 
Los 7 juegos de pat parelli bo
Los 7 juegos de pat parelli boLos 7 juegos de pat parelli bo
Los 7 juegos de pat parelli bo
 
Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2
 
Doma natural: Esteban Labari i Lucy Rees
Doma natural: Esteban Labari i Lucy ReesDoma natural: Esteban Labari i Lucy Rees
Doma natural: Esteban Labari i Lucy Rees
 
사진 앨범
사진 앨범사진 앨범
사진 앨범
 
致明天的我们 20120606
致明天的我们 20120606致明天的我们 20120606
致明天的我们 20120606
 
Tok v poluprovodnici_1
Tok v poluprovodnici_1Tok v poluprovodnici_1
Tok v poluprovodnici_1
 
NewTest-910080.ppt
NewTest-910080.pptNewTest-910080.ppt
NewTest-910080.ppt
 
Redes de emergencia
Redes de emergenciaRedes de emergencia
Redes de emergencia
 
Body paragraph and midtest
Body paragraph and midtestBody paragraph and midtest
Body paragraph and midtest
 
2.1 ordinal numbers
2.1 ordinal numbers2.1 ordinal numbers
2.1 ordinal numbers
 
Secrets to Building a Stellar Research Program
Secrets to Building a Stellar Research ProgramSecrets to Building a Stellar Research Program
Secrets to Building a Stellar Research Program
 
La guerra di piero
La guerra di pieroLa guerra di piero
La guerra di piero
 
Website usability ideas for business growth
Website usability ideas for business growthWebsite usability ideas for business growth
Website usability ideas for business growth
 
TEDxTableMountain - 'The case for the maximum wage'
TEDxTableMountain - 'The case for the maximum wage'TEDxTableMountain - 'The case for the maximum wage'
TEDxTableMountain - 'The case for the maximum wage'
 
Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2Universidad de san bueneventura –cartagena2
Universidad de san bueneventura –cartagena2
 

Similar to Polimorfisme Argumen

Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxssuserc54f06
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphismrahmantoyuri
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Rakhmat Dedi Gunawan
 
BAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMEBAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMERicko SkyWriter
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Presentasi Kelompok 6 pelajaran PBO 12rpl
Presentasi Kelompok 6 pelajaran PBO 12rplPresentasi Kelompok 6 pelajaran PBO 12rpl
Presentasi Kelompok 6 pelajaran PBO 12rplRezaPahlawan26
 
Pemograman Dekstop
Pemograman DekstopPemograman Dekstop
Pemograman Dekstopdayat fkr
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphismeSaprudin Eskom
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismKuliahKita
 
PBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxPBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxHeriPurwanto74
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphismSaprudin Eskom
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept EsterLumba
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objekroy naldo
 

Similar to Polimorfisme Argumen (20)

Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
 
BAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISMEBAB 5 PBO C++ POLIMORFISME
BAB 5 PBO C++ POLIMORFISME
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Presentasi Kelompok 6 pelajaran PBO 12rpl
Presentasi Kelompok 6 pelajaran PBO 12rplPresentasi Kelompok 6 pelajaran PBO 12rpl
Presentasi Kelompok 6 pelajaran PBO 12rpl
 
P5 depandi enda
P5 depandi endaP5 depandi enda
P5 depandi enda
 
Blogger
BloggerBlogger
Blogger
 
Pemograman Dekstop
Pemograman DekstopPemograman Dekstop
Pemograman Dekstop
 
12. tambahan polymorphisme
12. tambahan polymorphisme12. tambahan polymorphisme
12. tambahan polymorphisme
 
25100 polimorphism
25100 polimorphism25100 polimorphism
25100 polimorphism
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - Polymorphism
 
PBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptxPBO ( Pemograman berbasis Objek ).pptx
PBO ( Pemograman berbasis Objek ).pptx
 
12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism12. keuntungan pemograman dengan menggunakan polymorphism
12. keuntungan pemograman dengan menggunakan polymorphism
 
pemrograman php ii
pemrograman  php iipemrograman  php ii
pemrograman php ii
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
Pemrograman desktop
Pemrograman desktopPemrograman desktop
Pemrograman desktop
 
Kelas dan objek
Kelas  dan objekKelas  dan objek
Kelas dan objek
 

More from Jefri Fahrian

06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classesJefri Fahrian
 
06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphicsJefri Fahrian
 
05.70 JAVA SE_java list
05.70  JAVA SE_java list05.70  JAVA SE_java list
05.70 JAVA SE_java listJefri Fahrian
 
05.63 JAVA SE_java button final
05.63 JAVA SE_java button final05.63 JAVA SE_java button final
05.63 JAVA SE_java button finalJefri Fahrian
 
04.47 JAVA SE_more on static
04.47 JAVA SE_more on static04.47 JAVA SE_more on static
04.47 JAVA SE_more on staticJefri Fahrian
 
03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set methodJefri Fahrian
 
02.26 JAVA SE_random number generator
02.26 JAVA SE_random number generator02.26 JAVA SE_random number generator
02.26 JAVA SE_random number generatorJefri Fahrian
 
03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional araysJefri Fahrian
 
01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statementJefri Fahrian
 
02.19 Java SE_else if statement
02.19 Java SE_else if statement02.19 Java SE_else if statement
02.19 Java SE_else if statementJefri Fahrian
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user inputJefri Fahrian
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTPJefri Fahrian
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointJefri Fahrian
 
Praktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxPraktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxJefri Fahrian
 
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTPraktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTJefri Fahrian
 
Praktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxPraktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxJefri Fahrian
 
Praktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsPraktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsJefri Fahrian
 
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Jefri Fahrian
 
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKPrakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKJefri Fahrian
 
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKPrakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKJefri Fahrian
 

More from Jefri Fahrian (20)

06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes06.77 JAVA SE_adapter classes
06.77 JAVA SE_adapter classes
 
06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics06.84 JAVA SE_drawing graphics
06.84 JAVA SE_drawing graphics
 
05.70 JAVA SE_java list
05.70  JAVA SE_java list05.70  JAVA SE_java list
05.70 JAVA SE_java list
 
05.63 JAVA SE_java button final
05.63 JAVA SE_java button final05.63 JAVA SE_java button final
05.63 JAVA SE_java button final
 
04.47 JAVA SE_more on static
04.47 JAVA SE_more on static04.47 JAVA SE_more on static
04.47 JAVA SE_more on static
 
03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method03.40 JAVA SE_get and set method
03.40 JAVA SE_get and set method
 
02.26 JAVA SE_random number generator
02.26 JAVA SE_random number generator02.26 JAVA SE_random number generator
02.26 JAVA SE_random number generator
 
03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays03.33 JAVA SE_multidimensional arays
03.33 JAVA SE_multidimensional arays
 
01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement01.12 JAVA SE_switch statement
01.12 JAVA SE_switch statement
 
02.19 Java SE_else if statement
02.19 Java SE_else if statement02.19 Java SE_else if statement
02.19 Java SE_else if statement
 
01.06 Java SE_getting user input
01.06 Java SE_getting user input01.06 Java SE_getting user input
01.06 Java SE_getting user input
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTP
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access point
 
Praktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual BoxPraktikum6 komdat_NAT in Virtual Box
Praktikum6 komdat_NAT in Virtual Box
 
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUESTPraktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
Praktikum5 komdat_SHARE FILE DARI KOMPUTER HOST KE GUEST
 
Praktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual boxPraktikum4 komdat_install windows xp in virtual box
Praktikum4 komdat_install windows xp in virtual box
 
Praktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windowsPraktikum2 komdat_ basic command prompt & sharing file in windows
Praktikum2 komdat_ basic command prompt & sharing file in windows
 
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
Praktikum1 komdat_pembuatan kabel UTP (stright dan cross)
 
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIKPrakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
Prakt.jarkom1 jefri tugas ke 4 SETTING WEB PROXY dan FIREWALL MIKROTIK
 
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIKPrakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
Prakt.jarkom1 jefri tugas ke 3 SETTING HOTSPOT MIKROTIK
 

Polimorfisme Argumen

  • 1. Jefri Fahrian | Page 1 of 4 04.56 Polymorphic Arguements Jefri Fahrian (06) Dalam pemrograman berorientasi objek kita mengenal suatu istilah yaitu “polimorfisme“, merupakan suatu teknik dalam programming yang lebih mengarahkan kita untuk memprogram secara general dari pada secara spesifik. Polimorfisme mempunyai arti “banyak bentuk”, yaitu kemampuan suatu objek untuk menggunakan method yang sama di banyak kelas, namun method tersebut memiliki karakteristik yang berbeda – beda di tiap kelas. Polimorfisme bisa berupa overriding atau overloading. Argumen/Parameter Pada Polimorfisme Polimorfisme dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override) suatu method yang berasal dari parent class (super class) dimana objek tersebut diturunkan, sehingga memiliki karakteristik yang berbeda. Polimorfisme juga merupakan fungsi pengembangan dari inheritance (pewarisan) (Hariyanto, 2003). Dalam pemrograman, polimorfisme dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku) yang berbeda sehingga listing code dalam implementasi programnya juga berbeda - beda. Cara yang digunakan polimorfisme untuk menyatakan satu nama yang merujuk ke beberapa fungsi berbeda yaitu: 1. Method overloading : penggunaan satu nama untuk beberapa method yang berbeda (beda parameter) 2. Method overriding dengan pewarisan : terjadi ketika deklarasi method pada subclass dengan nama dan parameter yang sama dengan method dari superclass-nya (induk). Ada beberapa hal yang harus dipenuhi dalam polimorfisme, seperti : 1. Method yang dipanggil harus melalui parent class (kelas induk) 2. Method yang dipanggil harus menjadi method pada parent class 3. Access modifier method pada subclass (turunan) tidak boleh lebih terbatas dari parent class, contohnya jika method pada parent class bersifat public maka pada turunannya tidak boleh bersifat private atau public static
  • 2. Jefri Fahrian | Page 2 of 4 Berikut ini contoh program yang mengimplementasikan polimorfisme berparameter (memiliki argumen) : Kelas Hewan : class Hewan { private String jenis; private int kaki; Hewan() { //kontruktor } Hewan (String jenis, int kaki) { this.jenis = jenis; this.kaki = kaki; } public void bersuara() { //method yang diturunkan System.out.print("Suara hewan " + jenis + " berkaki " + mmmmmmmmmmmmmmkaki); } } Kelas Anjing : class Anjing extends Hewan { Anjing(String jenis, int kaki) { //parameter atau argumen //memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass super(jenis, kaki); } public void bersuara() { //overriding method super.bersuara(); System.out.println(" guk guk guk..."); } } Kelas Kucing : class Kucing extends Hewan { Kucing(String jenis, int kaki) { super(jenis, kaki); } public void bersuara() { //overriding method super.bersuara(); System.out.println(" miaowwww..."); } } Kelas Ayam : class Ayam extends Hewan { Ayam(String jenis, int kaki) { super(jenis, kaki); }
  • 3. Jefri Fahrian | Page 3 of 4 public void bersuara() { //overriding method super.bersuara(); System.out.println(" kukuruyuuuk..."); } } Kelas Main : class Main { public static void main(String args[]) { //penginstansian dari kelas asal Anjing doggy = new Anjing("Anjing", 4); Kucing tom = new Kucing("Kucing", 4); Ayam chicky = new Ayam("Ayam", 2); doggy.bersuara(); //pemanggilan objek tom.bersuara(); chicky.bersuara(); } } Keluaran program : Suara hewan Anjing berkaki 4 guk guk guk... Suara hewan Kucing berkaki 4 miaowwww... Suara hewan Ayam berkaki 2 kukuruyuuuk... Keuntungan menggunakan Polimorfisme : Kegunaan dari polimorfisme adalah agar kita dapat mendefinisikan beberapa konstruktor atau metode dengan karakteristik yang berbeda-beda agar nantinya dapat digunakan untuk kasus-kasus yang berbeda. Dengan menggunakan konsep polimorfisme, dengan mudah dapat diperpanjang, menyediakan objek baru yang sesuai. Hanya perlu menunjukkan perubahan baru bersama dengan aplikasi lama. Dalam bahasa pemrograman, selalu ada kebutuhan untuk menambahkan dan mengubah. Dengan memanfaatkan konsep polimorfisme, waktu dan tenaga kerja berkurang di samping perawatan membuat masa depan lebih mudah. 1. Helps in reusability of code = Membantu dalam usabilitas kode 2. Provides easier maintenance of applications = Menyediakan lebih mudah pemeliharaan aplikasi 3. Helps in achieving robustness in applications = Membantu dalam mencapai ketahanan dalam aplikasi
  • 4. Jefri Fahrian | Page 4 of 4 Daftar Pustaka Bloch, J. (2001). Effective Java: Programming Language Guide. Massachusetts: Addison Wesley. Bracha, G. (2004). Generics in the Java Programming Language. Hariyanto, B. (2003). Esensi - Esensi bahasa pemrograman Java. Bandung: Penerbit Informatika. Harold, E. R. (1999). Java I/O. O'Reilly. McLaughlin, B. (2002). Building Java™ Enterprise Applications Volume I: Architecture. O'Reilly.