Dokumen tersebut membahas tentang framework web dan MVC pada CodeIgniter. Secara ringkas, dokumen tersebut menjelaskan pengertian framework web, kelebihan dan kekurangan CodeIgniter, CakePHP dan Zend serta menjelaskan konsep MVC pada CodeIgniter yang memisahkan komponen view, model dan controller.
1. TUGAS REKAYASA WEB
PERIODE 0916
Nim : 1312510736
Nama : Rico Aditya Putra
Fakultas Tekhnologi Informasi
Universitas Budi Luhur
2016
2. 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.
3. A) Codeigniter
Framework Codeigniter mempunyai beberapa kelebihan, diantaranya :
Gratis
Codeigniter dilisensikan dibawah lisensi Apache/BSD style open source. Jadi ini
berarti Codeigniter dapat dipakai secara bebas.
Support PHP4 dan PHP5
Walau saat ini PHP telah mencapai versi 5 bahkan versi 6, namun masih banyak juga
orang – orang yang memakai PHP4. Oleh sebab itu, pengembang Framework Codeigniter
memperhatikan betul setiap pengguna, oleh karenanya Framework Codeigniter dikembangkan
agar mampu berjalan baik PHP4 Maupun PHP5.
Ukuran File Kecil dan Cepat
Dibandingkan dengan Framework lain, semisal CakePHP, Codeigniter adalah
alternative bagi kamu yang menginginkan akses yang cepat. Kenapa bisa cepat? Karena
Codeigniter hanya me-load fungsi atau library yang digunakan saja, berbeda dengan
Framework lainnya yang menggunakan seluruh library walaupun library tersebut tidak
digunakan. Alasan inilah yang menjadikan Codeigniter dengan akses tercepat dan ringan.
Dokumentasi
Framework yang baik pastinya dilengkapi dengan dokumentasi yang lengkap dan
mendukung, agar bisa mudah dipahami oleh penggunanya. Didukung oleh User Guide yang
mudah dimengerti, dari mulai install sampai pada fungsi-fungsinya semua ada.
4. Framework Codeigniter juga memiliki beberapa kelemahan atau kekurangan
diantaranya adalah :
Codeigniter dikembangkan oleh Ellislab dan bukan oleh suatu komunitas, yang
menyebabkan update core engine-nya tidak secepat framework lain.
Tidak ditujukan untuk pembuatan web dengan skala besar (enterprise) walaupun
tersedia banyak library.
Masih banyak kelonggaran dalam hal coding, misalnya bebas dalam menambah
file.
Tidak mencerminkan MVC yang sesungguhnya, misalnya penulisan echo masih
dapat dilakukan pada file controller.
5. B) CakePhp
• Adapun kekurangan dan kelebihan dari CakePHP tersebut :
• 1. Ringan . Ya, CakePHP adalah salah satu framework paling ringan kedua setelah Code
Igniter (saya akan coba jelaskan pada materi berikutnya), dengan ukuran 300 Kb dalam satu
file .zip . Salah satu prinsip yang dijunjung tinggi oleh para programmer CakePHP adalah
“no we-might-need-it code”, atau dengan kata lain, semua code dalam CakePHP adalah
bermanfaat dan selalu digunakan dalam pembuatan aplikasi. Tidak ada code-code sampah
yang tidak berguna dan memperbesar ukuran framework secara keseluruhan.
• 2. Kompatibel dengan PHP 4 dan PHP 5.
• 3. Scaffolding feature. CakePHP mempunyai fitur yang mampu men-generate prototype
aplikasi kita, sebelum kita menyusun source code nya secara lengkap. Cukup tambahkan
variabel $scaffold di controller anda, dan zapp ! Aplikasi anda sudah bisa anda nikmati ..,
seperti instantnya anda membuat kue.
• 4. Mendukung AJAX. Buat kamu-kamu yang suka mainan animasi real time pake AJAX,
CakePHP sudah mendukung AJAX. Yang pasti aplikasi Web 2.0 AJAX yang kamu buat akan
berjalan dengan cepat dan mudah.
• 5. Komunitas developer yang luas. Yah, bagi Anda yang memang sudah siap terjun untuk
menjadi pengembang CakePHP, silahkan sambangi komunitas-komunitas yang ada, di
irc.cakephp.org, atau di channel #cakephp
6. • Ada beberapa kelemahan juga, sih. Tapi sedang dalam proses
perbaikan tenang coz! :
• 1. Dokumentasi yang belum lengkap. CakePHP adalah framework yang selalu
berkembang, demikian pula dokumentasinya. Maka dari itu, komunitas
pengembang CakePHP selalu meng-update dokumentasi CakePHP, sesuai
dengan perkembangan CakePHP itu sendiri
• 2. Belum ada dukungan internasionalisasi. Ya, sampai saat ini, release terbaru dari
CakePHP belum support i18n, alias internasionalisasi bahasa-bahasa yang ada di
dunia. Tapi sekali lagi, ini adalah bagian dari proses pengembangan, yang akan
disempurnakan di release-release terbaru.
7. C) Zend
• Kelebihan:
· Dukungan terhadap AJAX dan ORM
· Tujuan utama framework jenis ini biasanya membangun aplikasi web dan
untuk memudahkan dalam mengakses API dari berbagai vendor seperti Google,
Amazon, yahoo, Flickr.
Kekurangan:
· Tidak mendukung PHP4
· Manual tidak lengkap
· Performa Lambat
· Membutuhkan skill PHP yang sangat tinggi,sehingga untuk komentar kepada
pemula yang ingin belajar Framework PHP
8. 3. Jelaskan pengertian MVC (Model View Controler) pada Framework Code Igniter !
Model View Controller merupakan suatu konsep yang cukup populer dalam
pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk
(Wikipedia), MVC memisahkan pengembangan aplikasi berdasarkan 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 pattern dalam suatu aplikasi yaitu :
a) 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.
b) 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.
c) 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.