TUGAS WEB DESAIN LANJUTAN YII FRAMEWORK R.M.Firzatullah 5235127255 UNIVERSITAS NEGERI JAKARTA TAHUN AJARAN 2015 KATA PENGANTAR Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha Penyayang, kami panjatkan puja dan puji sykur atas khadirat-Nya, yang telah melimpahkan rahmat, hidayah, dan inayah-Nya kepada kami, sehingga kami dapat menyelesaikan makalah informatika mengenai Yii framework ini. Adapun makalah informatika tentang Yii framework ini telah kami usahakan semaksimal mungkin dan tentunya dengan bantuan sistem pencarian data Google, dan website lainya. Sehingga dapat memperlancar pembuatan makalah ini. Juga tidak lepas dari semua itu, kami menyadari sepenuhnya bahwa ada kekuranan baik dari segi penysunan bahasa maupun segi materi. Oleh karena itu dengan lapang dada dan tangan terbuka kami membuka selebar- lebarnya bagi dosen pengampu untuk memberi saran dan kritik kepada kami sehingga kami dapat memperbaiki makalah informatika yang ditulis. Akhirnya penulis mengharapkan semoga dari makalah informatika yang dibuat ini dapat mengambil informasi dan mafaat sehingga dapat memberi pengetahuan bagi pembaca. Bogor, 31 Maret 2014 R.M.Firzatullah The name Yii (an acronym for Yes, it is, pronounced as Yee or [ji:]) stands for easy, efficient, and extensible. Yii is a high-performance, component-based, web application framework written in PHP 5. Yii makes it easier to create and maintain large-scale web applications. It also makes them more efficient and extensible. Let's take a quick look at each of these characteristics of Yii in turn. (Jeffrey Winesett 2010:8) Yii merupakan kerangka kerja berbasis komponen PHP, yang memiliki kinerja tinggi dalam pengembangan website dengan sekala besar. Dimana Yii menyediakan reusability maksimum atau kemudahan user dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Dalam menjalankan aplikasi web berbasis Yii, user memerlukan server web yang mendukung PHP 5.1.0 atau lebih tinggi. XAMPP merupakan pilihan bagi programmer Yii karena mendukung PHP 5.1.0 atau lebih tinggi juga mudah dalam pemasangan Apache. Yii framework dapat dipakai untuk mengembangkan semua jenis aplikasi Web. Dikarenakan proses pembangunan yang sangat ringan dan dilengkapi dengan mekanisme penyimpanan data sekunder atau catching yang canggih, Yii merupakan bahasa pemrograman web yang cocok untuk pengembangan aplikasi web dengan traffic web yang tinggi, seperti web pendaftaran ujian tingkat nasional, forum diskusi, sistem manajemen konten (CMS), website bursa kerja, dan lain-lain. Yii merupakan framework PHP dengan efisiensi terbaik dibanding framework PHP yang lain, variasi fitur, dan dokumentasi yang jelas membuat Yii banyak diminati programmer web untuk membangin aplikasi web. Yii didesain secari hati-hati karena framework ini merupakan framework yang akan digunakan secara serius. Yii merupakan framework opensource dimana pengembangannya berdasarkan pengalaman pembuat dan dibantu oleh programmer pengguna dalam mengembangkan framework ini. Saat ini Yii Framework menempati posisi sebagai PHP framework terpopuler, keunggulannya yang lain adalah adanya Code Generator yang bisa membantu mempercepat proses kerja developer dalam membuat aplikasi. Yii framework mempromosikan cara penulisan kode yang bersih, DRY desain dan membantu pembuatan aplikasi yang cepat serta memastikan produk akhir yang sangat efisien, extensible, dan mudah di maintenance. Yii merupakan framework PHP terpopuler di dunia, menyaingi Codeigniter dan Laravel. Sumber: www.sitepoint.com Kelebihan dari framework YII paling dirasakan merupakan, kemampuan menghasilkan sendiri kode untuk model dari tabel- tabel yang ada di database yang akan digunakan. Selain itu terdapat fasilitas CActiveRecord, sehingga kita tidak perlu bersusahpayah mikirkan sintaks SQL dari sebuah tabel database. Contoh : Seandainya kita akan me-select seluruh data dari tabel MahasiswaUNJ. Dengan menggunakan cara standar , kita seharusnya mendefinisikan query-nya dulu berupa “select * from MahasiswaUNJ”, lalu di eksekusi dengan menggugunakan mysql_query (untuk db mysql). Dengan Yii hanya memerlukan sekali langkah untuk mendapatkan hasil yang sama, yakni “$MahasiswaUNJ = Mahasiswa::model->findAll(); Kelebihan Yii Framework Untuk merancang aplikasi berbasis website yang kompleks, kita tidak mungkin merancang semua code PHP secara konvensional/manual. Oleh karena itu harus memiliki cara kerja yang sistematis dalam mempercepat pengerjaan. Itulah yang disebut dengan Framework Terdapat beberapa Framework PHP yang sedang buming di dunia saat ini. Salah satunya merupakan Yii Framework. Framework ini memiliki beberapa keunggulan dibandingkan framework lain diantaranya: Mudah dalam pemakaiannya, Yii framework mudah untuk dipelajari dan proses Setup PHP Yii Framework yang mudah dalam membuat aplikasi sederhana Dokumentasinya lengkap, dokumentasi Yii framework bisa dibilang cukup lengkap, setiap method dan property sudah terdokumentasi dengan baik, buku-buku dan tutorial mengenai Yii juga lengkap di website. Dari hasil pencarian yang saya lakukan berikut beberapa dokumentasi tentang Yii: Program dan dokumentasi di http://www.yiiframework.com/download/. Tutorial dapat dilihat di http://www.yiiframework.com/tutorials/ . Tutorial-tutorial lain dapat dilihat di http://www.yiiframework.com/wiki/. Class Referencenya dapat dilihat di http://www.yiiframework.com/doc/api/ . Memiliki code generator, dalam penggunaan PHP untuk menyambungkan dengan database, kita banyak disibukkan dengan create record, read recourd, update record dan Delete record. Dengan Yii framework kita mudah membuat program seperti ini dengan menggunakan fitur seperti: Pembuatan tabel database Wizard dalam coding model Wizard untuk View dan Controller Dengan adanya code generator CRUD(Create Read Update dan Delete) ini, maka akan sangat membantu proses pembuatan database kita. MVC(Model – View – Controller), Hampir semua framework PHP saat ini berbasis MVC, tidak terkecuali Yii karena dengan MVC aplikasi menjadi lebih terstruktur dan mudah di pahami. ORM(Object Relational Mapping), Object Relational Mapping merupakan salah satu keunggulan Yii dalam urusan Database, jika kita lihat secara spesifik lagi maka Yii sebenarnya menyediakan mekanisme seperti DAO(Data Access Object), Query Builder(seperti di framework CI), Active Record(ORM) dan Database Migration. Dengan ORM pekerjaan developer menjadi terbantu karena tidak perlu menulis query SQL yang rumit lagi, cukup dengan memanggil fungsi-fungsi tertentu. Form input dan validasi, Yii sangat membantu sekali dalam urusan menangani form input, karena para developer telah disediakan sejumlah validator yang akan memvalidasi inputan dari pengguna aplikasi dengan cara yang mudah dan efisien. Widget merupakan konsep di Yii yang menyediakan komponen-komponen user interface yang siap pakai, misal nya data grid, autocomplete, tree view dll. Adapun widget- widget ini ada yang terintegrasi dengan library Jquery sehingga memungkinkan untuk mekanisme AJAX. Autentikasi dan Autorisasi, Yii sudah menyediakan mekanisme Autentikasi(login, logout) dan Autorisasi(hak akses) terhadap pengguna sistem, sehingga kita tidak perlu lagi repot-repot membuat dari pertama. Skin dan Tema, Masalah tampilan pun sudah di perhatikan oleh Yii, dengan konsep Skinning kita bisa meng-costumize tampilan komponen user interface di aplikasi kita menggunakan CSS sedangkan dengan konsep Theming kita bisa mengganti-ganti seluruh tampilan aplikasi dengan mudah. Web Service, Yii memiliki support yang cukup baik untuk membuat web service pada web kita seperti meng-generate spesifikasi WSDL service secara otomatis. Internationalization (I18N) dan Localization (L10N), Yii mensupport translasi pesan, tanggal dan format waktu sesuai dengan lokasi dimana anda berada. Caching, Dengan caching, aplikasi yang kita rancang bisa menjadi lebih cepat, dan Yii mempermudah mekanisme itu dengan menyediakan class-class yang siap pakai dan mensupport banyak teknik seperti APC dan memcached. Penanganan Error dan Logging, Segala pesan error yang keluar dari aplikasi anda ditampilkan secara bagus dan mudah dimengerti, mekanisme logging nya juga sangat bagus, sebab kita bisa memilih untuk menampilkan langsung ataupun disimpan ke suatu file di server. Security, Yii memiliki fitur keamanan yang membantu dalam mencegah serangan-serangan seperit SQL Injection, XSS, CSRF, Cookie Tampering dll. Bisa bekerja dengan library luar(3rd party), Yii telah di desain sedemikian rupa sehingga kita bisa memasang library external dari pihak ketiga untuk di sematkan dalam aplikasi kita Unit dan Fuctional testing, Yii memiliki support penuh terhadap Test Driven Development, sehingga melakukan testing terhadap aplikasi kita menjadi lebih mudah dan menyenangkan, Yii mensupport PHPUnit dan Selenium. Extensions, Yii memiliki segudang extensions. Extension sendiri merupakan kontribusi dari pengguna-pengguna Yii dengan membuat widget, library ataupun component yang bisa dipakai dan belum ada di Yii secara built-in. Ciri-Ciri Yii Framework Penggunaan Gii, Gii diimplementasi sebagai module dan harus digunakan di dalam aplikasi Yii. Untuk menggunakan Gii, kita pertama-tama memodifikasi konfigurasi aplikasi. Secara default, Gii diatur supaya hanya dapat diakses di localhost saja demi alasan keamanan. Jika kita ingin membuatnya dapat diakses di komputer lain yang sudah dipercaya, kita dapat mengaturnya di properti Gii::ipFilters. Mengkustomisasi Template Kode, ni merupakan langkah termudah dan paling umum untuk mengembangkan Gii. Kita gunakan sebuah contoh untuk memahami bagaimana mengkustomisasi templat kode. Misalkan kita ingin mengkustomisasi sebuah kode yang dihasilkan oleh model generator. Membuat Generator baru, sebuah generator baru dapat menghasilkan kelas widget yang baru. URL Ramah-Penggun, Ketika path dipakai sebagai format URL, kita dapat menetapkan beberapa aturan URL untuk membuat URL kita bahkan lebih ramah-pengguna. Sebagai contoh, kita dapat membuat URL sesingkat /post/100, daripada /index.php/post/read/id/100 yang cukup panjang. Aturan URL dipakai oleh CUrlManager baik untuk pembuatan URL maupun keperluan penguraian. Menggunakan Parameter Bernama, Aturan dapat dikaitkan dengan beberapa parameter GET. Parameter GET ini muncul dalam pola aturan sebagai token khusus dengan format. Parameterisasi Rute, Kita dapat merujuk parameter bernama dalam bagian rute pada sebuah aturan. Ini mengijinkan aturan untuk diterapkan pada multi rute berdasarkan pada kriteria yang sesuai. Ini juga membantu mengurangi jumlah aturan yang diperlukan oleh aplikasi, Selanjutnya tentunya meingkatkan kinerja secara keseluruhan. Mendefinisikan Kelas Identitas, tentikasi adalah segala sesuatu yang berhubungan dengan validasi identitas pengguna. Sebuah implementasi otentikasi pada aplikasi Web pada umumnya menyangkut kombinasi penggunaan username dan password untuk memverifikasi identitas user. Namun, otentikasi bisa juga menyertakan implementasi yang berbeda atau metode lain. Untuk mengakomodasi kebutuhan metode yang beragam, Yii Framework memperkenalkan identity class (kelas identitas Contoh-Contoh Situs Yang Menerapkan
Description: