Minggu, 07 Oktober 2012

Abstract Class untuk Registry di PHP | PHP OOP


Kesempatan kali saya akan share ilmu tentang abstract class di PHP OOPAbstract class seperti namanya, yaitu bersifat abstrak. Ya, memang dunia pemrograman memaksa kita untuk mempelajari bahasa inggris. Mari saya jelaskan lebih lanjut. ;)

Manfaat dan Fungsi Abstract Class di PHP OOP

Abstract class  pada dasarnya adalah class yang membuat pattern method yang bersifat abstrak dan method tidak bisa memiliki body. Pengertian dasar atau konsep abstract class menyediakan suatu pattern/prototype method yang konkret dan dijadikannya class dasar untuk digunakan oleh class pewarisnya. Perlu diingat, abstract class bukan membuatsuper object namun hanya sekedar menyediakan pattern standar untuk digunakan oleh class pewarisnya. Untuk membuat object harus dilakukan melalui class pewarisnya (inherited class).
Abstract class bisa digunakan untuk membuat suatu registry di suatu aplikasi agar penggunaan resource memori maupun buffering menjadi lebih ringan. Ya, itulah fungsi registry di dalam suatu aplikasi php. Di dalam mvc framework yang saya buat juga menggunakan registry, tetapi saya tidak akan membahas itu sekarang. Hanya mencoba memberikan penjelasan dari basic abstract class dahulu. ;)

Implementasi Abstract Class

Suatu abstract class mempunyai beberapa syarat agar abstract class bisa digunakan ke dalam class yakni:
  1. Penggunaan abstract class harus memanggil class pewarisannya, tidak bisa langsung memanggil abstract class.
  2. Suatu method yang memiliki attribute abstract harus berada di dalam class abstract juga.
  3. Method abstract di dalam abstract class tidak boleh memiliki body.

Contoh Penggunaan Abstract Class ke dalam Class

Saya akan memberikan contoh simple penggunaan abstract class untuk menyediakan pattern method berupa class RegistryDokumen yang berguna untuk mengetahui spesifik suatu berkas file dokumen. Lihat contoh abstract class di php berikut ini:
<?php
abstract class RegistryDokumen{
abstract function spesifikberkas();
public function dapatkanclass()
{
return get_class($this);
}
public function cetakhasil()
{
echo 'Berkas <b>'.$this->dapatkanclass().'</b> mempunyai ekstensi file: "'.$this->spesifikberkas().'".<br/>';
}
}

class pdf extends RegistryDokumen{
public function spesifikberkas()
{
return ".pdf";
}
}

class doc extends RegistryDokumen{
public function spesifikberkas()
{
return ".doc, .docx atau .rft";
}
}

$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 class RegistryDokumen menyediakan pattern method abstrak untuk digunakan class pdf dan class doc. Function spesifikberkas() adalah polymorphism yang mana merupakan pattern sejenis namun mempunyai fungsi yang berbeda. Hal itu mudah di-handle atau ditangani dengan menggunakan abstract class ini.
Apakah artikel ini sudah cukup jelas? Memang untuk belajar PHP OOP atau mencoba menggunakan framework MVC paling tidak harus pernah membaca basic PHP. Jika tidak, saya jamin kamu masih belum bisa memahami betul artikel-artikel PHP OOP di website manapun juga. PHP OOP telah saya mulai dari yang dasar/basic dan kamu bisa temukan di awal section Web Programming. Saya akan terus berusaha memberikan artikel dengan contoh serta penjelasan yang mudah dimengerti. Baiklah, sampai di siniartikel dan contoh tentang Abstract Class di PHP OOP.

Backlink BAcklink

Interface di PHP untuk Standar Program | PHP OOP


Artikel saya kali ini akan menerangkan tentangInterface 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 interfaceberfungsi 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? :lol: Coba saya jelaskan beberapa syarat untuk menggunakan suatu object interface ke dalam class, yakni:
  1. Penggunaan interface ke dalam class bukan menggunakan extends atau pewarisan, namun menggunakan “implements”.
  2. Interface dapat dilakukan pewarisan/inheritance ke interface baru, tetapi tidak bisa diwariskan ke dalam class.
  3. Method yang berada di dalam interface tidak boleh memiliki body.
  4. 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 dalamclass 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. :D Oke, sampai di sini dulu ya artikel dan contoh tentang Interface di PHP OOP.


Ternary Operators PHP Pengganti If Else



Saya akan membahas ternary operator php sebagai pengganti if else, yang mana dapat menghemat waktu dan membuat coding kalian rapi dalam melakukan pemrograman aplikasi yang kompleks. Ini adalah pertanyaan dari teman kita, yang saya terima melalui email. Sebelumnya saya mengucapkan selamat hari raya Idul Fitri 1433 H bagi yang merayakan, mohon maaf lahir dan batin ya sob. :)

Pengertian Ternary Operator “?:”

Apa itu code php yang menggunakan tanda tanya dan titik dua? Itu adalah bentuk ternary operator. Ternary operator adalah suatu operator kondisional yang mana hanyamempunyai 3 expression di dalam pernyataannya. Namun, sejak programmer PHP menggunakan operator ternary untuk kepentingan pembanding, ternary operator juga digolongkan menjadi operator pembanding.
Ternary operator merupakan operator bawaan bahasa C, yang mana bisa kita gunakan dengan di versi PHP 5.3. Di mana hosting PHP 5.3 yang cocok untuk aplikasi kompleks? Coba baca review hosting php 5.3 ini. :D

Kelebihan Ternary Operator PHP

Kelebihannya apa kalau menggunakan code tanda tanya dan titik dua tadi? Ada beberapa kelebihan yang bisa kita dapatkan dengan menggunakan ternary operator di aplikasi php yang kita buat, antara lain:
  1. Menghemat waktu dalam melakukan coding
  2. Menghemat waktu saat melakukan maintenance
  3. Code php yang kita buat menjadi lebih rapi
  4. Code php yang kita buat menjadi lebih singkat

Cara Menggunakan Ternary Operator PHP

Seperti yang telah saya jelaskan di atas, ternary operator mempunyai 3 bagian utama yakni:
1
(expr1) ? (expr2) : (expr3)
Lihat kode di atas, cara penggunaan ternary operator adalah membandingkan expr1 dan menghasilkan expr2 jika benar, atau menghasilkan expr3 jika salah.

Contoh Ternary Operator PHP

Lihat kembali bentuk ternary operator di atas tadi, kemudian sekarang kita mencoba untuk membandingkan suatu variable. Di contoh kaskus berikut guru memberikan nilai kepada siswa dalam bentuk “baik/buruk“, tentu kita melakukan konversi dulu dari nilai angka. Berikut codenya:
1
2
3
4
<?php
$nilai = 85;
echo $nilai > 70 ? 'Baik' : 'Buruk'; //hasil Baik
?>
Contoh di atas mepunyai bentuk sama seperti code if else php di bawah ini:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
<strong></strong>$nilai = 85;
 
if($nilai > 70)
{
echo 'Baik';
}
else
{
echo 'Buruk';
}
?>
Contoh tadi membandingkan variabel nilai apakah lebih besar dari 70, kemudian menghasilkan “Baik” jika benar atau “Buruk” jika salah. Karena variabel nilai mempunyai value 85 adalah lebih besar dibanding 70 maka hasil adalah true dan menghasilkan expr2.
Oke, saya kira itu saja sekilas tentang ternary operator. Jika ada pertanyaan atau tambahan silahkan tinggalkan komentar. Sampai di sini penjelasan saya tentang penggunaan ternary operator sebagai operator kondisional PHP.


BAcklink

Keyword pencarian artikel ini:

ternary operator phpvariable ternary codeigniterarti ternar di youtubeternary phpcara membuat chained drop down codeignitercara menggunakan operator tenarykondisi ? penggati ifpengganti phppengganti if di phppengganti ? di phpapa itu ternary operatorpenggunaan if else php untuk operator lebih besarpenggunaan operator ternary di phpphp ternary operatortentang operator ternaryternary operator adalah phpternary operator dalam bahasa cternary operator logika pada bahasa cpengertian if else pada phpoperator yang ada di phpoperator ternary kondisional dalam php?apa kelebihan if-else if dengan if-elsebentuk lain if else phpcara menggunakan ternary operator di codeignitercontoh komentar guru saat nilai siswa jelekcontoh php jika sudah jam5 inputcontoh ternarycontoh ternary operator di phpgunakan operator ternaryif else waktu php.