Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028

  • 1,956 views
Uploaded on

implementation of OOP in PHP and MVC in PHP Framework it is great information.

implementation of OOP in PHP and MVC in PHP Framework it is great information.

More in: Internet
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,956
On Slideshare
1,956
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
119
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. IMPLEMENTASI OOP PADA PHP DAN KONSEP MVC PADA PHP Dosen Pengampu : Triawan Adi Cahyanto,S.Kom Mata Kuliah : Aplikasi Internet Oleh : IIS DAHLIA : 1200631047 SITI RUMAINAH : 1200631018 NIDA KOMARIAH : 1200631028 PROGRAM STUDI MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH JEMBER TAHUN 2014
  • 2. PEMBAHASAN A. IMPLEMENTASI OOP PADA PHP 1. Definisi OOP (Object-Oriented Programming) 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 : a) Encapsulation (Class dan Object) b) Inheritance (Penurunan sifat), dan c) Polymorphisme 2. Perkembangan OOP di PHP 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.
  • 3. 3. Istilah-istilah dalam OOP Membuat aplikasi dengan menggunakan konsep OOP bisa diibaratkan dalam dunia nyata dengan membuat atau memproduksi mobil. Yang mana sebelum membuat mobil, diperlukan adanya desain atau sketsa tampilan mobil, inilah yang disebut dengan Class. Sketsa tersebut menggambarkan tentang warna, ukuran, jumlah roda dari mobil, inilah yang disebut dengan Property. Sketsa tersebut juga menjelaskan tentang apa yang nantinya bisa dilakukan oleh mobil seperti berjalan engan roda, mengerem, membunyikan klakson dan sebagainya. Sesuatu yang bisa dilakukan oleh mobil inilah yang disebut dengan Method. Kemudian, sketsa tersebut dikirimkan ke pabrik untuk dibuatkan bentuk fisiknya yaitu mobil, mobil – mobil hasil produksi inilah yang disebut dengan Object. Salah satu keuntungan program didefinisikan dengan konsep OOP adalah adanya pengkapsulan (encapsulation) program dalam class dan object, dimana programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail, hanya perlu tahu bagaimana cara menggunakannya. Sama halnya dengan sebuah mobil misalnya. Seorang pemilik mobil tentunya tidak perlu mengetahui bagian- bagian mobil secara menyeluruh. Dia tidak perlu mengetahui bagaimana mesin mobil melakukan pembakaran dan bagaimana mesin mobil bisa menggerakkan roda, dsb. Dia hanya perlu tahu bagaimana cara menjalankan mobil, bagaimana menghentikan mobil, dan fungsi mobil lainnya. 4. Konsep OOP dasar pada PHP a) Mendefinisikan Class Bentuk umum mendefinisikan sebuah class adalah sbb : class NamaClass { Deklarasikan dan definisikan properties di sini
  • 4. 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; } } ?> b) 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() {
  • 5. echo $this->jumlah_roda; } } c) Menciptakan Object Baru / Encapsulation (One Class Many Object) Untuk menciptakan object baru dari class yang sudah dibuat adalah sebagai berikut: 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 mobil 4 d) Menambahkan Destruktor Kebalikan dengan konstruktor, destruktor merupakan sebuah method yang akan secara otomatis dijalankan saat object dihapus atau dinullkan atau eksekusi skrip PHP telah selesai.
  • 6. 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 e) Static Properties / Method Jika Method / Property dideklarasikan secara statik maka Method / Property tersebut dapat langsung diakses tanpa harus membuat instan class berupa : 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
  • 7. f) 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 g) 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. h) Inheritance & Polymorphism Inheritance = Pewarisan Parent mewariskan sifat ke child 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();
  • 9. $hewan2->suara(); // meoong $hewan3 = new Ayam(); $hewan3->suara(0); // Petok-petok ?> i) Visibility of Properties and Methods Visibility Property and Methods maksudnya adalah skope hak akses dari property and method. Di PHP digunakan 3 keyword yaitu : 1) Private artinya method atau property hanya bisa diakses di dalam class itu sendiri 2) Protected artinya method atau property bisa diakses di dalam class itu sendiri dan class-class anaknya. 3) Public artinya method atau property bisa diakses dimanapun, <?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
  • 10. $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 B. KONSEP MVC PADA PHP Kerangka CodeIgniter adalah sebuah framework PHP yang menggunakan konsep MVC, dimana MVC itu sendiri adalah singkatan dari model, view dan controller. MVC adalah arsitektur aplikasi yang memisahkan kode-kode aplikasi dalam tiga lapisan, Model, View dan Control. MVC termasuk dalam arsitektural design pattern yang menghendaki organisasi kode yang terstruktur dan tidak bercampur aduk. Ketika aplikasi sudah sangat besar dan menangani struktur data yang kompleks, harus ada pemisahan yang jelas antara domain model, komponen view dan kontroler yang mengatur penampilan model dalam view.
  • 11. Secara sederhana dapat dijelaskan bahwa MVC merupakan sistem dasar pada Codeigniter yang mengelompokkan fungsi-fungsi dalam framework tersebut berdasarkan tiga kategori yaitu : a) Model : berfungsi untuk menangani semua fungsi yang berhubungan dengan database. b) View : berfungsi untuk menangai bagian tampilan pada aplikasi yang dibagnun dengan Codeigniter. c) Controller : berfungsi sebagai perantara atau pengontrol pergerakan aliran data dari model menuju view dan sebaliknya. Untuk memahami Alur Kerja dari konsep MVC dapat dilihat pada gambar dibawah ini : Pengertian bagan diatas adalah, ketika user melakukan request website ke web server, maka pertama kali yang di runing adalah file controller, kemudian file kontroller ini akan mengecek, apoakah memerlukan database atau tidak, jika iya maka rute selanjutnya adalah, kontroller memanggil model => disni model melakukan pengolahan database lalu mereturnkan hasilnya ke dalam controller. Selanjutnya kontroller akan memparsing hasil dari model tadi ke dalam views dan ditampilkan ke user. database Controller c Model M View v user
  • 12. C. KONSEP PENGGUNAAN MVC YANG TERDAPAT PADA PHP FRAMEWORK Codeigniter Framework adalah salah satu dari sekian framework yang menggunakan sistem MVC (Model-View-Controller). Pengertian Framework merupakan suatu perangkat lunak (software) yang bersifat penggunaan ulang suatu library atau classes yang ada di dalam sistem tersebut untuk menjadi suatu aplikasi. Di dalam framework PHP, sudah terdapat beberapa classes, objects dan library. Dengan begitu ketika kita membuat aplikasi menggunakan framework, kita bisa menggunakan fitur yang sudah ada di dalam software tersebut. Sebagai contoh, saat seseoarng ingin mengirimkan email dan di dalam framework sudah ada library email, jadi tidak perlu membuat code pengirim email, cukup memanggil function library pada email. Di dalam Framework Codeigniter sendiri telah terdapat beberapa library di dalamnya, seperti library email, cart (keranjang belanja web ecommerce), validasi form, pagination, session, dan lain-lain. MVC itu sendiri adalah suatu konsep Model – View – Controller. Pada dasarnya dalam konsep MVC ini, Model merupakan pengolah data dan berkomunikasi dengan database, View adalah tampilan yang ditampilkan ke user, sedangkan Controller merupakan pengolah request user dan mengembalikan request user dalam bentuk View.