Unit : 9089029382038203282
Dalam pemrograman Java kita mengenal adanya Class dan Interface. Class adalah
template dari suatu object. Di dalam sebuah class kita bisa mendefinisikan atribut-atribut
yag mewakili data-data yang dimiliki oleh sebuah object, di dalam Class juga
didefinisikan method-method / fungsi yang mewakili behaviour atau operasi yang bisa
dilakukan oleh suatu object.
Sedangkan Interface sendiri bisa dianalogikan sebagai template dari class. Di dalam
sebuah Interface terdapat method-method abstract, ada nama method beserta
parameternya namun isi / code dari method di dalam Interface tersebut belum dituliskan.
Untuk menggunakan Interface kita perlu membuat Class yang mengimplementasikan
Interface tersebut, Class yang dibuat nanti otomatis akan memiliki method-method yang
dituliskan di dalam Interface dan kode dari method-method tersebut dituliskan dalam
Class yang dibuat.
Untuk membuat Interface, misal menggunakan Apache Netbeans, klik kanan pada nama
package kemudian pilih New --> Java Interface.
Code dari Interface BangunDatar sebagai berikut
// file BangunDatar.java
public interface BangunDatar {
double hitungLuas();
}
Isi method hitungLuas belum kita tulis di dalam Interface, rumus menghitung luas
sebuah bangun datar akan sangat ditentukan oleh jenis bangun datarnya, misal rumus
luas segitiga berbeda dengan rumus luas persegi panjang. Untuk itu kita buat Class baru
yang mengimplements Interface BangunDatar. Misal kita buat class Segitiga dan class
PersegiPanjang.
// file Segitiga.java
public class Segitiga {
}
// file PersegiPanjang.java
public class PersegiPanjang {
// file Segitiga.java
public class Segitiga implements BangunDatar {
}
// file PersegiPanjang.java
public class PersegiPanjang implements BangunDatar {
Akan muncul baris code yang diberi tanda merah, klik pada icon lampu di sebelah kiri,
pilih Implement all abstract method
// file Segitiga.java
public class Segitiga implements BangunDatar {
int alas, tinggi;
@Override
public double hitungLuas() {
double luas = (alas * tinggi) / 2;
return luas;
}
}
// file PersegiPanjang.java
public class PersegiPanjang implements BangunDatar {
int panjang, lebar;
@Override
public double hitungLuas() {
double luas = panjang * lebar;
return luas;
}
// file LuasBangunDatar.java
public class LuasBangunDatar {
public static void main(String[] args) {
Segitiga segitiga = new Segitiga(12, 50);
PersegiPanjang persegiPanjang = new PersegiPanjang(20,
30);
System.out.println("luas segitiga dengan alas 12 dan
tinggi 50 = "+segitiga.hitungLuas());
System.out.println("luas persegi panjang dengan panjang
20 dan lebar 30 = "+persegiPanjang.hitungLuas());
}
}