Anda di halaman 1dari 7

1.

Konsep Framework
PENGERTIAN FRAMEWORK
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan
script (terutama class dan function) yang dapat membantu developer/programmer dalam
menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database,
pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat
membangunaplikasi.Bisa juga dikatakan Framework adalah komponen pemrorgaman yang
siap re-use kapansaja, 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.
Macam-macam framework
1.Framework PHP
CakePHP
Code Igniter (CI)
Symphony
Zend
Yii
Kohana
2. Framework Javascript
JQuery
Mootools
3. Framework Ruby
Ruby on Rails (ROR)
2. Fitur Framework

Berikut ini adalah fitur yangharus kita pahami., ketika


programmer baru ingin mencoba framework, dia bingung dalam
memilih mana yang paling cocok bagi dia. Agar tidak bingung
memilih, kita harus paham dulu fitur yang ditawarkan oleh
Framework apakah cocok bagi kita.

MVC
Model View controller adalah konsep mengembangkan aplikasi
yang memisah antar user interface (view) dengan Aksi (controller)
dan operasi database (model). Dengan pemisahan ini, maka code

akan lebih rapih dan memudahkan kerja team. Semua Framework


menggunakan Model ini. Jangan lupa, sebelum belajar MVC, anda
harus paham konsep Pemrograman berorientasi object.

Push dan Pull


Konsep pengiriman data dibagi menjadi dua, yaitu push dan pull.
Push artinya user melakukan aksi, baru server mengirim data,
contohnya saat anda mengklik sebuah link. Kebalikan dari Push
adalah Pull, server mengirim data ke user tanpa melalui proses
action user, namun lewat triger . Contohnya adalah notifikasi
facebook atau timeline twitter. Kalau penjelasan saya salah,
tolong dikoreksi:).

ORM (Object Relational Mapping )


Object Relational Mapping adalah teknik menghubungkan
database relasional dengan bahasa pemrograman Berorientasi
object. Tujuannya adalah memudahkan dalam operasi data.
Konsep ini banyak dipinjam dari Java dan Ruby on rail.

Scaffolding (CRUD)
Scaffolding fitur yang berhubungan dengan operasi CRUD (Create,
retrive,udpate,delete) database. Jika suatu framework sudah
mendukung Scaffolding, maka proses proses yang berhubungan
dengan database sangat cepat dibuat, bahkan bererapa
framework akan membuatkan secara otomatis untuk anda. Fitur
Scaffolding ada hampir disetiap framework PHP, namun
Framework yang mempunyai kemampuan membuatkan code
untuk pengolahan database untuk anda adalah Yii Framework.

i18n & L10n (internasionalisasi dan


lokalisasi)
Internasionalisasi adalah fitur untuk memudahkan programmer
membuat satu website multibahasa. Sedangkan lokasisasi
membuat website mendukung banyak format lokal. Sebagai
contoh, format mata Uang, Format waktu dan format Angka. Yii
dan Zend adalah framework yang mendukung fitur ini.

Ajax
Ajax adalah teknologi yang memungkinkan transfer data antara
browser dengan server terjadi dibelakang layar. Dengan ajax,
website anda lebih interaktif dan responsif. Framewwork yang
sudah mendukung ajax adalah Zend, Yii, cakePHP dan Code
Igniter, namun implementasi ajax untuk masing masing
framework berbeda beda, ada yang menggunakan Library
Javascript pihak ketiga seperti jQuery ada juga yang builtin
terintegrasi framework.

Form Validation
Validasi form adalah teknik pengecekan input data user .
contohnya apakah textfield tidak boleh kosong, input harus
angka, input harus email dan sebagainya. Sebagian besar
framework sudah mengimplementasikan fitur ini. Manfaatnya
bagi programmer akan sangat terasa karena tidak perlu lagi
membuat code validasi.

Caching
Caching adalah teknik menyimpan halaman atau data yang
diambil dari database ke memory atau ke folder temporary di
server. Tujuannya, jika ada user lain yang meminta data yang
sama, controller tidak perlu mengambil ke database, tapi

langsung di ambilkan dari cache. Efeknya,user merasa akses lebih


cepat dan beban server juga berkurang. Caching sangat terasa
manfaatnya jika visitor website mencapai ribuan atau
jutaan view dalam sehari.

Security
Security disini sangat luas, namun intinya adalah mengamankan
server, code, data dan aplikasi dari input yang itdak valid atau
akses dari pihak yang tidak bertanggung jawab. Teknik
pengamanan masing-masing framework berbeda . Ada yang
hanya mendukung akses control list (autorisasi), ada yang
menekankan pada SQL injection dan ada yang mengamankan dari
berbagai sisi lainnya. Intinya makin banyak fitur kemanannya
makin bagus frameworknya, namun makin komplek sistem dan
librarynya.

Template
Template digunakan untuk membuat tampilan konsisten, cantik
dan standar. Beberapa framework membuat templatenya sendiri,
namun ada juga framework yang memanfaatkan template dari
project lain seperti Smarty atau QFrom. Beberapa framework
membuat fitur ini makin canggih, misalkan dukungan terhadap
thema(mirip dengan fitur WordPress atau Joomla).
3. Performansi Framework
Requests per second from Apache Benchamrk with c=20 and n=500.
Framework
Phalcon
Slim
Kohana
Code Igniter
Silex
Laravel
YII
Fuel PHP

Req/Sec
822.96
399.83
217.34
187.78
179.01
135.9
123.5
116.34

Framework
Hazaar MVC
Zend 1
Cake PHP
Nette
Symfony2
Zend 2

Req/Sec
103.53
103.02
54.97
53.48
39.22
36.1

Im not surprised, Slim is the fastest because its a micro framework. The Quick
Start project didnt use any templates or layout which obviously contributed to
the reading.
Zend1 is twice faster than Symfony2 and Zend2 but in my experience the
number will quickly go down in a real live setup.
4. Keunggulan Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah
memahamimekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat
membantu proses pengembangansystem yang dilakukan secara team. Semua
anggota di wajibkan untuk memahami dari pola kerjaframework tersebut
selebihnya anggota team hanya mempelajari proses bisnis yang di
kehendakioleh system untuk kemudian di tuangkan kedalam framework
tersebut. Dalam artian setiap orangharus mempunyai metode yang sama dalam
menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu
applikasi,karena setiap anggota sudah memiliki sebuah acuan dalam
menyelesaikan modul. Dalam hal inimisalnya semakin banyak library yang ada

semakin mempercepat anggota untuk menemukansolusi karena tidak setiap


anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.
5. Perbandingan Kinerja dengan Framework
1. CodeIgniter
kesan: mungkin inilah Framework yang memiliki aksesbility tercepat dibandingkan Framework lain.
Kelebihan:
Performa dalam mengeksekusi sangat cepat
Mendukung PHP4 dan PHP5
Dokumentasi Lengkap
Mudah dipelajari (katanya sih)..
Kekurangan:
Tidak Support AJAX dan ORM
Banyak kelonggaran dalam coding, penamaan file dan membebaskan programmer untuk
melanggar aturan MVC
Karena kelonggaran tersebut, CodeIgniter tak bisa dipakai jika membuat aplikasi skala besar,
karena pengembangan malah akan semakin sulit dilakukan.
2. CakePHP
Kesan: Wow, mungkin framework inilah yang benar-benar menyederhanakan fungsi PHP, sehingga
penyelesaian pembuatan/pengembangan web benar-benar paling cepat dibandingkan framework lain
(RAD).
Kelebihan:
Support AJAX dan ORM
Pengembangan yang terus dilakukan, saat ini telah mencapai versi 1.3.7.
Mendukung PHP4 dan PHP5
Arsitektur OOP dan MVC yang sesungguhnya
Semua fungsi dalam CodeIgniter sudah ada dalam CakePHP
memiliki teknik unik yang tidak didapatkan pada framework lain (kesan mendalam)
Kekurangan:
Manual Book tidak selengkap CodeIgniter
Terlalu banyak aturan jika dibandingkan CodeIgniter (namun sisi ini ada nilai positifnya, yaitu
mempermudah pengembangan karena penamaan file dan database telah diatur semua nya oleh
CakePHP, sehingga Developer tidak bisa MAIN-MAIN)
Butuh waktu belajar lama jika ingin menguasai framework ini (namun jika sudah benar-benar
menguasai, Framework CakePHP mempunyai kemampuan yang benar-benar luar biasa handal)
3. Zend
kesan: wah, ini adalah framework keluaran PHP asli.
Kelebihan:
Dukungan terhadap AJAX dan ORM
tujuan utama framework jenis ini biasanya membangun aplikasi web dan untuk memudahkan dalam
mengakses API dari berbagai vendor seperti Google, Amazon, yahoo, Flickr.
Kekurangan:
Tidak mendukung PHP4
Manual tidak lengkap

Performa Lambat
Membutuhkan skill PHP yang sangat tinggi,
sehingga untuk komentar kepada pemula yang ingin belajar Framework PHP:
Jika ingin belajar Framework, gunakan lah CodeIgniter terlebih dahulu.
Jika CodeIgniter sudah Anda kuasai, beralihlah kepada Framework CakePHP (maka disitu Anda
akan mengetahui kelemahan CodeIgniter).
Jika Anda telah menguasai CakePHP, beralihlah kepada Zend Framework (karena Zend merupakan
Framework yang memiliki sertifikat International yang telah diakui oleh seluruh dunia).
6. Prospek Masa Depan
7. Contoh Framework yang menggunakan (tulisankan domainnya & capture homepagenya)
alamat web : http://www.express.co.uk/

8. Buat Contoh CURD untuk Satu Tabel Menggunakan Framework

Anda mungkin juga menyukai