DI SUSUN OLEH :
2020
KATA PENGANTAR
Segala Puji bagi Allah SWT yang telah memberikan kemudahan sehingga dapat
menyelesaikan makalah ini dengan tepat waktu. Tanpa pertolongannya tentunya tidak akan sanggup
menyelesaikan makalah ini dengan baik. sholawat serta salam semoga terlimpah curahkan kepada
baginda kita yaitu Nabi “Muhammad SAW” yang kita nanti-nantikan syafa’atnya di akhir nanti.
sehubung dengan ini kami telah menyelesaikan makalah yang telah kami buat yang berjudul:
“POLIMORFISME(POLYMORFIRSM) DAN ENKAPSULASI (ENCAPSULATION)” kami
memohon maaf apabila ada kesalahan dalam penulisan kami mohon maaf atas perhatiannya
kami ucapkan terima kasih.
Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama.
Penggunaan metoda dengan nama sama dapat melalui method overloading dan juga method
overriding. Peran polymorphism sebenarnya tidak terbatas hanya pada hal-hal tersebut. Ada
keterkaitan erat antara polymorphism dan inheritance (turunan).
Pada diagram tersebut, terdapat class Bangun Datar yang memiliki tiga subclass,
yaitu: Persegi, Lingkaran, dan Segitiga.
Setiap class memiliki method yang sama yaitu luas() dan keliling(). Akan tetapi method-method ini
memiliki isi rumus yang berbeda.
Buatlah class baru dengan BangunDatar, kemudian isi dengan kode berikut :
package bangundatar;
publicclassBangunDatar{
floatluas(){
return 0;
floatkeliling(){
return 0;
Berikutnya buat class lagi dengan nama Persegi dan isi kodenya seperti ini :
package bangundatar;
publicclassPersegiextends BangunDatar{
int sisi;
publicPersegi(int sisi){
this.sisi= sisi;
@Override
publicfloatluas(){
returnthis.sisi*this.sisi;
@Override
publicfloatkeliling(){
returnthis.sisi* 4;
package bangundatar;
publicclassSegitigaextends BangunDatar{
int alas;
int tinggi;
this.alas= alas;
this.tinggi= tinggi;
@Override
publicfloatluas(){
returnthis.alas*this.tinggi;
publicclassLingkaranextends BangunDatar {
int r;
publicLingkaran(int r){
this.r= r;
@Override
publicfloatluas(){
return(float)(Math.PI* r * r);
@Override
publicfloatkeliling(){
package bangundatar;
publicclassMain{
publicstaticvoidmain(String[] args){
bangunDatar.luas();
bangunDatar.keliling();
Sekarang kita sudah punya lima class di dalam package bangun datar.
Class yang bisa dijalankan hanyalah class Main, karena ia memiliki method main. Untuk
menjalankannya, silahkan klik kanan pada class main. Lalu pilih Run File.
Maka hasilnya:
B. Konsep Enkapsulasi (Encapsulation)
Enkapsulasi (encapsulation) adalah sebuah metoda untuk mengatur struktur class dengan cara
menyembunyikan alur kerja dari class tersebut.
Enkapsulasi(encapsulation) adalah sebuah metode untuk mengatur struktur class dengan cara
menyembunyikan alur kerja dari class tersebut. Struktur class yang dimaksud
adalah property dan method. Dengan enkapsulasi, kita bisa membuat pembatasan akses
kepada property dan method, sehingga hanya property dan method tertentu saja yang bisa diakses dari
luar class. Enkapsulasi juga dikenal dengan istilah ‘information hiding’.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Dedekurniawan
*/
public class Encapsulation {
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Dedekurniawan
*/
public class main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Encapsulation objek = new Encapsulation();
objek.ModifNama("Muksalmina");
System.out.println("Nama : "+objek.getNama());
Output :
Output – PPT4 (run)
Run
Saya adalah
Nama Muksalmina
Nim 1590343097