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:
- Y artinya bisa diakses;
- N artinya tidak bisa diakses;
- Subclass artinya class anak;
- 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;@Overridefloat luas(){float luas = panjang * lebar;System.out.println("Luas Persegi Panjang:" + luas);return luas;}@Overridefloat 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;@Overridefloat luas(){float luas = sisi * sisi;System.out.println("Luas Persegi: " + luas);return luas;}@Overridefloat keliling(){float keliling = 4 * sisi;System.out.println("Keliling Persegi: " + keliling);return keliling;}}Class Lingkaran
package BangunDatar;public class Lingkaran extends BangunDatar{// jari-jari lingkaranprotected float r;@Overridefloat luas(){float luas = (float) (Math.PI * r * r);System.out.println("Luas lingkaran: " + luas);return luas;}@Overridefloat 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;@Overridefloat luas(){float luas = panjang * lebar;System.out.println("Luas Persegi Panjang:" + luas);return luas;}@Overridefloat 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;@Overridefloat luas() {float luas = (float) 1/2 * (alas * tinggi);System.out.println("Luas Segitiga: " + luas);return luas;}@Overridefloat 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 datarBangunDatar bangunDatar = new BangunDatar();// membuat objek persegi dan mengisi nilai propertiPersegi persegi = new Persegi();// membuat objek Lingkaran dan mengisi nilai propertiLingkaran lingkaran = new Lingkaran();lingkaran.r = 22;// membuat objek Persegi Panjang dan mengisi nilai propertiPersegiPanjang persegiPanjang = new PersegiPanjang();persegiPanjang.panjang = 8;persegiPanjang.lebar = 4;// membuat objek Segitiga dan mengisi nilai propertiSegitiga Segitiga = new Segitiga();Segitiga.alas = 12;Segitiga.tinggi = 8;// memanggil method luas dan kelilingbangunDatar.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
Posting Komentar