Pengertian dan Contoh Membuat Command Pattern

 




Command pattern adalah pattern yang dimana dalam pattern ini ada sebuah perintah sederhana yang di digunakan mewakili perintah sistem yang lebih kompleks yang terenkapsulasi. Command Pattern termasuk ke dalam Behavior Pattern.

Ada tiga istilah yang selalu melekat dalam pattern ini yaitu Client, invoker dan penerima. Client mengeksekusi perintah pertama setelah itu Invoker akan memutuskan perintah apa yang sebenarnya dilakukan oleh Client dan selanjutnya Penerima akan menerima dan mengeksekusi perintah tersebut. Sebagai client kita tidak akan tau sistemnya seperti apa pada perogram tersebut bagaimana cara program tersebut berjalan client tidak diberi akses untuk mengetahui hal tersebut client hanya perlu melakukan perintah apa saja yang diberikan.

Dalam kehidupan sehari-hari Command pattern ini bisa kita contohkan dalam menghidupkan lampu di rumah kamu, ketika saklar lampu kamu klik ON, maka lampu akan menyala dan ketika saklar lampu kamu klik OFF maka lampu akan mati. Disini kamu bisa diibaratkan seperti klien, saklar bisa diibaratkan seperti invoker dan lampu diibaratkan Receiver atau penerima. Saklar hanya memberi dua pesan kepada kamu, yaitu pesan ON dan OFF. Dalam menghidupkan lampu ON untuk menghidupkan lampu, dan OFF untuk mematikan lampu. Prinsip kerja penghidupan lampu tersebut ter-enkapsulasi. Nah, maksud enkapsulasi disini berarti kita tidak diberitahu detil kompleks yang terjadi sebernarnya dibelakang, seperti mungkin anda pernah berpikir mengapa ketika kamu klik ON pada saklar mengapa lampu tersebut menyala dan juga mengapa ketika kamu klik OFF pada saklar lampu tersebut mati mengapa hal tersebut terjadi dan mengapa bisa demikian. Namun hal yang pasti kita hanya tau maksud dari pesan ON / OFF saja.

Berikut ini contoh membuat Command pattern. Tapi sebelumnya untuk pengguna mobile mohon aktifkan javaScript dan matikan fitur GoogleWebLight untuk melihat kode berikut secara keseluruhan.



  1. Buat interface Command.java
package main;

public interface Command {
    
    void execute();
    
}




  2. Buat class Switch.java
package main;

import java.util.*;

public class Switch  {
    
    private List< Command > history = new ArrayList< >();
    
    public Switch(){
        
    }
    
    public void storeAndExecute(Command cmd){
        history.add(cmd);
        cmd.execute();
    }
}





  3. Buat class Light.java
package main;

public class Light {
    
    public Light() {
        
    }
    
    public void turnOn() {
        System.out.println("Lampu sudah menyala");
    }
    
    public void turnOff() {
        System.out.println("Lampu sudah mati");
    }
}




  4. claas OnCommand.java implement ke Command.java
package main;

public class OnCommand implements Command {

    public Light theLight;
    
    public OnCommand(Light  light){
        theLight = light;
    }

    @Override
    public void execute() {
        theLight.turnOn();
    }
    
}






  5. Buat class OffCommand.java implements ke Command.java
package main;

public class OffCommand implements Command{

    private Light theLight;
    
    public OffCommand(Light light){
        theLight = light;
    }
    
    @Override
    public void execute() {
        theLight.turnOff();
    }
    
}




  6. Buat class Test.java
package main;

/**
 *
 * @author lemanfoetra
 */
public class Test {
    
    public static void main(String[] args){

        Light lamp = new Light();
        Command switchOn = new OnCommand(lamp);
        Command switchOff = new OffCommand(lamp);
       
        Switch s = new Switch();
        
        String client = "ON";
        
        if(client.equalsIgnoreCase("ON")){
            s.storeAndExecute(switchOn);
        }else if(client.equalsIgnoreCase("OFF")){
            s.storeAndExecute(switchOff);
        }
    }
}



  7. Verifikasi Output :


Lampu sudah menyala






Nah dalam program diatas, mencontohkan penggunaan Command pattern dalam program menghidupkan dan mematikan lampu. Silahkan pelajari dengan baik sebaik baiknya jujur saja penulis sendiri butuh lebih dari dua hari untuk mempelajari pattern tersebut tapi Alhamdulliah berkat usaha yang tekun pattern tersebut dapat dipelajari dipahami. Dan mudah-mudahan para pembaca juga dapat memahami cara kerja Command pattern tersebut dan dapat mengaplikasikannya dengan baik.

Demikian penjelasan dan contoh mengenai Java Command Pattern. Untuk kamu yang ingin mendownload Contoh Sample Program tersebut, bisa di download disini. Dan Kamu juga mungkin ingin membaca artikel kami sebelumnya mengenai Java Chain of Responsibility Pattern atau membaca artikel kami berikutnya mengenai java Interpreter Pattern. Terimakasih.


Sumber :
www.jurnaldev.com
www.tutorialpoints.com
www.wikipedia.com
alfanakbar.blogspot.com
www.google.com

Pengertian dan Contoh Membuat Command Pattern 4.5 5 Ardyn Sulaeman Command pattern adalah pattern yang dimana dalam pattern ini ada sebuah perintah sederhana yang di digunakan mewakili perintah si...


No comments:

Post a Comment

Powered by Blogger.