Makalah Framework Yii Kiki [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MAKALAH PEMOGRAMAN BERBASIS WEB



PENGGUNAAN YII FRAMEWORK DALAM PEMBUATAN WEB FORUM SEDERHANA



Oleh : Kiki Pramita Oktavia (8113100027/ TI-B)



POLITEKNIK KOTA MALANG PROGRAM STUDI TEKNIK INFORMATIKA 2012



DAFTAR ISI



MAKALAH PEMOGRAMAN BERBASIS WEB



COVER ...................................................................................................................



1



DAFTAR ISI...........................................................................................................



2



Kata Pengantar ......................................................................................................



3



Pendahuluan ...........................................................................................................



4



Latar Belakang .................................................................................................



4



Tujuan ..............................................................................................................



4



Rumusan Masalah ............................................................................................



4



Batasan Masalah ...............................................................................................



4



Tinjauan Pustaka ...................................................................................................



5



Pengertian Framework .........................................................................................



5



Macam-macam Framework .............................................................................



5



Framework Yii .................................................................................................



6



Penggunaan Yii Framework ................................................................................



9



Proses Pembuatan Website Forum .....................................................................



13



Screenshoot Hasil ...................................................................................................



27



Penutup ..................................................................................................................



31



Kesimpulan ......................................................................................................



31



Saran ................................................................................................................



32



YII Framework



Page 2



MAKALAH PEMOGRAMAN BERBASIS WEB



KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Alloh SWT. Bahwa penulis telah menyelesaikan tugas mata kuliah pemrograman berbasis web dengan membahas “Penggunaan Yii Framework dalam Pembuatan Web Forum Sederhana” dalam bentuk makalah. Dalam penyusunan tugas atau materi ini, tidak sedikit hambatan yang penulis hadapi. Namun penulis menyadari bahwa kelancaran dalam penyusunan materi ini tidak lain berkat bantuan, dorongan dan bimbingan orang tua, sehingga kendala-kendala yang penulis hadapi teratasi. Oleh karena itu penulis mengucapkan terima kasih kepada : 1. Orang tua yang telah turut membantu, membimbing, dan mengatasi berbagai kesulitan sehingga tugas ini selesai. 2. Teman dan kerabat yang memberikan petunjuk, kepada penulis sehingga penulis termotivasi dan menyelesaikan tugas ini. 3. Faisal Agus Irianto sebagai semangat penulis. Semoga materi ini dapat bermanfaat dan menjadi sumbangan pemikiran bagi pihak yang membutuhkan, khususnya bagi penulis sehingga tujuan yang diharapkan dapat tercapai, Amiin.



Malang, 8 Agustus 2012



Penulis



YII Framework



Page 3



MAKALAH PEMOGRAMAN BERBASIS WEB



BAB I PENDAHULUAN  Latar belakang Seiring berkembangnya jaman, umumnya dalam pemograman dalam bahasa PHP, orang cenderung tidak menulis coding dari awal. Orang umumnya lebih memilih untuk menggunakan CMS, template engine dan/atau framework untuk membuat pekerjaan mereka lebih ringan.



 Tujuan a. Menggunakan framework Yii versi 1.1.11. b. Membangun program aplikasi web forum menggunakan framework Yii versi 1.1.11 dan JQuery.



 Rumusan masalah a. Bagaimana menggunakan framework Yii versi 1.1.7 ? b. Bagaimana membangun program aplikasi web forum menggunakan framework Yii versi 1.1.11 dan JQuery ?



 Batasan masalah Program web sederhana ini dibangun dengan menggunakan aplikasi pemograman bahasa : PHP5 serta framework : Yii versi 1.1.11 dan juga menggunakan Javascript Library: jquery ui versi 1.8x.



YII Framework



Page 4



MAKALAH PEMOGRAMAN BERBASIS WEB



BAB II TINJAUAN PUSTAKA Pengertian Framework 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 membangun aplikasi. Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapan saja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama.



Macam – Macam Framework 1. Framework PHP: 



CakePHP







CodeIgniter (CI)







Symphony







Zend







Yii







Kohana



2. Framework Javascript: 



JQuery







Mootools



YII Framework



Page 5



MAKALAH PEMOGRAMAN BERBASIS WEB



3. Framework Ruby: 



Ruby on Rails (ROR)



Framework Yii



Yii adalah framework (kerangka kerja) PHP berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Yii sendiri merupakan kepanjangan dari “Yes It Is”. Yes It Is sendiri memiliki makna kalo Yii mampu dan tepat anda pilih untuk mengerjakan project. Yii merupakan free open source PHP framework terbaru berbasis komponen dengan performasi tinggi untuk mengembangkan aplikasi web bersekala besar . Ia menyediakan resuabilitas maksimum dalam pemrograman Web dan bisa mengakselerasi proses pengembangan secara signifikan. Nama Yii (dieja sebagai/i:/) singkatan dari easy, efficient dan extensible (mudah, efisien, dan bisa diperluas).



Fitur yang ada pada yii •



Menggunakan pola MVC, pola standart pengembangan aplikasi yang memisahkan tampilan, logic program, dan modelnya







Menggunakan database abstraction layer seperti Data Access Objects(DAO) dan Active Record untuk memudahkan interaksi antar database.







Terintegrasi dengan JQuery Javascript Framework. Walaupun menggunakan Jquery sebagai internal javascript library, namun Yii dapat menggunakan librari lain tanpa terjadi bentrok.



YII Framework



Page 6



MAKALAH PEMOGRAMAN BERBASIS WEB







Mendukung Internationalization (I18N) and localization (L10N) untuk memudahkan pengembangan aplikasi dalam multi bahasa dan lokasi seperti penggunaan waktu dan tanggal.







Memiliki layer cache untuk cache data, halaman, sebagian, dan keseluruhan aplikasi sehingga dapat meningkatan performance dengan beragam pilihan media cache. Penggunaan media cache seperti database, APC, memcache, dan sebagainya mudah diatur tanpa melakukan perubahan besar pada kode..







Fitur penanganan error dan logging, sehingga memudahkan pengembangan dalam melakukan debuging aplikasi dalam masa pengembangan aplikasi.







Penggunaan theme, memudahkan pengembangan aplikasi dalam merancang tampilan aplikasi.







Console, penggunaan perintah pada console untuk melakukan beragam perintah otomatis seperti mengenerate struktur dasar aplikasi, model,crud, dan sebagainya.







Dukungan Authentication dan authorization internal sehingga memudahkan pengembangan aplikasi dengan fitur autentikasi.







Widget,



semacam



kontrol



yang



memiliki



fungsi



seperti



auto



complete,



datapicker,table dan lain – lain. Menggunakan Jquery sebagai javascript client sidernya. •



Form input dan validasi. . memudahkan pengembangan untuk bekerja sengan form pda aplikasi dan melakukan validasi input dari form.







Modular dan mudah ditambahkan dengan dukungan extensi dan komponen tambahan sehingga beragam fitur tambahan dengan mudah dimasukkan.



YII Framework



Page 7



MAKALAH PEMOGRAMAN BERBASIS WEB



Kelebihan Framework Yii Ada beberapa keuntungan yang dapat penulis ambil dalam penggunaan framework PHP Yii berikut. Keuntungannya antara lain adalah: 1. Yii adalah salah satu framework yang sangat ringan dan dilengkapi dengan solusi caching yang memuaskan. 2. Yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dll. 3. Yii didokumentasikan dengan jelas, efisien, dan kaya-fitur. Kekurangan Framework Yii Tidak banyak kekurangan yang ditemui pada penggunaan Yii. Yii cukup mencakup segala macam fitur-fitur yang diperlukan dalam membangun sebuah web. Namun, bukan berarti Yii tidak mempunyai kekurangan. Salah satu kekurangan Yii yang cukup signifikan adalah tidak compatible nya Yii dengan PHP 4. Yii dibandingkan framework lain Seperti kebanyakan PHP framework, Yii adalah MVC framework. Yii melampaui PHP framework lain dalam hal efisiensi, kaya-fitur, dan didokumentasikan dengan jelas. Yii didesain dengan hati-hati dari awal agar sesuai untuk pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak-ketiga. Yii adalah hasil dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi serta refleksi kerangka kerja pemrograman Web paling populer dan aplikasi. Yii adalah kerangka kerja pemrograman umum Web yang bisa dipakai untuk mengembangkan semua jenis aplikasi Web. Oleh karena Yii sangat ringan dan dilengkapi dengan solusi caching yang memuaskan, ia sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem ecommerce, dll.



YII Framework



Page 8



MAKALAH PEMOGRAMAN BERBASIS WEB



Penggunaan Yii Framework



Penggunaan Yii Framework sangatlah mudah. Setelah mendownload yii framework dari website Yii, pindahkan file tersebut pada direktori yang dapat diakses di web komputer. Lalu akses framework dengan memasukkan alamat berikut pada browser : http://localhost/webku/requirements/. Maka pada browser akan tampil halaman seperti berikut :



YII Framework



Page 9



MAKALAH PEMOGRAMAN BERBASIS WEB



Pada tampilan ini cek requirement anda masing-masing dan lengkapi requirement tersebut sesuai kebutuhan. Dan penulis juga bisa melihat beberapa contoh aplikasi demo yang telah disediakan oleh pengembang Yii Framework yang tentu saja dibuat dengan Yii Framework. Aplikasi



tersebut



dengan



cara



memasukkan



alamat



berikut



pada



browser



:



http://localhost/webku/demos/.



Cukup banyak contoh aplikasi demo yang ada disana, diantaranya aplikasi “hello word”, blog, game hangman, hingga contoh penggunaan web service dalam aplikasi phone book,dll.



Cara Instalasi Yii Cara instalasi Yii mencakup langkah berikut: 1. Download Yii Framework dari yiiframework.com. 2. Extract yii yang telah didownload tadi. Kemudian buka folder yii yang telah diextract, copy foder framework ke folder mana saja yang mudah diakses. Kali ini penulis meletakkannya pada folder yii yang telah penulis buat sebelumnya pada xampp. 3. Setelah



itu



jalankan



cmd



(command



prompt).



Masukkan



perintah



[webroot]/framework/yiic webapp[webroot]. Seprti gambar di bawah ini :



YII Framework



Page 10



MAKALAH PEMOGRAMAN BERBASIS WEB



YII Framework



Page 11



MAKALAH PEMOGRAMAN BERBASIS WEB



4. Setelah menginstalasi Yii, bisa memverifikasi apakah server sesuai dengan semua persyaratan pemakaian Yii. Dengan cara memasukkan alamat berikut pada browser. http://localhost/webku/index.php/. Berikut tampilan web dengan yii yang telah berhasil penulis buat : Tampilan home.



YII Framework



Page 12



MAKALAH PEMOGRAMAN BERBASIS WEB



Proses Pembuatan Website Forum Sederhana Menggunakan Yii Frame Work dan JQuery. Berikut fitur-fitur dari aplikasi yang akan penulis buat : 



User dapat melakukan register dan login







Jika belum login, semua orang bisa melihat forum tetapi tidak bisa membuat postingan baru atau membuat komentar pada suatu postingan







Jika telah berhasil melakukan login, user dapat membuat postingan baru dan menambahkan komentar







Tiap postingan dikelompokkan berdasarkan kategori







Halaman pertama akan memperlihatkan top member, list postingan user dan berita (news) yang diposting oleh admin







User terdiri dari 3 level yaitu Admin, moderator, dan member biasa







Admin dan moderator dapat menambah, mengedit, dan menghapus “posting”







Admin dan moderator dapat mengelola “kategori” dan “berita”







User yang telah melakukan login dapat memberi komentar pada suatu thread







User dapat memberikan reputasi pada user lain.



YII Framework



Page 13



MAKALAH PEMOGRAMAN BERBASIS WEB



Berikut SQL database di atas yang telah penulis buat :



CREATE TABLE IF NOT EXISTS `comment` ( `id` int(11) NOT NULL AUTO_INCREMENT, `judul` varchar(255) DEFAULT NULL, `isi` text NOT NULL, `user_id` int(11) NOT NULL, `thread_id` int(11) NOT NULL, `tanggalPost` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `thread_id` (`thread_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `kategori` ( `id` int(11) NOT NULL AUTO_INCREMENT, `kategori` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `level` ( `id` int(11) NOT NULL AUTO_INCREMENT, `level` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `judul` varchar(200) NOT NULL, `isi` text NOT NULL,



YII Framework



Page 14



MAKALAH PEMOGRAMAN BERBASIS WEB



`foto` varchar(200) NOT NULL, `user` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `user` (`user`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `raputation` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tanggal` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `jenis` tinyint(1) NOT NULL, `pemberi_id` int(11) NOT NULL, `penerima_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `pemberi_id` (`pemberi_id`), KEY `penerima_id` (`penerima_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `thread` ( `id` int(11) NOT NULL AUTO_INCREMENT, `judul` varchar(255) NOT NULL, `isi` text NOT NULL, `user_id` int(11) NOT NULL, `kategori_id` int(11) NOT NULL, `tanggalPost` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `kategori_id` (`kategori_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



YII Framework



Page 15



MAKALAH PEMOGRAMAN BERBASIS WEB



CREATE TABLE IF NOT EXISTS `threadstar` ( `is` int(11) NOT NULL AUTO_INCREMENT, `nilai` int(11) NOT NULL, `user_id` int(11) NOT NULL, `thread_id` int(11) NOT NULL, PRIMARY KEY (`is`), KEY `user_id` (`user_id`), KEY `thread_id` (`thread_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `password` varchar(50) NOT NULL, `saltPassword` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `joinDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `level_id` int(11) NOT NULL, `avatar` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), KEY `level_id` (`level_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



ALTER TABLE `comment` ADD CONSTRAINT `comment_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE, ADD CONSTRAINT `comment_ibfk_2` FOREIGN KEY (`thread_id`) REFERENCES `thread` (`id`) ON UPDATE CASCADE;



YII Framework



Page 16



MAKALAH PEMOGRAMAN BERBASIS WEB



ALTER TABLE `news` ADD CONSTRAINT `news_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`) ON UPDATE CASCADE;



ALTER TABLE `raputation` ADD CONSTRAINT `raputation_ibfk_1` FOREIGN KEY (`pemberi_id`) REFERENCES `user` (`id`), ADD CONSTRAINT `raputation_ibfk_2` FOREIGN KEY (`penerima_id`) REFERENCES `user` (`id`);



ALTER TABLE `thread` ADD CONSTRAINT `thread_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE, ADD CONSTRAINT `thread_ibfk_4` FOREIGN KEY (`kategori_id`) REFERENCES `kategori` (`id`) ON UPDATE CASCADE;



ALTER TABLE `threadstar` ADD CONSTRAINT `threadstar_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE,



ADD CONSTRAINT `threadstar_ibfk_4` FOREIGN KEY (`thread_id`) REFERENCES `thread` (`id`) ON UPDATE CASCADE;



ALTER TABLE `user` ADD CONSTRAINT `user_ibfk_1` FOREIGN KEY (`level_id`) REFERENCES `level` (`id`) ON UPDATE CASCADE;



YII Framework



Page 17



MAKALAH PEMOGRAMAN BERBASIS WEB



Setelah selesai membuat database, membuat aplikasi Yii Framework baru dengan nama “forum”. Setelah itu hubungkan aplikasi tersebut dengan database yang telah dibuat tadi, dan aktifkan fitur Gii pada Yii Framework. Dengan mengubah file konfigurasi aplikasi pada WebRoot/testdrive/protected/config/main.php



Pertama-tama membuat fungsi untuk melakukan “register”. Operasi ini adalah operasi yang dilakukan apabila user ingin mendaftar pada aplikasi ini. Setelah dia melakukan pendaftaran, maka data user akan disimpan ke database pada tabel “user”. Untuk menginput data ke tabel user, menggunakan action pada UserController dan actionCreate(). Berikut hak akses yang terdapat pada UserController : public function accessRules() { return array( array('allow', 'actions'=>array('create','captcha'), 'users'=>array('*'), ), array('allow', 'actions'=>array('update','view'), 'users'=>array('@'), ), array('allow', 'actions'=>array('admin','index','delete'), 'expression'=>'$user->getLevel()