MAKALAH IMPLEMENTASI OBJECK ORIENTED PROGRAMING PADA PHP.

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 komputerobjek 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
·                        Yamamah. “Makalah OOP pada PHP”. 22 Oktober 2015.




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar