Beranda > Java Tutorial, Sinaung > Membuat Class yang baik dengan Netbeans IDE

Membuat Class yang baik dengan Netbeans IDE


hahaha, judulnya seperti perkataan orang narsizz, yach seperti gua ini, baik hati dan tidak sombong, dan tak lupa rajin menabung dan juga murah hati dan juga murah berbagi ilmu seperti sekarang ini, hahahahah NARSIZZZZZZZ!!!!.

Sekarang kita akan membuat class yang baik dan benar menurut para programmer java. “apa itu class yang baik dan benar ?”

 

class yang bisa disebut baik dan benar adalah class yang memiliki metode yang dinamakan getter dan setter dan juga harus memiliki metode equals dan juga hashcode. akan saya bahas satu persatu :

  • getter, metode ini dinamakan metode pengambilan informasi. misalnya saya ingin mendapatkan informasi nama sebuah class, maka class tersebut harus memiliki sebuah metode yang bernama getNama(), sehingga dengan kata lain getter adalah metode getXxxx (Xxxx = nama atribut/field).
  • setter, metode ini kebalikan dari getter yaitu untuk mengubah informasi, misal saya ingin mengubah informasi nama maka dalam class tersebut harus ada metode setNama(tipeData parameter). jadi kesimpulannya setter adalah metode setXxx(tipeAtribut parameter) (Xxx = nama atribut).
  • equals, metode ini digunakan untuk membandingkan class tersebut dengan class yang lain, apakah sama atau tidak. ini bermanfaat ketika kita menggunakan operasi perbandingan “==”. dan metode ini mengembalikan nilai true jika objek yang dibandingkan sama dan false jika tidak
  • hashcode, merupakan metode untuk mendapatkan unik integer dari sebuah class, hal ini sangat berguna ketika kita membuat sebuah kumpulan data yang tidak boleh sama atau duplikasi.

selain dalam metode, class yang baik dan benar juga harus memiliki kontruktor baik itu kontruktor javabeans (tak memiliki parameter) ataupun bukan javabeans (memiliki parameter). OK!!! lebih baik kita langsung coding ajach. sekarang coba buat sebuah class dengan nama Mahasiswa :

/**
*
* @author usu
*/
public class Mahasiswa {

}

lalu beri atribut sesuai dengan yang anda inginkan misal :

import java.util.Date;

/**
*
* @author usu
*/
public class Mahasiswa {

    private String nim;
    private String nama;
    private String jenisKelamin;
    private Date tanggalLahir;
    private String alamat;
}

sekarang kita buat metode getter dan setternya. masuk ke menu :

image

maka akan keluar tooltip seperti dibawah ini :

image

pilihlah “Getter and Setter“, maka akan muncul dialog seperti dibawah ini :

image

seleksi semuanya, lalu klik GENERATE. sekarang class yang tadi kita buat akan berubah seperti ini :

import java.util.Date;

/**
*
* @author usu
*/
public class Mahasiswa {

    private String nim;
    private String nama;
    private String jenisKelamin;
    private Date tanggalLahir;
    private String alamat;

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getJenisKelamin() {
        return jenisKelamin;
    }

    public void setJenisKelamin(String jenisKelamin) {
        this.jenisKelamin = jenisKelamin;
    }

    public String getNama() {
        return nama;
    }

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

    public String getNim() {
        return nim;
    }

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

    public Date getTanggalLahir() {
        return tanggalLahir;
    }

    public void setTanggalLahir(Date tanggalLahir) {
        this.tanggalLahir = tanggalLahir;
    }
}

sekarang kita buat metode equals dan hashcode, sama seperti tadi tampilkan tooltip seperti pada getter and setter :

image

pilihlah equals() and hashCode() sehinnga muncul dialog seperti dibawah ini :

image

seleksi seluruhnya lalu klik GENERATE, sekarang class yang tadi kita buat akan seperti ini :

import java.util.Date;

/**
*
* @author usu
*/
public class Mahasiswa {

    private String nim;
    private String nama;
    private String jenisKelamin;
    private Date tanggalLahir;
    private String alamat;

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getJenisKelamin() {
        return jenisKelamin;
    }

    public void setJenisKelamin(String jenisKelamin) {
        this.jenisKelamin = jenisKelamin;
    }

    public String getNama() {
        return nama;
    }

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

    public String getNim() {
        return nim;
    }

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

    public Date getTanggalLahir() {
        return tanggalLahir;
    }

    public void setTanggalLahir(Date tanggalLahir) {
        this.tanggalLahir = tanggalLahir;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Mahasiswa other = (Mahasiswa) obj;
        if (this.nim != other.nim && (this.nim == null || !this.nim.equals(other.nim))) {
            return false;
        }
        if (this.nama != other.nama && (this.nama == null || !this.nama.equals(other.nama))) {
            return false;
        }
        if (this.jenisKelamin != other.jenisKelamin && (this.jenisKelamin == null || !this.jenisKelamin.equals(other.jenisKelamin))) {
            return false;
        }
        if (this.tanggalLahir != other.tanggalLahir && (this.tanggalLahir == null || !this.tanggalLahir.equals(other.tanggalLahir))) {
            return false;
        }
        if (this.alamat != other.alamat && (this.alamat == null || !this.alamat.equals(other.alamat))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 71 * hash + (this.nim != null ? this.nim.hashCode() : 0);
        hash = 71 * hash + (this.nama != null ? this.nama.hashCode() : 0);
        hash = 71 * hash + (this.jenisKelamin != null ? this.jenisKelamin.hashCode() : 0);
        hash = 71 * hash + (this.tanggalLahir != null ? this.tanggalLahir.hashCode() : 0);
        hash = 71 * hash + (this.alamat != null ? this.alamat.hashCode() : 0);
        return hash;
    }
}

ok sekarang kita akan buat kontruktor, seperti tadi tampilkan tooltipnya :

image

lalu pilih Constructor, maka akan muncul dialog seperti ini :

image

seleksi atribut yang akan diinisialisasikan dalam parameter , misalnya saya mengseleksi semuanya, lalu klik GENERATE, maka class yang kita buat akan menjadi seperti ini :

import java.util.Date;

/**
*
* @author usu
*/
public class Mahasiswa {

    private String nim;
    private String nama;
    private String jenisKelamin;
    private Date tanggalLahir;
    private String alamat;

    public Mahasiswa(String nim, String nama, String jenisKelamin, Date tanggalLahir, String alamat) {
        this.nim = nim;
        this.nama = nama;
        this.jenisKelamin = jenisKelamin;
        this.tanggalLahir = tanggalLahir;
        this.alamat = alamat;
    }

    public String getAlamat() {
        return alamat;
    }

    public void setAlamat(String alamat) {
        this.alamat = alamat;
    }

    public String getJenisKelamin() {
        return jenisKelamin;
    }

    public void setJenisKelamin(String jenisKelamin) {
        this.jenisKelamin = jenisKelamin;
    }

    public String getNama() {
        return nama;
    }

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

    public String getNim() {
        return nim;
    }

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

    public Date getTanggalLahir() {
        return tanggalLahir;
    }

    public void setTanggalLahir(Date tanggalLahir) {
        this.tanggalLahir = tanggalLahir;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Mahasiswa other = (Mahasiswa) obj;
        if (this.nim != other.nim && (this.nim == null || !this.nim.equals(other.nim))) {
            return false;
        }
        if (this.nama != other.nama && (this.nama == null || !this.nama.equals(other.nama))) {
            return false;
        }
        if (this.jenisKelamin != other.jenisKelamin && (this.jenisKelamin == null || !this.jenisKelamin.equals(other.jenisKelamin))) {
            return false;
        }
        if (this.tanggalLahir != other.tanggalLahir && (this.tanggalLahir == null || !this.tanggalLahir.equals(other.tanggalLahir))) {
            return false;
        }
        if (this.alamat != other.alamat && (this.alamat == null || !this.alamat.equals(other.alamat))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 71 * hash + (this.nim != null ? this.nim.hashCode() : 0);
        hash = 71 * hash + (this.nama != null ? this.nama.hashCode() : 0);
        hash = 71 * hash + (this.jenisKelamin != null ? this.jenisKelamin.hashCode() : 0);
        hash = 71 * hash + (this.tanggalLahir != null ? this.tanggalLahir.hashCode() : 0);
        hash = 71 * hash + (this.alamat != null ? this.alamat.hashCode() : 0);
        return hash;
    }
}

jadi seperti itulah class yang baik dan benar. tapi sebenarnya ada satu metode yang tak kalah pentingnya, yaitu toString(). metode ini sangat penting untuk pencetakan sebuah class. tapi kalo dalam pembuatan aplikasi gui, hal ini tak terlalu penting…… :)

ok see you at next trixx

Rock with Java!!!!

Written by echo  

27 Juni 2008 pada 21:03

Sumber: eecchhoo.wordpress.com

 

  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: