Dokumen tersebut membahas tentang pemrograman berorientasi objek dengan PHP dan konsep-konsep utama Model-View-Controller (MVC) pada framework PHP. Dokumen tersebut menjelaskan pengertian class, object, property, method, constructor, destructor, visibility, inheritance, serta contoh kode untuk menerapkan konsep-konsep OOP tersebut dalam PHP. Dokumen tersebut juga menjelaskan pengertian MVC, peran masing-masing bagian (model, view, controller), serta conto
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
1. Pemrograman Berorientasi Objek Page 1
RESUME MATERI PEMROGRAMAN BERBASIS WEB
Disusun oleh:
Resa Ari Siswo
NIM: 1210652011
Rico Nilar Hartono
NIM: 1210652008
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
2. Pemrograman Berorientasi Objek Page 2
I. Pengenalan PHP frame work
Sejarah Perkembangan
Web statis :
Berbasis html dan halaman-halaman
Web dinamis :
Memisahkan antara kode program dan data
Content management system (cms) :
Web instant berupa template web
Web framework :
Membagi sistem menjadi 3 bagian yaitu model, view,controller
Arsitektur Web Framework
Berhubungan erat dengan konsep MVC
Model : Berfungsi untuk mengontrol data, disini dilakukan
proses pengambilan dan penyimpanan data sebuah sistem,
biasanya data berasal dari database yang digunakan oleh
sistem.
View : kode yang mengeluarkan html yang nantinya akan
dilihat oleh pengunjung. Kode tersebut nantinya untuk
mengatur tampilan dengan format yang spesifik.
Controller : kode yang memeriksa input dari pengunjung
dan memilih apa yang harus dilakukan. Controller berposisi
di tengah, menghubungkan model dan view dan sebagai
tujuan utama user dalam melakukan request.
Gambar MVC Pattern:
3. Pemrograman Berorientasi Objek Page 3
Contoh kode program MVC
Model
Merupakan layer yang bertanggung jawab untuk melakukan
hubungan dengan database, untuk contoh kali ini tidak
menggunakan database, dengan asumsi bahwa layer model
telah berhasil mendapatkan data dari database.
Simpan kode program berikut dengan nama buku.php
Simpan kode program berikut dengan nama model.php
Model mempunyai method getData() yang menghasilkan
output berapa array dengan isi adalah objek buku.
4. Pemrograman Berorientasi Objek Page 4
Controller
Sebagai layer yang berfungsi sebagai “playmaker”,
controller harus mempunyai akses ke model dan view
Simpan kode program berikut ini dengan nama controller.php
Penjelasan kode program
Controller mempunyai method invoke, dimana pada
method tersebutlah proses penyatuan data dari model dan view digabungkan.
View
Untuk layer view, kita hanya mendefinisikan sebuah template html sebagai tempat untuk
menampilkan data. Simpan kode program berikut ini dengan nama view.php
Kode php yang terdapat diantara tag html diatas
berfungsi untuk menampilkan data yang dikirimkan oleh controller.
Setelah ketiga layer model, view, dan controller selesai dibuat, maka tahap terakhir adalah
membuat file index.php, dimana file ini adalah sebagai penghubung yang diakses pertama
kali ketika pengguna melakukan request.
5. Pemrograman Berorientasi Objek Page 5
Simpan kode program berikut ini dengan nama
index.php
II. Pemrograman Berorientasi Objek dengan PHP
Konsep penting pada OOP
Class
Properti / Variable
Method / Function
Object
Instansiasi class
Constructor & destructor
Visibilitas member(member visibility)
Public, Private dan Protected
Function Setter dan Getter
Pewarisan (inheritance)
Definisi Class
Class disusun berdasarkan karakteristik sebuah objek benda. Sifat ini disebut
sebagai Abstraksi (Abstraction).
Class adalah penampung sekumpulan elemen data (variable) dan kode program
(function) yang digunakan oleh pengolahan datanya. Sifat ini disebut sebagai
enkapsulasi (Encapsulation).
Class dapat disusun secara hierarki sehingga suatu class dapat mewariskan
beberapa atau semua karakteristiknya ke class lain (class anak/child class). Sifat ini
disebut sebagai Pewarisan(Inheritance)
6. Pemrograman Berorientasi Objek Page 6
Property / 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.
Class Koneksi DB mempunyai properti seperti Alamat Server, User Name, Password
dan Nama Database
Method / Function
Selain mempunyai properti, sebuah class juga mempunyai Method. Dalam PHP, method
suatu class diwujudkan dalam sebuah function. Method adalah perilaku yang dapat
dilakukan oleh class.
Contoh:
Class Orang mempunyai method seperti Makan, Minum, Tidur, Ucap Salam, dan
lain-lain
Class Koneksi DB mempunyai method seperti Koneksi, Eksekusi Query, Ambil Data
dan lain-lain
Aturan pembuatan class
Definisi suatu class dimulai dengan keyword Class, diikuti dengan nama classnya.
Isi suatu class diapit dengan kurung kurawal({ }).
Umumnya isi class diawali dengan menuliskan propertipropertinya dan diikuti dengan
method-methodnya.
7. Pemrograman Berorientasi Objek Page 7
Contoh class
Nama file : orang.php
<?php
class Orang{
public $nama; // var$nama; untukPHP4
function UcapSalam(){
echo "Hallo. Nama Saya adalah $this->nama";
}
}
?>
Object
Objek merupakan instansiasi dari suatu Class. Sebuah class tidak dapat digunakan tanpa
diinstansiasikan dulu(kecuali untuk Static Class).
Objek sebenarnya sebuah variable
Instansiasi class
Instansiasi objek bisa dilakukan dengan perintah new.
Ketika suatu instansiasi class (pembuatan objek) dilakukan, maka secara otomatis akan
memanggil function Constructor milik class tersebut.
Contoh instansiasi class :
$triawan = new Orang();
$db = new KoneksiDB(“localhost”,”root”,”root”,”db”);
Contoh instansiasi class
Nama file orang1.php
8. Pemrograman Berorientasi Objek Page 8
Constructor dan Destructor
o Constructor adalah suatu function khusus yang akan dieksekusi ketika suatu
objek dibuat(instansiasi class).
o Umumnya constructor dibuat untuk memberikan suatu operasi awal yang harus
dilakukan ketika sebuah objek dilahirkan(inisialisasi objek)
o Destructor adalah function khusus yang dilakukan ketika suatu objek akan
dihapus.
o 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.
Contoh constructor dan destructor
Nama file Orang2.php
Nama file Orang3.php
9. Pemrograman Berorientasi Objek Page 9
Visibilitas member
Visibilitas dari properti atau method dapat dilakukan dengan mengawali
pendefinisian dengan keyword :
Public
Member ini dapat diakses dimanapun, walaupun dari luar classnya.
Private
Member ini hanya dapat diakses didalam pendeklarasian classnya saja. Member
ini tidak dapat dikenal di class turunannya.
Protected
Mirip dengan private, tetapi member ini dapat dikenal di class turunannya.
Nama file visibility.php
Function setter dan getter
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 ke suatu properti.
Function Getter adalah suatu function yang digunakan untuk menghasilkan (get) suatu
nilai baik dari member public, private, protected ataupun dari hasil perhitungan.
11. Pemrograman Berorientasi Objek Page 11
Pewarisan (inheritance)
Pewarisan/Penurunan merupakan fitur OOP yang sangat berguna. Dengan pewarisan,
sebuah class dapat diturunkan menjadi class baru yang mempunyai sebagian atau seluruh
karakteristik dari class parentnya.
Pewarisan dilakukan dengan keyword “extends”
Visibility member berlaku di pewarisan.
Dalam pewarisan dikenal istilah Override yaitu mendefinisikan 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.
Nama file waris1.php
Skrip waris2.php
12. Pemrograman Berorientasi Objek Page 12
III. Beberapa konsep penggunaan MVC yang terdapat pada PHP Frameworks
i. Konsep Model, View, Controller (MVC)
Konsep Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi
web dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memrosesnya
(Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah
berbasis arsitektur MVC seperti terlihat pada gambar 2. MVC memisahkan pengembangan aplikasi
berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data,
antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web [3].
Model –mengandung fungsi-fungsi untuk berkomunikasi dengan basis data, seperti: mengambil
data produk dengan id tertentu, hapus produk, menyimpan komentar.
View –kode yang mengeluarkan HTML yang akan dilihat oleh pengguna.
Controller –kode yang memeriksa input dari pengguna dan memilih apa yang harus dilakukan.
ii. Konsep MVC : Controller
Untuk memahami konsep MVC suatu framework harus memahami :
–Instalasi dan konfigurasi web framework tsb
–Struktur direktori dalam framework
–Penerapan MVC (sintaks)
Flowchart Aplikasi pada Web Framework