• Home
  • Berita
  • Memahami Pentingnya MVC Dalam Pemrograman dan Contohnya

Memahami Pentingnya MVC Dalam Pemrograman dan Contohnya

Oleh Ratna Patria

Salah satu framework yang terkenal karena penggunaan MVC adalah Laravel.

Dengan begitu, konsep MVC adalah arsitektur yang hebat, tidak peduli apa pun bahasa pemrograman yang kamu gunakan untuk pengembangan program, misalnya PHP, JavaScript, Python, Ruby, dan bahasa pemrograman dan skrip lainnya.

MVC adalah konsep arsitektur program; seperti aplikasi atau website; yang terdiri dari tiga komponen logika yaitu Model, View, dan Controller.

MVC
Sumber: Envato

Banyak yang berpendapat bahwa konsep MVC adalah strategi penting untuk mempercepat dan memperjelas proses pengembangan program.

Alhasil, sudah banyak aplikasi dan website yang dibangun dengan menerapkan konsep pengembangan ini.

Hal ini membuat banyak programmer, tak terkecuali programmer pemula, harus familiar dan menguasai jenis arsitektur kode program ini.

Nah melalui artikel ini, kamu bisa mulai memahami betapa pentingnya ketiga komponen arsitektur ini dan sekaligus contoh penerapannya dalam kode pemrograman.

Pengertian MVC

Pada dasarnya, MVC adalah sebuah framework dengan pola arsitektur yang memisahkan kode pemrograman menjadi tiga komponen logika utama, yaitu Model, View, dan Controller.

Ketiga komponen arsitektur tersebut dibangun untuk menangani aspek pengembangan bagian dari aplikasi tertentu.

MVC memisahkan logika pemrograman dan tampilan Graphical User Interfaces (GUI) aplikasi.

MVC adalah salah satu framework pengembangan web dan software yang populer dan paling sering digunakan untuk membantu mengembangkan aplikasi web serta aplikasi berbasis mobile.

Konsep MVC

  • Model

Komponen model berguna dalam menyimpan data dan logika program.

Data yang dimaksud disini mewakili data yang sedang ditransfer antara komponen View dengan Controller atau logika program lainnya.

Misalnya, objek Controller akan mengambil informasi pelanggan dari database.

Komponen Model akan memanipulasi data dan mengirimnya kembali ke database atau menggunakannya untuk membuat data yang sama.

Komponen Model ini menanggapi permintaan dari tampilan depan program dan juga menanggapi instruksi dari Controller untuk memperbarui kode bagian Model itu sendiri.

Komponen Model sebagai bagian penting dari MVC adalah level terendah dari pola logika pemrograman yang bertanggung jawab untuk maintaining data.

  • View

Komponen View adalah bagian dari aplikasi yang mewakili penyajian data dan menangani segala interaksi pengguna dengan aplikasi (user interface dan user experience).

Komponen View dibuat berdasarkan data yang dikumpulkan dari data model.

Logika View akan meminta Model untuk memberikan informasi sehingga View bisa mengirim tampilan output program ke pengguna.

Logika View juga merepresentasikan data dari charts, diagram, dan tabel.

Misalnya, setiap komponen View yang pelanggan minta akan menyertakan semua komponen UI seperti text box, drop down menu, dan lain sebagainya.

  • Controller

Controller adalah bagian dari aplikasi yang menangani interaksi pengguna dan menjembatani proses antara Model dan View.

Controller dapat dimisalkan seperti adanya input mouse dan keyboard dari pengguna lalu Controller menginformasikan ke komponen Model dan View untuk melakukan tugasnya sebagaimana mestinya.

Komponen Controller mengirim perintah ke Model untuk memperbarui statusnya, misalnya, menyimpan dokumen tertentu.

Controller juga mengirimkan perintah ke View untuk mengubah tampilan aplikasi misalnya scrolling dokumen tertentu.

Alur atau Cara Kerja MVC

Bila kita buat analogi mudahnya, arsitektur MVC adalah pola kode pemrograman yang memisahkan fungsi input, pemrosesan, dan output dari suatu aplikasi.

Ketiga komponen Model, View, dan Controller dibangun untuk menangani beberapa aspek pengembangan spesifik dari setiap pengembangan aplikasi mobile dan web.

Berikut ini cara kerja arsitektur Model, View, dan Controller selama pengembangan aplikasi.

  1. View menampilkan user interface aplikasi dan informasi lainnya ke pengguna.
  2. View menampung request informasi dari pengguna yang selanjutnya akan diajukan ke Controller.
  3. Controller menerima semua permintaan untuk aplikasi dari View.
  4. Controller menginstruksikan Model untuk menyiapkan informasi apa pun yang diminta dan diperlukan oleh View.
  5. Model mencari informasi yang dimaksud View lalu mengolah informasi tersebut di database.
  6. Jika Model sudah selesai mengelola informasi dengan bantuan logika-logika pemrograman, maka Model akan menyerahkan hasilnya ke Controller.
  7. View menggunakan data yang disiapkan oleh Controller untuk menghasilkan keluaran akhir.

Buat kamu yang masih bingung dengan penjelasan di atas karena terlalu teknis atau karena alasan lainnya, kami buat analogi MVC adalah seperti ini:

Bayangkan kamu akan mengendarai sebuah mobil (aplikasi).

Anggaplah mobil terdiri dari tiga bagian utama, yaitu sistem kemudi (view), mesin (controller), dan tangki bensin (model).

Jika kamu ingin mobil kamu bergerak, maka kamu harus mengoperasikan sistem kemudinya, misalnya men starter mobil.

Nah, mesin mobil mulai menjalankan prosedur pengaktifan mobil dengan mengecek ketersediaan bensin di tangki bahan bakar.

Jika bensin tersedia, maka tangki akan mengirimkannya ke mesin.

Dengan begitu, mesin punya tenaga untuk mengaktifkan mobil dan mobil siap untuk jalan.

Bagaimana, kira-kira jadi lebih mudah dipahami bukan?

Karakteristik MVC

Berdasarkan pengertian dan cara kerjanya, adapun karakteristik MVC adalah sebagai berikut.

  • Proses pengujian program yang mudah dan minim masalah. MVC adalah framework yang sangat mudah untuk diuji, dapat dikembangkan, dan dapat diterapkan di kode pr0gram apapun.
  • Untuk mengembangkan aplikasi web menggunakan pola Model-View-Controller, MVC akan menawarkan kontrol penuh atas HTML serta URL.
  • Framework yang memanfaatkan fitur yang disediakan oleh ASP.NET, JSP, Django, dan sejenisnya.
  • Sesuai dengan pengertian sebelumnya, MVC adalah komponen pemrograman yang memisahkan 3 logika: Model, View, Controller.
  • Pola pengembangan aplikasi yang mendukung Test Driven Development (TDD).

Kelebihan MVC

  • Membuat Proses Pengembangan Aplikasi Lebih Cepat

Komponen Model-View-Controller mendukung proses pengembangan sistem yang cepat dan paralel.

Hal ini memungkinkan satu programmer dapat bekerja pada komponen View, sementara programmer lain dapat bekerja pada komponen Controller untuk membuat logika pemrograman aplikasi web.

Dengan demikian, aplikasi yang dikembangkan menggunakan logika Model, View, dan Controller dapat diselesaikan tiga kali lebih cepat daripada aplikasi yang dikembangkan menggunakan pola pengembangan lainnya.

  • Mendukung Teknik Pemrograman Asinkron

Arsitektur MVC adalah multi-purpose programming technique karena ia dapat berintegrasi dengan framework JavaScript.

Hal ini berarti bahwa aplikasi MVC dapat dibuat untuk bekerja dengan file PDF, browser untuk situs khusus, dan juga dengan widget desktop.

Komponen-komponen logika ini juga mendukung teknik asinkron yang mana membantu developer dapat mengembangkan aplikasi yang dimuat dengan sangat cepat.

  • Perubahan Kode Program Tertentu Tidak Mempengaruhi Keseluruhan Aplikasi

Dalam pengembangan aplikasi web apa pun, user interface cenderung lebih sering berubah.

Misalnya mengubah warna, font, layout layar, dan menambahkan pengaturan dukungan perangkat baru untuk mobile atau tablet.

Dengan komponen View, kamu bisa menambahkan tipe tampilan UI baru dengan sangat mudah dan lebih terstruktur.

Oleh karena itu, setiap perubahan dalam Model tidak akan mempengaruhi keseluruhan arsitektur.

MVC
Sumber: Envato
  • Platform Pengembangan Web SEO Friendly

Platform MVC adalah salah satu arsitektur pengembangan yang mendukung pengembangan halaman web atau aplikasi web yang SEO friendly.

Dengan menggunakan platform ini, sangat mudah untuk mengembangkan situs yang SEO friendly untuk menghasilkan lebih banyak traffic kunjungan pengguna.

Arsitektur pengembangan ini umumnya digunakan dalam aplikasi Test Driven Development.

Selain itu, bahasa scripting seperti JavaScript dan jQuery dapat diintegrasikan dengan konsep MVC untuk mengembangkan aplikasi web yang punya banyak fitur.

Selain kelima kelebihan utama MVC di atas, berikut ini manfaat lain dari konsep Model-View-Controller.

  • Maintaining kode mudah untuk pengembangan program lanjutan.
  • Komponen Model dapat diuji secara terpisah dari pengguna.
  • Framework yang dapat membantu kamu untuk menghindari kerumitan web atau software development.
  • Arsitektur pemrograman yang hanya menggunakan pola Front Controller yang memproses permintaan aplikasi web melalui Controller tunggal.
  • Menawarkan dukungan terbaik untuk pengembangan berbasis pengujian (Test Driven Development).
  • Semua class dan object pada kode pemrograman akan terpisah satu sama lain sehingga kamu bisa menguji tiap komponen secara terpisah.

Contoh Penerapan MVC

Pada artikel ini, DomaiNesia juga berikan contoh MVC yang diterapkan dengan bahasa pemrograman dasar PHP. Kami beri contoh pembuatan form untuk fungsi login.

  • Buatlah folder bernama Login di text editor yang kamu miliki.
  • Buat file untuk komponen View bernama index.php yang berguna untuk menampilkan form yang akan digunakan untuk data pengguna Login. Patokannya file index.php ada di direktori views/login/index.php
  • Lalu salin source code di bawah ini.

<!DOCTYPE html>

<html>

<head>

<title>Login</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

</head>

<body>

<center>

<div class="floating-box">

<form name="form1" method="post" action="login/run">

<label for="uname">User Name</label>

<input type="text" id="user_name" name="user_name"><br><br>

<label for="pwd">Password</label>

<input type="password" id="password" name="password"><br><br>

<input name="submit" type="submit" id="submit" value="Login"><br>

<p>New User <a href="signup.php">Register Here</a></p>

</center>

</body>

</html>

  • Selanjutnya, buatlah file Controller PHP dengan nama login.php di folder Controller sehingga tujuan file controller login.php ada di controller/login.php. Salinlah source code berikut.

<?php

class Login extends Controller {

function __construct() {

parent::__construct();

Session::init();

}

function index() {

$this->view->render('login/index');

}

function run()

{

$this->model->run();

}

/* logging out the user */

function logout()

{

Session::destroy();

header('location: index');

exit;

}

}

  • Terakhir, kamu buat file Model yang digunakan untuk proses mendaftarkan data ke database. Kamu bisa beri nama file login_model.php yang dibuat di bawah folder Models. models/login_model.php

<?php

class Login_Model extends Model

{

public function __construct()

{

parent::__construct();

Session::init();

}

public function run()

{

$user_name=$_POST['user_name'];

$password=md5($_POST['password']);

$res= $this->db->select("SELECT * FROM register WHERE username = '".$username."' AND password = '".$password."'");

$count = count($res);

if ($count > 0) {

Session::init();

Session::set('role', "user");

Session::set('loggedIn', true);

Session::set('user_name', $user_name);

Session::set('password', $res[0]['password']);

header('location: '.URL.'login/index');

}

else {

Session::set('loggedIn', false);

header('location: '.URL);

}

}

}

MVC
Sumber: Envato

MVC Adalah Solusi Tepat Untuk Mengembang Program Dengan Efektif

Sederhananya, MVC adalah arsitektur software development yang mengurutkan konsep Model, View, dan Controller agar mudah dalam maintenance source code.

Komponen Model mencakup semua data dan logika pemrograman sekaligus database aplikasi.

Komponen View untuk menyajikan data kepada pengguna dan menangani segala interaksi pengguna dengan aplikasi.

Dan komponen Controller sebagai interface atau penghubung antara komponen Model dan View selama proses request user.

Karena pemahaman konsep arsitektur MVC adalah bagian dari penggunaan framework, penting halnya untuk belajar coding dengan memahami prinsip Object Oriented Programming atau OOP sehingga proses pengembangan aplikasi menjadi lebih terstruktur dan memudahkan kamu dalam melakukan pengembangan lanjutan nantinya.

MVC adalah pilihan strategi dan solusi yang tepat agar kamu bisa ngoding dengan lebih enjoy dan setuju dengan klaim coding is fun.

Ratna Patria

Hi! Ratna is my name. I have been actively writing about light and fun things since college. I am an introverted, inquiring person, who loves reading. How about you?


Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Hosting Murah

This will close in 0 seconds