SlideShare a Scribd company logo
1 of 9
Download to read offline
TUGAS 1
TOPIK KHUSUS BIDANG INTERNET
OLEH :
ASFI YULI WULANDARI
1100631025_MI/A
PROGRAM STUDY MANAJEMEN INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH JEMBER
2013
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 :
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.
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
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
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
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
 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.
Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii:
ASFI YULI WULANDARI
1100631025
MI_A

More Related Content

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
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.
  • 9. Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii: ASFI YULI WULANDARI 1100631025 MI_A