Anda di halaman 1dari 7

MODUL 2

Matakuliah : Aplikasi Sistem Enterprise


Topik : Yii2 Framework
Judul : Model View Controller

A. Tujuan
 Mengetahui konsep Routing
 Melakukan implementasi Model View Controller
 Melakukan konfigurasi Pretty URL
 Membuat Widget

B. Alat dan Bahan


1. Personal Computer
2. Xampp

C. Teori Singkat
Model View Controller (MVC) pada Yii terlihat pada struktur folder aplikasinya, yaitu
terdapat folder model (berisi semua file model), views (berisi semua file view) dan
controllers (berisi semua file controller).

Alur kerja aplikasi yang menggunakan framework Yii sama dengan alur kerja pada
konsep MVC. Berikut gambaran nya :
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

Alur kerja atau siklus aplikasi Yii berawal dari user yang mengakses Yii melalui entry
script. Pada entry script akan dibaca konfigurasi aplikasi, berdasarkan konfigurasi
tersebut aplikasi dijalankan. Aplikasi tersebut memproses routing yang diminta oleh user
melalui URL sehingga diketahui controller yang dimaksud user. Setelah diketahui
controllernya maka diciptakanlah controller yang dimaksud. Controller kemudian
menciptakan action berdasarkan routing.

Keuntungan Penerapan Model View Controller (MVC) :


- Struktur aplikasi akan mudah dipahami dan lebih rapi terutama untuk proyek aplikasi
yang kompleks
- Lebih mudah mengelola ketika terjadi perubahan data, proses bisnis maupun
tampilan
- Lebih mudah dalam melacak dan menangani galat
- Mudah dalam membagi pekerjaan jika proyek aplikasi dikerjakan oleh tim

Aturan Dasar Routing :

Secara umum, aturan-aturan routing di Yii mengacu pada aturan coding standard
(www.php-fig.org) .

a. Routing di Yii sifatnya case sensitive atau membedakan huruf besar dan kecil. Secara
default, routing Yii menggunakan huruf kecil atau lowercase.
b. Routing di Yii otomatis berbentuk sesuai dengan controller dan fungsi action-nya.
Antara controller dan fungsi action dipisahkan dengan tanda slash /.
c. Nama fungsi pada controller yang akan menjadi routing adalah semua fungsi yang
diawali dengan kata action, contoh : actionIndex, actionCreate, dsb.
d. Jika nama controller terdiri lebih dari satu kata, misal HumanResourcesController,
maka routing menggunakan separator dash (-) untuk memisahkan dua kata tersebut.
Yaitu :

e. Demikian juga, jika action lebih dari satu kata actionJumlahRoda, maka routing juga
akan menggunakan separator dash (-) untuk memisahkan dua kata tersebut. Misal
pada MobileController maka URLnya menjadi sebagai berikut :
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

Contoh URL berdasarkan aturan dasar Routing :

URL diatas akan mengarahkan aplikasi untuk menunjuk ke SiteController

URL diatas akan menujuk ke fungsi actionIndex pada SiteController

URL diatas akan menujuk ke fungsi actionDaftarKeluarga pada KaryawanController

Kesimpulan : routing di Yii merupakan hubungan antara URL dengan controller dan
action. Routing pada Yii bersifat otomatis tanpa perlu didefinisikan secara manual
terlebih dahulu.

D. Langkah Kerja

CATATAN : Untuk mengerjakan modul 2, kerjakan pada bagian FRONTEND.

1. Membuat “Hello World!”


Untuk menampilkan teks “Hello World!” adalah dengan menambahkan sebuah
action pada suatu controller yang berfungsi untuk mengembalikan teks “Hello
World!”
- Buka file SiteController.php pada @app/controllers/SiteController.php.
- Selanjutnya tambahkan fungsi bernama actionHello() pada SiteController,
sebagai berikut :

- Kemudian akses fungsi tersebut melalui web browser dengan URL sebagai
berikut :
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

- Mengirim parameter dari URL untuk dibaca oleh controller dan kemudian
ditampilkan.
Tambahkan parameter nama pada URL menggunakan $_GET seperti PHP
biasa, dengan cara sebagai berikut :
Cara 1 :

public function actionHello(){
return "Hello ".$_GET['nama'];
 }

Cara 2 :

 public function actionHello($nama){
  return "Hello ".$nama;
 }

- Akses pada web browser dengan URL sebagai berikut :

Catatan : sesuaikan dengan nama masing-masing.

2. Membuat “Hello World!” Tingkat Lanjut


- Buat sebuah fungsi baru pada SiteController, lalu gunakan fungsi render
sebagai berikut :

- Buat file baru pada views dengan nama file hello.php

- Akses pada web browser menggunakan URL sebagai berikut :

- jika berhasil maka tampilan yang muncul pada web browser sebagai berikut :
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

- tambahkan parameter pada fungsi render untuk mengirim variabel dari


controller ke view/site, parameter tersebut dapat didefinisikan dengan
menggunakan format array.

public function actionTampil()
{
return $this->render('hello',[
'nama' = 'Hafid Mukhlasin',
]);
}

- Selanjutnya tambahkan parameter nama pada file di view/site hello.php

- Akses pada web browser, jika berhasil maka akan muncul tampilan sebagai
berikut :

- Kombinasikan dengan penambahan parameter di URL


public function actionTampil($nama="")

{
        return $this->render('hello',[
            'nama' => $nama,
        ]);
}

- Akses pada web browser, jika berhasil maka akan muncul tampilan sebagai
berikut :
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

3. Tautan Antar Halaman


a. Membuat URL
- Buat action baru pada SiteController yaitu actionUrl dan buat file baru
pada view yaitu url.php

- Akses pada web browser, jika berhasil akan muncul tampilan sebagai
berikut :

b. Membuat Hyperlink
- Buat action baru pada SiteController yaitu actionHyperlink dan buat file
baru pada view yaitu hyperlink.php
MODUL 2
Matakuliah : Aplikasi Sistem Enterprise
Topik : Yii2 Framework
Judul : Model View Controller

- Akses pada web browser, jika berhasil akan muncul tampilan sebagai
berikut :

E. Evaluasi
1. Silahkan lakukan penerapan MVC (Model View Controller) pada form
2. Buatlah sebuah widget sederhana
3. Kerjakan langkah-langkah dalam mempercantik URL pada Yii2

Catatan : lihat pada buku Panduan Yii2 hal-48

Anda mungkin juga menyukai