Anda di halaman 1dari 12

Membangun Aplikasi Perkantoran dengan Yii Framework

NininSaptoHargiyanto sapto.hargi@depkeu.go.id LisensiDokumen: Copyright20032012IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

A. PENDAHULUAN
PHP merupakan singkatan rekursif (akronim berulang) dari PHP Hypertext Preprocessor. PHP adalahbahasapemrogramanscriptyangpalingbanyakdipakaisaatiniataudalamkatalainbisa diartikan sebuah bahasa pemrograman web yang bekerja di sisi server (server side scripting) yang dapat melakukan konektifitas pada database yang di mana hal itu tidak dapat dilakukan hanyadenganmenggunakansintakssintaksHTMLbiasa.

Mengenal Dan Instalasi Yii Framework


1. Apa itu Yii?
Yii adalah kerangka kerja bahasa pemrograman PHP berorientasi objek yang menerapkan poladesaindengankonsepmodel-view-controller (MVC).

Konsep MVC adalah cara pandang membuat aplikasi web-based dengan memisahkan antara data (Model), tampilan (View) dan cara pemrosesan (Controller). DimanaMendapatkanYii? Download file di http://www.yiiframework.com/ release terakhir ketika tutorial ini ditulis adalahversi1.1dengannamafileyii1.1.10.r3566.tar.gz

2. Bagaimana cara menginstal Yii?


Software yang mesti diinstall adalah Apache Web Server, penulis menggunanakan XAMPP. Pastikan Apache dan Mysql telah di klik start, lalu Unzip file yii1.1.10.r3566.tar.gz di root directoriyaitudifolderC:\xampp\htdocs\


KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com 1

MEMBUAT APLIKASI WEBBASED DENGAN YII


1. Menyiapkan file di server
Buka Command Prompt lalu pindahkan lokasi current directory dengan mengetik perintah berikut:
cd C:\xampp\php\

kemudianenter,laluuntukmembuatkerangkaaplikasiYii,jalankanperintahberikut:
php.exe C:\xampp\htdocs\yii-1.1.10.r3566\framework\yiic C:\xampp\htdocs\aplikasiku kemudianketikamunculpertanyaanketik:yes webapp

perintahdiatasberfungsiuntukmembuatfolderbernamaaplikasikudidalamrootdirectory yaitudiC:\xampp\htdocs\mengacupadaaturanyangdibuatolehYii,dimanaYiitelahkita copy paste di dalam C:\xampp\htdocs\yii1.1.10.r3566. Hasilnya adalah akan muncul commandberikut:
Your application has C:\xampp\htdocs\aplikasiku been created successfully under

Wow, aplikasi anda telah sukses dibuat. Untuk mengetes benar tidaknya, Silahkan buka browserkesayanganandadanketikurlhttp://localhost/aplikasiku

2. Mengganti Tampilan Awal


Ketika anda buka url aplikasi anda terdapat keterangan jelas bagaimana cara mengganti tampilan web anda. Dengan pengetahuan HTML, tentu sangat mudah mengganti halaman ini. Buka file C:\xampp\htdocs\aplikasiku\protected\views\site\index.php editlah sesuai kreatifitasAnda,misalnya
<h1>Selamat Datang di Aplikasi Web-based Pusdiklat Keuangan Umum</h1> <p>Aplikasi ini digunakan untuk melakukan pengelolaan terhadap administrasi program diklat yang diselenggarakan oleh Pusdiklat Keuangan Umum - Badan Pendidikan dan Pelatihan Keuangan - Kementerian Keuangan</p> <p>Pendaftaran pegawai untuk mengikuti diklat dapat diselenggarakan secara online dengan sistem yang terintegrasi dan dapat dilihat secara uptodate secara online</p> <p>Terima kasih</p>

Kemudian untuk mengganti footer default Yii, saya akan buka file di direktori C:\xampp\htdocs\aplikasiku\protected\views\layouts\main.php kemudian pada bagian bawahadatampilansepertiberikut:
<div id="footer"> Copyright copy; <?php echo date('Y'); ?> by My Company.<br/> All Rights Reserved.<br/> <?php echo Yii::powered(); ?> </div><!-- footer -->

Lalusayaubahmenjadisepertiini:
<div id="footer"> Copyright copy; <?php echo date('Y'); ?> by Hargi.<br/> All Rights Reserved.<br/> Powered by PusdiklatKU </div><!-- footer -->

3. Membuat database sederhana


Sebelum membuat database ada perlunya untuk menyiapkan software databse designer, penulismenggunakanMySQLWorkbench,skenariokitakaliiniakanmembuataplikasibisnis KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com 2

yangberhungandengantraining,bukabrowserlaluketikkanhttp://localhost/phpmyadmin, buatdatabasebarudengannama aplikasikudb, buat4tabeldenganketentuansebagai berikut: 1. Tableuserdengan4fieldyaitusebagaiberikut: a. iduser,int(11) b. username,varchar(45) c. password,varchar(45) d. namevarchar(45) 2. Tablecategorydengan2fieldyaitusebagaiberikut: a. idcategory,int(11) b. category_name,varchar(45) 3. Tabletrainingdengan5fieldyaitusebagaiberikut: a. idtraining,int(11) b. name_training,varchar(45) c. hours,varchar(45) d. time_start,(time) e. time_end,(time) 4. Tableparticipantdengan3fieldyaitusebagaiberikut: a. idparticipant,int(11) b. name_participant,varchar(45) c. nip,bigint(18) dengangambarEERsebagaiberikut:

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

Berikutscriptmysqlnya:

CREATE TABLE IF NOT EXISTS `category` ( `idcategory` int(11) NOT NULL AUTO_INCREMENT, `category_name` varchar(45) DEFAULT NULL, PRIMARY KEY (`idcategory`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; INSERT INTO `category` (`idcategory`, `category_name`) VALUES (1, 'Diklat Teknis Umum (DTU)'), (2, 'Diklat Fungsional (DF)'); CREATE TABLE IF NOT EXISTS `participant` ( `idparticipant` int(11) NOT NULL AUTO_INCREMENT, `name_participant` varchar(45) DEFAULT NULL, `nip` bigint(18) DEFAULT NULL, `city` varchar(45) DEFAULT NULL, `trainingid` int(11) NOT NULL, PRIMARY KEY (`idparticipant`), KEY `fk_participant_training1` (`trainingid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; INSERT INTO `participant` (`idparticipant`, `name_participant`, `nip`, `city`, `trainingid`) VALUES (1, 'Pegawai1', 198607202007011004, 'Surabaya', 2), (2, 'Ninin Sapto Hargiyanto', 198607202007011001, 'Jakarta', 2); CREATE TABLE IF NOT EXISTS `training` ( `idtraining` int(11) NOT NULL AUTO_INCREMENT, `name_training` varchar(45) DEFAULT NULL, `hours` varchar(45) DEFAULT NULL, `time_start` date DEFAULT NULL, `time_end` date DEFAULT NULL, `categoryid` int(11) NOT NULL, PRIMARY KEY (`idtraining`), KEY `fk_training_category` (`categoryid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; INSERT INTO `training` (`idtraining`, `name_training`, `hours`, `time_start`, `time_end`, `categoryid`) VALUES (1, 'Legal Drafting', '30', '2012-07-12', '2012-07-19', 1), (2, 'Pranata Komputer', '150', '2012-07-15', '2012-08-10', 2); CREATE TABLE IF NOT EXISTS `user` ( `iduser` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) DEFAULT NULL, `password` varchar(45) DEFAULT NULL, `name` varchar(45) DEFAULT NULL, PRIMARY KEY (`iduser`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; INSERT INTO `user` (`iduser`, `username`, `password`, `name`) VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator'), (2, 'hargi', '69510e32280ccbb3eb99bb36fc24b312', 'Hargi'); ALTER TABLE `participant` ADD CONSTRAINT `participant_ibfk_1` FOREIGN KEY (`trainingid`) REFERENCES `training` (`idtraining`) ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE `training` ADD CONSTRAINT `fk_training_category` FOREIGN KEY (`categoryid`) REFERENCES `category` (`idcategory`) ON DELETE NO ACTION ON UPDATE NO ACTION;

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

4. Melakukan Generate Tabel dengan Gii


FiturYii frameworkyang membuatcepatsuatupemrograman adalah adanyabantuandari extensions bernama Gii, singkatan dari Yii Code Generator yang berfungsi untuk menghasilkan kode secara otomoatis. Implementasinya adalah membuat model, class dan controllerdenganklikkliksaja. Ok, langsung aja kita buka folder C:\xampp\htdocs\aplikasiku\protected\config\main.php lalucaricodeberikut:
'modules'=>array( // uncomment the following to enable the Gii tool /* 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'Enter Your Password Here', // If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1'), ), */ ),

Ubahcodenyamenjadisepertiberikut:
'modules'=>array( 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'passwordku', 'ipFilters'=>array('127.0.0.1','::1'), ), ),

Kode diatas berfungsi untuk mengaktifkan Yii Code Generator (Gii) dengan mengisikan passwordnya dengan nilai passwordku, kemudian cari lagi kode koneksi database nya sepertidibawahini:
/* 'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=testdrive', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ), */

Laluubahmenjadisepertiberikut:
'db'=>array( 'connectionString' => 'mysql:host=localhost;dbname=aplikasikudb', 'emulatePrepare' => true, 'username' => 'root', 'password' => '', 'charset' => 'utf8', ),

Kodediatasmemberikankoneksikedatabasekitayangtelahkitabuatsebelumny.Bukalagi browser anda lalu ketikkan alamat http://localhost/aplikasiku/index.php?r=gii masukkan passwordkudikolompasswordlalauenter.Akanmuncul5list,yangakankitalakukandisini adalahModel GeneratordanCrud Generator saja. KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com 5

PertamaKlikpadaModelGenerator,pastikanandaingatnama4tabeldidatabasekita, isikanTableNamedengannamatabelkita,isikannamaModelClassdengannamatabel kitadenganhurufawalkapitalklikPreview,KlikGenerate.Ulangiuntuk3tabelkita KeduaKlikpadaCrudGenerator,isikanModelClassdengannilaipadastepPertamatadi, yaitunamatabeldenganhurufawalkapital.KlikpreviewlaluGenerate.Ulangiuntuk3 ModelClasslainnya. Selamat,kinikitatelahmempunyai 4fileModeldidalamfoldermodels,berekstensiphp 4fileControllerdidalamfoldercontrollers,berekstensiphp 4folderViewdidalamfolderviews SemuanyaadadidalamfolderC:\xampp\htdocs\aplikasiku\protected.Kitaakanfokuspada folder di dalam protected ya. Jika ada kesalahan pastikan anda telah benar melakukan generateModel GeneratordanCrud Generator Referensi:

5. Pengelolaan Aplikasi Webbased


Hasil generate Gii pada tahap sebelumnya telah cukup untuk melakukan pengeloaan data daninformasilewatwebyangterkoneksidengandatabasekita.Kitatelahdapatmenambah, merubahdanmenghapusdata. Bukabrowserketikkanhttp://localhost/aplikasiku/index.php?r=training Hasilnyaadalahandadapatmelihatdaftartabelberisitrainingyangtelahterhubungdengan databasekita.
a) Menambah (Insert)

Untuk menambah data baru, diperlukan login. Default Yii adalah menggunakan username:admindanpassword:admin.Setelahberhasillogin,Andadapatmelakukan penambahan data ke dalam tabel dengan melihat pada jendela Operations, lalu klik Createyangterdapatpadasisisampingtabellistingdata.
b) Mengurangi (Update)

Samasepertipadapointa,klikpadaUpdate
c) Menghapus (Delete)

Samasepertipadapointa,klikpadaDelete
d) Mengelola (Manage)

Samasepertipadapointa,klikpadaManage.Akanmuncullistingdatayangpowerfull, fasilitas search berdasarkan data, ditambah pula 3 fitur Insert (Menambah), Update (Merubah),danMenghapus(Delete).

MODIFIKASI APLIKASI DASAR


1. Modifikasi Menu Kategori
PadamenustandarYii,kitainginmenambahkanmenubaru. BukaC:\xampp\htdocs\aplikasiku\protected\views\layouts\main.phpcarihalamanberikut:
<div id="mainmenu"> <?php $this->widget('zii.widgets.CMenu',array( 'items'=>array( array('label'=>'Home', 'url'=>array('/site/index')), array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')), array('label'=>'Contact', 'url'=>array('/site/contact')),

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

Ubahmenjadisepertiberikut:

<div id="mainmenu"> <?php $this->widget('zii.widgets.CMenu',array( 'items'=>array( array('label'=>'Home', 'url'=>array('/site/index')), array('label'=>'Kelola Diklat', 'url'=>array('/category/index')),

Hasilnyamemberikan linkKelolaDiklatdengantampilan(view)adalahcategory/index.php. kedalamMenu.

2. Modifikasi Tampilan Kategori


Untukmerubahtampilannyabukafilenyadidalamfolderberikut: C:\xampp\htdocs\aplikasiku\protected\views\categorylalueditindex.php Ubah<h1>Categories</h1>menjadi<h1>Pilih Kategori Diklat</h1> Tampilanlistingnyaternyatadiarahkanke_view,bukalagifile C:\xampp\htdocs\aplikasiku\protected\views\category\_view.php Ubah
<b><?php echo CHtml::encode($data->getAttributeLabel('idcategory')); ?>:</b> <?php echo CHtml::link(CHtml::encode($data->idcategory), array('view', 'id'=>$data->idcategory)); ?> <br /> <b><?php echo CHtml::encode($data>getAttributeLabel('category_name')); ?>:</b> <?php echo CHtml::encode($data->category_name); ?> <br />

Menjadicukupsepertiini
<h2><?php echo CHtml::link(CHtml::encode($data->category_name), array('view', 'id'=>$data->idcategory)); ?></h2>

Iniakanmenjadikantampilanketikadiklikmenukategori,akanmuncullistingdatakategori saja.

3. Modifikasi Isi Halaman


Ketikadiklikmasingmasingkategorikitaakandihadapkanpadatampilahnamadarikategori tersebut beserta link Operationsnya. Kini kita akan merubah tampilanya menjadi daftar diklatyangmasukdalamkategoritersebut a. Pertamamasukkefolderviewdarikategorilalubukafileview.php,hapussemuaisinya lalugantimenjadiberikutini
<?php $this->breadcrumbs=array( 'Categories'=>array('index'), $model->category_name, );?>

Haliniakanmemberikantampilanjejakposisi(breadcrumbs)dengannamakategori. b. Selainbreadcrumbs,tentunyaharusadaisinya.Isidarikategorisetelahdiklikadalahlist diklat.Ada5langkahsbbyaitu: 1) Pada TrainingController definisikan dulu parameter Category pada bagian ActionCreate.BukafoldercontrollerlalubukafileTrainingController.phpaturhingga tampilanyasamadengancodedibawahini: KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com 7

public function actionCreate($id) { $model=new Training; if(isset($_POST['Training'])) { $model->attributes=$_POST['Training']; $model->categoryid=$id; if($model->save()) $this->redirect(array('view','id'=>$model>idtraining)); } $this->render('create',array( 'model'=>$model, )); }

Dengan kode ini, orang yang akan menambah diklat baru, harus melewati langkah mengeklik nama kategori dahulu. Ini bermanfaat supaya tidak ada diklat dibuat tanpakategorisamasekali. 2) Sekarang saatnya membuat link Menambah Diklat pada view Category. Masuk ke folderviewdarikategorilalubukafileview.phptambahkankodedibawahini:
<?php $this->menu=array( array('label'=>'Tambah Diklat Baru', 'url'=>array('training/create','id'=>$model->idcategory )),); ?>

3) Ubahjugaviewdari_form.phpdariTraining,hilangkanfieldCategoryidatauuntuk amannyauncheckdengan//
<?php //echo $form->labelEx($model,'categoryid'); ?> <?php //echo $form->textField($model,'categoryid'); ?> <?php //echo $form->error($model,'categoryid'); ?>

Perintah diatas tidak digunakan karena pada langkah sebelumnya kita telah mendefinisikan kategori untuk setiap Diklat yang dipilih, selain itu kalau diaktifkan jugaakanterjadikonflikdualismekategori. 4) Dibagian view Kategori ini, selain bisa membuat training baru kita juga ingin menambah peserta ke masingmasing diklat. Buka CategoryController.php atur scriptpadaactionViewmenjadisepertiberikut:
public function actionView($id) { $totraining=new Training('search'); $totraining->unsetAttributes(); $totraining->categoryid=$id; $this->render('view',array( 'model'=>$this->loadModel($id), 'totraining'=>$totraining, )); }

5) Masukkefolderviewdarikategorilalubuka fileview.php, kitainginmenampilkan listing diklat yang dikategorikan per masingmasing kategori, tambahkan kode sebagaiberikut:
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'training-grid', 'dataProvider'=>$totraining->search(), //'filter'=>$totraining, 'emptyText'=>'Belum ada training pada kategori ini',

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

'summaryText'=>'', 'columns'=>array( array( 'name'=>'No', 'type'=>'raw', 'value'=>'$data->idtraining', ), array( 'name'=>'Nama diklat', 'type'=>'raw', 'value'=>'Chtml::link($data>name_training,array(\'training/view\',\'id\'=>$data->idtraining))', ), array( 'name'=>'Jamlat', 'type'=>'raw', 'value'=>'$data->hours', ), )));?>

Berhasilsudahandamembuattampilanstatiskategoridiklatsampaikeisiisinya.

4. Modifikasi Sub isi Halaman Aplikasi


Langkah ini adalah mirip langkah membuat kategori ke diklat, kita akan membuat peserta yang dikategorikan per masingmasing diklat. Hasilnya adalah mirip sebelumnya, kalau sebelumnyaketikakategoridiklik,yangmunculadalahlistingdiklat,makalangkahiniadalah jikadiklatdiklikyangmunculadalahlistingpesertadiklat.Tentuadasedikitperbedaanyaitu tidakdilakukanlangkah2)karenatidakadasubsubisihalaman,artinyapesertadiklattidak memiliki anak kategori lagi, di kondisi tertentu bisa saja ada tapi untuk kali ini tidak ada. Langkahketigajugatidakkitaulangikarenakitatelahmemasukkanpembahasanpembuatan Marikitamulai. a. Pertamamasukkefolderviewdaritraininglalubukafileview.php,hapussemuaisinya lalugantimenjadiberikutini
<?php $this->breadcrumbs=array( 'Categories'=>array('index'), $model->name_training, ); ?>

Haliniakanmemberikantampilanjejakposisi(breadcrumbs)dengannamadiklat. b. Selain breadcrumbs, tentunya harus ada isinya. Isi dari diklat setelah diklik adalah list peserta.Ada5langkahsbbyaitu: 1) Pada ParticipantController definisikan dulu parameter Training pada bagian ActionCreate. Buka folder controller lalu buka file ParticipantController.php atur hinggatampilanyasamadengancodedibawahini:
public function actionCreate($id) { $model=new Participant; if(isset($_POST['Participant'])) { $model->attributes=$_POST['Participant']; $model->trainingid=$id; if($model->save()) $this->redirect(array('view','id'=>$model>idparticipant)); } $this->render('create',array(

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

'model'=>$model, )); }

Dengan kode ini, orang yang akan menambah diklat baru, harus melewati langkah mengeklik nama kategori dahulu. Ini bermanfaat supaya tidak ada diklat dibuat tanpakategorisamasekali. 2) Sekarang saatnya membuat link Menambah Peserta pada view Training. Masuk ke folderviewdariTraininglalubukafileview.phptambahkankodedibawahini:
<?php $this->menu=array( array('label'=>'Daftarkan Peserta', 'url'=>array('participant/create','id'=>$model->idtraining )),); ?>

3) Ubahjugaviewdari_form.phpdariParticipant,hilangkanfieldTrainingidatauuntuk amannyauncheckdengan//
<?php //echo $form->labelEx($model,'trainingid'); ?> <?php //echo $form->textField($model,'trainingid'); ?> <?php //echo $form->error($model,'trainingid'); ?>?>

Perintah diatas tidak digunakan karena pada langkah sebelumnya kita telah mendefinisikan Diklat untuk setiap Peserta yang dipilih, selain itu kalau diaktifkan jugaakanterjadikonflikdualismeDiklat. 4) Dibagian view Training ini, selain bisa membuat training baru kita juga ingin menambahpesertakemasingmasingdiklat.BukaTrainingController.phpaturscript padaactionViewmenjadisepertiberikut:
public function actionView($id) { $toparticipant=new Participant('search'); $toparticipant->unsetAttributes(); $toparticipant->trainingid=$id; $this->render('view',array( 'model'=>$this->loadModel($id), 'toparticipant'=>$toparticipant, )); }

5) Masukke folderviewdari Training lalu buka file view.php, kita inginmenampilkan listing diklat yang dikategorikan per masingmasing training, tambahkan kode sebagaiberikut:
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'participant-grid', 'dataProvider'=>$toparticipant->search(), //'filter'=>$toparticipant, 'emptyText'=>'Belum ada Peserta yang mendaftar pada diklat ini', 'summaryText'=>'', 'columns'=>array( array( 'name'=>'No', 'type'=>'raw', 'value'=>'$data->idparticipant', ), array( 'name'=>'Nama Peserta', 'type'=>'raw', 'value'=>'Chtml::link($data>name_participant,array(\'participant/view\',\'id\'=>$data>idparticipant))',

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

10

),

array( 'name'=>'Jamlat', 'type'=>'raw', 'value'=>'$data->city',

), )));?>

Satu langkah lagi akan saya tambahkan yaitu tampilan dari Participant, buka folder view, participant,view.php 1. Breadcrumbsdariparticipant
$this->breadcrumbs=array( 'Participants'=>array('index'), $model->idparticipant, );

Ubahmenjadisepertiini
$this->breadcrumbs=array( 'Participants'=>array('index'), $model->name_participant, );

2. Ubahpulaoperationsdariparticipant
$this->menu=array( array('label'=>'List Participant', 'url'=>array('index')), array('label'=>'Create Participant', 'url'=>array('create')), array('label'=>'Update Participant', 'url'=>array('update', 'id'=>$model->idparticipant)), array('label'=>'Delete Participant', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model>idparticipant),'confirm'=>'Are you sure you want to delete this item?')), array('label'=>'Manage Participant', 'url'=>array('admin')), );

Ubahmenjadisepertiini
$this->menu=array( array('label'=>'Ubah Peserta', 'url'=>array('update', 'id'=>$model->idparticipant)), array('label'=>'Hapus Peserta', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model>idparticipant),'confirm'=>'Are you sure you want to delete this item?')), );

3. Kemudianubahpulatampilandaritulisanpesertadiklatdarimenjadi
<h1><?php echo $model->name_participant; ?></h1>

4. Datapesertajugainginkitaubah,darisepertiini
<?php $this->widget('zii.widgets.CDetailView', array( 'data'=>$model, 'attributes'=>array( 'idparticipant', 'name_participant', 'nip', 'city', 'trainingid', ), )); ?>

Menjadibegini
<?php $this->widget('zii.widgets.CDetailView', array( 'data'=>$model,

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

11

'attributes'=>array( 'name_participant', 'nip', 'city', ), )); ?>

Langkah berikutnya, anda bisa berkreasi sendiri tentunya. Misal dihalaman update ingin diubah, atau halaman Manage menurut anda perlu ditampilkan, halaman create ingin dimodifdll.Halpentingyangharusdiperhatikanadalahbahwa,setiaphalamanviewadalah hasilrepresentasidariprosescodingyangtelahkitabuatdicontroller,functionactionView, actionadalahakanmenghasilkanview.php,actionCreateakanmenghasilkancreate.phpdst.

B. REFERENSI
http://www.yiiframework.com/doc/guide/1.1/id http://www.yiiframework.com/wiki/250/yiiforbeginners/

C. BIOGRAFI PENULIS
NininSaptoHargiyanto.MenyelesaikanDiplomadiSTAN,seorangFungsionalPranataKomputer di Kementerian Keuangan, Jakarta. Bidang peminatan di Ilmu Komputer adalah Web Development,NetworkingsertaLinux.

KomunitaseLearningIlmuKomputer.Com Copyright20082012IlmuKomputer.Com

12