Polimorfisme memungkinkan objek dari subclass untuk menimpa perilaku yang diwarisi dari superclass. Overloading memungkinkan method dengan nama yang sama tetapi parameter yang berbeda. Overriding memungkinkan subclass untuk menimpa implementasi method dari superclass.
Atribut kelas Kapsul:
- private double panjang
- private double lebar
- private double tinggi
Method kelas Kapsul:
- private double luas(double p, double l)
Accessor method kelas Kapsul:
- public double getPanjang()
- public double getLebar()
Mutator method kelas Kapsul:
- public void setPanjang(double panjang)
- public void setLebar(double lebar)
Objek pada kelas Enkapsulasi:
- Kapsul pp = new Kapsul()
Atribut dari Kelas Kapsul
- private double panjang
- private double lebar
- private double tinggi
Method dari Kelas Kapsul
- private double luas(double p, double l)
Accessor Method dari Kelas Kapsul
- public double getPanjang()
- public double getLebar()
Mutator Method dari Kelas Kapsul
- public void setPanjang(double panjang)
- public void setLebar(double lebar)
Objek pada kelas Enkapsulasi
- Kapsul pp
Dokumen tersebut membahas tentang konsep dasar inheritance dalam bahasa pemrograman Java, meliputi pengertian, deklarasi, jenis, penerapan, pengaksesan anggota kelas, kontrol akses, kata kunci super, dan konstruktor yang tidak diwariskan. Terdapat juga contoh kode program dan latihan untuk menerapkan inheritance dalam mengimplementasikan diagram kelas untuk aplikasi perbankan.
Atribut kelas Kapsul:
- private double panjang
- private double lebar
- private double tinggi
Method kelas Kapsul:
- private double luas(double p, double l)
Accessor method kelas Kapsul:
- public double getPanjang()
- public double getLebar()
Mutator method kelas Kapsul:
- public void setPanjang(double panjang)
- public void setLebar(double lebar)
Objek pada kelas Enkapsulasi:
- Kapsul pp = new Kapsul()
Atribut dari Kelas Kapsul
- private double panjang
- private double lebar
- private double tinggi
Method dari Kelas Kapsul
- private double luas(double p, double l)
Accessor Method dari Kelas Kapsul
- public double getPanjang()
- public double getLebar()
Mutator Method dari Kelas Kapsul
- public void setPanjang(double panjang)
- public void setLebar(double lebar)
Objek pada kelas Enkapsulasi
- Kapsul pp
Dokumen tersebut membahas tentang konsep dasar inheritance dalam bahasa pemrograman Java, meliputi pengertian, deklarasi, jenis, penerapan, pengaksesan anggota kelas, kontrol akses, kata kunci super, dan konstruktor yang tidak diwariskan. Terdapat juga contoh kode program dan latihan untuk menerapkan inheritance dalam mengimplementasikan diagram kelas untuk aplikasi perbankan.
Modul prak2 constructor dan overloadingwahyuniwulan
Modul ini membahas tentang constructor, overload constructor, dan overload method pada pemrograman berorientasi objek. Modul ini menjelaskan pengertian dan implementasi dari ketiga konsep tersebut dengan contoh kode program seperti class Kotak dan Perkalian. Modul ini juga memberikan tugas praktikum untuk menerapkan overload method dan constructor.
Makalah ini membahas tentang praktikum abstract dan interface pada pemrograman berorientasi object. Terdapat penjelasan tentang abstract class yang berisi method abstrak dan konkrit serta interface yang hanya berisi deklarasi method. Ada pula contoh program yang mengimplementasikan abstract class dan interface untuk menghitung luas dan keliling lingkaran serta segitiga.
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
Dokumen tersebut membahas tentang pembuatan program menghitung luas bangun datar menggunakan Java OOP dan antarmuka grafis NetBeans. Termasuk pembahasan tentang pembuatan kelas-kelas logika untuk setiap bangun datar dan cara membuat tampilan antarmuka pengguna."
Inheritance, polymorphism, dan interface memungkinkan pembuatan hierarki kelas yang fleksibel dan reusabilitas kode. Interface dan kelas abstrak memungkinkan definisi perilaku standar tanpa menentukan implementasi. Polymorphism memungkinkan objek-objek dari subclass yang berbeda diperlakukan sebagai objek dari superclass.
Modul ini membahas pengenalan Java, meliputi pengertian Java, sejarah, fitur-fitur, dan konsep dasar Java seperti tipe data, variabel, array, serta cara menginstal dan menjalankan program Java sederhana.
Enkapsulasi merupakan proses menyembunyi detail implementasi internal suatu objek agar hanya dapat diakses melalui antarmuka yang disediakan. Konsep ini penting untuk melindungi integritas program dan memudahkan pemeliharaan. Enkapsulasi diterapkan dalam Java dengan menggunakan modifier akses untuk menentukan ruang lingkup suatu atribut atau metode.
Abstract class dan interface digunakan untuk mendefinisikan kelas dan metode abstrak serta mengatur polimorfisme. Abstract class dapat memiliki metode abstrak yang harus diimplementasikan ulang pada subclass, sedangkan interface hanya mendefinisikan kontrak metode tanpa implementasi. Exception digunakan untuk menangani kondisi tidak normal selama eksekusi program.
Struktur program Java terdiri dari package, import, class, dan method. Package digunakan untuk mengelompokkan class, import diperlukan untuk mengakses class lain, class merupakan bagian utama yang berisi deklarasi variabel dan method, sedangkan method menjelaskan perilaku objek.
Inheritance atau pewarisan memungkinkan penciptaan kelas baru yang mewarisi properti dan metode dari kelas induk. Kelas turunan dapat menambahkan atau menimpa perilaku asli serta mewarisi akses level dari properti dan metode kelas induk. Pewarisan tunggal dan ganda merupakan jenis pewarisan utama dalam pemrograman berorientasi objek.
Modul prak2 constructor dan overloadingwahyuniwulan
Modul ini membahas tentang constructor, overload constructor, dan overload method pada pemrograman berorientasi objek. Modul ini menjelaskan pengertian dan implementasi dari ketiga konsep tersebut dengan contoh kode program seperti class Kotak dan Perkalian. Modul ini juga memberikan tugas praktikum untuk menerapkan overload method dan constructor.
Makalah ini membahas tentang praktikum abstract dan interface pada pemrograman berorientasi object. Terdapat penjelasan tentang abstract class yang berisi method abstrak dan konkrit serta interface yang hanya berisi deklarasi method. Ada pula contoh program yang mengimplementasikan abstract class dan interface untuk menghitung luas dan keliling lingkaran serta segitiga.
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
Dokumen tersebut membahas tentang pembuatan program menghitung luas bangun datar menggunakan Java OOP dan antarmuka grafis NetBeans. Termasuk pembahasan tentang pembuatan kelas-kelas logika untuk setiap bangun datar dan cara membuat tampilan antarmuka pengguna."
Inheritance, polymorphism, dan interface memungkinkan pembuatan hierarki kelas yang fleksibel dan reusabilitas kode. Interface dan kelas abstrak memungkinkan definisi perilaku standar tanpa menentukan implementasi. Polymorphism memungkinkan objek-objek dari subclass yang berbeda diperlakukan sebagai objek dari superclass.
Modul ini membahas pengenalan Java, meliputi pengertian Java, sejarah, fitur-fitur, dan konsep dasar Java seperti tipe data, variabel, array, serta cara menginstal dan menjalankan program Java sederhana.
Enkapsulasi merupakan proses menyembunyi detail implementasi internal suatu objek agar hanya dapat diakses melalui antarmuka yang disediakan. Konsep ini penting untuk melindungi integritas program dan memudahkan pemeliharaan. Enkapsulasi diterapkan dalam Java dengan menggunakan modifier akses untuk menentukan ruang lingkup suatu atribut atau metode.
Abstract class dan interface digunakan untuk mendefinisikan kelas dan metode abstrak serta mengatur polimorfisme. Abstract class dapat memiliki metode abstrak yang harus diimplementasikan ulang pada subclass, sedangkan interface hanya mendefinisikan kontrak metode tanpa implementasi. Exception digunakan untuk menangani kondisi tidak normal selama eksekusi program.
Struktur program Java terdiri dari package, import, class, dan method. Package digunakan untuk mengelompokkan class, import diperlukan untuk mengakses class lain, class merupakan bagian utama yang berisi deklarasi variabel dan method, sedangkan method menjelaskan perilaku objek.
Inheritance atau pewarisan memungkinkan penciptaan kelas baru yang mewarisi properti dan metode dari kelas induk. Kelas turunan dapat menambahkan atau menimpa perilaku asli serta mewarisi akses level dari properti dan metode kelas induk. Pewarisan tunggal dan ganda merupakan jenis pewarisan utama dalam pemrograman berorientasi objek.
Dokumen tersebut merupakan modul praktikum tentang polymorphism dalam bahasa pemrograman berorientasi objek Java. Modul tersebut memberikan tujuan instruksional untuk mahasiswa dapat membuat dan menggunakan beberapa jenis polymorphism dalam program serta menjelaskannya. Kemudian memberikan contoh program yang mengimplementasikan polymorphism pada class mobil dan sepeda yang mewarisi class kendaraan. Mahasiswa diminta menganalisis program dan menjawab pertanyaan terkait pen
Dokumen tersebut merangkum materi pelatihan Java Application Developer pada sesi ke-5. Materi yang disampaikan meliputi pemrograman berorientasi objek meliputi konsep inheritance, polymorphism, kelas dan method abstrak, serta interface. Contoh kode program diberikan untuk mengilustrasikan konsep-konsep tersebut.
Laporan praktikum ini membahas tentang praktikum PHP (Hypertext Preprocessor) yang bertujuan untuk memahami struktur dasar dokumen PHP, membuat dokumen PHP yang baik, dan memanfaatkan elemen dasar PHP untuk mengolah dan menampilkan informasi. Laporan ini menjelaskan teori dasar PHP, latihan-latihan tentang variabel, pengujian tipe data, pernyataan seleksi, dan contoh kode programnya.
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
Modul ini membahas tentang pemrograman berorientasi objek dengan bahasa Java. Materi yang dibahas antara lain konsep dasar OOP, penggunaan array, konstruktor, exception handling, serta percabangan dan operator dalam Java."
Dokumen tersebut membahas konsep-konsep seperti overloading, overriding, dan final class/method dalam PHP beserta contoh kodenya. PHP tidak sepenuhnya mendukung overloading seperti bahasa lain namun menyediakan magic method untuk keperluan serupa."
Buku praktikum ini membahas tentang pemrograman berorientasi objek untuk mahasiswa jurusan manajemen informatika dengan modul-modul pengenalan Java, dasar pemrograman Java, penggunaan class BufferedReader dan JOptionPane, serta konsep enkapsulasi. [/ringkuman]"
Dokumen tersebut membahas dua konsep penting dalam pemograman berorientasi objek yaitu perwarisan dan polimerfisme. Perwarisan memungkinkan kelas baru mewarisi sifat dari kelas yang ada, seperti kelas anak mewarisi sifat orang tuanya. Polimerfisme terjadi ketika nama method sama tetapi parameternya berbeda seperti majas personifikasi dalam bahasa Indonesia.
Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)Debby Ummul
Dokumen ini membahas tentang konsep inheritance dalam pemrograman berorientasi objek. Inheritance memungkinkan hubungan antara class dimana subclass mewarisi atribut dan method dari superclass. Dokumen ini memberikan contoh kode program untuk mempraktekkan single inheritance, multilevel inheritance, dan access control. Juga dijelaskan penggunaan kata kunci super dan konstruktor yang tidak diwariskan.
new Chapter 8 - Coding Form Master Pelanggan (Customer).pdfrahmantoyuri
Modul ini membahas coding form master pelanggan pada aplikasi penjualan barang dengan menggunakan bahasa pemrograman C# dan SQL Server. Terdapat penjelasan mengenai koneksi form ke database, pembuatan prosedur untuk membersihkan, mengatur tombol, dan memperbarui data pelanggan, serta coding untuk menyimpan, mengedit, menghapus, dan mencari data pelanggan.
new Chapter 7 - Coding Form Master Barang.pdfrahmantoyuri
Modul ini membahas coding form master barang pada aplikasi penjualan barang menggunakan Visual C# dan SQL Server. Terdapat penjelasan tentang koneksi form ke database, pembuatan prosedur untuk membersihkan, mengatur tombol, dan memperbarui data, serta coding untuk menyimpan, mengedit, menghapus, mencari, dan keluar dari form. Bab ini memaparkan langkah-langkah koding form untuk dapat berinteraksi dengan database secara utuh.
new Chapter 6 - Kelas Koneksi dan Form Login.pdfrahmantoyuri
Modul ini membahas tentang membuat kelas koneksi dan coding pada form login untuk aplikasi penjualan barang menggunakan Visual C# dan SQL Server. Kelas koneksi berisi perintah untuk mengintegrasikan database SQL Server dengan proyek program. Form login dikoding untuk memeriksa kesesuaian username dan password yang dimasukkan dengan data pada tabel login di database untuk memverifikasi pengguna.
Bab 4 membahas desain form transaksi untuk aplikasi penjualan barang. Terdiri dari form transaksi utama, dialog pencarian pelanggan, dan dialog pencarian barang. Komponen-komponen seperti label, textbox, dan datagridview ditempatkan pada form dan dialog tersebut sesuai aturan.
This document discusses electronic filing (e-filing) and its advantages over traditional paper-based filing systems. It defines filing and archiving as activities that arrange documents in a systematic order for easy storage and retrieval. E-filing involves storing archives in a digital format that can only be processed by computers. The key benefits of e-filing are quicker information retrieval, centralized storage to avoid duplication, and space/paper savings. The document provides guidance on setting up an e-filing system, including creating agendas for incoming and outgoing mail and folders for inbox items, disposition records, and sent mail.
This document discusses electronic filing (e-filing) and its advantages over traditional paper-based filing. It defines filing as arranging and storing documents for easy retrieval. E-filing involves storing files digitally using tools like computers, databases, and applications. Some key benefits of e-filing are that information can be retrieved quickly, centrally stored to avoid duplication, and saves space by digitizing documents. The document provides instructions on setting up an e-filing system using Google Drive, including creating inboxes, outgoing mail archives, and other categories. Overall, e-filing provides a more effective alternative to manual filing systems.
E-filing allows documents to be filed electronically rather than printing and physically delivering them. It streamlines the filing process and saves time and resources compared to traditional paper filing. The document discusses electronic filing and was written by Yuri Rahmanto, who has an M.Kom degree.
Dokumen ini membahas tentang join tabel relasional dalam basis data. Terdapat penjelasan tentang inner join 2 tabel, inner join lebih dari 2 tabel, outer join, dan view. Mahasiswa diajarkan cara menggabungkan tabel menggunakan SQL join untuk menampilkan data dari beberapa tabel.
Dokumen membahas Data Manipulation Language (DML) yang merupakan perintah SQL untuk manipulasi data dalam tabel database. DML mencakup perintah dasar seperti SELECT untuk mengambil data, INSERT untuk menyisipkan data baru, UPDATE untuk memodifikasi data, dan DELETE untuk menghapus data. Mahasiswa diajarkan definisi DML dan cara mempraktekkan perintah dasar DML.
Universitas Negeri Jakarta banyak melahirkan tokoh pendidikan yang memiliki pengaruh didunia pendidikan. Beberapa diantaranya ada didalam file presentasi
Materi ini membahas tentang defenisi dan Usia Anak di Indonesia serta hubungannya dengan risiko terpapar kekerasan. Dalam modul ini, akan diuraikan berbagai bentuk kekerasan yang dapat dialami anak-anak, seperti kekerasan fisik, emosional, seksual, dan penelantaran.
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024Kanaidi ken
Dlm wktu dekat, Pelatihan/WORKSHOP ”CSR/TJSL & Community Development (ISO 26000)” akn diselenggarakan di Swiss-BelHotel – BALI (26-28 Juni 2024)...
Dgn materi yg mupuni & Narasumber yg kompeten...akn banyak manfaat dan keuntungan yg didpt mengikuti Pelatihan menarik ini.
Boleh jga info ini👆 utk dishare_kan lgi kpda tmn2 lain/sanak keluarga yg sekiranya membutuhkan training tsb.
Smga Bermanfaat
Thanks Ken Kanaidi
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaFathan Emran
Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka - abdiera.com. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka.
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul pratikum pbo - Polimorphism
1. Modul PBO – Teknokrat
52
POLIMORFISME (POLYMORPISHM)
Tujuan
Praktikan dapat memahami dan menjelaskan konsep polimorfisme dalam
perograman serta dapat mengimplementasikan ke dalam pemrograman Java.
POLIMORFISME
Polimorfisme (polymorpishm) bearti banyak bentuk (bahasa Yunani). Dalam pemrograman
berorientasi obyek, digunakan untuk memerintah obyek agar melakukan aksi atau tindakan yang
mungkin secara prinsip sama namun secara proses berbeda.
Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface
banyak aksi. Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran terdiri
atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama,
seperti: stir, tongkat transmisi, pedal gas dan rem. Jika seseorang dapat mengemudikan satu jenis
mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hamper semua jenis
mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama.
Harus diperhatikan disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Misal
pedal gas, jika ditekan maka kecepatan mobil akan meningkat, tapi bagaiman proses peningkatan
kecepatan ini dapat berbeda-beda untuk setiap jenis mobil.Dengan menggunakan OOP maka dalam
melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu
masalah tersebut (terstruktur) tetapi obyekobyek apa yang dapat melakukan pemecahan masalah
tersebut.
VIRTUAL METHOD INVOCATION (VMI)
Virtual method invocation (VMI) merupakan suatu hal yang sangat penting dalam konsep
polimorfisme. Syarat terjadinya VMI adalah sebelumnya sudah terjadi polymorphism. Pada saat
obyek yang sudah dibuat tersebut memanggil overridden method pada parent class, kompiler Java
akan melakukan invocation (pemanggilan) terhadap overriding method pada subclass, dimana yang
seharusnya dipanggil adalah overridden. Berikut adalah contoh terjadinya VMI:
Program 6-1
// Test.java
class Parent {
int x = 5;
public void info() {
System.out.println("Ini kelas Parent");
}
}
MODUL
6
2. Modul PBO – Teknokrat
53
class Child extends Parent {
int x = 10;
public void info() {
System.out.println("Ini kelas Child");
}
}
public class Tes {
public static void main(String [] args) {
Parent tes = new Child();
System.out.println("Nilai x = " + tes.x);
tes.info();
}
}
Hasil Output
Nilai x = 5
Ini kelas Child
Berdasarkan program di atas, yang terjadi adalah:
Obyek tes mempunyai behavior yang sesuai dengan runtime type bukan compile type
Ketika compile time tes adalah Parent
Ketika runtime tes adalah Child
Jadi:
o tes hanya bisa mengakses variabel milik Parent
o tes hanya bisa mengakses method milik Child
Pada pembentukan
Parent tes = new Child();
Pertama kali akan menjalankan konstruktor Child, ketika bertemu super() maka akan menjalankan
konstruktor Parent (super class), setelah semua statement dieksekusi baru kemudian menjalankan
konstruktor Child (subclass).
POLYMORPHIC ARGUMENTS
Polymorphic arguments adalah tipe data suatu argumen pada suatu method yang bisa menerima
suatu nilai bertipe subclass-nya. Polymorphic arguments diperlukan, bertujuan untuk
mengefisiensikan pembuatan program. Misalnya suatu kelas memiliki banyak subclass, maka perlu
didefinisikan semua method yang menangani behaviour dari masing-masing subclass. Dengan
adanya polymorphic arguments cukup mendefinisikan satu method saja yang bisa digunakan untuk
menangani behaiour semua kelas. Berikut adalah contoh dari polymorphic arguments:
Program 6-
2
// food.java
public class food {
void eat() { System.out.println("this food is great"); }
}
3. Modul PBO – Teknokrat
54
// tuna.java
public class tuna extends food {
void eat() { System.out.println("this tuna is great"); }
}
// potpie.java
public class potpie extends food {
void eat() { System.out.println("this potpie is great"); }
}
// apples.java
public class apples {
public static void main(String [] args) {
patty bucky = new patty();
food fo = new food();
food po = new potpie();
// penerapan polymorphic argument
bucky.digest(fo);
bucky.digest(po);
}
}
Hasil Output
this food is great
this potpie is great
OPERATOR INSTANCEOF
Pernyataan instanceof sangat berguna untuk mengetahui tipe asal dari suatu polymorphic
arguments. Untuk lebih jelas, berikut kita modifikasi contoh program sebelumnya:
Program 6-
3
// food.java
public class food {
void eat() {
System.out.println("this food is great");
}
}
// tuna.java
public class tuna extends food {
void eat() {
System.out.println("this tuna is great");
}
}
// potpie.java
public class potpie extends food {
void eat() {
System.out.println("this potpie is great");
}
}
4. Modul PBO – Teknokrat
55
// patty.java
public class patty {
public void digest(food x) {
if(x instanceof tuna) {
tuna t = (tuna) x;
t.eat();
} else if(x instanceof potpie) {
potpie p = (potpie) x;
p.eat();
} else {
x.eat();
}
}
}
// apples.java
public class apples {
public static void main(String [] args) {
patty bucky = new patty();
tuna fo = new tuna();
potpie po = new potpie();
bucky.digest(fo);
bucky.digest(po);
}
}
Hasil Output
this potpie is great
this tuna is great
Pemakaian instanceof seringkali diikuti dengan casting obyek dari tipe parameter ke tipe asal.
Contohnya pada program di atas, pada saat kita melakukan instanceof dari tipe tuna, kita dapat
melakukan casting object ke tipe asalnya, yaitu tuna. Berikut adalah cara untuk melakukan casting:
Program 6-4
// patty.java
public class patty {
public void digest(food x) {
// ...
if(x instanceof tuna) {
tuna t = (tuna) x;
// ...
}
// ...
}
}
Tanpa melakukan casting obyek, maka nilai yang akan kita pakai setelah proses instanceof masih
bertipe parent class-nya, sehingga jika tipe tersebut perlu dipakai maka harus dicasting terlebih
dahulu ke tipe subclass-nya.
5. Modul PBO – Teknokrat
56
OVERRIDING
Overriding adalah suatu keadaan dimana subclass memodifikasi tingkah laku yang diwarisi dari super
class. Tujuannya untuk menspesifikan tingkah laku dari subclass tersebut. Overriding dilakukan
dengan cara mendeklarasikan kembali method milik super class di dalam sub class. Deklarasi method
pada subclass harus sama dengan yang terdapat pada di super class, yaitu kesamaan pada nama,
return type, dan daftar parameter (jumlah, tipe, dan urutan). Method pada parent class disebut
overriden method dan pada subclass disebut overriding method. Berikut ini contoh terjadinya
overriding:
Program 6-5
// Employee.java
public class Employee {
protected String name;
protected double salary;
protected Date birthDate;
public String getDetails() {
return "Name: " + name + "n" +
"Salary: " + salary;
}
}
// Manager.java
public class Manager extends Employee {
protected String departement;
public String getDetail() {
return "Name: " + name + "n" +
"Salary: " + salary + "n" +
"Manager of: " + departement;
}
}
Program 6-6
// Animal.java
public class Animal {
public void setVoice() {
System.out.println("Blesesppblesep");
}
}
// Dog.java
public class Dog extends Animal {
public void setVoice() {
System.out.println("Hug..hug..");
}
}
Berdasarkan contoh program di atas, terjadinya overriding pada method getDetails, dimana method
tersebut di-override oleh kelas Manager. Method yang terkena override (overriden method)
diharuskan tidak boleh mempunyai modifier yang lebih luas aksesnya dari method yang meng-
override (overriding method).
6. Modul PBO – Teknokrat
57
OVERLOADING
Overloading adalah suatu keadaan dimana beberapa method memiliki nama yang sama namun
mempunyai fungsionalitas yang berbeda. Tujuannya untuk memudahkan penggunaan/pemanggilan
method dengan fungsional yang mirip. Dalam pendeklarasian overloading aturan yang digunakan
yaitu nama method harus sama, daftar parameter harus berbeda, dan return type boleh sama, juga
boleh berbeda. Berikut adalah contoh implementasi overloading:
Program 6-7
// MethodOverload.java
public class MethodOverload {
public void test() {
System.out.println("Kuadrat dari integer 7 = " + kuadrat(7));
System.out.println("Kuadrat dari double 7.5 = " + kuadrat(7.5));
}
// method kuadrat untuk integer
public int kuadrat(int bil) {
return bil * bil;
}
// method kuadrat untuk double
public double kuadrat(double bil) {
return bil * bil;
}
}
// MethodOverloadRun.java
public class MethodOverloadRun {
public static void main(String [] args) {
MethodOverload x = new MethodOverload();
x.test();
}
}
Berdasarkan kode program di atas, method yang di-overloading adalah kuadrat. Berikut adalah
perbedaan pada kedua method tersebut:
Tabel 6. 1 Contoh method overloading
Tipe return Nama method Daftar Parameter
int Kuadrat (int bil)
double Kuadrat (double bil)
↓ ↓ ↓
Berbeda Sama Berbeda
Berikut adalah contoh potongan kode program yang menerapkan method overloading:
7. Modul PBO – Teknokrat
58
public class Bentuk {
// ...
public void Gambar(int t1) {
// ...
}
public void Gambar(int t1, int t2) {
// ...
}
public void Gambar(int t1, int t2, int t3) {
// ...
}
public void Gambar(int t1, int t2, int t3, int t4) {
// ...
}
}
Overloading juga bisa terjadi antara parent class dengan subclass-nya jika memenuhi ketiga syarat
overload yang sudah disebutkan sebelumnya. Misalnya dari kelas Bentuk pada kode program
sebelumnya diturunkan menjadi kelas baru yang bernama WarnaiBentuk, seperti berikut:
public class Bentuk {
public void Gambar(String warna, int t1) {
// ...
}
public void Gambar(String warna, int t1, int t2) {
// ...
}
// ...
}
CONSTUCTOR OVERLOADING
Suatu kelas bisa memiliki lebih dari satu konstruktor dengan syarat daftar paramenternya tidak
boleh ada yang sama, bentuk inilah yang dinamakan dengan konstruktor overloading. Berikut adalah
contoh bentuk konstruktor overloading:
Program 6-8
// Mahasiswa.java
public class Mahasiswa {
private String npm;
private String nama;
private int umur;
public Mahasiswa() {
// Default konstruktor
npm = "";
nama = "";
umur = 18;
}
8. Modul PBO – Teknokrat
59
public Mahasiswa(String npm, String nama, int umur) {
// Parameter konstruktor
this.npm = npm;
this.nama = nama;
this.umur = umur;
}
// Getter & Setter Method
public String getNpm() {
return npm;
}
public void setNpm(String npm) {
this.npm = npm;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getUmur() {
return umur;
}
public void setUmur(int umur) {
this.umur = umur;
}
}
// MahasiswaOverloadingTest.java
public class MahasiswaOverloadingTest {
public static void main(String [] args) {
Mahasiswa obj = new Mahasiswa();
System.out.println("NPM : " + obj.getNpm());
System.out.println("Nama : " + obj.getNama());
System.out.println("Umur : " + obj.getUmur());
Mahasiswa obj2 = new Mahasiswa("12312343", "Anditya", 19);
System.out.println("NPM : " + obj2.getNpm());
System.out.println("Nama : " + obj2.getNama());
System.out.println("Umur : " + obj2.getUmur());
}
}
9. Modul PBO – Teknokrat
60
Lembar Kerja Praktikum: Modul 6
NPM: Asisten:
Nama: Nilai:
Kelas: Tanggal:
Soal
Perhatikan kelas diagram berikut:
1. Jelaskan pengertian dari Polimorfisme, Overloading, dan Overriding.
2. Jelaskan perbedaan antara Polimorfisme dengan Inheritance.
3. Jelaskan perbedaan antara Overloading dengan Overriding.