Jumat, 05 Januari 2018

MVC(Model,View dan Controller)


MVC(Model,View dan Controller)

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk (Wikipedia), MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :

  • View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  • Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  • Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Jenis-jenia MVC adalah sebagai berikut :
  • ·    Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga dengan nama Thin Client.
  • ·      Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2.
  • ·    Rich Internet Application MVC, Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.

Fungsinya :
  •     Model mewakili struktur data kamu. Umumnya kelas model kamu akan berisi fungsi – fungsi yang akan membantu kamu untuk mengambil, insert, dan update data di database kamu.
  •    View adalah informasi yang disajikan ke user. Sebuah view normalnya adalah sebuah halaman web, namun di CI sebuah view bisa juga menjadi bagian halaman seperti header atau footer. Bisa juga menjadi berbagai jenis “halaman” yang lain.
  •    Controller berfungsi sebagai penengah antara Model, View dan resource lain yang dibutuhkan untuk memroses HTTP request dan memproduksi sebuah halaman web.

Berikut adalah satu controller dengan function default menampilkan data dari table AA_PRODUCTS yang diambil oleh model temp_model.
Contoh :
File Model
<?php
class temp_model extends Model {
function temp_model()
{
parent::Model();
}
function getProducts()
{
return $this->db->query(“SELECT * FROM AA_PRODUCTS”);
}
}
?>
File Controller
<?php
class class_temp extends Controller {
function class_temp() {
parent::Controller();
$this->load->model(‘temp_model’);
}
function index() {
$query = $this->temp_model->getProducts();
$data[‘que’] = $query->result();
$data[‘numrows’] = $query->num_rows;
$this->load->view(‘view_temp’,$data);
}
}
File View
<?
foreach($que as $row){
echo “”.$row->NAME;
}
?>

Tidak ada komentar:

Posting Komentar

Silabus

SILABUS MATA PELAJARAN Nama Sekolah : SMK Krija Bhakti Utama Bidang Keahlian : Teknologi Informasi dan Komunikasi Kompetensi Keahlian : Mult...