• Tidak ada hasil yang ditemukan

PEMROGRAMAN WEB BERBASIS FRAMEWORK LAPOR

N/A
N/A
Protected

Academic year: 2018

Membagikan "PEMROGRAMAN WEB BERBASIS FRAMEWORK LAPOR"

Copied!
11
0
0

Teks penuh

(1)

PEMROGRAMAN WEB BERBASIS FRAMEWORK

LAPORAN BAB 3

“CARA KERJA MODEL VIEW CONTROLLER”

Oleh :

Nama : Meyla Yan Sari

Kelas : IK-2B

NIM : 3. 34. 13. 1. 10

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

(2)

A. Pengertian Model View Controller (MVC)

Model View Controller (MVC) model pembuatan program yang menerapkan arsitektur yang memisahkan proses, tampilan, dan bagian yang menghubungkan antara proses dan tampilan. Pembuatan program yang enggunakan MVC ini bisanya dikemas dalam kerangka kerja (framework). Sehingga pengembangan aplikasi tinggak menggunakan kerangka kaerja yang sudah disediakan.

Framework yii mengimplementasikan pola desain Model View Controller(MVC), yang diadopsi secara luas dalam pemograman web. MVC bertujuan untuk memisahkan proses bisnis dari pertimbangan antarmuka user agar para pengembangan bisa lebih mudah mengubah setiap bagian tanpa mempengaruhi yang lain. Dalam MVC, model menggambarkan informasi (data) dan proses bisnis. View(tampilan) berisi elemen antarmuka user seperti teks. Formulir masukkan, semenntara controller mengatur komunikasi antarmodel dan view.

B. Model

Model merupakan kelsa yang mendasari logika proses dalam aplikasi lunak dan kelas yang terkait dengannya. Model adalah suatu objek yang tidak mengandung informasi tentang user interface. Model juga suatu kelas yang berisi metode/fungsi yang merupakan kumpulan dari proses proses.

Model adalah senuah instance dari model atau sebuah class yang menurunkan model. Model digunakan untuk menyimpan data dari aturan bisnis yang relevan.

C. View

View, merupakan kumpulan dari kelas yang mewakili unsur unsur dalam antarmuka user (semua hal user dapat melihat dan merespon pada layar, seperti tombol, tampilan kotak, dan sebagainya)

(3)

:render() dengan nama view. Method tersebut akan mencari file view terkait di dalam direktori protect/views/ControllerID

1. Layout

Layout adalah tata letak view yang khusus yang dipakai untuk mengatur bentuk tampilan. Biasanya berisi bagian antarmuka dengan user yang umum diantara beberapa view. Sebagai contoh, sebuah layout mungkin berisi sebuah header dan sebuah footer serta menyyertakan tampilan isi diantaranya :

. . . header disini . . . . <?php echo $content; ?>

. . . footer disini. . . . Dengan $content menyimpan hasil render view isi.

Layout secara implisit diterapkan saat memanggil menjalankan render (). Secara default, skrip view proteced/view/layout/main.php dipakai sebagai layout.

2. Widget

Widget adalah instance dari widget atau anak kelas dari widget. Widget biasanya digunakan dalam skrip view untuk menghasilkan beberapa antarmuka dengan user yang kompleks dan berdiri sendiri. Sebagai contoh, widget kalender bisa dipakai untuk menyiapkan antarmuka kalender user yang kompleks. Untuk menggunakan widget, lihat contoh skrip view berikut: </php $this->beginWidget(‘CactiveForm’. …… . .); ?> . . .konten body yang dapat diungkapkan oleh widget. . . <?php $this->endWidget(); ?>

Atau

<? Php $this->widget (‘zii.widgets.grid,cgridView’, ….) ; ?>

3. View Sistem

(4)

system akan menampilkan kesalahan dengan exception. Yii menampilkan exception menggunakan tampilan sistem tertentu.

D. Controller

Controller yang merupakan kelas yang menghubungkan model dan view dan du=igunakan untuk berkomunikasi antara kelas dalam model dan view. Controller memiliki action standar. Ketika permintaan user tidak menetapkan action mana yang dijalankan adalah action standar. Bisanya action disalutkan bernama actionIndex. Action default bisa diubah dengan mengeset ariable instan publik. Controller: :defaultAction.

1. Route

Controller dan action diidefinisikan oleh ID. ID controller dalam format Path/ke/xyz sesuai dengan letak file kelas controller di protectes/controller/path/ke/xyzController.php.xyz harus diganti dengan nama sebenarnya (contoh, tcMhs pada protected/controller/TblMhsController.php). ID action adalah nama metode action tanpa berlawanan action. Sebagai contoh, jika kelas controller berisi sebuah metode bernama actioKhs. Id dari action tersebut adalah khs. Permintaan user ke controller dan action tertentu sesuai dengan aturan route. Route dibentuk dengan menggabungakan ID controller dan ID action yang diisahkan dengan garis miring. Sebagai contoh, route tblMhs/Khs merujuk ke TblMhsController dan action Khs. Dan secara default, URL http://nama_host/index.php?r=TblMhs/Khs akan meminta controlller dan action bus.

2. Instaniasi Controller

Instaniasi controller dibuat ketika CwebApplication menangani permintaan yang masuk. Berdasarkan ID controler yang diberikan. Aplikasi akan menentukan kelas controller apa dan dimana file kelas ditempatkan dengan menggunakan aturan berikut :

(5)

pengguna akan diabaikan. Ini dipakai terutama untuk menyimpan aplikasi dalam pemeliharaan mode dan menampilkan halaman statis.  Jika ID ditentukan dalam CwebApplication: :controllerMap.

Konfigurasu controller terkait akan dipakai membuat r=turunan controller.

 Jika ID dalam format ‘Path/ke/abc’, nama kelas controller diasumsikan adalah AbcController dan fle kelas terkait adalah

protected/controller/path/ke/AbcController.php. 3. Action

Seperti yang telah kita jelaska diatas, action dapat didefinisikan sebagai metode yang nama namanya dimulai dengan jata action. Cara lebih lanjut adalah dengan mendefinisikan kelas action dan meminta controller untuk menurunkannya apabila diperlukan. Dengan demikian memeungkinkan sebuah action untuk dipakai ulang. Dengan menulis action berbasis kelas, kita dapat mengatur aplikasi gaya modular.

4. Action Parameter Binding

Semenjak versi 1.1.4 Yii telah menambah dukungan binding (pengikatan) parameter action otomatis, yakni sebuah acton controller dapat didefinisikan parameter yang nilainya akan secara otomatis diisi oleh Yii dari nilai $_GET. Untuk mengilustrasikan bagaimana cara kerjanya. Mari kita asumsikan bahwa kita perlu memuat sebuah action create pada publikasi controller. Action ini memerlukan dua buah parameter.

 Category : sebuah integer yang menunjukkan ID kategori ke beberapa post baru yang akan dibuat.

 Laguange : sebuah string yang mewakili kode bahasa pada publikasi baru.

Perhatikan kode berikut ini untuk mendapatkan nilai yang diinginkan dari parameter $_GET.

(6)

PUBLIC FUNCTION ACTIONcREATE() hasil sama dengan cara lebih gampang:

Class PostController extends Controller ActionCreate. Nama parameter ini haruslah sama persis dengan nama yang ingin didapatkan dari $_GET. Parameter $languange mengambil nilai default en apabila ternyata user tidak memberikan nilai pada parameter. Karena $category tidak memiliki nilai default, maka jika user tidak meberikan nilai pada parametter. Karena $category di $_GET sebuah HttpException (kode kesalahan 400) akan dikeluarkan secara otomatis. Ini daat dilakukan dengan PHP type hinting (pemberian petunjuk jenis PHP) dengan menggunakan sintaks seperti pada skrip berikut:

(7)

{

Public function actionCreate (array $categories) {

//Yii akan memastikan $categories adalah sebuah array

} }

Tambahkan kata kunci array didepan $categories dalam deklarasi parameter metode tersebut. Dengan melakukan demikian, jika $_GET [categories’] adalah sebuah string sederhana, akan diubah menjadi sebuah array yang terdiri dari string tersebut.

E. Alur kerja MVC

Diagram memperlihatkan alur kerja MVC sebuah aplikasi Yii saat menanganni permintaan user. Untuk memperjelas antarmodul yang terdapat pada model view controller seperti terlihat pada gambar 3.1

(8)

 User melakukan permintaan dengan memanggil URL

http://localhost/test/index.php?r=site/login dan user web memberikan responsi permintaan dengan menjalankan skrip bootstrap index.php.

Gambar. site login

 Skrip bootstrap membuat sebuah index.php

 Aplikasi mendapatkan rincian informasi permintaan user dari komponen aplikasi bernama request.

 Aplikasi menentukan controller dan aksi terdapat pada fungsi action yang diminta dengan bantuan komponen aplikasi bernama urlManager. Dalam contoh ini, controller adalahh site yang merujuk pada kelas siteController dan aksi adalah login.php yang arti sebenarnya ditentukan oleh controller.  Aplikasi membuat instance controller yang diminta untuk melanjutkan

menangani permintaan user. Controller menentukan aksi login.php

merujuk pada sebuah metode bernama actionLogin dalam kelas controller. Kemusian membuat dan menjelaskan filter {contoh kontrol akses,

(9)

 Aksi membaca model LoginForm dengan parameter $model yang terdapat pada controller dalam actionLogin diambil dari pernyataan :

$model->attribute~$_POST[‘LoginForm’];

Aksi menyiapkan view (tampilan) bernama login.php dengan model LoginForm. View membaca dan menampilkan atribute model login.php.

View menjalankan beberapa widget dan view menyiapkan hasil yang dipasangkan dalam layout (tata letak)

Berikutnya user menjalankan aplikasi url http://localhost/test seperti terlihat pada gambar 3.2

Gambar 3.2 Menu Utama Test Aplikasi

User memililh menu contact, akan mengubungkan ke url

http://localhost/test/index.php?r=site/contact, yang dipanggil lewat pernyataan. $this->render(‘contact’, array (“model’ =>$model)). Aplikasi akan memanggil tampilan formulir dari file /view/site/contact.php.

(10)

Gambar 3.3 Formulir Contact

Kemudian ketika user memilih menu login, akan menghubungkan ke url

(11)

Gambar

Gambar 3.1 Hubungan MVC Aplikasi
Gambar. site login
gambar 3.2Gambar 3.2 Menu Utama Test Aplikasi
Gambar  3.3 Formulir Contact

Referensi

Dokumen terkait

Direktur Utama PT AJ Bumiputera Wiroyo Karsono menuturkan, penggunaan Briva memberikan kemudahan akses pembayaran premi bagi para nasabah PT AJ Bumiputera, mengingat

7) Media Yang Digunakan Pembelajaran Tokoh-tokoh Sejarah Pada Masa Kerajaan Hindu-Buddha dan Islam Di Indonesia Dengan Model Pembelajaran Cooperatif Tipe Make A Match.

Dari hasil simulasi untuk Database Face Recognition Data dan Database Mahasiswa Maranatha diperoleh akurasi pengenalan wajah yang lebih baik untuk kondisi jumlah citra

1) Data yang berkaitan langsung tentang pengukuran nilai skor skala keaktifan berorganisasi mahasiswa prodi Bimbingan dan Konseling Islam. Adapun indikator yang digunakan

Sumber data: Laporan Pusdiklat, BSDMO 11 Meningkatnya jumlah standar di bidang nuklir Jumlah Standar Nasional Indonesia (SNI) bidang nuklir. Jumlah SNI iptek nuklir yang

Perubahan harga cabai merah di pasar-pasar lokal (Bandung, Semarang, Surakarta dan Surabaya) dipengaruhi oleh (a) marjin harga cabai merah spasial atau perbedaan antara

Dari gambar pergerakan platform robot berkaki tersebut dapat dilihat pergerakan robot iSRo G2 ketika melewati medan balok kayu, dengan bantuan lengan 2

Dengan meningkatkan keamanan data menggunakan kombinasi algoritma, dapat menjaga keamanan data lebih terjamin dari serangan-serangan yang dapat membahayakan isi dari