yii framework asfi yuli wulandari_1100631025

9
TUGAS 1 TOPIK KHUSUS BIDANG INTERNET OLEH : ASFI YULI WULANDARI 1100631025_MI/A PROGRAM STUDY MANAJEMEN INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH JEMBER 2013

Upload: asfiyuli-wulandari

Post on 18-Jul-2015

869 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Yii framework asfi yuli wulandari_1100631025

TUGAS 1

TOPIK KHUSUS BIDANG INTERNET

OLEH :

ASFI YULI WULANDARI

1100631025_MI/A

PROGRAM STUDY MANAJEMEN INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH JEMBER

2013

Page 2: Yii framework asfi yuli wulandari_1100631025

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 :

Page 3: Yii framework asfi yuli wulandari_1100631025

6. Kemudian tekan Enter, selanjutnya untuk masuk ke directory htdocs kita ketikkan

source code berikut C:\xampp\htdocs.

7. Selanjutnya ketikkan kembali source code berikut C:\xampp\php\php.exe

C:\xampp\htdocs\yii\ framework\yiic webapp C:\xampp\htdocs\yii-ASFI. Lalu

tekan Enter.

Kemudian akan muncul pertanyaan Create a Web application under ‘C:\xampp\htdocs\yii-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.

Page 4: Yii framework asfi yuli wulandari_1100631025

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

Page 5: Yii framework asfi yuli wulandari_1100631025

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

Page 6: Yii framework asfi yuli wulandari_1100631025

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

Page 7: Yii framework asfi yuli wulandari_1100631025

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

Page 8: Yii framework asfi yuli wulandari_1100631025

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.

Page 9: Yii framework asfi yuli wulandari_1100631025

Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii:

ASFI YULI WULANDARI

1100631025

MI_A