Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

10 Okt 2010

Inheritance (Pewarisan) - Java Basic (Bagian 2)

Penjelasan mengenai konsep inheritance, silahkan baca pada Inheritance (Pewarisan) - Java Basic (Bagian 1) 

Berikut ada study kasus untuk penerapan inheritance (pewarisan) dalam memahami konsep OOP pada java.

Berikut kasusnya:
Analisalah sistem jual beli. Buatlah sistem yang memuat tentang obyek barang, makanan dan buku. Masing-masing dari obyek mempunyai properti dan behaviour. Adapun masing-masing properti dan perilakunya adalah :

1. Obyek barang
     1) Properti : nomor, nama, jml_beli, tgl_beli, stok.
     2) Behaviour : pembelian, penjualan.

2. Obyek buku
     1) Properti : nomor, nama, pengarang, penerbit, jumlah halaman, tahun cetak, jml_beli, tgl_beli, stok.
     2) Behaviour : pembelian, penjualan.

Pada sistem ini gambarkan juga konsep inheritance antara obyek-obyeknya, override method. Pada proses perlakuan behaviour maka bisa berpengaruh pada nilai propertinya, misal ketika pembelian maka jumlah beli diisi nilai baru (kreasikan sesuai analisa anda). Analisa juga tipe setiap properti yang dibuat.

 Pada studi kasus di atas, perhatikan kesamaan properti dan behaviour yang dimiliki oleh kedua objek (barang dan buku).
- Properti yang sama   : nomor, nama, jml_beli, tgl_beli, dan stok.
- Behaviour yang sama: pembelian dan penjualan.
Properti dan behaviour utama berada pada superclass yaitu barang. Properti berarti attribute, sedangkan behaviour berarti method.

Oke langsung pada syntax di java:

//*************** barang.java ***************
public class barang {
    private int nomer;
    private String nama;
    private int jml_beli;
    private String tgl_beli;
    private int stok;
    
    barang(){
        
    }

    barang(int nomer, String nama, int jml_beli, String tgl_beli, int stok) {
        this.nomer = nomer;
        this.nama = nama;
        this.jml_beli = jml_beli;
        this.tgl_beli = tgl_beli;
        this.stok = stok;
    }
    
    public int getJml_beli() {
        return jml_beli;
    }

    public void setJml_beli(int jml_beli) {
        this.jml_beli = jml_beli;
    }

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public int getNomer() {
        return nomer;
    }

    public void setNomer(int nomer) {
        this.nomer = nomer;
    }

    public int getStok() {
        return stok;
    }

    public void setStok(int stok) {
        this.stok = stok;
    }

    public String getTgl_beli() {
        return tgl_beli;
    }

    public void setTgl_beli(String tgl_beli) {
        this.tgl_beli = tgl_beli;
    }

    public void pembelian(){
        System.out.println("Jumlah Pembelian : "+getJml_beli());
    }

    public void penjualan(){
        System.out.println("Barang yang telah dijual = "+(getStok()+ " - "+getJml_beli())+" = "+(getStok()-getJml_beli()));
    }
}
//****************************************

//*************** buku.java ***************
public class buku extends barang{
    private String pengarang;
    private String penerbit;
    private int jumlah_halaman;
    private int tahun_cetak;

    buku(){

    }

    public buku(int nomer, String nama, int jml_beli, String tgl_beli, int stok, String pengarang, String penerbit, int jumlah_halaman, int tahun_cetak) {
        super(nomer, nama, jml_beli, tgl_beli, stok);
        this.pengarang = pengarang;
        this.penerbit = penerbit;
        this.jumlah_halaman = jumlah_halaman;
        this.tahun_cetak = tahun_cetak;
    }

    public int getJumlah_halaman() {
        return jumlah_halaman;
    }

    public void setJumlah_halaman(int jumlah_halaman) {
        this.jumlah_halaman = jumlah_halaman;
    }

    public String getPenerbit() {
        return penerbit;
    }

    public void setPenerbit(String penerbit) {
        this.penerbit = penerbit;
    }

    public String getPengarang() {
        return pengarang;
    }

    public void setPengarang(String pengarang) {
        this.pengarang = pengarang;
    }

    public int getTahun_cetak() {
        return tahun_cetak;
    }

    public void setTahun_cetak(int tahun_cetak) {
        this.tahun_cetak = tahun_cetak;
    }

    @Override
    public int getJml_beli() {
        return super.getJml_beli();
    }

    @Override
    public String getNama() {
        return super.getNama();
    }

    @Override
    public int getNomer() {
        return super.getNomer();
    }

    @Override
    public int getStok() {
        return super.getStok();
    }

    @Override
    public String getTgl_beli() {
        return super.getTgl_beli();
    }

    @Override
    public void pembelian() {
        super.pembelian();
    }

    @Override
    public void penjualan() {
        super.penjualan();
    }

    @Override
    public void setJml_beli(int jml_beli) {
        super.setJml_beli(jml_beli);
    }

    @Override
    public void setNama(String nama) {
        super.setNama(nama);
    }

    @Override
    public void setNomer(int nomer) {
        super.setNomer(nomer);
    }

    @Override
    public void setStok(int stok) {
        super.setStok(stok);
    }

    @Override
    public void setTgl_beli(String tgl_beli) {
        super.setTgl_beli(tgl_beli);
    }
}
//****************************************

//*************** Main.java ***************
public class Main {
    public static void main(String[] args) {
        buku book = new buku();
        book.setNomer(1);
        book.setNama("Laskar Pelangi");
        book.setJml_beli(300);
        book.setStok(500);
        book.setPenerbit("Sagara Corp");
        book.setPengarang("Mudafiq");
        book.setTahun_cetak(2010);
        System.out.println("Spesifikasi buku :");
        System.out.println("Nomor            : "+book.getNomer());
        System.out.println("Judul buku       : "+book.getNama());
        System.out.println("Penerbit         : "+book.getPenerbit());
        System.out.println("Pengarang        : "+book.getPengarang());
        System.out.println("Tahun Cetak      : "+book.getTahun_cetak());
        book.pembelian();
        System.out.println("Stok             : "+book.getStok());
        book.penjualan();
    }
}
//****************************************

Berikut outputnya:
Spesifikasi buku :
Nomor : 1
Judul buku : Laskar Pelangi
Penerbit : Sagara Corp
Pengarang : Mudafiq
Tahun Cetak : 2010
Jumlah Pembelian : 300
Stok : 500
Barang yang telah dijual = 500 - 300 = 200

1 komentar: