PENGERTIAN FRAMEWORK
Framework
adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan script
(terutama class dan function) yang dapat membantu developer/programmer dalam
menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke
database, pemanggilan variabel, file,dll sehingga developer lebih fokus dan
lebih cepat membangunaplikasi.Bisa juga dikatakan Framework adalah
komponen pemrorgaman yang siap re-use kapansaja, sehingga programmer tidak
harus membuat skrip yang sama untuk tugas yang sama.Misalkan saat anda membuat
aplikasi web berbasis ajax yang setiap kali harus melakukan XMLHttpRequest,
maka Xajax telah mempurmudahnya untuk anda dengan menciptakan sebuah objek
khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah
satu contoh kecil, 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.
Macam-macam framework
1.Framework PHP
• CakePHP
• Code Igniter (CI)
• Symphony
• Zend
• Yii
• Kohana
2. Framework Javascript
• JQuery
• Mootools
3. Framework Ruby
• Ruby on Rails (ROR)
Saat
ini banyak sekali framework berbasis PHP, diantaranya yang paling populer
adalah Zend Framework, Symphony, Prado, CakePHP, CodeIgniter dan lain-lain.
Menurut beberapa survei, CodeIgniter adalah framework yang paling mudah
dipelajari,karena keserhanaan strukturnya dan kelengkapan dokumentasinya yang
baik. Selain itu, kerapiankode (clean and healthy code) dan ukurannya yang
ramping membuatnya lebih cepat diaksesdibandingkan dengan frameworklainya.Perlu diketahui nyaris (bahkan mungkin
semua) framework menggunakan konsep yangsama dalam membangun suatu aplikasi,
yaitu konsep MVC (Model View Controller).Kesimpulannya, kalau kita memahami
MVC, maka secara garis besar kigta sudah menguasaiframework, apapun jenis
frameworknya. Dan satu lagi kuncinya, pemahaman terhadap OOP (Object Oriented
Programming)akan sangat membantu dalam menguasai framework.
Sebenarnya hal ini sudah
sering di ulang-ulang, tapi karena ranking bersifat dinamis, pastinyasetiap
bulan urutan kepopulerannya selalu berbeda, sehingga penulis rasa hal ini perlu
dikabarilagi. Budaya penghargaan dan pemberian ranking pun terjadi pada
Framework PHP yang kinisemakin populer digunakan, beberapa bulan lalu, ci (code
Igniter) selalu nongkrong di posisiteratas, menjadi nomer satu paling banyak
digunakan para programmer dunia. Namun, selang beberapa bulan, yii muda, yang
ide awalnya mengambil dari prado, meski baru lahir, mampu menumbangkan
kompetitor yang sudah ada sebelumnya. Perlu diketahui Framework PHP yang
menganut konsep MVC (model, view, controller)menjadikan pembuatan aplikasi
berskala besar menjadi lebih cepat, dan mudah. Seorangdesigner tidak perlu lagi
merepotkan urusan koding PHP, begitu juga seorang programmer, tidak perlu
memikirkan masalah design interface. Benar-benar Framework PHP ini sangat
memudahkan.Sampai saat artikel ini ditulis.
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
Manfaat Framework
• Manfaatnya 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
Contoh:
Di dalam Framework tersedia library “Pagination“ misalnya, yang mana dalam
class tersebutterdapat fungsi yang memberikan nilai balik(return) link ke
halaman berikutnya, sebelumnya,awal, akir dll. nah dalam pengembangan system
kita bisa menggunakan class Pagination iniuntuk 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 disediakan, meski hal itu tentunya akan sangat membantu proses
development. Kelebihan yangbisa kita ambil dari framework adalah kerangka kerja
dari framework tersebut dalammenyelesaikan modul-modul yang dikembangkan
sehinga mengeluarkan sebuah metodepekerjaan yang lebih effisien, lebih rapi,
lebih bersifat general, dan lebih homogen.
Kelebihan dari Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah
memahamimekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu
proses pengembangansystem yang dilakukan secara team. Semua anggota di wajibkan
untuk memahami dari pola kerjaframework tersebut selebihnya anggota team hanya
mempelajari proses bisnis yang di kehendakioleh system untuk kemudian di
tuangkan kedalam framework tersebut. Dalam artian setiap orangharus mempunyai
metode yang sama dalam menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu
applikasi,karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan
modul. Dalam hal inimisalnya semakin banyak library yang ada semakin
mempercepat anggota untuk menemukansolusi karena tidak setiap anggota harus
membuat Class atau fungsi untuk kasus yang relatif sama.
Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam
artianjika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota
yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang
dikembangkan mempunyai logikayang berbeda tentunya akan memakan waktu yang
banyak untuk proses pemahan akan system tersebut.
Kesekian-kalinya dengan
adanya framework akan menjaga integritas dari modul-modulyang dikembangkan.
Tentunya hal ini juga tergantung dari metode yang dikembangkan
sendiri.framework hanya membantu dan memungkinkan/mempermudah proses integrasi,
tidak berartidengan adanya framework system otomatis akan ter-integrasi. Dan
masih ada kelebihan-kelebihan lain yang dimiliki oleh framework.
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
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.
Jika
dulu kita sering menggunakan cara konvensional dalam menuliskan script PHP dalammembuat
sebuah aplikasi web, mungkin sekarang saatnya kita mencoba sesuatu pola
scripting yang dengan menggunakan PHP Framework.
Apa itu PHP Framework?Sesuai namanya, framework dapat diartikan sebagai sebuah
kerangka kerja yang dapatmempermudah kita dalam menyelesaikan sebuah pekerjaan.
Dengan pengertian tersebut dapatdianalogikan, framework adalah sebuah kerangka
kerja dalam pengembangan website dinamis.Framework berbeda jika kita bandingkan
dengan CMS (Content Management System). Jikadengan CMS kita tak terlalu ambil
pusing dengan script PHP yang dibuat, akan tetapi tidak demikian dengan
Framework. Untuk membangun sebuah aplikasi, framework tetap harusmenuliskan
kode perintah PHP sesuai dengan lingkungan framework yang kita gunakan.Dalam framework,
metode pengembangan yang digunakan berbasis MVC (Model-View-Controller).
Disinilah letak perbedaan utama antara framework dengan CMS atau
PHPkonvensional. Dengan metode MVC, bagian tampilan, logika serta query
database diletakkansecara terpisah namun tetap sinkron sehingga pembuatan
aplikasi menjadi lebih terstruktur dansederhana. Model digunakan dalam
menuliskan script database, Controller untuk mengembangkan logika
pemrogramannya, sedangkan View berfungsi dalam menampilkanlayout dari aplikasi
yang kita buat.Macam-macam dari framework itu sendiri ada banyak,
antara lain CodeIgniter , Symfoni, Zend Framework,Yii Framework ,DooPHP, dan
lain-lain. Framework-framework tersebut memiliki karakteristik yang berbeda
antara satu dengan yang lainnya.
Kelebihan framework
antara lain sebagai berikut :
1. Ringan dan cepat.
Framework hanya melakukan pemanggilan pustaka/kelas yangdibutuhkan sehingga
meminimalkan resource yang diperlukan sehingga ketika kita me-load sebuah
halaman akan menjadi ringan dan cepat.
2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, dengan
metode MVC akan mempermudah kita dalam memahami alur pemrograman karena untuk
bagiantampilan, logika dan query database telah dipecah sedemikian rupa.
3. Mayortitas mendukung berbagai jenis database.
Kekurangan Framework
Setelah ditinjau dari berbagai ulasan, kekurangan framework sangat jarang
sekali. Namunpemilihan framework yang salah akan menjadi bencana.
Pemilihan Framework
Ada beberapa hal yang harus di pertimbangkan dalam memilih framework :Pertama
Documentasi dari framework itu sendiri. Documentasi sangat penting adanya
mengingatpada umumnya tidak banyak orang/perusahaan yang membuat framework
sendiri dalammembuat applikasi. Nah maka dari itu kita akan sangat tergantung
dengan documentasi yang disediakan oleh framework yang kita pilih.Berikutnya
kesesuaian framework tersebut dengan applikasi apa yang hendak kita
kembangkan.Mengambil filosofi “tidak perlu membunuh nyamuk dengan meriam”.
artinya sebaiknya kitamemilih framework dengan fasilitas yang pas dengan
kebutuhan kita.Berikutnya lagi perhatikan standar2 standart framework yang ada,
misalkan apakah framework tersebut MVC, apakah framework tesebut mendukung
versi sekian, apakah mendukungtemplating dll. Semakin banyak hal yang di
support oleh framework tersebut semakin baik.
Karena hal tersebut akan
mempengaruhi kualitas dari software yang dikembangkan.Berikutnya, adalah faktor
kemudahan. Tentunya ini sangat tergantung dari sumberdaya yang ada.Standart
kemudahan sangat sulit di ukur karena ini berhubungan dengan minat seseorang
akansesuatu. Namun melirik keatas berdasarkan documentasinya kita bisa
mengira-ngira pola kerja framework tersebut.
Kesimpulan:
Dengan adanya framework akan sangat membantu proses penyelesaian
pekerjaandidukung oleh analisa sistem yang baik dan pertimbangan sumberdaya
yang ada.
CONTOH-CONTOH FRAMEWORK
1. CodeIgniterCodeIgniter (CI)
Sebuah
framework untuk programmer yang ingin membangun websitedengan PHP. CI merupakan
langkah cepat untuk membuat sebuah website daripadamembangun sebuah website
dengan alur koding yang biasa. Dengan mempaketkan library-library, alur
pemrograman akan terstruktur dan logika bisnis/proses akan lebih
mudahdimengerti oleh developer/programmer lain. CI telah mempaketkan itu semua
sehinggamampu meminimalisirkan jumlah koding yang dibangun.
Kelebihan dari CodeIgniter
1. Gratis
CodeIgniter dilisensikan dibawah lisensi Apache/BSD style open source license,
iniberarti kita dapat menggunakannya sesuai dengan keinginan kita.
2. Berjalan di PHP versi 4 dan 5
Sekarang ini PHP sudah mencapai versi ke 5, meskipun begitu masih banyak orang
yangtetap menggunakan PHP versi 4, oleh sebab itu CodeIgniter dikembangkan agar
tetapkompatibel dengan PHP versi 4 dan dapat dijalankan pada PHP versi 5.
3. Ringan dan cepat.Secara default CodeIgniter hanya berjalan dengan me load
beberapa pustaka saja, dengandemikian hanya membutuhkan resource yang sedikit
sehingga ringan dan cepatdijalankan. Pustaka-pustaka lain yang nantinya akan
digunakan bisa di load sesuaidengan kebutuhan.
4. Menggunakan MVC.CodeIgniter menggunakan lingkungan pengembangan dengan
metode Model ViewController (MVC) yang membedakan antara logika dan
presentasi/tampilan, sehinggatugas bisa lebih mudah dipecah-pecah. Ada bagian
yang khusus membuat tampilan danbagian yang membuat core programnya.
5. Dokumentasi.Salah satu hal yang bisa dijadikan barometer
apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari
dokumentasinya. Dalam hal ini CodeIgnitersangat luar biasa, terdapat
dokumentasi yang sangat lengkap tentang semua hal yang adadalam CodeIgniter.
Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nyatersedia.
Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajarilingkungan
pengembangan website dengan CodeIgniter.
Pustaka yang lengkap.CodeIgniter dilengkapi dengan berbagai pustaka siap pakai
untuk berbagai kebutuhan, misalnyasaja koneksi database, email, session dan
cookies, keamanan, manipulasi gambar dan banyak lagi.
1. CODEIGNITER
Framework
CodeIgniter merupakan framework pengembangan aplikasi web yang menggunakanPHP.
Tujuan dari CodeIgniter adalah untuk memberikan kesempatan kepada orang untuk
membuat web lebih cepat dibanding apabila dilakukan dari nol (from scratch)
dengan menyediakan sekumpulan library untuk mengerjakan proses-proses yang
biasa dilakukan,disertai dengan interface dan struktur logika yang sederhana
untuk mengakses
library
ini.
Beberapa keuntungan yang didapat dari CodeIgniter diantaranya adalah:
• CodeIgniter ini merupakan framework yang gratis, dimana kita bisa mengunduh
danmenginstallnya tanpa harus membayar.
• CodeIgniter ini sangat ringan, dimana system utamanya hanya memerlukan
sedikit sekali library. Berbeda dengan kebanyakan framework yang membutuhkan
resources yang lebih banyak. Library tambahan dapat ditambahkan secara dnamis
berdasarkan permintaan sehingga system dasar sangat kecil dan cepat.
• Framework telah banyak dibuktikan sebagai framework yang cepat
dibandingkankebanyakan framework PHP yang ada.
• CodeIgniter menggunakan pendekatan konsep Model-Visual-Controller
(MVC),sehingga pengembangan aplikasi menjadi lebih teratur dan terstruktur.
• CodeIgniter datang dengan sekumpulan library yang biasanya dibutuhkan untuk
mengembangkan website, misalnya untuk mengakses database, mengirim
email,memvalidasi form data, memelihara session, memanipulasi gambar, dan sebagainya.
• CodeIgniter dapat dengan mudah diperluas kemampuannya sesuai dengan yang
kitainginkan melalui penggunaan plugin dan helper.Kekurangannya :
• Tidak mendukung AJAX, dan ORM
• Meyediakan dan memisahan file-file dalam MVC pattern, tapi masih memberikankebebasan
user untuk melanggar aturan MVC
2. SYMFONY
Symfony adalah framework
web yang ditujukan untuk PHP 5. Selain itu Symfony jugakompatibel dengan
berbagai sistem database. Sama seperti CakePHP dan CodeIgniter, Symfonyjuga
menganut arsitektur MVC (Model View Controller).Dukungan untuk AJAX juga
tersedia di framework Symfony ini. Dokumentasi yang disediakancukup baik.
Mungkin yang menjadi persoalan adalah proses instalasi dan konfigurasi
cukuprumit bila dibandingkan dengan framework sebelumnya.
Kelebihan
– 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.” inimenjadi kelebihan sekaligus kekurangan.Kekurangan
– Tidak mendukung PHP4.
– Relatif butuh waktu lama untuk mengerti framework ini.
– Instalasi dan konfigurasinya cukup rumit
3. ZEND FRAMEWORK
Zend
Framework sebagai media yang memudahkan membuat website.Berdasarkan informasi
dari situs resminya, disebutkan bahwa fokus dari Zend Framework iniadalah untuk
membangun aplikasi berbasis Web 2.0 dan untuk memudahkan dalam mengaksesAPI
dari berbagai vendor seperti Google, Amazon, Yahoo! , dan Flickr.Tidak mengherankan
jika Zend Framework menyediakan berbagai modul yang spesifik untuk Web 2.0,
seperti AJAX, Syndication, Search, dan Web Services.
Kelebihannya :
– Dukungan terhadap AJAX, ORM.
– Berdasarkan informasi dari situs resminya, disebutkan bahwa fokus dari
ZendFramework ini adalah untuk membangun aplikasi berbasis Web dan untuk
memudahkandalam mengakses API dari berbagai vendor seperti Google, Amazon,
Yahoo!, dan Flickr.
Kekurangannya :
– 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
sudahsangat tinggi.
– JQuery
JQuery adalah framework
sekaligus kumpulan script-script yang berguna untuk membuat webmenjadi lebih
interaktif, terlihat powerfull dan animasi yang bagus. Jquery ditulis dengan
menggunakan javascript sebagai sebuah file tunggal.
JQuery ini memiliki keunggulan pluginable,artinya JQuery bisa ditambahi dengan
berbagai plugin. Sayangnya JQuery ini cukupsulit untuk dipelajari, paling tidak
harus mengenal javascript dan konsep OOP.
2. Ajax
Dengan menggunakan ajax
framework anda tidak perlu lagi membuat script ajax. Tetapi apa yang dimaksud
dengan ajax framework? adalah lingkungan pengembangan aplikasi ajax, didalamnya
berisi sejumlah fungsi yang bisa digunakan untuk membangun aplikasi
ajax.misalkan fungsi request data, mengirim data melalui form, meload halaman
dll, tergantung skaladan tujuan pembuatan ajax framework
tersebut. Ada banyak ukuran ajax framework, dari yangpaling sederhana sampai
rumit.
Jadi dengan menggunakan ajax framework
tersebut andaHANYA menggunakan fungsi yang sudah tersedia untuk mengembangkan
web anda. Nantinya aplikasi yang dihasilkan akan sesuai dengan kemampuan
framworknya. Jika ajax framework yang anda pilih hanya bisa mengirim data lewat
form, dan merequest data, maka aplikasi andahanya mampu menjalankan aksi
tersebut, kecuali anda merubah ajax framework nya.
Keuntungan Menggunakan
ajax framework
Ada banyak keuntungan menggunakan ajax framework
diantara menghemat pikiran dantenaga, kenapa? anda tidak perlu pusing-pusing
hanya karena membuat rutin-rutin ajax, serahkansaja pada
ajax framework. Anda tinggal menggunakannya saja. Dan yang perlu diperhatikan
ajax framework biasanya sudah dites, artinya kemungkinan ada bug kecil, jika
nanti ditemukan,anda tinggal mengupdate ajax frameworknya saja. Keuntungan
lain, aplikasi yang anda buat lebih terstruktur, stabil dan mudah dikembangkan.
Kekurangan menggunakan ajax framework
Selain kelebihan ada juga kekurangan. Jika anda tidak pintar memilih
ajax framework bukan kecepatan aplikasi yang anda dapatkan, malah aplikasi anda
terasa lambat, berat untuk diakses,kenapa? sebagian ajax framework memiliki
ukuran yang besar dengan jumlah baris kode yangbanyak. file dengan banyak baris
tersebut di-include-kan pada halaman awal, maka dibutuhkanwaktu khusus untuk
mendownload file ajax framework tersebut.
Sumber : "https://sheteeguh.wordpress.com/materi-matematika/framework-php/"
Komentar
Posting Komentar