Artikel saya kali ini akan menerangkan tentang Interface di PHP OOP. Interface hampir sama namun berbeda jika dibandingkan Abstract Class dan pernah saya terangkan di halaman: Penjelasan dan Contoh Abstract Class di PHP OOP. Mau tahu lebih lanjut? Oke, mari saya mulai jelaskan.
Manfaat dan Fungsi Interface di PHP OOP
Objek interface sangat berguna untuk aplikasi web based yang menganut pemrograman PHP OOP atau berbasis objek. Apa manfaat dari object interface? Konsep objek interface berfungsi untuk membuat standar pemrograman yang harus diimplementasikan di dalam class yang mengimplementasikan suatu objek interface dengan cara melakukan define pattern method bersifat abstrak.
Implementasi Interface
Masih bingung dengan kata-kata saya yang terlalu ilmiah di atas tadi?
Coba saya jelaskan beberapa syarat untuk menggunakan suatu object interface ke dalam class, yakni:
- Penggunaan interface ke dalam class bukan menggunakan extends atau pewarisan, namun menggunakan “implements”.
- Interface dapat dilakukan pewarisan/inheritance ke interface baru, tetapi tidak bisa diwariskan ke dalam class.
- Method yang berada di dalam interface tidak boleh memiliki body.
- Semua method yang berada di dalam interface menjadi suatu standar dan kewajiban, sehingga semua method di interface harus terdaftar di dalam class yang mengimplementasikan interface tersebut.
Contoh Penggunaan Interface ke dalam Class
Seperti yang pernah saya jelaskan di artikel awal tentang PHP OOP, pemrograman Java berbasis objek mempunyai bentuk yang hampir sama di pemrograman PHP berbasis objek. Untuk menggunakan interface ke dalam class harus menggunakan “implements”. Coba lihat contoh penggunaan interface ke dalam class php di bawah ini:
<?php
interface InterfaceDokumen{
function spesifikberkas();
}
interface BangunClass extends InterfaceDokumen{
function dapatkanclass();
function cetakhasil();
}
class pdf implements BangunClass{
public function spesifikberkas()
{
return ".pdf";
}
public function dapatkanclass()
{
return get_class($this);
}
public function cetakhasil()
{
echo 'Berkas <b>'.$this->dapatkanclass().'</b> mempunyai ekstensi file: "'.$this->spesifikberkas().'".<br/>';
}
}
class doc implements BangunClass{
public function spesifikberkas()
{
return ".doc, .docx atau .rft";
}
public function dapatkanclass()
{
return get_class($this);
}
public function cetakhasil()
{
echo 'Berkas <b>'.$this->dapatkanclass().'</b> mempunyai ekstensi file: "'.$this->spesifikberkas().'".<br/>';
}
}
$berkaspdf = new pdf();
$berkasdoc = new doc();
$berkaspdf->cetakhasil(); // Berkas pdf mempunyai ekstensi file: ".pdf".
$berkasdoc->cetakhasil(); // Berkas doc mempunyai ekstensi file: ".doc, .docx atau .rft".
?>
Contoh di atas dapat dijelaskan bahwa interface InterfaceDokumen danĀ interface BangunClass menyediakan standar pattern method abstrak yang digunakan di dalam class pdf dan class doc. Sedangkan method abstrak yang di-define di interface, yaitu: method spesifikberkas, method dapatkanclass dan method cetakhasil harus terdaftar juga di class yang mengimplementasikan interface tersebut. Jika salah satu method yang di-define di interface tidak terdaftar di dalam class maka kamu akan menemui error.
Ya, sepertinya hanya hal itu yang perlu diperhatikan jika kamu ingin menggunakan interface di dalam aplikasi php kamu dan supaya tidak menemui status error.
Oke, sampai di sini dulu ya artikel dan contoh tentang Interface di PHP OOP.


Thanks bos…
bermanfaat..
Saya senang jika artikel yang saya buat bermanfaat.
Terima kasih atas kritik yang masuk akal. Me & tetangga saya hanya bersiap-siap untuk melakukan penelitian tentang hal ini. Kami punya ambil sebuah buku dari perpustakaan lokal kami tapi saya pikir saya belajar lebih banyak dari posting ini. Saya sangat senang untuk melihat informasi yang besar seperti sedang bersama bebas di luar sana.
Gw sih lebih suka pake abstract class yang di artikel satunya. Interface kesannya cuman buat clue doang. Interface not useful enough
Hm., sebenarnya lebih ke standarisasinya. Kan kalo nggak lengkap aplikasi bakal error. Dengan gitu system akan lebih joss lagi.hhe
Saya meragukan kemampuan SEO anda krn PR website anda masih 0, hehe..
Yup, sedang tidak ada waktu untuk spamming komentar di blog2 orang.
Berhubung nickname Anda “newbie” saya jelaskan sedikit hal, bahwasanya kualitas SEO tidak dilihat dari PageRank. Pagerank hanya suatu pendukung di dalam SEO, untuk mendapatkan SERP yang bagus. Silahkan Anda sendiri yang menilai kualitas SEO personal site saya ini dengan melihat status hitstats di sidebar. Terima kasih atas pertanyaannya.
<3