Framework 2
Framework 2
Berbasis Framework
Pertemuan 2 :
OOP Dalam Pemrograman Web
Pokok Bahasan
• Pendahuluan
• Class dan Objek
• Encapsulation
• Inheritance
• Polymorphism
• Operasi Class
TIK :
Setelah mengikuti kuliah ini mahasiswa dapat
mengetahui dan memahami konsep dasar OOP dalam
pemrograman web
Pendahuluan
<?
class namaClass {
var $atribut;
function namaFungsi($parameter)
{
$this->atribut = $parameter;
echo $this->atribut;
}
}
?>
Constructor
• Kebanyakan class akan menggunakan tipe spesial
operasi yang disebut constructor
• Nama constructor sama dengan nama class
• Constructor mempunyai kegunaan untuk memberikan
nilai awal membuat objek lain yang diperlukan objek ini,
menetapkan atribut, dll.
• Contoh :
class namaClass {
function namaClass()
{
echo “menciptakan constructor”;
}
}
Constructor
Constructor merupakan sebuah fungsi yang digunakan untuk
menginisialisasikan suatu object baru. Ada aturan yang berbeda
dalam PHP 3 dan PHP 4, dimana pada PHP 3, sebuah fungsi
constructor merupakan fungsi yang memiliki nama yang sama
dengan nama class tersebut dan bisa berasal dari class induknya.
Sedangkan pada PHP 4 definisi sama namun ada tambahan jika
fungsi constructor yang berasal dari class induknya maka namanya
Untuk
harus samalebih
denganjelasnya
nama class lihat contoh berikut :
induknya.
1 class A {
2 function A() { } ; // fungsi constructor
3 function B() { } ; // fungsi biasa
4 }
5
6 class B extends A {
7 function C() ; // fungsi biasa
8 }
File Name : Class-9.php
<?
class Mobil
{
var $warna;
File Name : Class-
var $merk; 10.php
var $harga; <?
function __construct() include("Class-9.php");
{ $a = new Mobil();
$this->warna = "Biru"; $b = new Mobil();
$this->merk = "BMW"; echo "<b>Mobil
$this->harga = "10000000"; pertama</b><br>";
} $a->tampilWarna();
function gantiWarna ($warnaBaru) echo "<br>Mobil pertama ganti
{ $this->warna = warna<br>";
$warnaBaru; } $a->gantiWarna("Merah");
function tampilWarna () $a->tampilWarna();
{ echo "Warna mobilnya : " . $this- echo "<br><b>Mobil
>warna; } kedua</b><br>";
} $b->gantiWarna("Hijau");
?> $b->tampilWarna();
?>
<?
class Form File Name : Class-
{
11.php
var $fields = array(); echo "<td><input type='text' name='".
var $action; $this->
var $submit = "Submit Form"; fields[$j]['name']."'></td></tr>";
var $jumField = 0; }
function __construct($action, echo "<tr><td colspan='2'>";
$submit) echo "<input type='submit' value='".
{ $this->submit."'></td></tr>";
$this->action = $action; echo "</table>";
$this->submit = $submit; }
} function addField($name, $label)
function displayForm() {
{ $this->fields [$this->jumField]['name']
echo "<form action='".$this- = $name;
>action."' method='POST'>"; $this->fields [$this->jumField]['label']
echo "<table width='100%'>"; = $label;
for ($j=0; $j<count($this->fields); $this->jumField ++;
$j++) { }
echo "<tr><td align='right'>".}
$this-> ?>
fields[$j]['label']."</td>";
File Name : Class-
12.php
<?php
include “Class-11.php";
echo
"<html><head><title>Mahasiswa</title></hea
d><body>";
$form = new Form ("","Input Form");
$form->addField ("txtnim", "Nim");
$form->addField ("txtnama", "Nama");
$form->addField ("txtalamat", "Alamat");
$form->addField ("txttelp", "Telp.");
echo "<h3>Silahkan isi form berikut ini :</h3>";
$form->displayForm();
echo "</body></html>";
?>
Catatan Pada PHP 3 maupun PHP 4 tidak ada
fungsi destructor. Fungsi destructor merupakan
fungsi yang dipanggil secara otomatis ketika
object itu dihapus dari memori. Untuk
mendapatkan efek dari fungsi destructor maka
php menyediakan
fungsi register_shutdown() dan unset().
Parent
Keyword parent digunakan untuk mengacu pada class utama. Kata
kunci ini biasanya digunakan agar dapat mengakses fungsi maupun
variable class utama dari kelas turunan.
01 class A {
02 fungsi C() {} ;
03 }
04
05 class B extends A {
06 fungsi B() {
07 echo "Test" ;
08 parent::C();
09 }
10 }
Penjelasan Untuk menjalankan fungsi B() dari class B maka kata
kunci parent digunakan untuk mengacu pada class utama dari class
B. Sehingga class utama akan menjalankan fungsi B() nya.
Encapsulation
• Encapsulation seringkali dianggap sebagai
“penyembunyian informasi”
• Dapat diartikan juga pengemasan data dan fungsi dalam
wadah bernama objek.
• Konsep public dan private akan senantiasa dipakai
dalam pengkapsulan.
• Enkapsulation memastikan pengguna sebuah objek
tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak
• Hanya metode dalam objek tersebut yang diberi ijin
untuk mengakses keadaannya.
Inheritance
function Konsumen() {
$this->total_belanja=0;
$this->total_barang=0;
}
function beli($harga,$jum) {
$belanja = $harga * $jum;
$this->total_belanja = $this->total_belanja + $belanja;
$this->total_barang = $this->total_barang + $jum;
}
function cetak_belanja() {
echo "Total belanja = ".$this->total_belanja;
echo "<br>Jumlah barang yang dibeli = ".$this->total_barang;
}
}