Konsep MVC
Aryo Pinandito, ST, M.MT Fajar Pradana, S.ST, M.Eng
Issa Arwani, S.Kom, M.Sc
1. PENDAHULUAN
1.1 Pengantar 1.2 Tujuan
1.3 Definisi
2. Layer Utama Pada Arsitektur MVC
3. Kelebihan dan kekurangan Arsitektur MVC
4. Arsitektur MVC pada aplikasi dekstop dan
aplikasi web
1. PENDAHULUAN
1.1 Pengantar
MVC yaitu suatu metode atau istilah untuk memisahkan element -element atau penulisan source code dalam pemrograman dari suatu aplikasi yang
dibuat agar tampak lebih rapi, lebih mudah untuk dimaintain dan dikembangkan. MVC merupakan suatu konsep pemrograman yang juga
banyak diterapkan oleh pengembang perangkat lunak. Dengan menerapkan MVC ketika membuat suatu aplikasi akan berguna pada kemudahan saat
aplikasi tersebut memasuki fase maintenance. Proses pengembangan dan integrasi pun menjadi lebih mudah untuk dilakukan. Ide dasar dari MVC
sebenarnya sangat sederhana, yaitu mencoba untuk memisahkan antara model, view, dan controller.
1.2 Tujuan
Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :
Menjelaskan dan memahami tentang definisi dan konsep arsitektur MVC.
Menjelaskan dan memahami layer-layer dalam arsitektur MVC.
Menjelaskan dan memahami kelebihan dan kekurangan arsitektur MVC pada Aplikasi.
Menjelaskan dan memahami arsitektur MVC pada aplikasi dekstop dan
aplikasi web.
Mampu merancang aplikasi sederhana dengan konsep arsitektur MVC.
Halaman 1
MODUL
11
SELF- PRO
PAG ATIN
G ENT
REPR ENE
URIA L
EDU CATI
ON DEV
ELOP MEN
T SPE
ED
1.3 Definisi MVC
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. 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.
Model View Controller MVC pertama sekali didengungkan oleh peneliti XEROX PARAC yang bekerja dalam pembuatan bahasa pemograman Smalltalk sekitar tahun 1970-1980. Smalltalk
adalah bahasa pemrograman murni berbasis object oriented, dan konsep MVC adalah fitur kunci utamanya.
Sebelum mengenal konsep MVC perhatikan gambar dibawah:
Gambar diatas akan memberikan ilustrasi
sederhana mengenai konsep arsitektur MVC.
Katakanlah besok
adalah ulang tahun saudara Anda. Anda akan memutuskan untuk membeli kue dan mengunjungi toko Bakery.
Anda memesan ke pembuat kue baker untuk dibuatkan kue yang indah. Pembuat kue akan mengumpulkan semua bahan untuk membuat kue. Setelah mengumpulkan semua bahan,
pembuat kue memutuskan bagaimana kue akan dibentuk dan memilih pan untuk mencetak kue yang tepat mungkin persegi, lingkaran dll. Ketika sudah kue siap, pembuat kue
merespon yaitu memberikan kembali kue ke anda. Dari ilustrasi ini bisa kita umpamakan anda sebagai view-nya tempat untuk request dan menerima hasil response dari suatu aplikasi,
pembuat kue baker sebagai controller-nya yang akan memutuskan proses apa yang harus dilakukan ketika ada permintaan dari user sedangkan bahan baku kue, pan sebagai alat
pencetak merupakan ilustrasi model yang langsung berhubungan dengan data yang diproses. Dalam membuat aplikasi apapun, bagian dalam kode yang sering mengalami perubahan
adalah bagian user interface. User interface adalah bagian yang paling terlihat oleh pengguna dan merupakan tempat bagi pengguna berinteraksi dengan aplikasi. Business-logic yang
rumit pada user-interface akan membuat pengubahan pada user interface menjadi lebih kompleks dan mudah terjadi kesalahan. Perubahan pada satu bagian memiliki potensi
keterkaitan dengan keseluruhan aplikasi. Pola arsitektur MVC menyediakan sebuah solusi terhadap permasalahan tersebut dengan
membagi aplikasi menjadi bagian – bagian tersendiri yaitu Model, View dan Controller, yang memisahkan antara proses bisnis dengan tampilan yang mempunyai fokus terhadap
penerimaan data dan pengiriman data dari pengguna. Sebagai gambaran, jika ada
Gambar 11.1 Konsep MVC
perubahan pada komponen model, maka komponen view tidak harus selalu dirubahdirombak total, demikian juga sebaliknya.
2. Layer Utama pada Arsitektur MVC