SlideShare a Scribd company logo
1 of 17
Download to read offline
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.

More Related Content

What's hot

Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxTugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxjeffry putra
 
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]bobogi
 
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]Han'zo WEw
 
Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Filsaf Kurniawan
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]trya nita
 
Tugas 3 0317 (individu)
Tugas 3  0317 (individu)Tugas 3  0317 (individu)
Tugas 3 0317 (individu)RiaWahyuni5
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniAnnisa Nur Fitriyani
 
Tugas 1 ihsan riadi - 1412511162
Tugas 1   ihsan riadi - 1412511162Tugas 1   ihsan riadi - 1412511162
Tugas 1 ihsan riadi - 1412511162ihsan riadi
 
Tugas kelompok pbw
Tugas kelompok pbwTugas kelompok pbw
Tugas kelompok pbwdanny_robby
 
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekwebrara1992
 
Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602dewiapril1996
 
Tugas Rekayasa Web 1
Tugas Rekayasa Web 1Tugas Rekayasa Web 1
Tugas Rekayasa Web 1fahreza yozi
 
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1Fajar Baskoro
 

What's hot (20)

Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptxTugas4 0916-[jeffry evanto putra]-[1511510727].pptx
Tugas4 0916-[jeffry evanto putra]-[1511510727].pptx
 
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]Tugas4 0916-[tri bogi banjaransari]-[1511510404]
Tugas4 0916-[tri bogi banjaransari]-[1511510404]
 
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
Tugas4 0916-[handitiya ciptaning pratama]-[1511510594]
 
Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)Rekayasa web 0916 tugas 4 (individu)
Rekayasa web 0916 tugas 4 (individu)
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]
 
Tugas 3 0317 (individu)
Tugas 3  0317 (individu)Tugas 3  0317 (individu)
Tugas 3 0317 (individu)
 
Codeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur FitriyaniCodeigneter | Annisa Nur Fitriyani
Codeigneter | Annisa Nur Fitriyani
 
Tugas rekayasa web
Tugas rekayasa webTugas rekayasa web
Tugas rekayasa web
 
Tugas 1 ihsan riadi - 1412511162
Tugas 1   ihsan riadi - 1412511162Tugas 1   ihsan riadi - 1412511162
Tugas 1 ihsan riadi - 1412511162
 
Tugas kelompok pbw
Tugas kelompok pbwTugas kelompok pbw
Tugas kelompok pbw
 
Tugas 4 rekweb
Tugas 4 rekwebTugas 4 rekweb
Tugas 4 rekweb
 
Jeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc IntroJeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc Intro
 
ASP MVC
ASP MVCASP MVC
ASP MVC
 
Cms
CmsCms
Cms
 
Tugas pbw
Tugas pbwTugas pbw
Tugas pbw
 
05 rw
05 rw05 rw
05 rw
 
Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602Tugas[1] 0317-[dewiapriliani]-[1412510602
Tugas[1] 0317-[dewiapriliani]-[1412510602
 
Tugas Rekayasa Web 1
Tugas Rekayasa Web 1Tugas Rekayasa Web 1
Tugas Rekayasa Web 1
 
Pengertian yii framework
Pengertian yii frameworkPengertian yii framework
Pengertian yii framework
 
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1
Wpf 5-buku-windows forms-membangunaplikasidesktopdengan.net-core3.1-ver1
 

Viewers also liked (7)

Java framework
Java frameworkJava framework
Java framework
 
Ippho Santosa
Ippho SantosaIppho Santosa
Ippho Santosa
 
Tugas akhir java
Tugas akhir javaTugas akhir java
Tugas akhir java
 
Jatim
JatimJatim
Jatim
 
Tabel kredit multiguna bank jatim
Tabel kredit multiguna bank jatimTabel kredit multiguna bank jatim
Tabel kredit multiguna bank jatim
 
Cara dan syarat pengajuan kredit di bank
Cara dan syarat pengajuan kredit di bankCara dan syarat pengajuan kredit di bank
Cara dan syarat pengajuan kredit di bank
 
Egypt
EgyptEgypt
Egypt
 

Similar to Frame work php

Modul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterModul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterRiki Afriansyah
 
2. distributed system
2. distributed system2. distributed system
2. distributed systemDony Riyanto
 
Codeigniter framewrok
Codeigniter framewrokCodeigniter framewrok
Codeigniter framewrokmuamarsidik
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317esti setiasih
 
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0Arinten Hidayat
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterBeni Krisbiantoro
 
Tugas 3 rekayasa web
Tugas 3 rekayasa webTugas 3 rekayasa web
Tugas 3 rekayasa webFani Heryati
 
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkPlugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkMuhammad Rio
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Koplak Koplakan
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Linda Lestari
 
Tugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBTugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBElisanendes
 
Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khususwardandha
 

Similar to Frame work php (20)

Kelompok 3.pptx
Kelompok 3.pptxKelompok 3.pptx
Kelompok 3.pptx
 
Modul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai CodeigniterModul1 Penjelasan Mengenai Codeigniter
Modul1 Penjelasan Mengenai Codeigniter
 
2. distributed system
2. distributed system2. distributed system
2. distributed system
 
Codeigniter framewrok
Codeigniter framewrokCodeigniter framewrok
Codeigniter framewrok
 
framework php.pptx
framework php.pptxframework php.pptx
framework php.pptx
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317
 
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0
MAKALAH HOTEL BOOKING BERBASIS ASP .NET 4.0
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
MVC J2EE using servlet
MVC J2EE using servletMVC J2EE using servlet
MVC J2EE using servlet
 
Tugas 3 0317
Tugas 3   0317Tugas 3   0317
Tugas 3 0317
 
tugas APS
tugas APStugas APS
tugas APS
 
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniterMembangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
Membangun Aplikasi SMS dengan Gammu dan PHP Framework CodeIgniter
 
Tugas 3 rekayasa web
Tugas 3 rekayasa webTugas 3 rekayasa web
Tugas 3 rekayasa web
 
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-frameworkPlugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
Plugin chapter-12-materi-kuliah-web-framework1-pengenalan-web-framework
 
Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)Tugas resume aplinet (edi,vani,risky)
Tugas resume aplinet (edi,vani,risky)
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 
Tugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBTugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEB
 
Resume aplinet
Resume aplinetResume aplinet
Resume aplinet
 
Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khusus
 

Frame work php

  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. 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>"; } } ?>
  • 17. 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.