Konsep OOP Interface


Interface adalah sekumpulan method yang dideklarasikan tanpa implementasi. Hampir sama dengan abstract class Cuma bedanya method yang dideklarasikan di Interface dapat digunakan oleh satu atau lebih kelas. Interface digunakan untuk mengatasi kemiripan-kemiripan pada kelas yang tidak berhubungan.

Ciri-ciri interface :
- Interface diawali dengan kata kunci interface, bukan class.
- Interface tidak mengandung constructor.
- Semua method berakses public secara otomatis.
- Menggunakan kata kunci implements untuk mengimplementasikan interface.
- Interface dapat diimplementasikan lebih dari satu interface pada kelas yang sama.

Selanjutnya kita akan coba membuat interface.

Buat interface dengan nama kontrorTV.
/**
 *
 * @author Wim Sonevel
 */
public interface kontrolTV {
    public void hidupkan(boolean hidup);
    public void pindahChannel(int channel);
    public int keraskanVolume(int tambah);
    public int pelankanVolume(int kurangi);
}

Buat kelas dengan nama televisi lalu implement interface kontrolTV
/**
 *
 * @author Wim Sonevel
 */
public class televisi implements kontrolTV{

    private String merek;
    private boolean hidup;
    private String[]saluran={"RCTI","SCTV","INDOSIAR","TPI","ANTV","TRANSTV","TRANS7"};

    public int volume=0;

    public televisi(){}
    public televisi(String merek){
        this.merek = merek;
    }
    public String getMerek(){
        return merek;
    }
    public void hidupkan(boolean hidup) {
        if(hidup){
            this.hidup = true;
            System.out.println("Televisi dihidupkan");
        }else{
            this.hidup = false;
            System.out.println("Televisi dimatikan");
        }
    }

    public void pindahChannel(int channel) {
        if(true){
            System.out.println("Saluran TV "+saluran[channel]);
        }else{
            System.out.println("Televisi Mati");
        }
    }

    public int keraskanVolume(int tambah) {
        if(hidup){
            if(volume < 10)
                volume += tambah;
                System.out.println("Volume ditambahkan menjadi "+volume);
            return volume;
        }else{
            System.out.println("Televisi Mati");
            return volume;
        }
    }

    public int pelankanVolume(int kurangi) {
        if(hidup){
            if(volume > 0)
                volume -= kurangi;
                System.out.println("Volume dikurangi menjadi "+volume);
            return volume;
        }else{
            System.out.println("Televisi Mati");
            return volume;
        }
    }

    public String [] getSaluran(){
        return saluran;
    }
}

Buat kelas main untuk menginstansiasi kelas televisi.
/**
 *
 * @author Wim Sonevel
 */
public class tesTV {
    public static void main(String[] args) {
        kontrolTV tvku = new televisi("SHARP");
        tvku.hidupkan(true);
        tvku.keraskanVolume(10);
        tvku.pelankanVolume(3);
        tvku.pindahChannel(5);
        tvku.hidupkan(false);
    }
}

Jika dijalankan maka hasilnya sebagai berikut :

Televisi dihidupkan
Volume ditambahkan menjadi 10
Volume dikurangi menjadi 7
Saluran TV TRANSTV
Televisi dimatikan

Sekian dan Terima Kasih
Happy Coding :)

Post a Comment

Previous Post Next Post