Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan
script (terutama class dan function) yang dapat membantu developer/programmer dalam
pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat membangun
aplikasi.
Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapan
saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama.
Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali harus melakukan
XMLHttpRequest, maka Xajax telah mempurmudahnya untuk anda dengan menciptakan sebuah
objek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu contoh
Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries),
maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulan
library) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada
didalam framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan oleh
framework. Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu framework
adalah fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasi
gambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS(XSS
Macam-macam framework
1. Framework PHP
o CakePHP
o Code Igniter (CI)
o Symphony
o Zend
o Yii
o Kohana
2. Framework Javascript
o JQuery
o Mootools
3. Framework Ruby
Saat ini banyak sekali framework berbasis PHP, diantaranya yang paling populer adalah
Zend Framework, Symphony, Prado, CakePHP, CodeIgniter (ini adalah favorit saya) dan lain-
lain.
Menurut beberapa survei, CodeIgniter adalah framework yang paling mudah dipelajari,
karena keserhanaan strukturnya dan kelengkapan dokumentasinya yang baik. Selain itu, kerapian
kode (clean and healthy code) dan ukurannya yang ramping membuatnya lebih cepat diakses
Perlu diketahui nyaris (bahkan mungkin semua) framework menggunakan konsep yang
sama dalam membangun suatu aplikasi, yaitu konsep MVC (Model View Controller).
Kesimpulannya, kalau kita memahami MVC, maka secara garis besar kigta sudah menguasai
framework, apapun jenis frameworknya. Dan satu lagi kuncinya, pemahaman terhadap OOP
setiap bulan urutan kepopulerannya selalu berbeda, sehingga penulis rasa hal ini perlu dikabari
lagi. Budaya penghargaan dan pemberian ranking pun terjadi pada Framework PHP yang kini
semakin populer digunakan, beberapa bulan lalu, ci (codeIgniter) selalu nongkrong di posisi
teratas, menjadi no. 1 paling banyak digunakan para programmer dunia. Namun, selang beberapa
bulan, yii muda, yang ide awalnya mengambil dari prado, meski baru lahir, mampu
Perlu diketahui Framework PHP yang menganut konsep MVC (model, view, controller)
menjadikan pembuatan aplikasi berskala besar menjadi lebih cepat, dan mudah. Seorang
designer tidak perlu lagi merepotkan urusan koding PHP, begitu juga seorang programmer, tidak
perlu memikirkan masalah design interface. Benar-benar Framework PHP ini sangat
memudahkan.
Sampai saat artikel ini ditulis, 10 Framework PHP Terbaik yang populer saat ini :
1. yii
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
8. Akelos
9. QPHP
10. ZooP
Manfaat Framework
Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi
sistem
Stability dan Reliability, aplikasi yang kita bangun lebih stabil dan handal karena berbasis
Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs
Security Concern, framework mengantisipasi dan memasang perisai terhadap adanya berbagai
Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apa
Contoh:
Di dalam Framework tersedia library “Pagination“ misalnya, yang mana dalam class tersebut
terdapat fungsi yang memberikan nilai balik(return) link ke halaman berikutnya, sebelumnya,
awal, akir dll. nah dalam pengembangan system kita bisa menggunakan class Pagination ini
untuk semua proses yang membutuhkan adanya Pagination. ini adalah sebagian kecil dari contoh
sediakan, meski hal itu tentunya akan sangat membantu proses development. Kelebihan yang
bisa kita ambil dari framework adalah kerangka kerja dari framework tersebut dalam
pekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.
mekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu proses pengembangan
system yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerja
framework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendaki
oleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orang
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu applikasi,
karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan modul. Dalam hal ini
misalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukan
solusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif
sama.
Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artian
jika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-
cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logika
yang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system
tersebut.
Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modul
yang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri.
dengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-
Kekurangan Framework
menggunakan framework
Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan
didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft
Windows atau yang telah terintegrasi ke dalam Windows. Kerangka kerja ini menyediakan
program baru, dan mengatur eksekusi program-program yang ditulis secara khusus untuk
framework ini.
Jika dulu kita sering menggunakan cara konvensional dalam menuliskan script PHP dalam
membuat sebuah aplikasi web, mungkin sekarang saatnya kita mencoba sesuatu pola scripting
Sesuai namanya, framework dapat diartikan sebagai sebuah kerangka kerja yang dapat
mempermudah kita dalam menyelesaikan sebuah pekerjaan. Dengan pengertian tersebut dapat
dianalogikan, framework adalah sebuah kerangka kerja dalam pengembangan website dinamis.
Framework berbeda jika kita bandingkan dengan CMS (Content Management System). Jika
dengan CMS kita tak terlalu ambil pusing dengan script PHP yang dibuat, akan tetapi tidak
demikian dengan Framework. Untuk membangun sebuah aplikasi, framework tetap harus
menuliskan kode perintah PHP sesuai dengan lingkungan framework yang kita gunakan.
Controller). Disinilah letak perbedaan utama antara framework dengan CMS atau PHP
konvensional. Dengan metode MVC, bagian tampilan, logika serta query database diletakkan
secara terpisah namun tetap sinkron sehingga pembuatan aplikasi menjadi lebih terstruktur dan
Macam-macam dari framework itu sendiri ada banyak, antara lain CodeIgniter, Symfoni , Zend
dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita me-
2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, dengan metode
MVC akan mempermudah kita dalam memahami alur pemrograman karena untuk bagian
Kekurangan Framework
Setelah ditinjau dari berbagai ulasan, kekurangan framework sangat jarang sekali. Namun
Pemilihan Framework
Pertama Documentasi dari framework itu sendiri. Documentasi sangat penting adanya mengingat
pada umumnya tidak banyak orang/perusahaan yang membuat framework sendiri dalam
membuat applikasi. Nah maka dari itu kita akan sangat tergantung dengan documentasi yang di
Berikutnya kesesuaian framework tersebut dengan applikasi apa yang hendak kita kembangkan.
Mengambil filosofi “tidak perlu membunuh nyamuk dengan meriam”. artinya sebaiknya kita
Berikutnya lagi perhatikan standar2 standart framework yang ada, misalkan apakah framework
tersebut MVC, apakah framework tesebut mendukung versi sekian, apakah mendukung
templating dll. Semakin banyak hal yang di support oleh framework tersebut semakin baik.
Karena hal tersebut akan mempengaruhi kualitas dari software yang dikembangkan.
Berikutnya, adalah faktor kemudahan. Tentunya ini sangat tergantung dari sumberdaya yang ada.
Standart kemudahan sangat sulit di ukur karena ini berhubungan dengan minat seseorang akan
sesuatu. Namun melirik keatas berdasarkan documentasinya kita bisa mengira2 pola kerja
framework tersebut.
Kesimpulan : Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaan
didukung oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
CONTOH-CONTOH FRAMEWORK
1. CodeIgniter
CodeIgniter (CI) sebuah framework untuk programmer yang ingin membangun website
dengan PHP. CI merupakan langkah cepat untuk membuat sebuah website daripada
membangun sebuah website dengan alur koding yang biasa. Dengan mempaketkan library-
library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudah
1. Gratis.
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license, ini
Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang yang
tetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar tetap
kompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.
Secara default CodeIgniter hanya berjalan dengan me load beberapa pustaka saja, dengan
demikian hanya membutuhkan resource yang sedikit sehingga ringan dan cepat
dijalankan. Pustaka-pustaka lain yang nantinya akan digunakan bisa di load sesuai
dengan kebutuhan.
4. Menggunakan MVC.
tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan
5. Dokumentasi.
Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar
dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter
sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada
dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya
saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak
lagi.
1. CODEIGNITER
PHP. Tujuan dari CodeIgniter adalah untuk memberikan kesempatan kepada orang untuk
membuat web lebih cepat dibanding apabila dilakukan dari nol (from scratch), dengan
disertai dengan interface dan struktur logika yang sederhana untuk mengakses library ini.
• CodeIgniter ini merupakan framework yang gratis, dimana kita bisa mengunduh dan
• CodeIgniter ini sangat ringan, dimana system utamanya hanya memerlukan sedikit sekali
www.contoh.com/berita/tajuk/1
• CodeIgniter dapat dengan mudah diperluas kemampuannya sesuai dengan yang kita
Kekurangannya :
• Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikan
2. SYMFONY
Symfony adalah framework web yang ditujukan untuk PHP 5. Selain itu Symfony juga
kompatibel dengan berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, Symfony
Dukungan untuk AJAX juga tersedia di framework Symfony ini. Dokumentasi yang disediakan
cukup baik. Mungkin yang menjadi persoalan adalah proses instalasi dan konfigurasi cukup
Kelebihan
• Banyak library dan fungsi symfony yang sudah tersedia. Bahkan hampir mendekati CMS.
Sehingga ada yang mengatakan ”Symphony is a CMS with a heart of a framework.” ini
Kekurangan
Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend Framework ini
adalah untuk membangun aplikasi berbasis Web 2.0 dan untuk memudahkan dalam mengakses
API dari berbagai vendor seperti Google, Amazon, Yahoo! , dan Flickr.
Tidak mengherankan jika Zend Framework menyediakan berbagai modul yang spesifik untuk
Kelebihannya :
• Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari Zend
Framework ini adalah untuk membangun aplikasi berbasis Web dan untuk memudahkan
dalam mengakses API dari berbagai vendor seperti Google, Amazon, Yahoo!, dan Flickr.
Kekurangannya :
• Konon katanya Framework ini hanya cocok untuk orang dengan skill PHP yang sudah
sangat tinggi.
• JQuery
JQuery adalah framework sekaligus kumpulan script-script yang berguna untuk membuat web
menjadi lebih interaktif, terlihat powerfull dan animasi yang bagus. Jquery ditulis dengan
menggunakan javascript sebagai sebuah file tunggal. JQuery ini memiliki keunggulan
pluginable,artinya JQuery bisa ditambahi dengan berbagai plugin. Sayangnya JQuery ini cukup
sulit untuk dipelajari, paling tidak harus mengenal javascript dan konsep OOP.
2. Ajax
Dengan menggunakan ajax framework anda tidak perlu lagi membuat script ajax. Tetapi
apa yang dimaksud dengan ajax framework? adalah lingkungan pengembangan aplikasi ajax,
didalamnya berisi sejumlah fungsi yang bisa digunakan untuk membangun aplikasi ajax.
misalkan fungsi request data, mengirim data melalui form, meload halaman dll, tergantung skala
dan tujuan pembuatan ajax framework tersebut. Ada banyak ukuran ajax framework, dari yang
paling sederhana sampai rumit. Jadi dengan menggunakan ajax framework tersebut anda
HANYA menggunakan fungsi yang sudah tersedia untuk mengembangkan web anda. Nantinya
aplikasi yang dihasilkan akan sesuai dengan kemampuan framworknya. Jika ajax framework
yang anda pilih hanya bisa mengirim data lewat form, dan merequest data, maka aplikasi anda
hanya mampu menjalankan aksi tersebut, kecuali anda merubah ajax frameworknya
Keuntungan Menggunakan ajax framework
Ada banyak keuntungan menggunakan ajax framework, diantara menghemat pikiran dan
tenaga, kenapa? anda tidak perlu pusing-pusing hanya karena membuat rutin-rutin ajax, serahkan
saja pada ajax framework. Anda tinggal menggunakannya saja. Dan yang perlu diperhatikan
ajax framework biasanya sudah dites, artinya kemungkinan ada bug kecil, jika nanti ditemukan,
anda tinggal mengupdate ajax frameworknya saja. Keuntungan lain, aplikasi yang anda buat
Selain kelebihan ada juga kekurangan. Jika anda tidak pintar memilih ajax framework, bukan
kecepatan aplikasi yang anda dapatkan, malah aplikasi anda terasa lambat, berat untuk diakses,
kenapa? sebagian ajax framework memiliki ukuran yang besar dengan jumlah baris kode yang
banyak. file dengan banyak baris tersebut di-include-kan pada halaman awal, maka dibutuhkan
waktu khusus untuk mendownload file ajax framework tersebut. Saya sempat ragu ketika
menggunakan ajax framework yang melebihi 100kb, karena saya pikir aplikasi saya menjadi
lebih lambat. Lebih bagus memang, tetapi bagi saya tujuan penggunakan ajax sendiri adalah
untuk mempercepat proses browsing, kalau menggunakan ajax framework malah lebih lambat,
ya sama saja.