Download - Frame work php
2012-2013
FRAMEWORK
Devindha Permatasari-XIRPL1-12
I. MVC
Pengertian Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah
aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana
memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi
website adalah berbasis arsitektur MVC. MVC memisahkan pengembangan aplikasi
berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data,
antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
Salah satu mvc framework yang populer digunakan saat ini adalah Code Igniter
Framework yang dikembangkan oleh Eliss Lab. Framework Codeigniter atau sering disebut
dengan singkatan CI ini adalah PHP framework yang terkenal di dunia dan paling banyak
digunakan para developer untuk membuat aplikasi website php. Hal itu dibuktikan dengan
aktifnya forum di website Code Igniter dan banyaknya masyarakat dunia yang membahasnya
di forum-forum nasional mereka. Dan tentu saja standar framework yang bagus itu dilihat
dari banyak audience yang memakai framework tersebut dan mempunyai dokumentasi
lengkap tentang framework itu sendiri.
Sejarah
Model View Controller pertama sekali dipublikasikan oleh peneliti XEROX PARC yang
bekerja dalam pembuatan bahasa pemrograman Smalltalk sekitar tahun 1970-1980.
Konsep MVC
Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu
:
View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian
ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk
menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung
terhadap bagian model.
Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert,
update, delete, search), menangani validasi dari bagian controller, namun tidak dapat
berhubungan langsung dengan bagian view.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian
view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan
apa yang akan diproses oleh aplikasi.
Singkat kata Model untuk mengatur alur
database, View untuk menampilkan web,
sedangkan Controller untuk mengatur alur
kerja antara Model dan View. Jadi misalnya Anda
ingin membuat akun facebook atau e-mail.
Pertama Anda akan melihat tampilan sign-up /
register itulah View, kemudian Anda
menuliskan form pengisian seperti username,
password, dll dan Anda klik sign-up / register
maka di sini View memanggil Controller dan
Controller memanggil Model, sedangkan
Model mengecek apakah Anda sudah sesuai
dengan kriteria pendaftaran seperti sudah
mengisi username, password dan lain sebagainya.
Kemudian Model menggembalikan (callback) ke
Controller dan Controller mengembalikan ke
View, dan kita akan melihat berhasil atau tidak
kita sign-up/register.
Jenis MVC pada website
Server Side MVC, Server Side MVC biasa
terjadi pada aplikasi web tradisional, yang
tidak melibatkan client side seperti Javascript,
Java applet, Flash, dan lain-lain. Server Side
MVC menyerahkan keseluruhan proses
bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-
kadang disebut juga dengan nama Thin Client.
Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC
1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada
server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas
yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur
ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client
menggunakan model sebagai jembatan untuk melakukan komunikasi pada server,
dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas
yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan
sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed
MVC 2.
Rich Internet Application MVC, Application MVC Rich Internet Application (RIA)
disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan
dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk
mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri
dan hanya membutuhkan bagian model pada sisi server.
II. Framework
Pengertian Framework. Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai
kumpulanscript (terutama class dan function) yang dapat membantu developer/programmer
dalammenangani 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
melakukanXMLHttpRequest, maka Xajax telah mempurmudahnya untuk anda dengan
menciptakan sebuahobjek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu
adalah salah satu contohkecil, selebihnya Framework jauh lebih luas dari itu.Secara sederhana
bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries),maka seorang
programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulanlibrary) dari
awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah adadidalam
framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan olehframework.
Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah
fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasigambar,
grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS(XSSfiltering),
template, kompresi, XML dan lain-lain.
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 library yang di sediakan oleh framework.
Namun framework sendiri kelebihan utamanya bukan dari seberapa banyak library
yang di sediakan, meski hal itu tentunya akan sangat membantu proses development.
Kelebihan yang bisa kita ambil dari framework adalah kerangka kerja dari framework tersebut
dalam menyelesaikan modul-modul yang dikembangkan sehinga mengeluarkan sebuah
metode pekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.
Kelebihan dari Framework Mempermudah memahami mekanisme kerja dari sebuah aplikasi.
Team tidak akan di susahkan dengan adanya perputaran anggota.
Menjaga integritas dari modul-modul yang dikembangkan.
Dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa selesai
dalam waktu yang singkat.
Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan
pemeliharaansistem.
Stability dan Reliability aplikasi yang kita bangun lebih stabil dan handal karena
berbasispada framework yang sudah teruji stabilitas dan kehandalannya.
Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs.
Security Concern framework mengantisipasi dan memasang perisai terhadap adanya
berbagaimasalah keamanan yang mungkin timbul.
Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk
apayang kita tulis.
Kekurangan Framework Para programmer mungkin akan menemukan batasan-batasan ketika merancang
aplikasimenggunakan framework.
Kemungkinan akan menambah biaya development apabila framework yg digunakan
kurangterdokumentasi dan kurang di support.
Performa dan kecepatan eksekusi.
Pemilihan Framework
Ada beberapa hal yang harus di pertimbangkan dalam memilih framework :
Documentasi dari framework itu sendiri
Documentasi sangat penting adanya mengingat pada umumnya tidak banyak
orang/perusahaan yang membuat framework sendiri dalam membuat aplikasi. Maka dari
itu kita akan sangat tergantung dengan documentasi yang di sediakan oleh framework yang
kita pilih.
Kesesuaian framework tersebut dengan applikasi apa yang hendak kita
kembangkan.
Mengambil filosofi “tidak perlu membunuh nyamuk dengan meriam”. artinya sebaiknya
kita memilih framework dengan fasilitas yang pas dengan kebutuhan kita.
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.
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.
1. PHP Framework
PHP adalah sebuah bahasa pemograman web yang populer, tangguh dan dapat di
peroleh secar gratis. Belajar PHP cukup menyenangkan, karena bahasa ini tergolong mudah
untuk dipelajari. unutk mempermudah dan mempercepat pengembangan aplikasi dengan
PHP, banyak bermunculan framework PHP.
PHP framework adalah sebuah lingkungan
pengembangan aplikasi berbasis php yang berisi sejumlah
class-class yang telah dibuat agar digunakan kembali untuk
membuat aplikasi. Jenis class-class ini tergantung tujuan dari
php framework tersebut, php framework yang satu dengan
framework yang lain kemungkinan berbeda. Tetapi sebagian
besar, php framework yang tersedia saat ini berbasis MVC
(model view controller), ini model php framework yang
modern. Jika menulis aplikasi dengan suatu framework,
maka harus mengikuti aturan dari framework tersebut, tidak
boleh asal. Karena inilah perusahaan menggunakan framework daripada membiarkan si
programmer dengan style nya. Bagi saya framework seperti sebuah IDE yang dilengkapi
dengan banyak fasilitas, kita tinggal memakainya saja. Tetapi kebanyakan, orang yang sudah
terbiasa dengan style programingnya akan sulit mengikuti alur framework ini, tahu sih tahu,
cuma untuk mengikuti agak sulit, ini hanya masalah prinsip programmer.
Mengapa Framework?
Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP.
Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam
sebuah framework (dengan syarat programmer mengikuti pola standar yang ada).
Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita
tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database,
scaffolding, pengaturan session, error handling, dll).
Lebih bebas dalam pengembangan jika dibandingkan CMS
Perbedaan Framework dan CMS
CMS menawarkan sebuah management website yang lengkap, end-user friendly. Jika
membangun website dengan sebuah Content Management System, maka kita tinggal
menjalankan engine dari CMS itu saja. Kita sebagai pengembang tidak perlu lagi memikirkan
proses coding, penyusunan logika, dan proses menulis kode program sendiri.
Lain soal saat kita memakai framework PHP. Saat kita memutuskan menggunakan
framework sebagai pondasi proses pembuatan website, kita masih harus menulis kode,
menyusun logika program. Bedanya, kode-kode yang kita tulis harus menyesuaikan dengan
lingkungan framework yang kita gunakan. Kita harus menyesuaikan pattern-pattern (pola)
yang sudah menjadi acuan dalam suatu framework. Ya, konsekuensi dari menggunakan
framework adalah kita harus mempelajari lagi lingkungan pengembangan, aturan-aturan, dan
pola pengkodean berdasarkan framework yang kita gunakan. Akan tetapi, hal tersebut dirasa
wajar dan akan terbayar lunas setelah kita benar-benar menguasai dan bisa menggunakan
framework tersebut.
Disamping menyediakan lingkungan pengembangan sendiri-sendiri, sebuah
framework PHP juga menyediakan library fungsi yang disiapkan khusus, yang bisa
pengembang gunakan untuk lebih memudahkan dalam pembuatan website dan aplikasi
berbasis web. Jadi sat kita menggunakan framework, kita akan menemukan banyak kode dan
fungsi-fungsi yang tidak biasa kita lihat pada saat kita membuat program sendiri. Fungsi-
fungsi tersebut bukanlah fungsi-fungsi bawaan dari PHP, melainkan fungsi-fungsi yang
khusus dibuat oleh pengembang framework masing-masing. Jumlahnya mungkin berbeda,
dan gaya programingnya mungkin berbeda, tetapi kegunaannya hampir sama, yaitu
mempermudah pengembang yang menggunakan framework tersebut.
10 Framework PHP Terbaik yang populer saat ini :
1. Yii
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
6. PHP Dev Shell
7. Prado
8. Akelos
9. QPHP
10. ZooP
2. Javascript Framework
Framework Javascript itu sendiri adalah sebuah tool yang di gunakan pada bahasa
pemrograman javascript untuk mempermudah dalam penggunaannya. Awal pengembangan
Framework Javacript dimulai saat memasuki era Web 2.0, generasi kedua dari layanan
berbasis web dimana lebih meniktikberatkan pada kolaborasi online, sharing content antar
pengguna dan lebih terarah ke User Content Generated.
Berdasarkan kebutuhan akan konsep dan paradigma baru dalam pengembangan
aplikasi berbasis web tersebut maka dalam pengembangannya diperlukan suatu sistem alur
kerja yang bisa memudahkan dalam menciptakan aplikasi berbasis web yang canggih dan
interaktif. Salah satu yang sering digunakan para developer tersebut adalah JavaScript
Framework/Libraries dimana didalamnya terdapat JavaScript yang telah ditulis sedemikian
rupa dimana sangat membantu dalam pengembangan sebuah Aplikasi Web, terutama dalam
pengembangan AJAX (Asynchronous JavaSript And XML). Sebuah teknik pemanggilan cepat
tanpa melakukan reload terhadap suatu page.
Dengan JavaScript Libraries tersebut para programmer bisa dengan mudah
mengimplementasikan paradigma WEB 2.0 yang baru seperti User interface yang dinamik
dan sangat interaktif kepada usernya.
Berikut beberapa jenis Framework untuk Javascript :
1. jQuery: The Write Less, Do More, JavaScript Library.
2. MooTools – a compact javascript framework.
3. Prototype: Easy Ajax and DOM manipulation for dynamic web applications.
4. Dojo Toolkit: great experiences for everyone.
5. script.aculo.us: easy-to-use, cross-browser user interface JavaScript libraries.
6. ExtJS: Cross-Browser Rich Internet Application Framework.
7. UIZE: supporting widgets, AJAX, DOM, templates, and more.
8. YUI Library: is proven, scalable, fast, and robust.
9. Archetype.
10. qooxdoo: the new era of web development.
III. Macam – macam framework dan perbedaan antar jenis framework
1. Yii
Yii adalah kerangka kerja PHP berbasis-komponen dengan performansi tinggi untuk
pengembangan aplikasi Web berskala-besar. Ia menyediakan resuabilitas maksimum dalam
pemrograman Web dan bisa mengakselerasi proses pengembangan secara signifikan. Nama
Yii (dieja sebagai/i:/) singkatan dari easy, efficient dan extensible (mudah, efisien, dan bisa
diperluas).
Persyaratan :
a. Untuk menjalankan aplikasi Web bertenaga-Yii, Anda memerlukan server Web yang
mendukung PHP 5.1.0 atau lebih tinggi.
b. Bagi para pengembang yang ingin menggunakan Yii, mengerti pemrograman terorientasi-
obyek (OOP) akan sangat membantu, karena Yii murni kerangka kerja OOP.
Yii Terbaik untuk :
Yii adalah kerangka kerja pemrograman umum Web yang bisa dipakai untuk
mengembangkan semua jenis aplikasi Web. Oleh karena Yii sangat ringan dan dilengkapi
dengan solusi caching yang memuaskan, ia sangat cocok untuk pengembangan aplikasi
dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-
commerce, dll.
Kelebihan Kekurangan
Memiliki struktur bahasa yang rapi
Bersifat OOP
Program yang cepat
Tidak compatible dengan PHP 4
2. Zend Framework
Menurut situs resminya, framework ini dikhususkan untuk pengembangan aplikasi
web 2.0 dan untuk mempermudah dalam mengakses API dari situs2 besar seperti google,
facebook, yahoo, flickr dsb. Sehingga tak mengherankan kalau framework ini dibekali
modul2 web 2.0, syndication,AJAX, web services, search.
Kelebihan Kekurangan
Dukungan terhadap AJAX, ORM.
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.
Tidak mendukung PHP4.
Manual yang ada kurang
mengakomodasi kebutuhan.
Performanya relatif lambat (mungkin
karena banyaknya library).
Konon katanya Framework ini hanya
cocok untuk orang dengan skill PHP
yang sudah sangat tinggi.
3. CakePHP
Framework ini mengusung konsep arsitektur MVC (Model-View-Controller) dan
juga ORM (object Relation Mapping). Aplikasi yang dibuild ddngan cakePHP bisa dirunning
di PHP4 ataupun PHP5. Dalam koneksi database framdwork ini mensupport MySQL,
SQLLITE, PGSql, DB2 dan juga Oracle.
Framework ini menyediakan modul tambahan berupa otentifikasi user, security,
access control list sehingga memungkinkan membangun aplikasi dengan cepat. Selain itu
cake php juga sudah mendukung javascript, AJAX, XML dan Rss dan email yang sudah
terintegrasi dalam library nya.
Sayangnya, support dokumentasi untuk framework ini masih kurang
lengkap, meskipun begitu komunitas pengguna cakePHP berkembang pesat.
Kelebihan Kekurangan
Dukungan terhadap AJAX, ORM
Automagic function seperti validasi
input, dll, yang mempercepat coding
Support PHP4 dan PHP5
Lebih mencerminkan MVC yang
sesungguhnya dibandingkan CI
Komunitas pengguna yang besar dan
forum cukup baik.
Manual yang ada tidak selengkap CI.
Butuh waktu belajar yang lebih lama
untuk menguasai framework ini
dibanding CI. Tapi jika sudah benar-
benar mengerti, banyak kelebihan
dibanding CI. Beberapa situs
menyarankan anda untuk belajar dan
terbiasa dulu
dengan CodeIgniter baru kemudian
mempelajari CakePHP.
4. CodeIgniter
Hampir mirip dengan cakePHP, framework ini mengusung konsep arsitektur MVC,
namun framework ini belum mendukung ORM, Codeigniter menyediakan banyak sekali
modul yang berguna di pengembangan web seperti session management,email, security (anti
Xsrf),file management,0image management dan XMLRPC yang menjadi keunggulan dari
aplikasi besutan ellislab ini adalah dokumentasi yang banyak dan lengkap serta terorganisis
dengan baik sehingga framework ini mudah dipelajari, selain itu bahasa yang digunakan juga
lebih “manusiawi” dibanding cakePHP.
Kelebihan Kekurangan
Mudah digunakan dan tidak
.memerlukan konfigurasi yang rumit.
Fungsi-fungsi pendukung yang cukup
lengkap.
Mendkung PHP4 dan PHP5
Mungkin merupakan Framework
MVC paling populer dan paling
banyak digunakan.
Dokumentasi yang sangat bagus,
friendly dan didukung oleh forum,
wiki, dan komunitas yang besar.
Tidak mendukung AJAX, dan ORM.
Meyediakan dan memisahan file-file
dalam MVC pattern, tapi masih
memberikan kebebasan user untuk
melanggar aturan MVC.
5. Kohana
Framework ini menggunakan konsep MVC, pada awalnya framework ini merupakan
pengembangan dari codeigniter,ada kesamaan antara Ci dengan kohana, namun semua script
di Kohana telah ditulis ulang.
6. Simphony
Framework ini ditujukan untuk pengguna PHP5, framework ini mensupport
berbagai koneksi database. Seperti framework yang disebutkan diatas, simphony juga
mengusung konsep arsitektur MVC. Dukungan terhadap teknologi AJAX sudah terintegrasi
di framework ini. Dalam hal dokumentasi, simphony telah memberikannya dengan cukup
baik, namun yang mdnjadi kekurangan adalah proses installasi yang lebih rumit dan njelimet
dibanding dengan cakePHP dan CodeIGNITER.
Kelebihan Kekurangan
Dukungan terhadap AJAX, ORM.
Kompatibel dengan berbagai macam
database.
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
menjadi kelebihan sekaligus
kekurangan.
Tidak mendukung PHP4.
Relatif butuh waktu lama untuk
mengerti framework ini.
Instalasi dan konfigurasinya cukup
rumit.
7. Akelos
Akelos PHP Framework adalah sebuah aplikasi web platform berdasarkan pola
(Model View Controller) desain MVC. Berdasarkan kinerjanya memungkinkan kita untuk:
1.Menulis dilihat menggunakan Ajax mudah 2.Pengendalian permintaan dan tanggapan
melalui controller 3.Mengelola aplikasi internasionalisasi 4.Berkomunikasi model dan
database menggunakan konvensi sederhana.
Kelebihan Kekurangan
Dukungan terhadap PHP4, PHP5, AJAX, ORM (cukup lengkap dan cukup mengakomodasi semua kebutuhan yang umum dari aplikasi php).
Kurang adanya dukungan komunitas.
Mungkin karena masih relatif baru.
Beberapa forum mengatakan bahwa
framewok ini cukup banyak memakan
memory.
8. Prado
Berbeda dengan kebanyakan web framework, Prado merupakan framework yang
berbasis komponen dan event-driven. Konsepnya mirip sekali dengan pemrograman di
Delphi dan ASP.Net. Komponen Prado sendiri merupakan gabungan dari file spesifikasi
(dalam format XML), template HTML dan PHP class. Prado juga mendukung pemakaian
berbagai database populer. Namun sayangnya Prado hanya mendukung PHP 5 saja. Pada
awalnya PHP 4 juga didukung tapi pada rilis selanjutnya dukungan untuk PHP 4
dihilangkan.
IV. CI CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC
(Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP.
CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah
dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28
Februari 2006. Versi stabil terakhir 2.1.0 yang dirilis pada 28 November 2011.
Sebelum membahas lebih jauh tentang salah satu framework PHP ini, mungkin
kalian ada yang masih bingung apa itu Framework, apa itu MVC (Model, View, Controller)?
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-
prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih
mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat
fungsi atau class dari awal.
Alasan menggunakan framework CodeIgniter
Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam
sebuah framework (dengan syarat programmer mengikuti pola standar yang ada).
Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga
kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple
database, scaffolding, pengaturan session, error handling, dll.
Lebih bebas dalam pengembangan jika dibandingkan CMS.
Kelebihan Framework CodeIgniter
Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena
eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat
cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling
cepat dibanding framework yang lain.
Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk menyesuaikan
dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi
dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php,
namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu
merubah sedikit saja file pada folder config.
Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user
guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun
mudah dipahami.
Fitur-Fitur CodeIgniter
Berikut fitur-fitur yang didukung oleh CodeIgniter :
1. Sistem berbasis Model View Controller
2. Kompatibel dengan PHP versi 4.
3. Ringan dan Cepat.
4. Terdapat dukungan untuk berbagai basis data.
5. Mendukung Active Record Database.
6. Mendukung form dan validasi data masukan.
7. Keamanan dan XSS filtering.
8. Tersedia pengaturan session.
9. Tersedia class untuk mengirim email.
10. Tersedia class untuk manipulasi gambar (cropping,resizing, rotate dan lain-lain).
11. Tersedia class untuk upload file.
12. Tersedia class yang mendukung transfer via FTP.
13. Mendukung lokalisasi bahasa.
14. Tersedia class untuk melakukan pagination (membuat tampilan perhalaman).
15. Mendukung enkripsi data.
16. Mendukung benchmarking.
17. Mendukung caching.
18. Pencatatan error yang terjadi.
19. Tersedia class untuk membuat calendar.
20. Tersedia class untuk mengetahui user agent, misalnya tipe browser dan sistem operasi
yang digunakan pengunjung.
21. Tersedia class untuk pembuatan template website.
22. Tersedia class untuk membuat trackback.
23. Tersedia pustaka untuk bekerja dengan XMP-RPC.
24. Menghasilkan clean URL.
25. URI routing yang felksibel.
26. Mendukung hooks, ekstensi class dan plugin.
27. Memiliki helper yang sangat banyak jumlahnya.
Cara menginstal
Pada bagian ini saya akan menjelaskan bagaimana cara install Framework Codeinginer
pada komputer lokal Anda. Tutorial ini ditujukan bagi mereka yang baru mengenal yang
namanya Codeigniter (sangat pemula) dan ini merupakan bagian teknis atau langsung
praktek. Bagi yang ingin mengenal secara teori apa itu Codeigniter, dapat dibaca pada artikel
saya sebelumnya tentang Framework Codeigniter disini. Selain menginstall Codeigniter, saya
akan berikan sedikit cara kerja Framework ini berdasarkan pengalaman pribadi saya
menggunakan Framework ini. Mari kita mulai dengan mempersiapkan beberapa kebutuhan
untuk dapat mempraktekan tutorial ini.
Beberapa hal yang harus disiapkan dalam praktek tutorial ini antara lain:
1. Program PHP sebagai bahasa pemrograman, karena Codeigniter ditulis menggunakan
bahasa pemrograman PHP.
2. Web Server, dalam hal ini saya menggunakan Apache sebagai web servernya.
3. Database, dalam hal ini MySQL (optional, karena kita belum memanfaatkan database
dalam praktek ini).
4. IDE (Editor), dalam hal ini saya menggunakan Dreamweaver.
5. Codeigniter, sebagai Framework yang dapat didownload di halaman ini, saya
menggunakan versi 2.1.3 pada saat membuat tutorial ini.
7. Untuk program PHP-MySQL-Apache, sudah banyak package yang tinggal install, artinya
dengan satu kali install, dikomputer kita sudah terinstall tiga aplikasi tersebut (PHP-
MySQL-Apache). Misalnya WampServer, Xampp, dll.
8. Jangan lupa sediakan segela susu agar otak lebih encer.
Mari kita mulai langkah demi langkah untuk menginstall Framework Codeigniter ini. Oh iya
saya menggunakn Sistem Operasi Windows 7 dan menggunakan Wamp 2.0 untuk membuat
tutorial ini.
1. Download program Codeigniter seperti pada nomor 5 diatas. Nanti anda akan
menemukan bentuk zip dengan ukuran file 2,2 MB.
2. Unzip program Codeigniter (orang menyebutnya CI) dan simpan ke folder root server
kita (ke folder „www‟ kalau di wamp atau „htdocs‟ atau „public_html‟ tergantung package
PHP nya), kemudian rename (ubah) nama foldernya dari “CodeIgniter_2.1.3″ menjadi
“codeigniter”, seperti pada gambar dibawah ini:
Dalam folder CI, terdiri dari 3 folder, “application” ini folder untuk developer yang nanti
kita akan obrak abrik, “system” berisi library atau kumpulan fungsi-fungsi dasar CI, dan
“user_guide” berisi tuntunan semacam help-nya.
3. Kalau sudah dicopy, tinggal akses “localhost/codeigniter” dan kalau berhasil maka akan
muncul halaman selamat datang. Ini merupakan kesksesan Anda, jika belum silahkan coba
ulangi langkah-langkahnya.
4. Untuk mengubah pesan diatas, kita bisa masuk ke folder
codeigniter/application/views/welcome_message.php disitu Anda bisa mengubahnya secara
bebas dengan kata-kata sendiri, silahkan dicoba dan wajib dicoba.
5. Selanjutnya kita akan menjelaskan cara kerjanya.
Pertama tentu akan membaca index.php di bawah folder codeigniter, kemudian
index.php tersebut akan membaca file yang ada di config, seperti
application/config/autoload.php yang akan me-load fungsi-fungsi sesuai konfigurasi (kalau
install pertama, file ini tidak me-load file atau masih kosong).
Selanjutnya akan membaca file application/coonfig/route.php yang akan memetakan
kemana file selanjutnya dibaca (menunjuk controller apa yang akan dibaca pertama), pertama
install controller yang pertama kali dibaca adalah application/controller/welcome.php dan dari
controller tersebut akan dilempar ke view di application/views/wecome_message.php.
Ingat konsep MVC pada Codeigniter, dalam hal ini M (model) belum ada, sedangkan V (views)
adalah “application/views/wecome_message.php” dan C (controller)
application/controller/welcome.php
Contoh Aplikasi Sederhana
1. buka folder controller dan buatlah satu file dengan nama “halaman.php”.
2. Dan tuliskan script di bawah ini.
<?php
class halaman extends CI_Controller{
// constructor
public function __construct() {
parent::__construct()
;
}
// index
public function index(){
echo "<h1>Latihan Codeignter 1</h1>";
}
}
?>
3. Kemudian run pada browser, akan muncul seperti ini.
Catatan :
1. Untuk Kode Nomer 7 : Menjelaskan Nama Controller kita dan harus meng-extends
CI_Controller. Semua Contorller kita harus mengextends CI_Controller agar controller
yang kita buat di kenali oleh Codeigniter sebagai Controller.
2. Untuk Kode Nomer 9-11 : Menandakan bahawa kita juga memanggil Konstruktor di
super kelas CI_Controller.
V. KESIMPULAN Dengan adanya framework akan sangat membantu proses penyelesaian pekerjaandidukung
oleh analisa sistem yang baik dan pertimbangan sumberdaya yang ada.
Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi
MicrosoftWindows atau yang telah terintegrasi ke dalam Windows. Kerangka kerja ini
menyediakansejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan
umum suatuprogram baru, dan mengatur eksekusi program-program yang ditulis secara
khusus untuk framework ini.
Manfaat Framework :
Mempermudah memahami mekanisme kerja dari sebuah aplikasi.
Team tidak akan di susahkan dengan adanya perputaran anggota.
Menjaga integritas dari modul-modul yang dikembangkan.
Dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa
selesai dalam waktu yang singkat.
Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan
pemeliharaansistem.
Stability dan Reliability aplikasi yang kita bangun lebih stabil dan handal karena
berbasispada framework yang sudah teruji stabilitas dan kehandalannya.
Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan
bugs.
Security Concern framework mengantisipasi dan memasang perisai terhadap adanya
berbagaimasalah keamanan yang mungkin timbul.
Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk
apayang kita tulis.