Berkenalan Dengan MVC dan Framework PHP

Di tulisan saya yang sebelumnya, saya sudah sedikit membagikan sebuah source kode web travel agent. Teknik pemrogramannya belum mencapai OOP, karena pada saat membuatnya dulu, saya masih sangat buta sama yang namanya OOP :D. Maklumlah, dulu saya belajar pemrograman secara otodidak. Tapi walaupun teknik pemrogramannya menggunakan konsep OOP, sudah lumayan powerfull untuk yang namanya sebuah website.

Nah, pada kesempatan kali ini saya akan mengajak rekan-rekan untuk berkenalan dengan yang namanya framework web. Framework secara umum dapat diartikan sebagai alat yang digunakan untuk membantu pekerjaan. Karena disini yang akan kita bahas adalah framework web, jadi definisi dari framework web adalah sebuah alat yang dapat digunakan untuk mempermudah pembuatan sebuah website. Mungkin muncul pertanyaan dari rekan-rekan, “Kenapa gak pakai CMS yang sudah jadi saja? Kan sama-sama mudah”. Memang betul, dengan menggunakan sebuah CMS, kita sudah mendapatkan sebuah website jadi tanpa kita harus untuk menuliskan kode-kode penyusun dari web tersebut. Sedangkan dalam menggunakan framework web, kita masih harus menulis kode, bedanya kode-kode yang kita tulis harus menyesuaikan dengan lingkungan framework yang kita gunakan. Memang konsekuensinya kita harus belajar lagi lingkungan pengembangan berdasarkan framework yang kita gunakan, tetapi hal itu akan terbayar setelah kita menguasai dan bisa menggunakan framework tersebut.

Muncul pertanyaan kembali, “Terus, apa bedanya dengan sebuah web yang kita bangun tanpa framework alias coding manual?”. Disinilah kelebihan dari sebuah farmework, di dalam sebuah framework sudah disediakan berbagai library-library siap pakai tanpa harus kita membuatnya lagi seperti coding manual yang biasanya kita lakukan. Contoh-contoh library yang umum terdapat dalam sebuah framework web ialah paging, upload, validasi form, enkripsi dan yang lainnya. Fungsi untuk koneksi ke database juga sudah disediakan. Sehingga tidak perlu kaget jika akan banyak kode atau fungsi yang terlihat tidak seperti biasanya, karena fungsi-fungsi tersebut merupakan fungsi bawaan framework dan bukan fungsi asli dari bahasa pemrograman yang kita gunakan entah itu PHP, ASP, Phyton maupun Ruby.

Sebagian besar framework jaman sekarang, framework web ataupun framework aplikasi desktop (.Net) sudah mendukung konsep MVC (Model, View, Controller). yang merupakan impelementasi dari teknik pemrograman OOP. Apa sih MVC itu? MVC adalah konsep pemrograman, dimana logika pemrograman, query database, dan tampillannya dipisahkan. Sehingga kode-kode penyusun sebuah aplikasi web terlihat lebih sederhana dan terstruktur. Jadi, tidak akan ada query database di dalam sebuah file yang memang ditujukan untuk tampilan. Gambaran tentang konsep MVC, kira-kira seperti gambar di bawah ini :

MVC (Model, View, Controller)

  1. Model adalah sebuah layer pada MVC yang merepresentasikan data yang digunakan oleh aplikasi sesuai dengan proses  yang terjadi pada data tersebut, dengan memilahnya menjadi beberapa bagian terpisah kembali, seperti penampungan data, persistence, proses manipulasi, dan lain- lain. Secara singkat, model bertugas untuk menangani query-query database.
  2. View adalah sebuah layer pada MVC yang mengandung keseluruhan detai dari implementasi user interface dengan melibatkan komponen grafis yang menyediakan representasi proses internal aplikasi dan meuntun alur interaksi user terhadap aplikasi.
  3. Controller adalah sebuah layer pada MVC yang menyediakan detai alur program dan transisi layer, dan bertanggung jawab akan penampungan event yang dibuat oleh user dari view dan melakukan update terhadap komponen model menggunakan data dari user.

Ada banyak framework web yang bisa didapatkan secara gratis di internet sesuai dengan bahasa pemrograman webnya masing. Untuk bahasa pemrograman PHP bisa menggunakan CodeIgniter, CakePHP, Zend, Obullo, Kohana dan yang lainnya. Ada Ruby on Rails untuk yang gemar dengan bahasa pemrograman Ruby. Dan ada Django bagi yang ingin membangun aplikasi web dengan bahasa Phyton. Khusus untuk bahasa Phyton, kemungkinan sulit untuk mencari tempat hostingnya. Karena untuk sekarang, sudah sedikit pihak hosting yang mensupport bahasa Phyton di server mereka. Sebagian besar, perusahaan hosting hanya mendukung PHP dengan server Apache.

Kebetulan disini saya mendalami salah satu framework web dengan bahasa pemrograman PHP, yaitu CodeIgniter. Framework CodeIgniter ini cukup mudah untuk dipelajari, karena dokumentasinya sangat lengkap. Dan sekarang saya sedang mengembangkan sebuah aplikasi shopping cart dengan framework CodeIgniter, doakan saja mudah-mudahan cepat selesai :D.

Di postingan saya yang lalu, saya juga sudah sempat membagikan sebuah source kode web menggunakan CodeIgniter. Bagi rekan-rekan yang ingin contoh kodenya bisa mendownloadnya di 4shared. Mudah-mudahan bisa berguna untuk rekan-rekan yang ingin belajar freamwork CodeIgniter.

6 comments

  1. Pingback: Ng`Blog Biar Gak GobloG | BlogNya Gede Lumbung » Blog Archive » Aplikasi Blog Desa Dengan Framework CodeIgniter

  2. Pingback: Ng`Blog Biar Gak GobloG | BlogNya Gede Lumbung » Blog Archive » Membangun Blog Desa se-Kabupaten Banyuwangi Untuk Mewujudkan Kemandirian Nasional

  3. Agus Maulana Reply

    Siip gan kayaknya ane bakalan jadi murid agan deh… ini cocok banget buat ane yg masih awam tentang framework ci…

  4. yashinta Reply

    kak aq kok gak bs masuk adaminnya ya…kenapa yaaa?
    padahal dah tampil dan ter instal di localhost…aku nak sma jember..kak…mohon penjelasan.

  5. Siti Sarah Sobari Reply

    ikut share ya ka, buat materi pembelajaran RPL di kelas saya …

    thanks for the info, so usefull dan mudah dimengerti 🙂