BAB
I
PENDAHULUAN
1.1
Latar
Belakang
Pemrograman berorientasi
objek atau object-oriented programming (OOP) merupakan suatu pendekatan
pemrograman yang menggunakan object dan class. Saat ini konsep OOP sudah
semakin berkembang. Hampir setiap perguruan tinggi di dunia mengajarkan konsep
OOP ini pada mahasiswanya. Pemrograman yang banyak dipakai dalam penerapan
konsep OOP adalah Java dan C++. OOP
bukanlah sekedar cara penulisan sintaks program yang berbeda, namun lebih dari
itu, OOP merupakan cara pandang dalam menganalisa sistem dan permasalahan
pemrograman. Dalam OOP, setiap bagian dari program adalah object. Sebuah object
mewakili suatu bagian program yang akan diselesaikan. Beberapa konsep OOP
dasar, antara lain : 1. Encapsulation
(Class dan Object) 2. Inheritance (Penurunan sifat), dan 3. Polymorphisme
PHP pada awalnya hanyalah
kumpulan script sederhana. Dalam perkembangannya, selanjutnya ditambahkan
berbagai fitur pemrograman berorientasi objek. Hal ini dimulai sejak PHP 3
& 4, namun masih sangat sederhana.
Karena perkembangan web application (ASP.NET, JSP) yang support full OOP
dikembangkan PHP5 yang support full OOP untuk memenuhi kebutuhan Pengembangan
aplikasi yang besar (Enterprise Application). Dengan lahirnya PHP 5,
fitur-fitur pemrograman berorientasi objek semakin mantap dan semakin cepat.
Dengan PHP 5, script yang menggunakan konsep object-oriented akan lebih cepat
dan lebih efisien.
OOP dalam PHP hampir
mirip dengan OOP pada java. Jika anda sudah pernah belajar java atau
javascript, OOP dalam PHP tidak begitu bermasalah. OOP PHP berbeda dengan PHP
struktural. Pada OOP kita bisa membuat sebuah class yang berisi semua
fungsi-fungsi yang biasa digunakan untuk proses web, misalkan proses query
database, proses login, proses regular expression dll.Ingat bahwa
fungsi dalam OOP adalah method. Dari class tersebut bisa dibuat sebuah object
yang memiliki semua method yang saya sebutkan tadi, proses query, proses login,
proses reqular expression dll. Tambahan lagi, dengan menggunakan OOP, pembuatan
program menjadi lebih mudah dan cepat begitu juga konsistensi program akan
terjaga. Anda juga bisa membuat template web dengan menggunakan OOP dimana ada
method yang bertugas untuk membuat tampilan, misalkan tampilan header, sidebar,
footer dll.
PHP adalah sebuah bahasa
script yang sangat bagus dan merupakan pasangan yang pas untuk bahasa HTML.
Dengan kemampuan PHP untuk membuat website yang dinamis serta keindahan desain
menggunakan HTML, maka nyaris tidak ada yang tidak dapat dilakukan
gabungan kedua bahasa ini di dunia web. PHP ini merupakan bahasa yang sangat
mudah (bagi yang pernah mempelajari C atau bahasa pemrograman lain akan sangat
merasakan perbedaaan ini. Contoh salah satu perbedaan yang paling terasa adalah
bahwa kita tidak usah repot-repot deklarasi variabel di awal, kalau butuh
variabel tinggal pakai.
1.2
Rumusan
Masalah
1. Pengenalan
PHP
2. Implementasi
oop pada PHP.
2.3
Tujuan
dan Manfaat
1. Untuk
Mengetahui Pengenalan PHP
2. Untuk
Mengetahui Implementasi oop pada PHP.
BAB
II
PEMBAHASAN
2.1
Pengenalan
PHP
PHP adalah sebuah bahasa script yang
sangat bagus dan merupakan pasangan yang pas untuk bahasa HTML. Dengan
kemampuan PHP untuk membuat website yang dinamis serta keindahan desain
menggunakan HTML, maka nyaris tidak ada
yang tidak dapat dilakukan gabungan kedua bahasa ini di dunia web. PHP ini
merupakan bahasa yang sangat mudah (bagi yang pernah mempelajari C atau bahasa
pemrograman lain akan sangat merasakan perbedaaan ini. Contoh salah satu
perbedaan yang paling terasa adalah bahwa kita tidak usah repot-repot deklarasi
variabel di awal, kalau butuh variabel tinggal pakai.
Pada awalnya PHP merupakan kependekan dari
Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus
Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted),
yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form
dari web.
Selanjutnya Rasmus merilis kode sumber
tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini
menjadi open source, maka banyak programmer yang tertarik untuk ikut
mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0.
Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam
rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan
PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama
Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih
cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru
untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP
dirubah menjadi akronim berulang PHP:
Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP
baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang
paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan
kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki
kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti
dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model
pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa
pemrograman ke arah paradigma berorientasi objek.
2.2
Implementasi
oop pada PHP
1.
Class
kumpulan
atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas
definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam
perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan
struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal
sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan
domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya
(relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan
jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program
akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui
program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah
ke sebuah program ataupun sebaliknya.
Bentuk umum mendefinisikan sebuah class
adalah sbb :
class NamaClass
{
Deklarasikan dan definisikan
properties di sini Definisikan semua method di sini
}
Example #1 Simple Class definition
<?php
class MobilClass
{
// property
declaration
public
$jumlah_roda;
//
method declaration public function
DisplayJumlahRoda()
{ echo
$this->jumlah_roda;
}
} ?>
1
A. Properti/ Variable
Berdasarkan sifat
abstraksi, suatu class menyimpan karakteristik suatu benda dalam suatu
variable. Variabel ini sering disebut sebagai properti.
Contoh:
Class Orang mempunyai properti seperti Nama, Warna Rambut, Tinggi, Berat, Tahun Lahir dan
lain-lain.
2.
Menambahkan
Konstruktor
Konstruktor merupakan sebuah method
khusus yang akan secara otomatis dijalankan saat object terbentuk. Konstruktor
tidak harus ada, namun dalam satu class hanya boleh ada satu konstruktor.
Method konstruktor biasanya berisi pemberian nilai default dari masing-masing
properties (variabel). Untuk membuat konstruktor, cukup dengan mendefinisikan
suatu fungsi dengan nama __construct(). Perhatikan contoh sebagai berikut :
class MobilClass
{
public
$jumlah_roda;
public
function __construct() {
$this->jumlah_roda
= 4;
}
public
function DisplayJumlahRoda() {
echo
$this->jumlah_roda;
}
}
3.
Menciptakan Object
Baru
membungkus data dan
fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas danstruktur dalam sebuah program komputer
berorientasi objek.
Objek merupakan
instansiasi dari suatu Class. Sebuah class tidak dapat digunakan tanpa diinstansiasikan
dulu (kecuali untuk Static Class). Objek sebenarnya sebuah variabel.
Untuk menciptakan object baru dari class yang sudah
dibuat adalah sbb:
class MobilClass
{
public $jumlah_roda;
// constructor
public function __construct() {
$this->jumlah_roda
= 4;
}
public function
DisplayJumlahRoda() {
echo
$this->jumlah_roda;
}
}
$mobil = new
MobilClass(); // Create objek mobil
$mobil->DisplayJumlahRoda();
// Menjalankan method object mobil 4
echo
$mobil->jumlah_roda; // Mengakses variabel public 4
$mobil->jumlah_roda=6;
// set variabel ke 6
$mobil->DisplayJumlahRoda();
// 6
$mobil2 = new
MobilClass(); // Create objek mobil baru lagi
$mobil2->DisplayJumlahRoda();
// Menjalankan method object mobil4
3. A Instansiasi Class
Instansiasi objek bisa
dilakukan dengan perintah new. Ketika suatu instansiasi class (pembuatan objek)
dilakukan, maka secara otomatis akan memanggil function Constuctor milik class
tersebut
Contoh
instansiasi class adalah :
$andri=new
Orang()
$db=new
KoneksiDB
(“localhost”,”root”,”pass”,”db”);
Contoh
instansiasi class
<?php
include(“class.php”);
dhika=new
Orang(); // instansiasi
$dhika->nama=”Dhika
Noviansyah”;
$dhika->UcapSalam();
echo
“<br>”;
$shelly=new
Orang(); // instansiasi
$shelly->nama=”Shelly
Septiani”;
$shelly->UcapSalam();
?>
4.
Menambahkan
Destruktor
Destructor kebalikan dari objek
constructor adalah function khusus yang dilakukan ketika suatu objek akan
dihapus, di panggil ketika objek di destroy dan objek di beri nilai NULL.
Umumnya destructor dibuat untuk mengembalikan kembali sumber daya komputer
(misalnya memori, file). Contoh operasi dalam destructor menghapus kembali
memori yang telah digunakan atau menutup koneksi ke suatu file.
class
MobilClass
{
public $jumlah_roda;
public function __destruct() {
echo "Object
telah dihapus";
}
public function
DisplayJumlahRoda() {
echo
$this->jumlah_roda;
}
}
$mobil
= new MobilClass(); // Create objek mobil
5.
Static Properties
/ Method
Jika Method / Property dideklarasikan secara statik
maka Method / Property tersebut dapat langsung diakses tanpa harus membuat
instan class
class
MobilClass
{
public static $jumlah_roda=4;
public static function
DisplayJumlahRoda() {
echo
self::$jumlah_roda; // akses static value
}
}
MobilClass::DisplayJumlahRoda();
// Akses static method 4
echo
MobilClass::$jumlah_roda; // Akses static variabel 4
$mobil
= new MobilClass(); // Create objek mobil
$mobil::DisplayJumlahRoda();
// 4
Echo
$mobil::$jumlah_roda; // 4
6.
Constant Property
Pada
dasarnya constant property sama dengan static property, hanya saja cara
pendeklarasiannya beda.
class MobilClass
{
const
JUMLAH_RODA=4;
public function
DisplayJumlahRoda() {
echo
self::JUMLAH_RODA; // akses constant
}
}
echo MobilClass::JUMLAH_RODA;
// Akses constant 4
$mobil = new
MobilClass(); // Create objek mobil
$mobil->DisplayJumlahRoda();
// 4
7.
Cloning Object
Kita bisa mengkloning object sehingga dua object akan
memiliki property dan method yang sama seterusnya.
<?php
class
MyClass {
public $var = 1;
}
$obj1
= new MyClass();
$obj2
= $obj1;
$obj2->var
= 2;
echo
$obj1->var;
?>
8.
Inheritance =
Pewarisan
Pewarisan/Penurunan
merupakan fitur OOP yang sangat berguna.
Dengan pewarisan, sebuahclass dapatditurunkan Menjadi class baru yang mempunyai
sebagian atau seluruh karakteristik dari class parentnya.
Pewarisandilakukandengan
keyword “extends” Visibility member berlaku dipewarisan.
Dalam
pewarisan dikenal istilah Override yaitu mendefin isikan ulang suatu function
yang telah tersedia di class child sehingga mempunyai perilaku yang berbeda
dari perilaku function class parentnya. Dalam class turunan, boleh ditambah
properti atau member baru.
Pewarisan(contoh)
<?php
class Orang{
protected $nama;
function __construct($nama){
$this->nama=$nama;
}
function
UcapSalam(){
echo “Hallo.
NamaSayaadalah”.$this->nama.”<br>”;
}
}
?>
Pewarisan(contoh)
<?php
include(“waris1.php”);
//
Pewarisantanpaperubahan
class
OrangSundaextends Orang{
}
// Pewarisandenganmeng-override
function UcapSalam
//
danPenambahanMethod
class
OrangInggrisextends Orang{
protected
$asal=”England”; // penambahanpropertibaru
function
UcapSalam(){
echo “Hello. My
name is “.$this->nama.”<br>”;
}
function
UcapNegara(){ // penambahanmethod baru
echo “I’m from
“.$this->asal.”<br>”;
}
}
$kabayan=new
OrangSunda(“Kabayan”);
$kabayan->UcapSalam();$william=new
OrangInggris(“Prince William”);
$william->UcapSalam();
$william->UcapNegara();
?>
9.
Polymorphism =
Banyak Bentuk
Method dengan nama yang sama tapi beda parameternya (Overloading)
Method dengan nama sama parameter sama tapi berada dalam kelas anak
(Overriding)
<?php
class Hewan {
public
function suara(){
echo
"tergantung hewannya apa????";
}
}
class Kucing extends
Hewan {
public
function suara(){
echo
"meoong";
}
}
class Ayam extends Hewan
{
public
function suara($gender=1){
if($gender==1)
echo "Kukuruyuk";
else
echo "Petok-petok";
}
}
$hewan1 = new Hewan();
$hewan1->suara(); //
tergantung hewannya apa????
$hewan2 = new Kucing();
$hewan2->suara();
// meoong
$hewan3 = new
Ayam();
$hewan3->suara(0);
// Petok-petok
?>
10. Visibility of Properties and Methods
Visibility Property and Methods maksudnya adalah skope
hak akses dari property and method. Di PHP digunakan 3 keyword yaitu private,
protected, public.
Private artinya method atau property hanya bisa
diakses di dalam class itu sendiri
Protected artinya method atau property bisa diakses
di dalam class itu sendiri dan class-class anaknya.
Public artinya
method atau property bisa diakses dimanapun,
VisibilitasMember
(Contoh):
<?php
class MyClass
{
public
$public = 'Public';
protected
$protected = 'Protected';
private $private = 'Private';
function
printHello()
{
echo
$this->public;
echo
$this->protected;
echo
$this->private;
}
}
$obj = new MyClass();
echo $obj->public; //
Works
echo
$obj->protected; // Fatal Error
echo $obj->private;
// Fatal Error
$obj->printHello();
// Shows Public, Protected and Private
?>
class MyClass2
extends MyClass
{
// We can
redeclare the public and protected method, but not private
protected $protected = 'Protected2';
function printHello()
{
echo
$this->public;
echo
$this->protected;
echo
$this->private;
}
}
$obj2 = new MyClass2();
echo $obj2->public;
// Works
echo
$obj2->private; // Undefined
echo
$obj2->protected; // Fatal Error
$obj2->printHello();
// Shows Public, Protected2, Undefined
10. A Function Setter danGetter
Function
Setter adalah fungsi yang digunakan untuk memberikan(set)nilai untuk suatu properti.
Umumnya function ini digunakan untuk properti yang mempunyai visibilitas
protected atau private. Function setter sering digunakan untuk memvalidasi data
yang masuk sebelum data tersebut diisikan kesuatu properti.
Function Setter
dan Getter (Contoh)
<?php
class Nilai{
private
$tugas=0,$uts=0, $uas=0;
function
settugas($nilai){
if(($nilai<=100)&&($nilai>=0))
$this->tugas=$nilai;
}
function
setuts($nilai){
if(($nilai<=100)&&($nilai>=0))
$this->uts=$nilai;
}
function
setuas($nilai)
{
if(($nilai<=100)&&($nilai>=0))
$this->uas=$nilai;
}function
gettugas(){
return
$this->tugas;
}
function getuts(){
return
$this->uts;
?>
BAB
III
PENUTUP
3.1
Kesimpulan
Dari uraian
materi pembahasan OOP (object-oriented programming) pada PHP yang telah
di bahas di atas sangatlah penting untuk:
1.
Memahami Konsep dasar dari Pemrograman Berorientasi Objek
2.
Mengetahui Hal-hal penting dalam OOP
3.
Memahami Penulisan code Pada PHP
Bagi
mahasiswa, pada materi mata kuliah pemrograman berorientasi objek sangatlah
penting untuk memahami dam menguasai materi ini untuk modal sebagai progreming.
BAB
IV
DAFTAR PUSTAKA
- Stig Sæther Bakken, PHP Manual, the
PHP Documentation Group, 1997 – 2003
- Jadirullah. “Tutorial PHP OOP”. 22 Oktober 2015.
- https://jadirullah.wordpress.com/2014/03/25/tutorial-php-oop/
· Yamamah.
“Makalah OOP pada PHP”. 22 Oktober 2015.
0 komentar:
Posting Komentar