Anda di halaman 1dari 14

Irsan Riza, Gunawan Catur

Dasar-dasar Yii Framework

Irsan Riza, Gunawan Catur

Published: Februari 2013

Daftar Isi
Daftar Isi .................................................................................................................................... 3
Yii Framework ........................................................................................................................... 5
Konsep MVC ............................................................................................................................. 5
Instalasi Yii ............................................................................................................................ 6
Koneksi database melalui PHP .............................................................................................. 7
Menggunakan Gii untuk membuat CRUD ............................................................................ 8
Theming/Skinning Yii ............................................................................................................... 9
Instalasi Theme ...................................................................................................................... 9
Menggunakan Extension Yii.................................................................................................... 10
Instalasi Extension/Component ........................................................................................... 10
Memanggil Extension pada View ........................................................................................ 10
Daftar Pustaka .......................................................................................................................... 12

Yii Framework
06 Desember 2012
21:16

Apa itu Yii? Mungkin itu yang terlintas di pikiran kita saat pertama kali membaca tulisan ini.
Hmmm.... Sebenarnya saya juga tidak begitu paham apa yang dimaksud dengan Yii ini, yang jelas
kalau gugling sebentar mengenai hal ini dan mendarat di situs resmi Yii, akan ada penjelasan yang
mengatakan kalau Yii itu singkatan dari "Yes It Is", Maksudnyaa..??!
Beberapa waktu lalu BPS mengadakan pelatihan teknis untuk keperluan website dengan
menggunakan tools Yii ini.
Menurut pendapat pribadi saya Yii ini sebenarnya bukanlah standar resmi sebuah website
pemerintah ataupun standar manapun. Yii hanya sekedar alat bantu untuk membangun website, jadi
yah mau dipakai ataupun tidak sebenarnya tidak masalah, yang penting website yang dibuat sudah
sesuai dengan kriteria yang ada. Namun tidak bisa dipungkiri juga bila fakta mengatakan bahwa Yii
sedikit lebih aman daripada CMS gratisan lainnya. Berdasarkan pengalaman BPS menggunakan
framework ini, dari sekian banyak website yang berada di bawah subdomain "bps.go.id", hanya
beberapa beberapa situs yang pada waktu juli 2012 kemarin terlepas dari ancaman hacking massal
yang menyerang situs-situs pemrintah. Dan beberapa website tersebut kebetulan menggunakan
framework yii. Jadi tidak ada salahnya kita mencoba membangun website kita dengan framework yii,
dengan harapan website yang kita bangun ini lebih tahan terhadap ancaman security.

Konsep MVC
23 Januari 2013
15:57

Yii framework menggunakan konsep pemrograman dengan MVC yaitu Model-View-Controller.


Konsep ini digunakan untuk memisahkan antara proses bisnis yang terjadi di balik layar dan antar
muka yang dihadapi user. Cara membuat program seperti ini akan memudahkan kita dalam
mengelompokkan kode program dan juga memudahkan dalam pengembangan program. Karena bila
kita mengubah alur proses bisnis, kita tidak perlu mengubah keseluruhan tampilan. Demikian pula
sebaliknya bila kita ingin mengubah tampilan untuk mempersegar antar muka, maka kita tidak perlu
mengubah alur proses. Hal ini dikarenakan antara antar muka dan proses bisnis sudah kita pisahkan
dan dibentuk sedemikian rupa agar "cara berkomunikasinya" tetap sama, yaitu melalui controller
yang menjadi penghubung antara view dan model.
Secara singkat dapat kita katakan bahwa Model merupakan kerangka dari proses-proses bisnis yang
akan mendukung fungsi dan fasilitas pada website kita. Model ini didefinisikan dengan class-class
tertentu denganfungsi-fungsi yang spefisik untuk setiap class. Class ini nantinya akan dipanggil
sebagai objek pada controller atau langsung pada view sesuai fungsi dan kebutuhannya. Semua
fungsi yang berkaitan dengan database seperti create, read , update, delete akan diletakkan pada
Model. Pemrosesannya lebih lanjut dari database tersebut ataupun dari variabel dan atribut lain bila
tidak dari database akan diolah lebih lanjut di Model ini hingga nantinya menghasilkan output yang
sesuai kebutuhan dan dapat dibaca dengan baik dari view maupun controller. View terdiri dar

barisan kode program yang mengatur tampilan. Karena itu sebagian besar dari kode view ini akan
berisikan kode HTML. Kalaupun menggunakan pengolahan dengan PHP atau javascript itu hanya
untuk membantu menampilkan data dari variabel atau array atau dari model yang sudah siap untuk
ditampilkan. Controller disini berfungsi sebagai perantara antara View dan Model. Kode program
Controller biasanya juga terdiri dari Class-class tertentu, namun memiliki fungsi yang berbeda dari
Model. Fungsi dari Class disini biasanya hanya sebagai perantara untuk mengelompokkkan fungsifungsi tertentu dari Model dan mengembalikan nilainya ke view dengan cara di-render. Berikut
ilustrasi cara kerja konsep MVC:

Instalasi Yii
06 Desember 2012
21:23

Instalasi Yii sebenarnya tidak terlalu sulit, persiapannya adalah kita harus sudah mengsintall
webserver beserta database yang diinginkan, dalam kasus ini saya menggunakan XAMPP yang sudah
membundel web server apache yang support PHP beserta MySql didalamnya sekaligus.
Bila belum punya file isntalasi Yii, bisa didownload pada http://www.yiiframework.com/download/,
pada contoh ini saya menggunakan Yii versi 1.1.12. setelah mendownload file yang diperlukan, unzip
file tersebut sampai mendapati folder yang berisi folder demos, framework dan requirements dan
beberapa file lain. Copy folder tadi ke tempat yang bisa diakses web server, saya asumsikan
diletakkan di folder "C:/xampp/htdocs/Yii/".

Lalu buka command prompt, masuk ke direktori "C:/xampp/htdocs/" dengan cara ketik:
cd\ [enter]
cd xampp\htdocs [enter]
Setelah itu jalankan perintah instalasi yii dengan mengetik:
Yii\framework\yiic webapp pringsewukab.bps.go.id [enter]
Nanti akan muncul konfirmasi apakah akan membuat project dengan nama
"pringsewukab.bps.go.id". Ketikkan:
yes [enter]
Tunggu hingga proses instalasi selesai, lalu tutup command prompt tadi.
Bila tidak terjadi error pada saat instalasi yii, maka langkah berikut ini bisa dilewati.
Terkadang terjadi error "php.exe not recognize as an internal program....". Bila ini terjadi berarti
windows yang kita gunakan belum mengenali lokasi folder dimana file "php.exe" berada. Kita bisa
mendaftarkan lokasi file ini dengan cara klik kanan pada icon "my computer" > "properties". Lalu klik
"advanced system setting". Pada jendela baru yang terbuka, klik tombol "environtment variables". Di
deretan "system variables" klik pada baris "path" lalu klik tombol "edit". Pada jendela edit yang
muncul, pindahkaan kursor edit ke posisi paling akhir dari textbox tersebut, lalu tambahkan tulisan
";C:\xampp\php\". Klik OK untuk ketiga jendela "edit system variable", "environment variables", dan
"system properties". Buka control panel xampp, klik tombol stop apache, lalu run lagi apachenya.
Ulangi lagi istalasi yii dari membuka command prompt baru, mengetik perintah instalasi yii, sampai
menunggu proses instalasi selesai.

Koneksi database melalui PHP


23 Januari 2013
13:25

Koneksi ke database postgre dari Yii sebenarnya sudah pernah kita bahas sedikit pada materi
sebelumnya. Namun tidak ada salahnya kita ulangi sedikit mengenai apa yang harus kita lakukan
untuk membuat koneksinya. Pertama-tama kita harus mencari file yang bernama "main.php" pada
folder "c:/xampp/htdocs/pringsewukab.bps.go.id/protected/config/". Lalu buka file tersebut dengan
teks editor (notepad++). Kemudian cari baris perintah ini:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=testdrive',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),

Ganti baris perintah tadi dengan perintah berikut:


'db'=>array(
'connectionString' => 'pgsql:host=localhost;port=5432;dbname=pringsewukabdb',
'emulatePrepare' => true,
'username' => 'postgres',
'password' => 'password',
'charset' => 'utf8',
),
Rincian "pringsewukabdb" bisa diganti dengan nama database postgre yang digunakan. Untuk
localhost biasanya menggunakan username "postgres", tidak perlu diganti. Dan untuk "password"
bisa diganti dengan password yang diinput pada saat instalasi postgresql.

Menggunakan Gii untuk membuat CRUD


01 Februari 2013
7:05

Pada framework yii, kita sudah difasilitasi dengan pembuatan kode program otomatis untuk perintah
yang berhubungan dengan database yaitu Create, Read, Update, Delete (CRUD). Namun sebelum
itu, sudah tentu kita harus sudah mempunyai databasenya terlebih dahulu. Cara untuk
menambahkan kode program ini secara otomatis adalah dengan cara membuka file "main.php" pada
folder "c:/xampp/htdocs/pringsewukab.bps.go.id/protected/config/", lalu cari baris perintah
berikut:
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'password',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
Ganti "password" sesuai keinginan untuk mencegah terjadinya hal-hal yang diinginkan. Setelah itu
buka web browser, dan masukkan alamat "http://localhost/pringsewukab.bps.go.id/?r=gii" pada
prompt login, masukkan password sesuai dengan yang tertera pada file "main.php" yang kita
masukkan tadi.
Klik pada pilihan "model generator". Lalu di rincian "table name", masukkan nama tabel di database
yang ingin kita buatkan perintahnya asumsinya kita akan membuat perintah crud untuk tabel
"menu". Perhatikan nama "model class" yang terbentuk pada asumsi kita menggunakan tabel
"menu", maka nama class yang muncul adalah "Menu". Chek pilihan "build relations". Klik
"preview", lalu klik "generate". Setelah ada konfirmasi "done", selanjutnya klik "crud generator" dari
sidebar kiri. Pada rincian "model class" ketik nama class seperti yang tertera pada saat membuat
model asumsinya kita ketikkan "Menu". Klik "preview" lalu klik "generate". Untuk mencoba kode
crud hasil generate yii, kita bisa klik pada link "try it now" atau (bila asumsinya kita mengeneraate
tabel menu) masukkan alamat "http://localhost/pringsewu/index.php?r=menu". Maka akan muncul
beberapa pilihan perintah crud yangn bisa dicoba dengan login yag sudah disediakan.

Theming/Skinning Yii
01 Februari 2013
7:40

Theming atau skinning ini adalah proses mengubah tampilan luar website yang menjadi antarmuka
antara aplikasi web kita dengan user yang mengakses website. Dalam Yii framework, mengubah
theme ini tidak terlalu sulit, karena template tampilan banyak tersedia secara gratis di internet dan
implementasinya pun mudah, karena hanya memerlukan sedikit baris perintah untuk instalasinya.
Namun untuk menyesuaikan tampilannya seperti yang kita inginkan, maka kita akan memerlukan
sedikit pengetahuan koding script php dan html. Namun syarat tersebut sepertinya sudah bisa kita
penuhi dengan berbekal 2 materi sebelumnya. :)
Bila ada yang memikirkan mengenai keamanan template theme Yii yang dapat diperoleh gratis di
internet, jangan terlalu khawatir, karena akses ke aplikasi dan database masih berada penuh dalam
kekuasaan kita. Berbeda dengan CMS lain, Yii framework "memaksa" kita untuk membuat sendiri
database dan script koneksinya. Hal ini memiliki alasan yang kuat, yaitu untuk meningkatkan
keamanan dari website kita. Berbeda dengan CMS yang membuatkan koneksi dari aplikasi website
ke database, maka semua extension, theme, plugin, akan dengan mudah dapat mengakses database
dan mengakibatkan kerusakan yang tidak diinginkan. Pada kasus Yii framework ini, hal tersebut tidak
akan terjadi, karena theme manapun tidak akan bisa mengakses ke database, karena script
koneksinya memang tidak diketahui oleh developer theme atau extension tersebut.

Instalasi Theme
01 Februari 2013
7:41

Untuk menambah atau mengubah theme Yii, caranya cukup mudah. Kita asumsikan akan
menggunakan theme dengan nama "freshy2". Langkah pertama yang harus kita lakukan adalah
mengekstrak file zip dari theme itu sendiri, lalu foldernya dipindahkan ke dalam folder
"c:\xampp\htdocs\pringsewukab.bps.go.id\themes\". Setelah itu kita tinggal memanggil theme
tersebut pada file "main.php" yang berada pada
"c:\xampp\htdocs\pringsewukab.bps.go.id\protected\config\". Tambahkan satu baris perintah:
'theme'=>'freshy2',
Pada baris berikut:
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'BPS Kabupaten Pringsewu',
// preloading 'log' component
'preload'=>array('log'),
'theme'=>'freshy2',
// autoloading model and component classes
Setelah itu, kita bisa langsung menikmati tampilan baru website kita dari web browser. Mudah kan?
:)

Menggunakan Extension Yii


01 Februari 2013
7:42

Extension pada yii merupakan program tambahan didevelop oleh pihak luar, dan bukan merupakan
program inti dari Yii framework, namun bisa kita manfaatkan untuk meningkatkan kualitas website
kita. Bahkan kita sendiripun bisa membuat extension kita sendiri. Namun karena kita tidak akan
membahas bagaimana cara membuat extension, maka kita akan lebih fokus pada cara
penggunaannya saja. Extension ini bisa kita dapatkan di situs resmi penyedia framework Yii, yaitu di
http://www.yiiframework.com/extensions/. Masing-masing extension berbeda-beda fungsinya,
namun untuk sekarang kita hanya akan mencoba extension yang berhubungan langsung dengan
tampilan pada end user.

Instalasi Extension/Component
01 Februari 2013
7:42

Instalasi Extension tidak jauh berbeda dengan instalasi theme, yaitu cukup dengan melakukan
ekstrak file zip extension-nya lalu pindahkan ke folder
"c:\xampp\htdocs\pringsewukab.bps.go.id\protected\extensions\". Setelah ini kita bisa memanggil
extensi dari bagian manapun dari tampilan website. Misalnya kita akan menggunakan extension
yang bernama "MbMenu", maka akan terbentuk folder
"c:\xampp\htdocs\pringsewukab.bps.go.id\protected\extensions\mbmenu\", yang berisi file-file
dari extension mbmenu.

Memanggil Extension pada View


01 Februari 2013
7:43

Setelah istalasi, kita tinggal memanggil extension tersebut dari view. Misalnya kita akan
menggunakan extension yang bernama "MbMenu". Maka setelah proses ekstrak dan memindahkan
foldernya, kita cukup memanggilnya dengan cara menuliskan syntax berikut pada
"c:\xampp\htdocs\pringsewukab.bps.go.id\themes\freshy2\views\layouts\main.php":
$this->widget('application.extensions.mbmenu.MbMenu',$listMenu);
Kode diatas dapat kita kelompokkan menjadi 4 bagian penting yaitu:
$this->widget('application.extensions.
Kode ini bersifat baku, dan harus dituliskan apa adanya sepetti contoh diatas
mbmenu.
Kode ini merupakan representasi nama folder dimana extension itu tersimpan pada
"c:\xampp\htdocs\pringsewukab.bps.go.id\protected\extensions\"
MbMenu',

Kode ini merupakan nama extension yang ingin dipanggil. Biasanya merupakan nama file yang
berekstensi *.php yang berada pada folder extension yang sedang digunakan
$listMenu);
Variabel ini merupakan parameter dari extension MbMenu. Tidak semua extension memerlukan
parameter. Jumlah dan jenisnyapun beragam tergantung masing-masing extension.
Baris perintah ini bisa kita tuliskan di bagian mana saja yang kita inginkan. Sesuaikan dengan tag
HTML yang lain untuk menentukan posisi extension ini dengan benar.

Daftar Pustaka
Menjelajah Yii Framework, Sabit Huraira, 2012
http://www.yiiframework.com
http://en.wikipedia.org/wiki/Modelviewcontroller
http://en.wikipedia.org/wiki/Yii_framework

Dasar-dasar Yii Framework


Yii framework merupakan satu diantara sekian banyak framework pemrograman berbasis web yang
sangat populer di kalangan web designer. Meskipun masih tergolong muda, framework ini
terbilang cukup stabil dan powerful untuk memenuhi kebutuhan pembuatan website yang
sederhana sampai yang kompleks dengan berbekal sedikit pengetahuan mengenai programming
PHP dan HTML. Keunggulannya di sisi keamanan memang membuat metode framework jadi lebih
menjanjikan ketimbang menggunakan CMS opensource, yang notabene gratis, namun justru
membuka kesempatan bagi hacker untuk membaca aplikasi web kita. Pada Yii framework kita akan
dikenalkan dengan konsep MVC (Model-View-Controller) yang memudahkan kita memisahkan
tampilan dengan proses bisnis yang terjadi di belakang layar.
Dengan berbekal pengetahuan mengenai PHP dan HTML, diharapkan pembaca dapat
mengimplementasikan materi-materi yang ada pada buku ini dengan mudah. Bahasan pada buku ini
lebih cenderung pada praktek penggunaan Yii ketimbang hanya sekedar teori.
Adapun materi yang dicakup dalam buku ini adalah sebagai berikut:

Konsep MVC

Instalasi Yii

Theming/Skinning

Menggunakan Extension

Anda mungkin juga menyukai