import java.util.*;
interface Bentuk{
public double
hitungIsi();
}
abstract class Bangun
implements Bentuk{
public int panjang;
public int lebar;
public abstract int
Luas();
public abstract int
Keliling();
}
class PersegiPanjang
extends Bangun{
public PersegiPanjang(int
panjang, int lebar){
this.panjang = panjang;
this.lebar = lebar;
}
public int Luas(){
return panjang * lebar;
}
public int Keliling(){
return 2 * (panjang +
lebar);
}
public double hitungIsi()
{
throw new UnsupportedOperationException("Not
supported yet.");
}
}
class Balok extends
PersegiPanjang{
public int tinggi;
public Balok(int panjang,
int lebar, int tinggi){
super(panjang, lebar);
this.tinggi = tinggi;
}
public double
hitungIsi(){
return panjang * lebar *
tinggi;
}
}
public class Tes{
public static void CetakBangun(Bangun bgn){
System.out.println("");
System.out.println("Bentuk Persegi
Panjang");
System.out.println("==============================");
System.out.println("Luas Persegi
Panjang : "+bgn.Luas());
System.out.println("Keliling
Persegi Panjang : "+bgn.Keliling());
System.out.println("");
}
public static void CetakBentuk(Bentuk btk){
System.out.println("Bentuk
Balok");
System.out.println("==============================");
System.out.println("Isi Balok : "+btk.hitungIsi());
}
public static void
main(String args[]){
Scanner masuk = new
Scanner(System.in);
System.out.println("Hasil
Output seperti dibawah ini : ");
System.out.println("");
System.out.print("Masukkan
Panjang : ");
int p = masuk.nextInt();
System.out.print("Masukkan
Lebar : ");
int l = masuk.nextInt();
System.out.print("Masukkan
Tinggi : ");
int t = masuk.nextInt();
PersegiPanjang pp = new
PersegiPanjang(p, l);
Balok b = new Balok(p, l,
t);
CetakBangun(pp);
CetakBentuk(b);
}
}
https://docs.google.com/file/d/0B1VrUR3plpzJbFRLS2pxZkZRQVE/edit