Wednesday, April 17, 2013

Pengertian Konsep MVC (Model View Controller)


Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC.[1] MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.

istilah MVC ini untuk memisahkan tugas­-tugas tersebut agar aplikasi yang dibuat menjadi lebih mudah di­maintenain. Ada tiga layer utama dalam arsitektur web MVC, yang disebut sebagai best­ practices
– Model
– View
– Controller
Layer Model merupakan business logic utama. Di dalamnya ada kode untuk data persistence dan perhitungan business logic utama. Secara singkat, layer model ini menangani content dari aplikasi. Di layer ini diputuskan data apa yang akan diberikan pada client. Dengan menggunakan analogi Aplikasi Diskon, layer ini memutuskan angka berapa yang akan keluar sebagai pendapatan, berapa harga untuk pengeluaran, dan sebagainya.
Layer View menangani masalah-­masalah yang berkaitan dengan tampilan. Layer ini tidak peduli apa saja content yang ada, tugasnya hanya melakukan formatting terhadap data tersebut agar tampilannya sesuai dengan kebutuhan user. Misalnya, untuk Aplikasi Diskon, layer ini memutuskan apakah daftar belanja akan ditampilkan dalam tabel HTML, ditampilkan ke command prompt, disajikan dalam tabel Swing, atau diekspor menjadi file text. Sebagai tambahan, biasanya layer View juga bertugas untuk melakukan validasi data yang diinputkan user.
Layer Controller mengatur user flow. Di sini dilakukan pemrosesan request untuk menentukan business logic mana yang akan dieksekusi. Biasanya layer controller juga digunakan untuk mengatur ijin akses dan permission.

Jenis MVC pada website

  • 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.


No comments:

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.