Anda di halaman 1dari 13

Ê Ê

   


 Ê  

Framework dalam dunia software dapat diartikan sebagai sebuah abstraksi


dimana di dalamnya terdapat kode-kode program yang menyediakan fungsi
generik yang dapat dikustomisasi oleh pengguna framework sesuai dengan
kebutuhannya. Penggunaan framework dapat memberikan berbagai keuntungan,
misal:

‘ Vapat dilakukan standarisasi proses pengembangan atau development


‘ Veveloper dapat berkonsentrasi pada masalah-masalah bisnis yang spesifik
‘ ½encegah pekerjaan yang berulang (redundant)
‘ ½eningkatkan produktivitas

    
Valam makalah ini yang akan dibahas adalah pengenalan tentang Web
Framework :
‘ ½ 
‘ Fitur
‘ £eknologi
‘ ontoh PHP Framework
‘ £ips memilih PHP Framework
‘ £estimoni dari beberapa PHP Framework

    
£ujuan dari pembahasan-pembahasan diatas adalah agar kita lebih
memahami hal tentang Web Framework, mengetahui metode penggunaan ½ ,
mengetahui jenis Web Framework dan perkembangannya.

c
Ê Ê

Ê   


‘   ! "#

Web framework biasa dikenal dengan web application framework. Web


application framework adalah suatu software framework yang didesain untuk
mendukung pengembangan web dinamis, aplikasi web dan web service.
(wikipedia). Pemrograman web berbasis framework didasarkan pada konsep OOP
(Object Oriented Programming).

 ‘$%&#'($)"(%# #*
rsitektur ½odel- iew-ontroller adalah sebuah pola yang terbukti
membangun proyek secara lebih efektif. Hal itu dilakukan dengan
memilah komponen antara ½odel, iew dan ontroller pada bagian ± bagian
dalam proyek. ½  berhubungan erat dengan arsitektur dari Web Framework.

Viagram di atas menunjukkan 3 komponen yang terdapat dalam


pola ½  dan interaksi yang terjadi.

0
 
#'
Pola ½  memiliki layer yang disebut dengan ½odel yang
merepresentasikan data yang digunakan oleh aplikasi sebagaimana
proses bisnis yang diasosiasikan terhadapnya. Vengan memilahnya
sebagai bagian terpisah, seperti penampungan data, persistence, serta proses
manipulasi, terpisah dari bagian lain aplikasi.
£erdapat beberapa kelebihan dalam pendekatan ini. Pertama, membuat
detail dari data dan operasinya dapat ditempatkan pada area yang
ditentukan (½odel) dibanding tersebar dalam keseluruhan lingkup
aplikasi. Hal ini memberikan keuntungan dalam proses maintenance aplikasi.
Kedua, dengan pemisahan total antara data dengan
implementasi interface, komponen model dapat digunakan kembali oleh
aplikasi lain yang memiliki kegunaan yang hampir sama.

  $)"
Layer ini mengandung keseluruhan detail dari implementasi user
interface. Visini, komponen grafis menyediakan representasi proses
internal aplikasi dan menuntun alur interaksi user terhadap aplikasi. £idak ada
layer lain yang berinteraksi dengan user, hanya iew.
Penggunaan layer iew memiliki beberapa kelebihan : Pertama,
memudahkan pengabungan divisi desain dalam development team. Vivisi
desain dapat berkonsentrasi pada style, look & feel, dan sebagainya, dalam
aplikasi tanpa harus memperhatikan lebih pada detail yang lain.
Van juga, memiliki layer iew yang terpisah memungkinkan ketersediaan
multiple interface dalam aplikasi. Jika inti dari aplikasi terletak pada
bagian lain (dalam ½odel), multiple interfaces dapat dibuat (Swing, Web,
onsole), secara keseluruhan memiliki tampilan yang berbeda namun
mengeksekusi komponen ½odel sesuai fungsionalitas yang diharapkan.

º
  %# #

£erakhir, arsitektur ½  memiliki layer ontroller. Layer ini menyediakan


detail alur program dan transisi layer, dan juga bertanggungjawab akan
penampungan events yang dibuat oleh user dari iew dan melakukan update
terhadap komponen ½odel menggunakan data yang dimasukkan oleh user.
Kelebihan dalam penggunaan layer ontroller secara terpisah :
Pertama, dengan menggunakan komponen terpisah untuk menampung
detail dari transisi layer, komponen view dapat didesain tanpa harus
memperhatikan bagian lain secara berlebih. Hal ini memudahkan team
pengembang multiple interface bekerja secara terpisah dari yang lain secara
simultan. Interaksi antar komponen iew terabstraksi dalam ontroller.
Kedua, dengan menggunakan layer terpisah yang melakukan
update terhadap komponen ½odel, detail tersebut dihapus dari layer
presentasi. Layer presentasi kembali pada fungsi utamanya untuk menampilkan
data kepada user. Vetail tentang bagaimana data dari user mengubah
ketetapan aplikasi disembunyikan oleh ontroller. Hal ini
memisahkan dengan jelas antara presentation logic dengan business
logic.
£idak dapat disimpulkan bahwa pola ½  hadir dengan kelebihan ±
kelebihan tanpa ada efek samping. Pembagian aplikasi dalam 3
bagian terpisah meningkatkan kompleksivitas. Pada aplikasi kecil yang
tidak membutuhkan loose coupling pada ½odel, hal ini dapat menjadi
blok penghalang dalam penggunaan pola ini. Bagaimanapun,
yang terbaik adalah untuk meyakini bahwa sebuah aplikasi
umumnya dimulai dari aplikasi sederhana, dan berkembang menjadi
sistem yang kompleks., sehingga factor loose coupling harus selalu diutamakan
dan diperhatikan.


 !) 

‘ +) ,: berhubungan dengan ÷ ÷dan ÷  


÷
‘    ++ '  --) : berhubungan dengan pengaksesan
database.
‘    --) . pemetaan URL dari URL ³real´ ke URL ³virtual´.
ontoh : ` ÷    ÷   menjadi
` ÷ `` .
‘  - , .minimalisasi  .
‘ % +) . dokumen/data disimpan sebagai ÷ untuk meminimalkan
÷.
‘  /&Asynchronous JavaScript and XML*.membuat aplikasi web lebih
interaktif.
‘  # )+ +#0) )# . konfiggurasi otomatis pada objek atau
komponen.
‘ 1)+.berhubungan dengan integritas data dan aplikasi.

 2##)

‘ Ê   #  
‰‘ Java- oldFusion- Perl, Python, Ruby, Lua
‰‘ £L
‰‘ JavaScript
‰‘  and B.NE£- PHP
‰‘ ommon Lisp
‰‘ Smalltalk

Ê ) 3- )

·‘ )'#"
·‘ )/
·‘  +

6
 4%# #! "#

5-! "# )&6


6557*
$).""" --0 "# +#
c. PHPVevShell (avg: 4.6)
2. Symfony Project (avg: 4.5)
3. kelos (avg: 4.5)
4. odeIgniter (avg: 4.3)
5. ZooP (avg: 4.3)
6. Prado (avg: 4.2)
7. akePHP (avg: 4.2)
8. Yii (avg: 3.6)
9. Zend (avg: 3.5)
c . Seagull (avg: 3)

Vownload PHP Framework


‘ odeIgniter c.5.4 (codeigniter.com/download.php)
‘ Prado 3.c.c (pradosoft.com/download)

Î
‘ PHPVevShell .7.
(sourceforge.net/project/showfiles.php?group_id=c845 2)
‘ Zend c. .2 (framework.zend.com/download)
‘ akePHP c.2. .5875 (cakephp.org/downloads)
‘ Symfony Project c. .9 (symfony-project.org/content/download)
‘ Seagull .6.5 (seagullproject.org/download)
‘ PHP on £R  .c4. (phpontrax.com/downloads)
‘ ZooP c.3bc (sourceforge.net/project/showfiles.php?group_id=c54726)

 8‘)-) ))! "#


c.‘ Ketika kita dihadapkan pada sebuah project web yang memang
memerlukan pengerjaan dari awal dan ½S yang ada tidak memenuhi
requirement, pilihannya adalah:
‘ buat semuanya dari awal, termasuk fungsi-fungsi, class-class dsb
‘ menggunakan fungsi-fungsi dan class-class yang udah ada
‘ menggunakan PHP framework
2.‘ £ips :
‘ Jangan hanya berdasarkan fitur tapi sesuaikan dengan kebutuhan project
dan kemampuan individu
‘ Seberapa banyak waktu yang dimiliki
‘ Vokumentasi & Komunitas
‘ £hird Party Support
‘ Jangan terpengaruh pendapat orang lain, karena kebutuhan masing-masing
individu berbeda-beda.
3.‘ Pilihan framework yang cukup terkenal (menurut : okto.silaban.net):
‘ Prado - PHP (contoh : website Univertias Indonesia)
‘ odeIgniter - PHP(contoh : OkeZone.com)
‘ Ruby On Rails - Ruby (contoh : SharingFoto.com)
‘ akePHP - PHP (contoh : Ownafe.com) : Salah seorang yang sangat
aktif dalam edukasi akePHP di Indonesia adalah  ))  

*
(alumni £eknik Elektro UG½). Situs lokal cake-php bisa dilihat di
÷  .
‘ Symfony (PHP), Vjango (Python), dll
 9‘ )#) 
:#   ( ! "#  %#')  $) :#) 
&# # )    *
‘ I ini bukanlah dikembangkan oleh komunitas, tetapi oleh sebuah
perusahaan (vendor), yang bernama ) .
‘ akePHP yang cukup strict (onvention over onfiguration)
‘ Solusi : Kohana (KohanaPHP.com)
‘ Keterbatasan : Kohana hanya bisa berjalan dengan PHP5 (tidak support
PHP4).
‘ Perbedaan Kohana dan i selengkap di:
 ``÷ ```` ÷   ÷ ÷
  ÷   ÷÷÷`
%#') (igorpanggabean.wordpress.com)
‘ Sangat mudah dipahami untuk orang yang baru pertama kali menggunakan
framework.
‘ Konsep ½ . Konsep ini memudahkan untuk membentuk susunan
programnya. Jelas bentuknya. ontroller tugasnya mengatur akses untuk
setiap file. ½odeller murni mengurusi urusan dengan database. iewer
hanya berupa tampilan yang siap dipanggil dengan diberikan data
tambahan oleh controller.
‘ OOP based
‘ £utorial lengkap
‘ Vokumentasi lengkap
,0#,(! "#&# ' ()- +#*
‘ mencoba framework Symfony yang katanya salah satu framework PHP
terbaik

A
‘ Setelah membaca buku dokumentasi dan sumber lain yang kukumpulkan
saya jadi mengoreksi pemahaman saya tentang framework tersebut, karena
ternyata bahasannya lebih luas.
‘ saya telah memilih framework ini sebagai bahan uji coba untuk
pendalaman pemahaman tentang programming framework.
X))! "#&""" )## +#*
‘ ½enggunakan pola ½ 
‘ ½enggunakan database abstraction layer seperti Vata ccess Objects
(V O) dan active Record untuk memudahkan interaksi dengan
database
‘ £erintegrasi dengan JQuery Javascript Framework.
‘ ½endukung Internationalization (Ic8N) and localization (Lc N)
‘ ½emiliki layer cache untuk cache data, halaman, sebagian, dan
keseluruhan aplikasi
‘ Fitur penanganan error dan logging
‘ Penggunaan theme
‘ onsole, penggunaan perintah pada console untuk melakukan beragam
perintah otomatis
‘ Vukungan authentication dan authorization internal
‘ Widget, semacam kontrol yang memiliki fungsi tertentu seperti
autocomplete, datapicker, table, dan lain-lain
‘ Vukungan form input dan validasi
‘ ½odular dan mudah ditambahkan

ü
Ê Ê




‘:)- 

Web Framework yang biasa dikenal Web pllication Framework yaitu


suatu software framework yang didesain untuk pengembangan web diamnis,
aplikasi web, dan web service. Framework sendiri adalah abstraksi kode-kode
program yang menyediakan fungsi generik yang dapat dikustomisasi oleh
pengguna framework sesuai dengan kebutuhannya.

Framework menyediakan librari yang lengkap dan terintegrasi. Unsur inilah


yang paling banyak memberikan keuntungan bagi pengembang aplikasi. Sebagai
contoh, framework aplikasi web menyediakan librari-librari dasar berkaitan
layanan web, seperti authentication, database access, html generation, template
engine, session management, caching, searching, email, http, pdf, zip dan ajax.
Framework juga menyediakan sarana  untuk librari-librari yang belum
tersedia atau librari yang perlu ditingkatkan kemampuannya.

Beberapa manfaat yang dapat kita peroleh dengan menggunakan framework


dalam pengembangan aplikasi :

‘ Penggunaan komponen-komponen  ÷, waktu pengembangan lebih


singkat
‘ Penerapan   ÷  memudahkan dalam rancangan, pengembangan
dan pemeliharaan sistem
‘ Ñ÷ dan ÷, aplikasi yang kita bangun lebih stabil dan handal
karena berbasis pada framework yang sudah teruji stabilitas dan
kehandalannya.
‘ Œ   konsisten, memudahkan dalam membaca kode dan dalam
menemukan bugs

c
‘ Ñ   , framework mengantisipasi dan memasang perisai
terhadap adanya berbagai masalah keamanan yang mungkin timbul
‘ Vokumentasi, framework dapat mendisiplinkan kita untuk menulis
dokumentasi untuk apa yang kita tulis

plikasi apapun, bagian dalam kode yang sering mengalami


perubahan adalah bagian user interface. User interface adalah bagian yang
paling terlihat oleh user dan bagaimana ia berinteraksi dengan aplikasi,
membuatnya menjadi titik fokus pengubahan berdasar kemudahan penggunaan.

Business-logic yang rumit pada user-interface membuat pengubahan


pada user interface menjadi lebih kompleks dan mudah terjadi kesalahan.
Perubahan pada satu bagian memiliki potensi keterkaitan dengan keseluruhan
aplikasi.

Pola ½  menyediakan sebuah solusi terhadap permasalahan


tersebut dengan membagi aplikasi menjadi bagian ± bagian tersendiri,
½odel, iew dan ontroller, memisahkan antar bagian tersebut dan membuat
tata interaksi diantaranya.

Fitur-fitur pada web framework, yaitu :

‘ Security
‘ Vatabase access and mapping
‘ URL mapping
‘ Web template system
‘ aching
‘ jax (   ÷÷Ñ  ÷)
‘ utomatic configuration
‘ Web services

cc
  ‘  

Untuk menghindari salah pilih, beberapa kriteria perlu dipertimbangan sebelum


memutuskan memilih salah sebuah framework. Pertanyaan-pertanyaan berikut
bisa menjadi acuan:

‘ pakah fitur-fitur framework sesuai dengan apa yang kita butuhkan


‘ pakah framework mudah untuk dikembangkan fitur-fiturnya atau
ditambahkan fitur baru
‘ pakah  -nya cocok dengan anda
‘ pakah memiliki komunitas dan forum diskusi yang aktif
‘ pakah framework sudah cukup stabil untuk digunakan dalam produksi
‘ pakah mudah dipelajari dan dokumentasinya baik dan lengkap
‘ pakah terdapat contoh-contoh aplikasi yang menggunakan framework
tersebut
‘ pakah framework digunakan secara luas
‘ Bagaimanakah performanya, sesudah dilakukan pengetesan
‘ pakah framework dapat dengan mudah diterapkan pada team/perusahaan
anda, dengan mempertimbangan kesiapan   yang ada

c0
 0   

http://hasan.staff.uad.ac.id/new/attachments/c 8_£emuanc -pengenalan-web-


framework.pdf

http://poss.ipb.ac.id/files/JENI-Web%2 Programming-Bab%2 7-
Pengenalan%2 ½ .pdf

http://id.wikipedia.org

http://phpframeworks.com

http://phpug.or.id

http://okto.silaban.net

http://ex3me.org

http://blog.dark-ipl.com

http://igorpanggabean.wordpress.com

http://thinkrooms.com

http://infernoblast.com

http://sigit.staf.uajy.ac.id

Anda mungkin juga menyukai