THOUSANDS OF FREE BLOGGER TEMPLATES

Jumat, 24 Juni 2011

Modul 6 Package

           Package adalah sarana/cara pengelompokkan dan pengorganisasian kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam library. Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di dalamnya.

Pada suatu package, class dapat digunakan Gunakan hak akses public, karena dengan menggunakan keyword Public dapat diakses didalam class itu sendiri, dapat diakses dengan menggunakan metode extend dan instan pada paket yang sama, serta dapat diakses dengan metode extend maupun instan dalam paket yang berbeda. Artinya hak akses public dapat diakses oleh sembarang object manapun dan dimanapun posisinya serta dengan apapun caranyanamun, ketika file program tidak berada di dalam satu direktori/ berada dalam package yang berbeda maka diharuskan untuk melakukan kompilasi menggunakan option-class path

Pada package, kata kunci yang harus ditulis terlebih dahulu sebelum import adalah
Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) dari source code setiap kelas yang dibungkus package tersebut.
>
pada package juga untuh mmbedakan package dengan class, maka pada penulisan package harus memiliki syaratt
Diawali huruf kecil , Menggambarkan kelas-kelas yang dibungkusnya, Harus unik (bertbeda dengan namapackage standard) , Merepresentasikan path dari package tersebut., Harus sama dengan nama direktorinya.

Implementasi dan Tugas Akhir

Pada implementasi kali ini tidak jauh beda dengan tugas akhir yang diberikan, pada tugas akhir menambahkan soal sebagai berikut:
membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain. Modifikasilah kode program interface MtkDasar.java, dan Pecahan.java agar dapat menghasilkan return value berupa Object. Lengkapi interface MtkDasar dengan kemampuan matematika dasar yang lain yaitu kali (untuk mengerjakan operasi perkalian), dan bagi (untuk mengerjakan operasi pembagian). Sesuaikan kedua class lain, Pecahan dan CobaPecahan.
Source codenya sebagai berikut:

Class MtkDasar.java
/*interface MtkDasar*/
/*file Matematika/MtkDasar.java*/
package Matematika;
public interface MtkDasar {
    String tambah(Object obj);
    String kurang(Object obj);
    String kali(Object obj);
    String bagi(Object obj);
}

Class Pecahan.java
/*kelas Pecahan*/
/*file Matematika/Pecahan.java*/
package Matematika;
public class Pecahan implements Matematika.MtkDasar{
    private int pembilang, penyebut;
    public Pecahan(int pembilang, int penyebut) {
        this.pembilang=pembilang;
        this.penyebut=penyebut;
    }
    public int getValuePembilang(){
        return this.pembilang;
    }
    public int getValuePenyebut(){
        return this.penyebut;
    }
    public int penyebutHsl(int a,int b){
    int hsl;
        if (a%b==0 || b%a==0){
            if (a>=b){
                hsl=(a/b)*b;
            }else{
                hsl=(b/a)*a;
            }
        }else{
            hsl=a*b;
        }
    return hsl;
    }
    public String tambah(Object obj){   
        StringBuffer strHasil= new StringBuffer(" ");
        Pecahan data = new Pecahan(pembilang,penyebut);
        pembilang=data.getValuePembilang();
        penyebut=data.getValuePenyebut();
        Pecahan tambah = (Pecahan)obj;
        int pembilang1=tambah.getValuePembilang();
        int penyebut1=tambah.getValuePenyebut();
        int penyHsl=tambah.penyebutHsl(penyebut,penyebut1);
        int hasil = (pembilang*(penyHsl/penyebut))+(pembilang1*(penyHsl/penyebut1));
        strHasil.insert(0,hasil);
        strHasil.insert(strHasil.length()-1,"/");
        strHasil.insert(strHasil.length()-1,penyHsl);
        return(strHasil.toString());
    }
    public String kurang(Object obj){
        StringBuffer strHasil= new StringBuffer(" ");
        Pecahan data = new Pecahan(pembilang,penyebut);
        pembilang=data.getValuePembilang();
        penyebut=data.getValuePenyebut();
        Pecahan tambah = (Pecahan)obj;
        int pembilang1=tambah.getValuePembilang();
        int penyebut1=tambah.getValuePenyebut();
        int penyHsl=tambah.penyebutHsl(penyebut,penyebut1);
        int hasil = (pembilang*(penyHsl/penyebut))-(pembilang1*(penyHsl/penyebut1));
        strHasil.insert(0,hasil);
        strHasil.insert(strHasil.length()-1,"/");
        strHasil.insert(strHasil.length()-1,penyHsl);
        return(strHasil.toString());
    }
    public String kali(Object obj){
        StringBuffer strHasil= new StringBuffer(" ");
        Pecahan data = new Pecahan(pembilang,penyebut);
        pembilang=data.getValuePembilang();
        penyebut=data.getValuePenyebut();
        Pecahan kali = (Pecahan)obj;
        int pembilang1=kali.getValuePembilang();
        int penyebut1=kali.getValuePenyebut();
        int penyHsl=kali.penyebutHsl(penyebut,penyebut1);
        int hasil = (pembilang)*(pembilang1);
        strHasil.insert(0,hasil);
        strHasil.insert(strHasil.length()-1,"/");
        strHasil.insert(strHasil.length()-1,penyHsl);
        return(strHasil.toString());
    }   
public String bagi(Object obj){
        StringBuffer strHasil= new StringBuffer(" ");
        Pecahan data = new Pecahan(pembilang,penyebut);
        pembilang=data.getValuePembilang();
        penyebut=data.getValuePenyebut();
        Pecahan bagi = (Pecahan)obj;
        int pembilang1=bagi.getValuePembilang();
        int penyebut1=bagi.getValuePenyebut();
        int penyHsl=bagi.penyebutHsl(penyebut,penyebut1);
        int hasil = (penyebut)*(pembilang1);
        strHasil.insert(0,hasil);
        strHasil.insert(strHasil.length()-1,"/");
        strHasil.insert(strHasil.length()-1,penyHsl);
        return(strHasil.toString());
    }
    public String toString() {
        StringBuffer tampil= new StringBuffer(" ");
        Pecahan data = new Pecahan(pembilang,penyebut);
        tampil.insert(0,data.getValuePembilang());
        tampil.insert(tampil.length()-1,"/");
        tampil.insert(tampil.length()-1,data.getValuePenyebut());
        return (tampil.toString());
    }
}

Class CobaPecahan.java
/*kelas cobaPecahan*/
/*file cobaPecahan.java*/
import Matematika.Pecahan;
import javax.swing.JOptionPane;
public class cobaPecahan {
public static void main(String[] args) {
    int a; int b; int c; int d;
        // TODO code application logic here
    System.out.println("Format : a/b Operator[+/-] c/d = hasilPecahan \nexample: 1/2 + 3/4 = 5/4 \n");
    System.out.println("Operator Prak PBO");
    System.out.println("\n--------------------------\n");
    System.out.print("Masukkan nilai a : ");
    a = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai a", "Input", JOptionPane.QUESTION_MESSAGE));
    System.out.println(+a);
    System.out.print("Masukkan nilai b : ");
    b = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai b", "Input", JOptionPane.QUESTION_MESSAGE));
    System.out.println(+b);
    System.out.print("\nMasukkan nilai Operator [+ ; - ; * ; /] : ");
    String op= JOptionPane.showInputDialog("silahkan input operator");
    System.out.print("\nMasukkan nilai c : ");
    c = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai c", "Input", JOptionPane.QUESTION_MESSAGE));
    System.out.println(+c);
    System.out.print("Masukkan nilai d : ");
    d = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai d", "Input", JOptionPane.QUESTION_MESSAGE));
    System.out.println(+d);

    Pecahan pecahan1 = new Pecahan(Integer.valueOf(a).intValue(),Integer.valueOf(b).intValue());
      Pecahan pecahan2 = new Pecahan(Integer.valueOf(c).intValue(),Integer.valueOf(d).intValue());
    if (op.compareTo("+")==0)
    {
        System.out.println("\n" + pecahan1 + "+ "+ c +"/"+ d + " = " + pecahan1.tambah(pecahan2));
    }
    else if (op.compareTo("-")==0)
    {
        System.out.println("\n" + pecahan1 + "- "+ c +"/"+ d + " = " + pecahan1.kurang(pecahan2));
    }
    else if (op.compareTo("*")==0)
    {
        System.out.println("\n" + pecahan1 + "* "+ c +"/"+ d + " = " + pecahan1.kali(pecahan2));
    }
    else if (op.compareTo("/")==0)
    {
        System.out.println("\n" + pecahan1 + " / "+ c +"/"+ d + " = " + pecahan1.bagi(pecahan2));
    }
    else
    {
        System.out.println("\nMaaf, Operator yang anda masukkan salah");
    }
  }
}

Hasil Running:





Read More..

Modul 5 Interface

             Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh..Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class.
            Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface.

Abstract method-method
          Di dalam class abstract dapat didefinisikan atribut-atribut dan method-method. Atribut dan method yang didefinisikan dalam klass abstract dimaksudkan merupakan sesuatu yang umum dan terdapat pada sub-kelas sub-kelas turunannya. Suatu abstract method didefinisikan dengan cukup mendeklarasikan namanya pada class abstract dan meng-override pada masing-masing kelas turunannya dengan menyesuaikan dengan kebutuhan kelas turunannya tersebut. Suatu class harus didefinisikan sebagai class abstract apabila minimal ada satu method yang didefinisikan sebagai abstract method.

Overriding
            Jika dalam suatu subclass kita mendefinisikan sebuah method yang sama dengan yang dimiliki superclass, maka method yang kita buat dalam subclass dikatakan meng-override superclass-nya. Sehingga jika kita mencoba memanggil method tersebut dari instance subclass yang kita buat, maka method milik subclasslah yang aka dipanggil, bukan lagi method milik superclass.
Overriding mempunyai ciri-ciri sebagai berikut :
1. Nama method harus sama
2. Daftar parameter harus sama
3. Return type harus sama
Beberapa aturan yang perlu diperhatikan :
• Mode akses overriding method harus sama atau lebih luas daripada overriden method.
• Subclass hanya boleh meng-override method super class satu kali saja, tidak boleh ada lebih dari satu method pada kelas yang sama yang sama persis.

 instansiasi
         Objek adalah instansiasi atau perwujudan dari Class.Kita membuat objek dari kelas dengan cara instansiasi. Objek yang akan diciptakan nantilah yang akan menjadi acuan utama dalam pemrograman berorientasi objek (OOP)
Bentuk umum instansiasi:
<nama_kelas> <objek> = new <konstruktor>();
Contoh:
Tabung drum = new Tabung();

Implementasi

        Pada bagian kegiatan praktikum ini, kita  akan belajar membuat interface dan mengimplementasikannya dalam sebuah class.Source codenya sebagai berikut:
import javax.swing.JOptionPane;
interface mycomparableee{
boolean greaterThan(Object obj);
boolean lessThan(Object obj);
boolean equal(Object obj);
}
interface Constants{
int min=10;
int max=100;
}
class FourDigitsNumber implements Constants, mycomparableee {
  private int value;
  public FourDigitsNumber(int value) {
  /*latihan 1: atur agar nilai yang diinputkan dalam
                 constructor hanya berada di antara min - max
    */
    this.value=value;
}
  /*latihan 2: tambahkan method get untuk mengakses value*/

  /*overriding method greaterThan*/
  public int getValue(){
  return value;
  }
  public boolean greaterThan(Object obj) {
    /*casting from superclass to subclass*/
    FourDigitsNumber number = (FourDigitsNumber)obj;
    return ( value > number.getValue() );
  }
  public boolean lessThan(Object obj) {
    /*casting from superclass to subclass*/
    FourDigitsNumber number = (FourDigitsNumber)obj;
    return ( value < number.getValue() );
  }
  public boolean equal(Object obj) {
    /*casting from superclass to subclass*/
    FourDigitsNumber number = (FourDigitsNumber)obj;
    return ( value == number.getValue() );
  }
  /*latihan 3: lengkapi overriding method interface*/
  }
 class ExInterface {
  public static void main(String [] args) {
    /*latihan 4: modifikasi agar user dapat
                 menginputkan data*/
        int value;
        String str=JOptionPane.showInputDialog("Masukkan nilai : ");
        value=Integer.parseInt(str);
        System.out.println("nilai anda: "+value);
        if ((value > 10) & (value < 100))
            System.out.println("true");
        else
            System.out.println("false");
  }
  }

Hasil Running:

Tugas Akhir

Segitiga, Lingkaran dan Segiempat adalah bentuk geometri yang dapat dihitung luasnya. Gambarkan diagram hirarki class untuk kasus ini. Kemudian tulis kode program untuk class dan buat program sederhana untuk keperluan pengujian: atur array dengan elemen berisi referensi ke setiap bentuk geometri di atas, masukkan data ke dalamnya dan gunakan untuk memanggil method guna menghitung luas dari setiap bentuk geometri tersebut. Source codenya sebagai berikut:
import javax.swing.*;
interface Induk {
  double LuasSegi3(double a, double t);
  double LuasSegi4(double s);
  double Lingkaran(double r);
}
interface Constants{
  double phi = 3.14;
}
class Luas implements Induk,Constants{   
  double a, t, s, r, LuasSegi3, LuasSegi4, Lingkaran;
  Luas(double a,double t,double s,double r) {
    this.a = a;
    this.t = t;
    this.s = s;
    this.r = r;
  }
  public double LuasSegi3(double a, double t) {
    return (0.5 * a * t);
  }
  public double LuasSegi4(double s) {
    return (s * s);
  }
  public double Lingkaran(double r) {
    return (phi * r * r);
  }
  public void CetakHasil() {
    System.out.println("LuasSegi3 = "+LuasSegi3(a,t));
    System.out.println("LuasSegi4 = "+LuasSegi4(s));
    System.out.println("Lingkaran = "+Lingkaran(r));
  }
}
class LuasBidang{
  public static void main(String[] args)  { 
     double a, t, s, r, LuasSegi3, LuasSegi4, Lingkaran;
     System.out.println("Masukkan nilai alas : ");
     a=Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai alasnya ","Input",JOptionPane.QUESTION_MESSAGE));
     System.out.println(+a);
     System.out.println("Masukkan nilai tinggi : ");
     t=Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai tingginya ","Input",JOptionPane.QUESTION_MESSAGE));
     System.out.println(+t);
     System.out.println("Masukkan nilai sisinya : ");
     s=Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai sisinya ","Input",JOptionPane.QUESTION_MESSAGE));
     System.out.println(+s);
     System.out.println("Masukkan nilai jari2 : ");
     r=Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai jarinya ","Input",JOptionPane.QUESTION_MESSAGE));
     System.out.println(+r);
    Luas Luas1 = new Luas(a,t,s,r);
    Luas1.CetakHasil();
  }
}

Hasil Running:




Read More..

Kamis, 16 Juni 2011

Modul 4 Encapsulation / Pengkapsulan

       Pengkapsulan merupakan bungkusan pelindung program dan data yang sedang diolah. Jadi, menyembunyikan cara kerja dan sistem.Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.

Contoh: jam tangan. Penting sekali untuk mengetahui waktu, cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
            Dengan enkapsulasi dapat memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya.Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Manfaat dari proses enkapsulasi adalah :
  • Modularitas 
Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain.
  •   Information Hiding
Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.
          Interface to Access adalah kondisi dimana jika Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu kita melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut.
         Access modifier berlaku untuk class method dan variabel, meliputi modifier public, protected, private, dan default (tak ada modifier).
public menyatakan jika method dan variabel Diwarisi oleh semua subclassnya.Dapat diakses dimanapun.
protected menyatakan jika method dan variabel Diwarisi oleh semua subclassnya.Dapat diakses oleh method-method di class-class yang sepaket.
Private menyatakan jika method dan variabel Tidak diwarisi oleh subclassnya Tidak dapat diakses oleh class lain.

Implementasi 
Pada Implementasi kali ini kita disuruh mencoba source code dibawah ini:
/*
Disimpan dalam file andi.java
*/
class andi
{
public static void main(String arg[])
{
manusia andi= new manusia("Andi");
System.out.println("Nama= "+ andi.tampilkanNama());
andi.makan();
}
}


/*
Disimpan dalam file manusia.java
*/
class manusia
{
public String nama;

public manusia(String n)
{
this.nama = n;
}

public String tampilkanNama()
{
return nama;
}
protected void makan()
{
System.out.println("Nyam... nyam... nyam...");
}
public void kerja()
{
System.out.println("Kerja... kerjaaa...");
}
public void bunuhDiri()
{
System.out.println("Dor .. bruk...");
}
}

Hasil Rinning:





Tugas Akhir
Pada tugas akhir kali ini kita mencoba source code dibawah ini: 
class TingkatAkses{
int a;
public int b;
private int c;

public void setc(int ci){
this.c=ci;
}

public int getc(){
return c;
}


}
class Coba{
public static void main (String []args){
TingkatAkses obj=new TingkatAkses();

obj.a=10;
obj.b=20;
// obj.ci=30;
obj.setc(30);

System.out.println("Nilai obj.a:" +obj.a);
System.out.println("Nilai obj.b:" +obj.b);
System.out.println("Nilai obj.c:" +obj.getc());
}
}

Hasil Running

Read More..

Kamis, 09 Juni 2011

Modul 3 Inheritance/Pewarisan

          Minggu kemarin Qt sudah membahas tentang Polymorfisme,nah sekarang Qt melanjutkan ke pembahasan selanjutnya yaitu materi Inheritance,dimana materi ini perbedaannya sangat tipis.

           Inheritance merupakan salah satu dari 3 konsep dasar OOP.dimana Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. 

           Pewarisan merupakan peristiwa di suatu kelas mewarisi data dan fungsi anggota dari kelas yang lain. Kelas yang mewarisi, diistilahkan dengan kelas anak atau kelas turunan, sedangkan kelas yang mewariskan, diistilahkan dengan induk. Pewarisan memungkinkan seorang programmer berorientasi obyek menghindari penulisan ulang fungsi dan data anggota berulang kali.

           Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).
         Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya.

Implementasi
          Pada bagian kegiatan praktikum ini, kita  akan belajar membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain. 

/*langkah ke-1: Membuat Class Rumah*/
class Rumah
{
private String a = " Rumahmewah ";
public void info()
{
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}

/*langkah ke-2: Membuat Class rumahindah turunan dari Rumah*/
class rumahindah extends Rumah
{
private String b = " tombol alarm ";
public void info()
{
System.out.println (" ");
super.info();                       //super mewarisi sifat dari parent dan dirinya sendiri
System.out.println (" rumahindah = "+b);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class TipeRumah */
public class TipeRumah
{
public static void main ( String[]args )
{
rumahindah C = new rumahindah();
C.info();
}
}

Hasil Running

Tugas Akhir
          Buatlah program java untuk menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran !
Berikut Source codenya:

/*langkah ke-1: Membuat Class Lingkaranku*/
class Lingkaranku
{
public double r;
public double phi=3.14;
public void panjangr()
{
System.out.println("Panjang jari-jari : "+ r);
}
}

/*langkah ke-2: Membuat Class Keliling turunan dari Lingkaranku*/
class Keliling extends Lingkaranku
{
double kel,r2,P;
public void Hitungkel()
{
P=super.phi;
r2=super.r;
kel=2*r2*P;
System.out.println("Keliling lingkaran : "+ kel);
}
}

/*langkah ke-3: Membuat Class Luas turunan dari Lingkaranku*/
class Luas extends Lingkaranku
{
double l,r2,P;
public void Hitungl()
{
P=super.phi;
r2=super.r;
l=2*P*r2*r2;
System.out.println("Luas lingkaran = "+ l);
}
}

/*langkah ke-4: Membuat Main Program dengan Nama Class lingkaran */
public class lingkaran
{
public static void main (String[] args)
{
Keliling kel1=new Keliling();
Luas l1=new Luas();
kel1.r=6;
l1.r=9;

kel1.Hitungkel();
l1.Hitungl();
}
}

Hasil Running

Tugas Tambahan
  • Buatlah class Shape. class memiliki dua field String: name dan size. class mempunyai method printShapeInfo, dimana hanya mengeluarkan nilai name dan field size dari object Shape. Juga memiliki method printShapeName dan printShapeSize, dimana mencetak nama dan size dariobject, berturut-turut.
  • Menggunakan pewarisan, buat class Square dengan field yang sama dan method seperti itu dari class Shape. Class ini mempunyai dua tambahan field integer: length dan width. Method printShapeLength dan printShapeWidth yang mencetak panjang dan lebar object yang juga termasuk dalam class ini.
Berikut Source codenya:

/*langkah ke-1: Membuat Class Shape*/
class Shape{

String name, size;

public Shape(String name){
this.name = name;
}

public void printShapeInfo(){
System.out.println("Shape name : "+name);
System.out.println("Shape Size : "+size);
}

public void printShapeName(){
System.out.println("Shape name : "+name);
}

public void printShapeSize(){
System.out.println("Shape size : "+size);
}

}

/*langkah ke-2: Membuat Class Square turunan dari Shape*/
class square extends Shape{

String name, size;
int length, width;

public square(String name){
super(name);
}

public void printShapeInfo(){
super.printShapeInfo();
}

public void printShapeName(){
super.printShapeName();
}

public void printShapeSize(){
super.size = String.valueOf(length*width);
super.printShapeSize();
}

public void printWidth(){
System.out.println("Lebar : "+width);
}

public void printLength(){
System.out.println("Panjang : "+length);
}
}

/*langkah ke-3: Membuat Main Program dengan Nama Class Main */
class main{

public static void main (String[] args){


System.out.println("====================================");


square persegi = new square("persegi");

persegi.length = 10;
persegi.width = 8;

persegi.printShapeName();

persegi.printLength();
persegi.printWidth();



persegi.printShapeSize();
System.out.println("\n");
System.out.println("Jadi kesimpulannya..");
persegi.printShapeInfo();
}
}

Hasil Running:

Read More..