Anda di halaman 1dari 6

NAMA : RADEN RONGGO BINTANG PRATOMO P.

NIM : 2021 31005

MATA KULIAH : PBO

KELAS :B

- Package
Hasil output :

Folders and file :

Source code :
BelajarPackage.java

package belajarpackage;
import pack1.Titik;

public class BelajarPackage {


public static void main(String[] args) {
Titik t1 = new Titik();
}

Titik.java

package pack1;

public class Titik {


public Titik() {
System.out.println("Titik pada package : pack1");
}
}

Penjelasan :
Apabila folder package nya berbeda maka kita harus meng-import nya terelbih dahulu !
Cara import yang benar
a. Beda package (folder)
import nama_package.nama_file
b. Same package (folder)
package nama_package
tanpa menggunakan import atau package maka java tidak akan mengenali file nya

access specifiers

Kalau menggunakan akses publik maka bisa di akses pada semua

Kalau menggunakan akses protected kita bisa menggunakan pada semua sama dengan
publik tapi tidak bisa di panggil langsung dari objek nya

Kalau menggunakan akses privat maka hampir sama dengan protected, perbedaannya
adalah privat tidak bisa digunakan pada turunannya.

Kalau di men-spesifikasikan maka hanya bisa di akses pada class dan package nya saja.

- Interface

Dari mobilkoptertest.java

Source code :
MobilKopterTest.java

package mobilkoptertest;
public class MobilKopterTest {
public static void main(String[] args) {
Mobilkopter m = new Mobilkopter("Toyota");
System.out.println("");
m.berjalan();
m.terbang();
}

Mobilkopter.java

package mobilkoptertest;

public class Mobilkopter implements Mobil, Helikopter{


private String name;
Mobilkopter(String name) {
this.name = name;
}

public void berjalan() {


System.out.println(this.name + "sedang berjalan ! ");
}

public void terbang() {


System.out.println(this.name + "sedang terbang !");
}
}

Mobil.java

package mobilkoptertest;

public interface Mobil {


void berjalan();
}

Helikopter.java

package mobilkoptertest;

public interface Helikopter {


void terbang();
}

Penjelasan :
Interface bisa dikatakan sebagai blueprint dari sebuah class yang akan di buat. Kalau
inheritance menggunakan kunci “extends” maka interface menggunakan “implements”, yang
artinya prototipe yang ada di file interface harus di implementasikan pada kelas yang
menggunakan blueprint-nya.

Bidang2d

Tanpa menggunakan polymorphism


Source code :
Interface.jaav

package pkginterface;
public class Interface {
public static void main(String[] args) {
Lingkaran l1 = new Lingkaran();
BujurSangkar b1 = new BujurSangkar();
PersegiPanjang pp1 = new PersegiPanjang();

System.out.println("");
l1.radius = 10;
System.out.println("Keliling Lingkarang dengan r = " + l1.radius + "
adalah " + l1.getKeliling());
System.out.println("Luas Lingkarang dengan r = " + l1.radius + "
adalah " + l1.getLuas());

System.out.println("");

b1.sisi = 15;
System.out.println("Keliling Bujursangkar dengan sisi = " + b1.sisi +
" adalah " + b1.getKeliling());
System.out.println("Luas Bujursangkar dengan sisi = " + b1.sisi + "
adalah " + b1.getLuas());

System.out.println("");

pp1.panjang = 5;
pp1.lebar = 6;

System.out.println("Keliling Persegi Panjang dengan penjang = " +


pp1.panjang + " dan lebar = " + pp1.lebar + " adalah " + pp1.getKeliling());
System.out.println("Luas Persegi Panjang dengan penjang = " +
pp1.panjang + " dan lebar = " + pp1.lebar + " adalah " + pp1.getLuas());
}

PersegiPanjang.java

package pkginterface;
public class PersegiPanjang implements Bidang2D {
public double panjang, lebar;
public double getKeliling() {
return 2*(panjang * lebar);
}

public double getLuas() {


return panjang * lebar;
}
}
BujurSangkar.java

package pkginterface;

public class BujurSangkar implements Bidang2D {


public double sisi;
public double getKeliling() {
return 4 * sisi;
}
public double getLuas() {
return sisi * sisi;
}
}

Lingkaran.java

package pkginterface;

public class Lingkaran implements Bidang2D {


public double radius;
public double getKeliling() {
return 2 * Math.PI * radius;
}

public double getLuas() {


return Math.PI * radius * radius;
}
}

Bidang2D.java

package pkginterface;
public interface Bidang2D {
double getKeliling();
double getLuas();
}

Penjelasan :
menggunakan polymorphism, jadi kita buat objek nya 1 per 1 di dalam class Interface.java
Kemudian kita berikan nilai2 pada atribut yang di perlukan.
Baru lah kita panggil.

Kelas PersegiPanjang, BujurSangkar dan Lingkaran mengimplementasikan cetak biru dari


interface Bidang2D. Pada Bidang2D ada prototipe getKeliling dan getLuas, yang aritnya kelas
yang mengimplementasikan Bidang2D harus membuat method getKeliling dan getLuas.
Dengan poly

package pkginterface;

public class Bidang2DPoly {


public static void main(String[] args) {
Bidang2D bidang;

Lingkaran l1 = new Lingkaran();


BujurSangkar b = new BujurSangkar();
l1.radius = 10;
b.sisi = 15;
bidang = l1; // bidang2d sebagai lingkaran

System.out.println("");
System.out.println("Luas : " + bidang.getLuas() + " Keliling : " +
bidang.getKeliling());
bidang = b; // bidang2d sebagai bujursangkar
System.out.println("Luas : " + bidang.getLuas() + " Keliling : " +
bidang.getKeliling());
}
}

Output :

Degan menggunakan poly kita bisa mendapatkan kelas yang kita inginkan dengan
menggunakan interface Bidang2D
Bisa di llihat pada program ditas, sisa kode nya hampir sama yang berbeda adalah kode yang
berada di dalam main method. Tapi setiap objek dari Bidang2D hanya bisa digunakan 1 kali
poly.

Kita buat objek dari Lingkarang. Kemudian kita isi atribut radius dan kita masukan kedalam
poly dengan “bidang” itu adalah objek dari lingkarang.

Dengan begitu kita bisa memanggil prototipe mehod yang kita buat di interface.

Anda mungkin juga menyukai