Apa
itu Model-View-Controller (MVC)?
Sebelum membahas konsep MVC, harus mengerti konsep Pemograman Berbasis Objek (PBO), dimana sebelum PBO dikenal banyak orang, yang paling banyak digunakan dalam merancang
atau membuat sebuah program adalah Pemograman Terstruktur. Perbedaan mendasar
dari kedua konsep ini adalah pada pemograman terstruktur, coding program hanya
dapat digunakan pada sebuah tempat/perintah saja, berbeda dengan Pemodelan dimana
coding program dapat digunakan pada beberapa tempat/perintah sesuai kebutuhan. Selain
itu terdapat permasalahan dalam pembuatan program adalah bagaimana coding
program yang telah dibuat dapat dipahami dengan benar sehingga apabila terdapat
perubahan yang dilakukan baik oleh pembuat program atau programmer lainya, dapat
memperbaikinya dengan mudah. Hal ini tentu saja harus diperhatikan terutama dalam
pembuatan sebuah project yang
dikerjakan oleh beberapa orang, mengingat faktor waktu dan biaya yang harus
dikeluarkan dalam pembuatan project tersebut. Dengan adanya konsep Pemodelan memudahkan dalam membuat atau mengembangkan project.
Hasil Pengembangan PBO adalah Pemodelan MVC, MVC merupakan
suatu konsep yang cukup populer saat ini dalam pembangunan aplikasi, yang mana MVC
memisahkan pengembangan aplikasi menjadi beberapa bagian. Bagian-bagian ini
berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi
data, user interface, dan bagian yang menjadi kontrol aplikasi. Sesuai dengan
singakatanya maka MVC terdiri dari 3 bagian yaitu :
·
Model
Merupakan
bagian yang menampung sekumpulan coding yang berhubungan dengan pengolahan suatu
data dari database, serta kumpulan
class-class yang digunakan dalam.membuat suatu aplikasi.
·
View
Merupakan
bagian yang menampung sekumpulan coding html, coding javascript, script css, image,
file dan sebagainya yang digunakan dalam User Interface. Segala sesuatu yang
kaitanya dengan tampilan atau User Interface dimasukkan kedalam bagian view.
·
Controller
Merupakan
bagian yang menjadi “jembatan” antara bagian Model dengan bagian View.
Dengan
menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan bidang
masing-masing sumber daya, yaitu programmer yang menangani bagian model dan controller, dan designer yang menangani bagian view,
sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan
komunikasi yang baik antara programmer
dan designer dalam menangani
variabel-variabel yang akan ditampilkan. MVC merupakan pattern yang tidak dapat langsung dipetakan menjadi kode, MVC lebih
merupakan suatu rancangan konseptual atau paradigma.
Untuk dapat lebih jelasnya
disajikan (dengan bahasa PHP) perbandingan sederhana antara penulisan coding yang menggunakan MVC
dengan cara struktural.
·
Menggunakan
cara structural
Isi
dari folder Project/struktural.php
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "db_tutorial";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (! $conn)
die ("Gagal
koneksi ke database server");
if (! mysql_select_db($dbname, $conn))
die ("ERROR : Kesalahan Dalam Pemilihan Database ");
$query = "SELECT * from berita";
$hasil = mysql_query($query);
while ($row=mysql_fetch_array($hasil))
{
echo "kode:
".$row["id"]."<br>";
echo "judul:
".$row["judul"]."<br>";
echo "isi:
".$row["isi"]."<br>";
}
?>
·
Menggunakan
cara MVC
a)
Model
- Buat file seperti berikut : Project/model/berita.php
<?
class Berita {
public $kode;
public $judul;
public $isi;
// list berita
public function daftarBerita{
$query = "SELECT id,judul, isi from berita";
$hasil = mysql_query($query);
while ($row = mysql_fetch_array($hasil)) {
$this->kode[] = $row["id"];
$this->judul[] = $row["judul"];
$this->isi[] = $row["isi"];
$result[] = array(
'id' => $row["id"],
'judul' => $row["judul"],
'isi' => $row["isi"]
);
}
return is_array($result) ? $result : array();
}
public function tambah {
$query = "INSERT
INTO berita(id,judul,isi) ".
"VALUES('$this->kode','$this->judul','$this->isi')";
$hasil = mysql_query($query);
if(mysql_affected_rows()== 1)
return true;
else
return false;
}
//dan function lainya
?>
b) Controller
- Buat file seperti berikut : Project/controller/berita.php
<?
require_once 'Model/berita.php';
berita = new Berita();
$listBerita = berita-> daftarBerita();
//dan aksi lainnya seperti mapping data yang digunakan di view
require_once 'View/berita/list.php';
?>
c) View
- Buat file seperti berikut : Project/view/berita/list.php
<?
// isinya adalah html tabel untuk menampilkan data daftar berita, data diambil dari variabel $listBerita
?>
lebih tertata bukan setelah menggunakan model MVC? manfaat MVC akan terasa jika proyek aplikasi yang dikerjakan merupakan aplikasi yang kompleks. selamat mencoba...
Komentar
Posting Komentar