FRAMEWORK
Framework adalah kumpulan dari
fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang
sudah siap digunakan. Sehingga bisa mempermudah dan mempercepat pekerjaan
seorang programmer, tanpa harus membuat fungsi atau class dari awal. Jadi,
dengan adanya framework, pekerjaan kita akan lebih tertata dan terorganisir.
Sehingga dalam pencarian kesalahan dalam pembuatan program akan lebih mudah
dideteksi. Intinya, framework merupakan pondasi awal kita sebelum menentukan
memakai bahasa pemrograman apa yang akan kita pakai. Setelah kita menentukan
mau pakai framework apa, baru kita bangun programnya diatas framework itu.
Tanpa framework, kita akan kesulitan saat membuat program.
Cara
instalasi YII Framework sangat mudah. Berikut tahapan – tahapan instalasi YII
Framework.
3. Copykan
file Yii yang bernama yii-1.1.13.e9e4a0.tar.gz (hasil download) pada
folder htdocs kita. (ditempat saya C:\xampp\htdocs), kemudian lakukan ekstrak
file tersebut maka akan terbentuk folder dengan nama yii-1.1.13.e9e4a0, ubah
nama folder tersebut menjadi yii-IIN (sesuai kehendak kita).
4. Kemudian
kita akan melakukan generate folder yii-IIN
tersebut, dengan cara membuka halaman command prompt kita.
Kemudian
ketikkan source code berikut C:\xampp
untuk masuk ke directory web server lokal. Seperti terlihat pada gambar
berikut.
Lalu tekan Enter, selanjutnya ketikkan source code berikut
php.exe C:\xampp\htdocs untuk masuk ke directory htdocs.
Selanjutnya ketikkan kembali
source code berikut C:\xampp\php\php.exe C:\xampp\htdocs\yii\
framework\yiic\webapp C:\xampp\htdocs\yii-IIN. Lalu tekan Enter.
Kemudian
akan muncul pertanyaan Create a Web application under ‘C:\xampp\htdocs\yii-IIN’?
[Yes|No] Lalu kita pilih Yes. Dan tunggu generator dari Yii framework berhasil
membuatkan sebuah simple web application untuk anda.
The
last, cek apakah Yii framework benar-benar berhasil membuatkan anda sebuah
simple blog dalam hitungan detik dengan mengetikkan 'localhost/yii-IIN' di
browser anda.
Jika berhasil maka akan muncul
tampilan web seperti pada gambar berikut.- Perbedaan Konsep Pemrograman Framework (MVC) dengan Pemrograman Biasa
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.
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.
Ada
beberapa alasan mengapa menggunakan Framework:
- Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
- Memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam setiap framework. (Dengan syarat programmer mengikuti pola standar yang ada)
- Framework menyediakan fasilitas-fasilitas umum yang 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.
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)
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 framework
lainya.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.
Kebanyakan framework dalam aplikasi website
berarsitektur MVC. Model View Controller merupakan suatu konsep yang cukup
populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small
Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen-komponen utama
yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan
bagian yang menjadi kontrol aplikasi.
Terdapat
3 jenis komponen yang membangun suatu MVC:
- View, merupakan bagian yang menangani presentation logic atau tampilan. 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.
Dengan menggunakan prinsip MVC suatu aplikasi dapat
dikembangkan sesuai dengan kemampuan developernya, yaitu ada programmer yang
menangani bagian model dan controller, sedangkan designer yang menangani bagian
view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan
organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara
programmer dan designer dalam menangani variabel-variabel yang akan
ditampilkan.
Jika dulu kita sering menggunakan cara
konvensional dalam menuliskan script PHP dalam membuat sebuah aplikasi web,
mungkin sekarang saatnya kita mencoba sesuatu pola
scripting yang dengan menggunakan PHP Framework.
scripting yang dengan menggunakan PHP Framework.
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.
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.
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.
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.
- Alur MVC pada yii Framework.
Pada Yii Framework pola HMVC disebut sebagai module. Pola
module didefinisikan sebagi unit
piranti lunak berdiri sendiri yang terdiri dari model, view, controller dan komponen
pendukung lainnya. Dalam banyak aspek, sebuah module mirip dengan aplikasi. Perbedaan utamanya
adalah bahwa module tidak bisa digunakan sendirian dan harus berada di dalam
sebuah aplikasi. Pola mengunakan module (HMVC), disarankan ketika
mebangun aplikasi bersekala besar, module-module yang dibangun dapat
dikembangkan maupun di- maintenance secara terpisah dan juga dapat digunakan /
dipakai pada projek mendatang. Adapun Gambaran
steruktur pola HMVC dan MVC.
Yii
framework menyediakan reusability maksimum dalam pemrograman Web dan
mampu meningkatkan performa kecepatan pengembangan secara significant.
- Persyaratan
Untuk dapat menjalankan aplikasi web
berbasis Yii, maka diperlukan server web yang mendukung PHP 5.1.0.Dan untuk
melakukan develop dengan menggunakan Yii lebih dianjurkan memahami konsep OOP,
karena Yii merupakan framework OOP.
Gambar:
Pola MVC dan HMVC
Gambar:
Struktur statis aplikasi Yii