Tugas Alpro2 – Minggu 5-SI UNIPDU – 4121043 – SABILI AIDA AHSAN

 

Ada 3 Macam Modifier dalam Java

Secara umum ada 3 macam modifier yang digunakan dalam Java: public, private, dan protected. Berikut ini tabel jangkauan untuk masing-masing modifier: 


Keterangan:

  1. Y artinya bisa diakses;
  2. N artinya tidak bisa diakses;
  3. Subclass artinya class anak;
  4. World artinya seluruh package di aplikasi.

Public

Modifier public akan membuat member dan class bisa di akses dari mana saja. 
Contoh: 

package modifier;

class Person {
    public String name;

    public changeName(String newName){
        this.name = newName;
    }
}
Pada class Preson terdapat dua member, yaitu:
  • atribut name
  • method changeName()
  • Private

        Modifier private akan membuat member hanya bisa diakses oleh dari dalam class itu sendiri.
        Perlu diingat : Modifier private tidak bisa diberikan kepada class, enum, dan interface. Modifier private hanya bisa diberikan kepada member class.
  • Protected

    Modifier protected akan membuat member dan class hanya bisa diakses dari:
    • Class itu sendiri.
    • Sub class atau class anak.
    • Package (class yang berada satu package dengannya).
    Modifier protected juga hanya boleh digunakan pada member saja.

    Contoh:

    class PersegiPanjang extends BangunDatar {
        protected float panjang;
        float lebar;
       
        @Override
        float luas(){
            float luas = panjang * lebar;
            System.out.println("Luas Persegi Panjang:" + luas);
            return luas;
        }
       
        @Override
        float keliling(){
            float kll = 2*panjang + 2*lebar;
            System.out.println("Keliling Persegi Panjang: " + kll);
            return kll;
        }
    }
    Pada contoh di atas, kita memberikan modifier protected pada atribut Panjang.
  • Class BangunDatar

    package BangunDatar;

    public class BangunDatar {
        float luas(){
            System.out.println();
            System.out.println("============================");
            System.out.println("Menghitung laus bangun datar");
            return 0;
        }
       
        float keliling(){
            System.out.println("Menghitung keliling bangun datar");
            System.out.println("============================");
            System.out.println();
            return 0;
        }
    }

    Class Persegi

    package BangunDatar;
    class Persegi extends BangunDatar {
        private float sisi;

        @Override
        float luas(){
            float luas = sisi * sisi;
            System.out.println("Luas Persegi: " + luas);
            return luas;
        }

        @Override
        float keliling(){
            float keliling = 4 * sisi;
            System.out.println("Keliling Persegi: " + keliling);
            return keliling;
        }
    }

    Class Lingkaran

    package BangunDatar;
    public class Lingkaran extends BangunDatar{
       
        // jari-jari lingkaran
        protected float r;

       
        @Override
        float luas(){
            float luas = (float) (Math.PI * r * r);
            System.out.println("Luas lingkaran: " + luas);
            return luas;
        }
       
        @Override
        float keliling(){
            float keliling = (float) (2 * Math.PI * r);
            System.out.println("Keliling Lingkaran: " + keliling);
            return keliling;
        }

        protected String getName(Object r2) {
            return null;
        }
       
    }

    Class PersegiPanjang

    package BangunDatar;
    class PersegiPanjang extends BangunDatar {
        protected float panjang;
        protected float lebar;
       
        @Override
        float luas(){
            float luas = panjang * lebar;
            System.out.println("Luas Persegi Panjang:" + luas);
            return luas;
        }
       
        @Override
        float keliling(){
            float kll = 2*panjang + 2*lebar;
            System.out.println("Keliling Persegi Panjang: " + kll);
            return kll;
        }
    }

    # Class Segitiga

    package BangunDatar;
    public class Segitiga extends BangunDatar {
       
        float alas;
        float tinggi;

        @Override
        float luas() {
            float luas = (float) 1/2 * (alas * tinggi);
            System.out.println("Luas Segitiga: " + luas);
            return luas;
        }  

        @Override
        float keliling(){
            float miring = (float) Math.sqrt((alas*alas) + (tinggi*tinggi));
            float keliling = (float) alas+tinggi+miring;
            System.out.println("Keliling Lingkaran: " + keliling);
            return keliling;
        }
    }

    # Class Proses

    package BangunDatar;

    public class Proses {
        public static void main(String[] args) {
           
            // membuat objek bangun datar
            BangunDatar bangunDatar = new BangunDatar();
           
            // membuat objek persegi dan mengisi nilai properti
            Persegi persegi = new Persegi();
           
            // membuat objek Lingkaran dan mengisi nilai properti
            Lingkaran lingkaran = new Lingkaran();
            lingkaran.r = 22;
           
            // membuat objek Persegi Panjang dan mengisi nilai properti
            PersegiPanjang persegiPanjang = new PersegiPanjang();
            persegiPanjang.panjang = 8;
            persegiPanjang.lebar = 4;
           
            // membuat objek Segitiga dan mengisi nilai properti
            Segitiga Segitiga = new Segitiga();
            Segitiga.alas = 12;
            Segitiga.tinggi = 8;
           
           
            // memanggil method luas dan keliling
            bangunDatar.luas();
            bangunDatar.keliling();
            System.out.println();
           
            persegi.luas();
            persegi.keliling();
            System.out.println("============================");
            System.out.println();
           
            lingkaran.luas();
            lingkaran.keliling();
            System.out.println("============================");
            System.out.println();
           
            persegiPanjang.luas();
            persegiPanjang.keliling();
            System.out.println("============================");
            System.out.println();
           
            Segitiga.luas();
            Segitiga.keliling();
            System.out.println("****************************");
        }
    }


Komentar