More than Just Lines on a Map: Best Practices for U.S Bike Routes
Yii framework asfi yuli wulandari_1100631025
1. TUGAS 1
TOPIK KHUSUS BIDANG INTERNET
OLEH :
ASFI YULI WULANDARI
1100631025_MI/A
PROGRAM STUDY MANAJEMEN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
2. Yii 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 menginstall Yii Framework sangatlah mudah . di bawah ini adalah beberapa langkah untuk
menginstall Yii Framework yaitu:
1. Instal XAMPP di Windows 7 sampai selesai & di start
2. Download Framework YII di http://www.yiiframework.com/download/ (Zip
Format)
3. Lalu kita copykan file Yii Framework kita yang sudah kita download (yii-1.1.14.f0fee9.tar)
pada folder htdocs kita dan masih berupa zip, kemudian kita extract menjadi sebuah file
dengan menggantikan nama file Yii tersebut sesuai kehendak kita . pada computer saya saya
berinama yii-ASFI
4. Kemudian kita akan melakukan generate folder yii-ASFI tersebut, dengan cara
membuka halaman command prompt kita.
5. Kemudian ketikkan source code berikut C:xampp untuk masuk ke directory web
server lokal. Seperti pada gambar yang ada di bawah ini :
3. 6. Kemudian tekan Enter, selanjutnya untuk masuk ke directory htdocs kita ketikkan
source code berikut C:xampphtdocs.
7. Selanjutnya ketikkan kembali source code berikut C:xamppphpphp.exe
C:xampphtdocsyii frameworkyiic webapp C:xampphtdocsyii-ASFI. Lalu
tekan Enter.
Kemudian akan muncul pertanyaan Create a Web application under
‘C:xampphtdocsyii-ASFI [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-ASFI' di browser anda. Jika berhasil
maka akan muncul tampilan web seperti pada gambar berikut.
4. PERBEDAAN KONSEP PEMROGRAMAN FRAMEWORK (MVC) DENGAN
PEMROGRAMAN BIASA
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.
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
5. 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 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.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
SEKARANG MASUK KE PENGERTIAN MVC (MODEL VIEW CONTROLLER).
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
6. 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.
Itulah tadi sekilas penjelasan tentang framework, CMS, dan MVC. Dalam dunia pemrograman,
framework itu tidak hanya satu di dunia ini. Ada berbagai macam framework. Contohnya seperti
CakePHP, CodeIgniter, Microsoft .NET, Zend, yii, Django, Play Scala, Spring, dll. Dan framework tadi
akan saya bahas satu persatu di blog ini.
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
7. berbagaimasalah keamanan yang mungkin timbul.
• Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apayang kita
tulis
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.
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
• 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
8. Alur MVC pada yii Framework
HMVC (Hierarchical Model View Controller) Pada Yii Framework
HMVC merupakan hirarki atau susunan dari pola MVC yang terusun menjadi satu kesatuan
aplikasi (Freyssinet, 2010). Setiap susnan MVC benar-benar independen (berdiri sendiri) dan dapat
mengeksekusi tanpa kehadiran yang lain. Semua permintaan dari sususnan masing-masing MVC harus
menggunakan antarmuka (view) dan pengendali (controller) sendiri dan tidak pernah memuat model atau
perpustakaan di luar domain atau sususnan MVC sendiri. Adapun fitur yang berbeda dari HMVC adalah
mendorong penggunaan (programer) kembali kode yang sudah ada, menyederhanakan pengujian bagian
yang berbeda dari masing-masing sistem MVC dan memastikan bahwa aplikasi ini mudah ditingkatkan
atau diperpanjang. Maksutnya setiap pola tigaserangkai ini (model, view dan controller) dibangun
berdasarkan satu kasus yang tidak akan mengganggu kasus yang lainnya seperti penanganan halaman
admin, halaman public (pront), komentar dan widget keempat kasus ini bisa dibagi mengunakan pola
HMVC.
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.