Pengertian dan Contoh pembuatan Java Composite Pattern

 



Composite Pattern adalah Design Pattern yang digunakan dimana kita perlu memperlakukan sekelompok objek, dimana sekelompok objek tersebut diperlakukan dengan cara yang sama, seperti memperlakukan objek tunggal. Composite Pattern menyusun Object Composit dalam bentuk setruktur untuk menyatakan bagian dari keseluruhan hierarki.

Object Composite adalah objek yang terdiri dari objek - objek lain. Misalanya, Sebuah organisasi perusahaan dapat terdiri dari Ceo, Manager, dan karywan. Nah, Organisasi perusahaan ini kita bisa sebut sebagai Object Composite. Sedangkan Ceo, Manager dan karyawan merupakan objek anggota dari object Composite tersebut.


Contoh Implementasi



Disini, Class Karyawan merupakan class yang bertindak sebagai class Composite. Kemudian pada class Test digunakan untuk mengelola hierarki anggota karyawan dan mencetak semua karyawan.

Note : Bagi pengguna mobile, mohon aktifkan JavaScript dan matikan fitur Google Web Light untuk melihat kode berikut secara keseluruhan.



  1. Buat class Karyawan.java

package main;

import java.util.*;

public class Karyawan {
    
    private String nama;
    private String pangkat;
    private int gaji;
    private List< Karyawan > subordinates;
    
    public Karyawan(String nama, String pangkat, int gaji){
        this.nama = nama;
        this.pangkat = pangkat;
        this.gaji = gaji;
        subordinates = new ArrayList< Karyawan >();
    }
    
    public void add(Karyawan add){
        subordinates.add(add);
    }
    
    public void remove(Karyawan remove){
        subordinates.remove(remove);
    }
    
    public List< Karyawan > getSubordinates(){
        return subordinates;
    }
    
    @Override
    public String toString(){
        return (" Nama : " + nama + ", Pangkat : " + pangkat + ", Gaji : Rp " + gaji+"");
    }
}



  2. Buat class Test.java

package main;

public class Test {
    public static void main(String[] args){
        
        Karyawan ceo = new Karyawan("Agung Gumelar","CEO",50000000);
        
        Karyawan headSales = new Karyawan("Arif", "Head Sales",5000000);
        
        Karyawan headMarketing = new Karyawan("Budi","Head Marketing",5000000);
        
        Karyawan marketing1 = new Karyawan("Andri","Marketing",3000000);
        Karyawan marketing2 = new Karyawan("Luna","Marketing",3000000);
        
        Karyawan sales1 = new Karyawan("Inka","Sales",3000000);
        Karyawan sales2 = new Karyawan("Novi","Sales",3000000);
        
        ceo.add(headSales);
        ceo.add(headMarketing);
        
        headMarketing.add(marketing1);
        headMarketing.add(marketing2);
        
        headSales.add(sales1);
        headSales.add(sales2);
        
        System.out.println(ceo);
        
        for(Karyawan headKaryawan : ceo.getSubordinates()){
            System.out.println();
            System.out.println(headKaryawan);
     
            for(Karyawan Karyawan : headKaryawan.getSubordinates()){
                System.out.println(" - "+Karyawan);
            }
        }
    }
}


  3. Verifikasi Output

   

 Nama : Agung Gumelar, Pangkat : CEO, Gaji : Rp 50000000

 Nama : Arif, Pangkat : Head Sales, Gaji : Rp 5000000
 -  Nama : Inka, Pangkat : Sales, Gaji : Rp 3000000
 -  Nama : Novi, Pangkat : Sales, Gaji : Rp 3000000

 Nama : Budi, Pangkat : Head Marketing, Gaji : Rp 5000000
 -  Nama : Andri, Pangkat : Marketing, Gaji : Rp 3000000
 -  Nama : Luna, Pangkat : Marketing, Gaji : Rp 3000000

 




Baca Juga : 
 


Entri Sebelumnya :
  Java Bridge Pattern



Pengertian dan Contoh pembuatan Java Composite Pattern 4.5 5 Ardyn Sulaeman Composite Pattern adalah Design Pattern yang digunakan dimana kita perlu memperlakukan sekelompok objek, dimana sekelompok objek terseb...


No comments:

Post a Comment

Powered by Blogger.