SlideShare a Scribd company logo
TUGAS
PEMROGRAMAN BERBASIS WEB
Resume materi :
- OOP dengan PHP
- Konsep MVC dengan PHP
- Beberapa konsep penggunaan MVC yang terdapat pada PHP Frameworks
SUGENG 1310652044
NUR MUCHYIDIN 1310652045
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
A. OOP dengan PHP
PHP adalah sebuah bahasa pemrograman web yang berjalan di sisi server (server side)
Pemrograman berorientasi objek atau object-oriented programming (OOP) merupakan
suatu pendekatan pemrograman yang menggunakan object dan class. Dengan
menggunakan PHP 5, konsep object-oriented akan lebih cepat dan lebih efisien.
Ada 5 hal penting pada pemrograman berorientasi objek di php, yaitu
Konsep penting dalam OOP
a. Class
Class merupakan sekelompok kode yang dituliskan untuk mendefiniskan properti
(variable) dan method (function). Properti adalah sebuah data yang menjelaskan
tentang class dan method adalah perilaku yang dapat dilakukan oleh class (object)
Pembuatan class
- Class dimulai dengan keyword Class, diikuti dengan nama classnya.
- Isi suatu class diapit dengan kurung kurawal({ }).
- Umumnya isi class diawali dengan menuliskan propertinya dan diikuti dengan
method-methodnya
Contoh :
b. Object
Object adalah hasil instansiasi (perwujudan) dari class, dan mengandung seluruh
resource yang telah didefinisikan pada Class.
Instansiasi berfungsi untuk mengubah class menjadi objek (class adalah kumpulan dari
objek-objek).
Ciri-ciri penulisan Instansiasi : new
Instansiasi membutuhkan operator new untuk mempersiapkan memory sesuai dengan
isi kelas Ketika suatu instansiasi class (pembuatan objek) dilakukan, maka secara
otomatis akan memanggil function Constructor milik class tersebut.
<?php
include(“orang.php‟); //file yang memuat class
$obj = new Orang(); //proses instansiasi object
?>
c. Constructor dan destructor
Constructor adalah sebuah fungsi yang otomatis akan dipanggil setiap kali melakukan
instasiasi terhadap suatu class dan digunakan untuk melakukan instasiasi nilai dari
data-data yang terdapat di dalam kelas yang bersangkutan.
Fungsi :
1. Mengalokasikan sebuah objek saat program dieksekusi
2. Memberikan nilai awal sebagai instasiasi dari sebuah atribut
3. Mengerjakan proses-proses yang diperlukan saat objek dibuat
Destructor adalah penghancur / penghapus yang secara otomatis akan dijalankan pada
saat berakhirnya objek.
Syarat dari construktor dan destructor adalah namanya harus sama dengan nama Class
d. 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 di dalam pendeklarasian classnya saja. Member ini
tidak dapat dikenal di class turunannya.
 Protected
Mirip dengan private, tetapi member ini dapat dikenal di class turunannya.
Di dalam pengaturan visibilitas member,terdapat juga 2 fungsi yaitu 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.
 Fuction Getter adalah suatu function yang digunakan untuk menghasilkan (get)
suatu nilai baik dari member public, private, protected atau pun dari hasil
perhitungan.
e. Inheritance (pewarisan)
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, keyword yang digunakan “xtends”. 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.
B. Konsep MVC (Model-View-Controller) dengan PHP
MVC (Model View Controller) pattern adalah sebuah pattern yang banyak digunakan untuk membangun
aplikasi web saat ini. MVC pattern terbagi menjadi 3 modul yaitu Model, View dan Controller
a. Model
Model berhubungan dengan data dan interaksi ke database atau webservice. Model
juga merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun
data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Biasanya di
dalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan
menghapus data website. Sebuah aplikasi web biasanya menggunakan basis data dalam
menyimpan data, maka pada bagian Model biasanya akan berhubungan dengan
perintah-perintah query SQL.
b. View
View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user. Bisa
berupa halaman web, rss, javascript dan lain-lain. Di dalam view hanya berisi variabel-
variabel yang berisi datayang siap ditampilkan. View dapat dikatakan sebagai
halaman website yang dibuat dengan menggunakan HTML dan bantuan CSS atau
JavaScript. View hanya dikhususkan untuk menampilkan data-data hasil dari model
dan controller.
c. Controller
Controller bertindak sebagai penghubung data dan view. Di dalam Controller inilah
terdapat class-class dan fungsi-fungsi yang memproses permintaan dari View ke
dalam struktur data di dalam Model.
Penjelasan :
Ketika user melakukan request ke web server maka pertama kali yang di runing adalah file
controller, kemudian file controller ini akan mengecek, apakah memerlukan database atau
tidak, jika ya maka controller memanggil model => model melakukan pengolahan
database lalu mengembalikan hasilnya ke controller. Selanjutnya controller akan
memparsing hasil dari model tadi ke dalam vidan ditampilkan ke user.
C. Konsep penggunaan MVC pada framework
Salah satu framework yang menggunakan konsep MVC adalah Codeigniter. kelebihan
yang dimiliki oleh CodeIgniter antara lain segi kecepatan akses website, penulisan
program yang lebih terstruktur dan dukungan dari beberapa komunitas pendukung.
Contoh MVC pada Codeigneter
Penjelasan :
Ketika kita mengetikan sebuah alamat http://blog.wordpress.com, Proses itu langsung di
ambil alih oleh controller, setelah itu di controller jika ada data yang ingin di tampilkan
dari database, controller akan memanggil model dan, jika datanya ada, maka akan di
kembalikan lagi di controller kemudian diolah di controller setelah itu data tersebut di
kirim ke View dan siap di tampilkan di browser.

More Related Content

What's hot

14. java class library
14. java class library14. java class library
14. java class library
Saprudin Eskom
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
hendrajuniarto
 
[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array
rizki adam kurniawan
 
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
ISMAIL ALUWI
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfaceIbrahim Naki
 
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
reyanfebryanto
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
rizki adam kurniawan
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
Saprudin Eskom
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)
Saprudin Eskom
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
Java Class
Java ClassJava Class
Java Class
Ibrahim Naki
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
rizki adam kurniawan
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
Saprudin Eskom
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
rizki adam kurniawan
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
Pungkas Soebarkah
 

What's hot (20)

14. java class library
14. java class library14. java class library
14. java class library
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array
 
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
Tugas4 rekweb-ku-0316-ismailaluwi-1212511008
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Pewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan InterfacePewarisan, Polimorfisme, dan Interface
Pewarisan, Polimorfisme, dan Interface
 
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
Tugas Aplinet( Tutorial form login menggunakan mvc (ryan,ade,lola))
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 
8. konsep class, object dan method
8. konsep class, object dan method8. konsep class, object dan method
8. konsep class, object dan method
 
15. konsep java class library (jcl)
15. konsep java class library (jcl)15. konsep java class library (jcl)
15. konsep java class library (jcl)
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Java Class
Java ClassJava Class
Java Class
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
10. konsep enkapsulasi
10. konsep enkapsulasi10. konsep enkapsulasi
10. konsep enkapsulasi
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
 

Viewers also liked

Polysynthetic Data Center Vision v1.2
Polysynthetic Data Center Vision v1.2Polysynthetic Data Center Vision v1.2
Polysynthetic Data Center Vision v1.2Christopher Williams
 
Themis: An I/O-Efficient MapReduce (SoCC 2012)
Themis: An I/O-Efficient MapReduce (SoCC 2012)Themis: An I/O-Efficient MapReduce (SoCC 2012)
Themis: An I/O-Efficient MapReduce (SoCC 2012)
Alex Rasmussen
 
SBS Brochure 2014.1 Retail Electronic
SBS Brochure 2014.1 Retail ElectronicSBS Brochure 2014.1 Retail Electronic
SBS Brochure 2014.1 Retail ElectronicJoyce Reweda
 
Meu alvo
Meu alvoMeu alvo
1º ensaio fotográfico by rodrigo molina
1º ensaio fotográfico by rodrigo molina1º ensaio fotográfico by rodrigo molina
1º ensaio fotográfico by rodrigo molina
Marco Aurélio Lopes Ramalho
 
Oficio
OficioOficio
Oficio
William Baes
 
Trabalho doccente vitor paro
Trabalho doccente vitor paroTrabalho doccente vitor paro
Trabalho doccente vitor paro
Telma Teles Silveira
 
Dapur rumah saya
Dapur rumah sayaDapur rumah saya
Dapur rumah saya
malalutffi
 
Antología del pan
Antología del panAntología del pan
Antología del panlucy443
 
glándulas suprarenales
glándulas suprarenalesglándulas suprarenales
glándulas suprarenales
CRISNT1
 
öYkü özden
öYkü özdenöYkü özden
öYkü özden
melisoykuozden
 
La adicción al internet Diego Mendez
La adicción al internet Diego MendezLa adicción al internet Diego Mendez
La adicción al internet Diego Mendez
DiegoMende
 
Khmer History - Case Study
Khmer History - Case StudyKhmer History - Case Study
Khmer History - Case Study
Chormvirak Moulsem
 

Viewers also liked (14)

Polysynthetic Data Center Vision v1.2
Polysynthetic Data Center Vision v1.2Polysynthetic Data Center Vision v1.2
Polysynthetic Data Center Vision v1.2
 
Themis: An I/O-Efficient MapReduce (SoCC 2012)
Themis: An I/O-Efficient MapReduce (SoCC 2012)Themis: An I/O-Efficient MapReduce (SoCC 2012)
Themis: An I/O-Efficient MapReduce (SoCC 2012)
 
SBS Brochure 2014.1 Retail Electronic
SBS Brochure 2014.1 Retail ElectronicSBS Brochure 2014.1 Retail Electronic
SBS Brochure 2014.1 Retail Electronic
 
Meu alvo
Meu alvoMeu alvo
Meu alvo
 
1º ensaio fotográfico by rodrigo molina
1º ensaio fotográfico by rodrigo molina1º ensaio fotográfico by rodrigo molina
1º ensaio fotográfico by rodrigo molina
 
Oficio
OficioOficio
Oficio
 
Trabalho doccente vitor paro
Trabalho doccente vitor paroTrabalho doccente vitor paro
Trabalho doccente vitor paro
 
Dapur rumah saya
Dapur rumah sayaDapur rumah saya
Dapur rumah saya
 
Dia med11
Dia med11Dia med11
Dia med11
 
Antología del pan
Antología del panAntología del pan
Antología del pan
 
glándulas suprarenales
glándulas suprarenalesglándulas suprarenales
glándulas suprarenales
 
öYkü özden
öYkü özdenöYkü özden
öYkü özden
 
La adicción al internet Diego Mendez
La adicción al internet Diego MendezLa adicción al internet Diego Mendez
La adicción al internet Diego Mendez
 
Khmer History - Case Study
Khmer History - Case StudyKhmer History - Case Study
Khmer History - Case Study
 

Similar to Tugas pbw 1310652044_1310652045

Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Koplak Koplakan
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
Setiya Nugroho
 
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkPlugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkMuhammad Rio
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
Rolly Yesputra
 
MVC J2EE using servlet
MVC J2EE using servletMVC J2EE using servlet
MVC J2EE using servlet
Doni Andriansyah
 
Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1
Edwin Prassetyo
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneterCecilia Cintahta
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
Andarias Jacob Calvyn
 
Kelompok 3.pptx
Kelompok 3.pptxKelompok 3.pptx
Kelompok 3.pptx
2141006JESSICAALTHEA
 
Pengenalan OOP dan Framework Code Igniter
Pengenalan OOP dan Framework Code IgniterPengenalan OOP dan Framework Code Igniter
Pengenalan OOP dan Framework Code Igniter
Rudy Prasetya
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
Wira Hul
 
pendahuluan pemerograman web lanjut.pptx
pendahuluan pemerograman web lanjut.pptxpendahuluan pemerograman web lanjut.pptx
pendahuluan pemerograman web lanjut.pptx
2831995
 
Tugas individu rekweb4
Tugas individu rekweb4Tugas individu rekweb4
Tugas individu rekweb4
Ratri Alfiani
 
Tugas 4 rekayasa web (0916)
Tugas 4   rekayasa web (0916)Tugas 4   rekayasa web (0916)
Tugas 4 rekayasa web (0916)
Zaid Ahmad Ramadhani
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
Rhendy Thanaya
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptx
HallendAfroni1
 
Pengenalan OOP
Pengenalan OOPPengenalan OOP
Pengenalan OOP
daffa12
 

Similar to Tugas pbw 1310652044_1310652045 (20)

Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)
 
Frame work php
Frame work phpFrame work php
Frame work php
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
 
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkPlugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
MVC J2EE using servlet
MVC J2EE using servletMVC J2EE using servlet
MVC J2EE using servlet
 
Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneter
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
 
Kelompok 3.pptx
Kelompok 3.pptxKelompok 3.pptx
Kelompok 3.pptx
 
Pengenalan OOP dan Framework Code Igniter
Pengenalan OOP dan Framework Code IgniterPengenalan OOP dan Framework Code Igniter
Pengenalan OOP dan Framework Code Igniter
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
pendahuluan pemerograman web lanjut.pptx
pendahuluan pemerograman web lanjut.pptxpendahuluan pemerograman web lanjut.pptx
pendahuluan pemerograman web lanjut.pptx
 
Tugas individu rekweb4
Tugas individu rekweb4Tugas individu rekweb4
Tugas individu rekweb4
 
Tugas 4 rekayasa web (0916)
Tugas 4   rekayasa web (0916)Tugas 4   rekayasa web (0916)
Tugas 4 rekayasa web (0916)
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Materi-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptxMateri-1-sd-2-Pengenalan-PBO.pptx
Materi-1-sd-2-Pengenalan-PBO.pptx
 
Pengenalan OOP
Pengenalan OOPPengenalan OOP
Pengenalan OOP
 

Tugas pbw 1310652044_1310652045

  • 1. TUGAS PEMROGRAMAN BERBASIS WEB Resume materi : - OOP dengan PHP - Konsep MVC dengan PHP - Beberapa konsep penggunaan MVC yang terdapat pada PHP Frameworks SUGENG 1310652044 NUR MUCHYIDIN 1310652045 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH JEMBER
  • 2. A. OOP dengan PHP PHP adalah sebuah bahasa pemrograman web yang berjalan di sisi server (server side) Pemrograman berorientasi objek atau object-oriented programming (OOP) merupakan suatu pendekatan pemrograman yang menggunakan object dan class. Dengan menggunakan PHP 5, konsep object-oriented akan lebih cepat dan lebih efisien. Ada 5 hal penting pada pemrograman berorientasi objek di php, yaitu Konsep penting dalam OOP a. Class Class merupakan sekelompok kode yang dituliskan untuk mendefiniskan properti (variable) dan method (function). Properti adalah sebuah data yang menjelaskan tentang class dan method adalah perilaku yang dapat dilakukan oleh class (object) Pembuatan class - Class dimulai dengan keyword Class, diikuti dengan nama classnya. - Isi suatu class diapit dengan kurung kurawal({ }). - Umumnya isi class diawali dengan menuliskan propertinya dan diikuti dengan method-methodnya Contoh : b. Object Object adalah hasil instansiasi (perwujudan) dari class, dan mengandung seluruh resource yang telah didefinisikan pada Class. Instansiasi berfungsi untuk mengubah class menjadi objek (class adalah kumpulan dari objek-objek). Ciri-ciri penulisan Instansiasi : new Instansiasi membutuhkan operator new untuk mempersiapkan memory sesuai dengan isi kelas Ketika suatu instansiasi class (pembuatan objek) dilakukan, maka secara otomatis akan memanggil function Constructor milik class tersebut. <?php include(“orang.php‟); //file yang memuat class $obj = new Orang(); //proses instansiasi object ?> c. Constructor dan destructor Constructor adalah sebuah fungsi yang otomatis akan dipanggil setiap kali melakukan instasiasi terhadap suatu class dan digunakan untuk melakukan instasiasi nilai dari data-data yang terdapat di dalam kelas yang bersangkutan. Fungsi : 1. Mengalokasikan sebuah objek saat program dieksekusi 2. Memberikan nilai awal sebagai instasiasi dari sebuah atribut 3. Mengerjakan proses-proses yang diperlukan saat objek dibuat
  • 3. Destructor adalah penghancur / penghapus yang secara otomatis akan dijalankan pada saat berakhirnya objek. Syarat dari construktor dan destructor adalah namanya harus sama dengan nama Class d. 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 di dalam pendeklarasian classnya saja. Member ini tidak dapat dikenal di class turunannya.  Protected Mirip dengan private, tetapi member ini dapat dikenal di class turunannya. Di dalam pengaturan visibilitas member,terdapat juga 2 fungsi yaitu 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.  Fuction Getter adalah suatu function yang digunakan untuk menghasilkan (get) suatu nilai baik dari member public, private, protected atau pun dari hasil perhitungan. e. Inheritance (pewarisan) 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, keyword yang digunakan “xtends”. 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. B. Konsep MVC (Model-View-Controller) dengan PHP MVC (Model View Controller) pattern adalah sebuah pattern yang banyak digunakan untuk membangun aplikasi web saat ini. MVC pattern terbagi menjadi 3 modul yaitu Model, View dan Controller a. Model Model berhubungan dengan data dan interaksi ke database atau webservice. Model juga merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Biasanya di dalam model akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website. Sebuah aplikasi web biasanya menggunakan basis data dalam menyimpan data, maka pada bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL. b. View View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user. Bisa berupa halaman web, rss, javascript dan lain-lain. Di dalam view hanya berisi variabel- variabel yang berisi datayang siap ditampilkan. View dapat dikatakan sebagai halaman website yang dibuat dengan menggunakan HTML dan bantuan CSS atau
  • 4. JavaScript. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller. c. Controller Controller bertindak sebagai penghubung data dan view. Di dalam Controller inilah terdapat class-class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data di dalam Model. Penjelasan : Ketika user melakukan request ke web server maka pertama kali yang di runing adalah file controller, kemudian file controller ini akan mengecek, apakah memerlukan database atau tidak, jika ya maka controller memanggil model => model melakukan pengolahan database lalu mengembalikan hasilnya ke controller. Selanjutnya controller akan memparsing hasil dari model tadi ke dalam vidan ditampilkan ke user. C. Konsep penggunaan MVC pada framework Salah satu framework yang menggunakan konsep MVC adalah Codeigniter. kelebihan yang dimiliki oleh CodeIgniter antara lain segi kecepatan akses website, penulisan program yang lebih terstruktur dan dukungan dari beberapa komunitas pendukung. Contoh MVC pada Codeigneter
  • 5. Penjelasan : Ketika kita mengetikan sebuah alamat http://blog.wordpress.com, Proses itu langsung di ambil alih oleh controller, setelah itu di controller jika ada data yang ingin di tampilkan dari database, controller akan memanggil model dan, jika datanya ada, maka akan di kembalikan lagi di controller kemudian diolah di controller setelah itu data tersebut di kirim ke View dan siap di tampilkan di browser.