Top Banner
2012-2013 FRAMEWORK Devindha Permatasari-XIRPL1-12
17

Frame work php

Jun 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Frame work php

2012-2013

FRAMEWORK

Devindha Permatasari-XIRPL1-12

Page 2: Frame work php

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.

Page 3: Frame work php

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.

Page 4: Frame work php

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.

Page 5: Frame work php

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.

Page 6: Frame work php

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.

Page 7: Frame work php

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.

Page 8: Frame work php

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.

Page 9: Frame work php

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.

Page 10: Frame work php

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.

Page 11: Frame work php

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.

Page 12: Frame work php

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.

Page 13: Frame work php

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.

Page 14: Frame work php

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.

Page 15: Frame work php

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.

Page 16: Frame work php

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>";

}

}

?>

Page 17: Frame work php

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.