ProjectLombok: Jangan Ketik Setter dan Getter Lagi


Pada pemrograman berorientasi objek ada suatu metode untuk menyembunyikan anggota kelas yang disebut dengan enkapsulasi (encapsulation), yaitu membatasi akses langsung ke beberapa komponen objek. Lalu bagaimana cara mengakses anggota kelas tersebut? yaitu dengan menggunakan metode setter dan getter.

Saya pribadi biasanya menggunakan setter dan getter untuk kelas model, yaitu sebuah kelas yang merepresentasikan sebuah objek/data, kalau di Java umumnya disebut dengan POJO (Plain Old Java Object). Kelas POJO ini tidak memiliki ketergantungan terhadap kelas lain, sehingga tidak perlu melakukan extends terhadap kelas manapun.

Berikut adalah contoh kelas POJO untuk merepresentasikan objek mahasiswa yang memiliki anggota kelas (properties) bernama nim, nama, dan programstudi.

Contoh Kelas POJO

public class Mahasiswa {

    // properties
    private String nim, nama, programStudi;

    // getters
    public String getNim() {
        return this.nim;
    }

    public String getNama() {
        return this.nama;
    }

    public String getProgramStudi() {
        return this.programStudi;
    }

    // setters
    public void setNim(String nim) {
        this.nim = nim;
    }

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

    public void setProgramStudi(String programStudi) {
        this.programStudi = programStudi;
    }
}

Coba perhatikan, untuk membuat setter dan getter dari 3 anggota kelas (properti) saja memerlukan beberapa baris, hal ini tidak efektif dan efisien. Belumlah lagi jika properti bertambah, atau tipe datanya berubah maka untuk setter dan getter harus menyesuaikan (ditulis ulang). Untungnya sudah ada project lombok, sehingga kita tidak perlu lagi menuliskan setter dan getter (masih banyak fitur lainnya) lagi.

Instalasi Project Lombok

Project Lombok adalah library java yang secara otomatis dihubungkan ke editor dan builder tools kita, tujuannya untuk meningkatkan program Java kita karena cukup dengan menuliskan satu anotasi saja kita telah memiliki setter dan getter pada POJO.

Dengan menggunakan lombok, kelas POJO diatas dapat ditulis dengan cara berikut:

import lombok.Getter;
import lombok.Setter;

public class Mahasiswa {
  
    @Getter
    @Setter
    private String nim, nama, programStudi;
}

Wah, cukup simpel ya. Secara default, sejak IDE IntelliJ IDEA versi 2020.3 (#cmiiw) sudah tersedia plugin lombok ini, sehingga kita tidak perlu lakukan instalasi. Cukup pastikan bahwa plugin ini telah aktif.

Plugin lombok telah aktif pada IntelliJ IDEA

Selain mengaktifkan plugin lombok, kita juga perlu aktifkan Annotation Processors pada menu Builds, Execution, Deployment di dalam submenu Compiler.

Checklist Enable annotation processing

Sampai disini kita tidak perlu lagi menuliskan setter dan getter, cukup tambahkan anotasi @Getter atau @Setter pada properti dan otomatis kelas POJO kita sudah memiliki setter dan getter.

Memanggil kelas POJO

Ok, untuk memanggil kelas POJO yang ditulis menggunakan anotasi @Getter maupun @Setter kita bisa gunakan cara seperti biasanya. Berikut adalah contoh kelas Main yang menggunakan kelas Mahasiswa.

public class Main {

    static Mahasiswa mahasiswa;

    public static void main(String[] args) {
        mahasiswa = new Mahasiswa();
        
        // set nilai
        mahasiswa.setNim("0810031802221");
        mahasiswa.setNama("Riyanto");
        mahasiswa.setProgramStudi("Teknik Informatika");

        // get nilai
        System.out.println(mahasiswa.getNim());
        System.out.println(mahasiswa.getNama());
        System.out.println(mahasiswa.getProgramStudi());
    }
}

Ok, sampai disini sudah dicontohkan bagaimana menggunakan Lombok untuk program Java kita. Semoga bermanfaat šŸ™‚

Tinggalkan Komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.