1. MEMBANGUN APLIKASI BERBASIS WEB DENGAN MENGGUNAKAN
FRAMEWORK
Oleh :
Nama : Gusti Ayu Indriani
Nim : 3133111034
MANAJEMEN INFORMATIKA
FAKULTAS BISNIS DAN TEKNOLOGI INFORMASI
UNIVERSITAS TEKNOLOGI YOGYAKARTA
2014/2015
2. PENDAHULUAN
A. PENGERTIAN 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.
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.
Apa itu CMS ?
CMS adalah singkatan dari (Context Management System). Merupakan sebuah software
yang memungkinkan seseorang untuk menambah, menghapus, atau memanipulasi isi dari
suatu situs web. Dalam CMS, tidak diperlukan keahlian khusus dalam menguasai bahasa
pemrograman web seperti HTML, PHP, ASP, dsb. Proses memodifikasi atau
memanipulasi datanya berbentuk GUI (Graphics User Interface), tidak berbentuk coding.
Kemampuan dari CMS berbeda-beda, walaupun begitu, kebanyakan dari software ini
memiliki fitur publikasi berbasis web, manajemen format, kontrol revisi, pembuatan
index, pencarian, dan pengarsipan. Dan kebanyakan CMS ini gratis. Karena kita tidak
perlu untuk membeli domain. Pemanfaatan CMS antara lain:
1. Situs web perusahaan, bisnis, organisasi, atau komunitas
2. Galeri foto
3. 3. Aplikasi E-commerce (Jual-Beli Online)
4. Mengelola website pribadi (Blog)
5. Situs E-learning
B. PENGERTIAN MVC
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:
1. 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.
2. 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.
3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian
view, controller berfungsi untuk menerima request data dari user kemudian menentukan
apa yang akan diproses oleh aplikasi.
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.
4. PEMBAHASAN
a. Pengertian Yii Framework
Yii framework adalah salah satu aplikasi PHP berbasis-komponen, aplikasi ini
sangat berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Aplikasi Yii
menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan
kecepatan pengembangan secara signifikan.
Apliaksi Yii sendiri kepanjangan dari “Yes It Is”.
Keunggulan Yii
1. Open Source
2. Memakai Konsep MVC (Model,View,Controller)
3. Mendukung Ajax
4. Fungsi yang otomatis
5. Terhubung dengan Jquery
Untuk menjalankan aplikasi Yii framework yaitu memerlukan server Web yang mendukung
PHP Bagi para pengembang yang ingin menggunakan Yii framwork harus mengerti
pemrograman berorientasi-objek (OOP) akan sangat membantu, karena Yii
merupakan framework OOP murni.
b. CodeIgniter
Codelgniter adalah salah satu aplikasi close source yang berupa framework dengan model
MVC(Model, View, Controller) untuk membangun website dinamis dengan menggunakan
PHP. CodeIgniter memudahkan untuk membuat aplikasi web dengan cepat dan mudah
dibandingkan dengan membuatnya dari awal. CodeIgniter merupakan sebuah framework
PHP yang bersifat semi-OO
Keunggulan:
Mempelajarinya Mudah
Support di PHP 4
Memakai konsep MVC
Gratis
Ukuran Cepat dan File Kecil
5. Kekurangan
1. Codeigniter dikembangkan oleh Ellislab, yang menyebabkan update core engine-nya
tidak secepat framework lain.
2. Tidak ditujukan untuk pembuatan web dengan skala besar (enterprise) walaupun tersedia
banyak library.
3. Masih banyak kelonggaran dalam hal coding, misalnya bebas dalam menambah file.
4. Tidak mencerminkan MVC yang sesungguhnya,menggunakan penulisan echo masih
dapat dilakukan pada file controller.
5. pengembangan aplikasi dengan framework ini sangatlah terbatas
c. CakePHP
CakePHP merupakan sebuah framework PHP yang bersifat open source (gratis).
CakePHP merupakan struktur dasar bagi para programmer dalam mebuat suatu
aplikasi web. Secara umum, tujuan dari adanya CakePHP adalah untuk memungkinkan
kita untuk bekerja dalam cara yang terstruktur dan cepat tanpa kehilangan fleksibilitas (Agus
Saputra, 2011). CakePHP merupakan suatu struktur kerja yang memiliki fungsi,
modul, class, dan aturan-aturan dari semua kebutuhan aplikasi web yang memudahkan
developer dalam mengembangkan we secara terstruktur dan cepat serta memiliki kelebihan –
kelebihan tersendiri dari setiap masing masing jenis framework yang dipakai.
Framework ini mengusung konsep arsitektur MVC (Model-View-Controller) dan juga ORM
(object Relation Mapping). Aplikasi yang dibuild dengan cakePHP bisa dirunning di
PHP4 ataupun dalam PHP 5 Dalam koneksi database fremawork ini mensupport
MySql,SQLLITE,PGSQL,DB2 dan juga Oracle.
Framework ini menyediakan modul tambahan berupa Otentifikasi User, securty, access
control list sehingga memungkinkan membangun aplikasi dengan cepat. Selain itu
cakePHP 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
6. d. Symfony Framework
Symfony bertujuan untuk mempercepat penciptaan dan pemeliharaan aplikasi web dan untuk
menggantikan tugas-tugas coding berulang .
Symfony memiliki overhead kinerja rendah digunakan dengan cache bytecode .
Symfony bertujuan untuk membangun aplikasi yang kuat dalam konteks perusahaan, dan
bertujuan untuk memberikan pengembang kontrol penuh atas konfigurasi : dari struktur
direktori ke perpustakaan asing , hampir semuanya dapat disesuaikan . Untuk mencocokkan
pedoman pengembangan usaha , Symfony dibundel dengan alat tambahan untuk membantu
pengembang tes, debug dan dokumen proyek
Kelebihan symphony
1. Dukungan terhadap AJAX, ORM.
2. Support dengan berbagai macan database.
3. Tersedia Banyak library dan fungsi symfony . Bahkan hampir mendekati CMS. Sehingga
ada yang mengatakan ”Symphony is a CMS with a heart Of a framework. Ini menjadi
kelebiiahn sekaligus kekurangan
Kekurangan:
1. Tidak mendukung PHP4.
2. Relaptif membutuhkan waktu yang lama utuk mengerti framework
3. Menbutuhkan instalasi dan konfigurasinya yang cukup rumit
e. Zend Fremawork
PHP zend fremawork adalah salah satu jenis aplikasi framework PHP yang banyak di
gukanakan dalam membuat website. Aplikasi zend fremawork sudah mendukung PHP5 dan
juga sudah dilengkapi dengan konsep MVC yang tersusun berbagai module pendukung.
Framework merupakan salah satu kumpulan fungsi yang sangat membantu programmer
ketika menyusun aplikasi. Programmer bisa memakai berbagai fungsi ataupun library yang
telah disediakan dalam framework dengan cara yang telah ditentukan. Berikut ini kelebihan
dan kekurangan dari Zend Framework.
7. Kelebihan
1. Dukungan terhadap AJAX, ORM.
2. Informasi Berdasarkan 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.
Kekurangan
1. PHP4 Tidak mendukung.
2. Penggunaan secara manual kurang mengakomodasi kebutuhan.
3. Performanya relatif lambat (mungkin karena banyaknya library).
4. Framework ini cocok untuk orang dengan skill PHP.
f. Laravel Framework
Laravel adalah framewok PHP yanng sudah di kembangkan pertama kali oleh Taylor
Otwell.walaupun termasuk aplikasi, laravel sudah berkembang pesat dan sudah menjadi
alternatif utama dari sejumlah fremawork besar CodeIgniter dan FuelPHP yang memiliki
keunikan tersendiri dari sisi coding yang lebih ekspresif dan elegan.
Keungulan Laravel daripada framework lain antara lain:
1. Dengan Coding yang simpel dan mudah
2. Menyediakan generator yang canggih dan mudah, Artisan CLI
3. Berbagai database menggunakan Fitur Schema Builder
4. Dengan Fitur Migration & Seeding untuk berbagai database,
5. Dengan Fitur Query Builder yang keren,
6. Eloquent ORM yang luar biasa,
7. Fitur membuat package dan bundle,
Laravel untuk pertama kali berkembang atau dikembangkan sendiri oleh Taylor Otwell.
Namun hanya sampai versi ke-4 sekarang, framework opensource ini berkembang
dikembangkan bersama oleh komunitas dengan tokoh-tokoh penting selain Otwell itu sendri
ada bererapa orang yaitu Dayle Rees, Shawn McCool, Jeffrey Way, Jason Lewis, Ben
Corlett, Franz Liedke, Dries Vints, Mior Muhammad Zaki dan Phil Sturgeon.
8. KESIMPULAN
Framework memungkinkan kita membangun aplikasi dengan lebih cepat karena sebagai
developer kita akan lebih memfokuskan pada pokok permasalahan sedangkan hal-hal
penunjang lainnya seperti koneksi database, form validation, GUI, dan security; umumnya
telah disediakan oleh framework. Disamping itu dengan aturan-aturan yang jelas dan harus
dipatuhi, aplikasi kita lebih solid, more readable, dan kolabarasi dalam tim dapat lebih mudah
dilaksanakan. Kita sebagai seorang software developer bisa dianalogikan sebagai seorang
tukang bangunan. Apabila anda perhatikan, seorang tukang bangunan bisa membuat sebuah
rumah. Tidak akan menjadi masalah bila hanya untuk membangun rumah dengan satu atau
dua lantai. Tetapi akan menjadi masalah apabila dia mendapatkan pekerjaan untuk
membangun sebuah gedung bertingkat. Permasalahan akan menjadi semakin komplek, makin
banyak pekerja dan material yang dilibatkan, belum lagi dengan jadwal yang ketat. Kita pun
seperti itu. Membangun aplikasi kecil tentu tidak menjadi masalah. Namun bagaimana
bagaimana apabila aplikasi kecil kita tersebut dengan makin lama makin bertambah
requirementnya sejalan dengan kebutuhan user. Di sini lah peran penting sebuah framework
dalam membangun aplikasi.