Langsung ke konten utama

Pemodelan MVC


  Apa itu Model-View-Controller (MVC)?

Buat anda yang berprofesi sebagai programmer/ tukang ketik (sama kayak ane :)), pada kesempatan ini  ane mau bagi pengetahuan. 
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

Postingan populer dari blog ini

Mall Baru di Kubu Raya Pontianak

Akan hadir  Mall of borneo  yang akan menjadi mal terbesar di Kabupaten Kubu Raya, Kalimantan Barat, tepatnya Jl. Arteri Supadio Kubu Raya, dekat dengan batas kota Pontianak. Mall dengan konsep  kesatuan yang memberikan investasi yang sangat produktif.  Mal dengan luas bangunan 233 ribu m2 yang terdiri dari 5 lantai dan bangunan yang akan digunakan hotel. Pembangunan Mall of Borneo yang akan ada selain mall, hotel dan kompleks ruko serta taman buatan dilengkapi dengan berbagai fasilitas yang modern. Dukungan datang dari pemda setempat, terbukti pada saat Ground Breaking, Gubernur Kalimantan Barat mendukung penuh pembangunan Mall of borneo dalam kata sambutannya "Kubu Raya ini sangat potential untuk sektor perdagangan dan jasa serta investasi lainnya sehingga daerah ini terus berkembang dan maju setelah kota Pontianak." Selain itu Bupati Kubu Raya juga  memberikan pe ndapatnya, "Ini akan menjadi ikon baru bagi Kubu Raya, kalau selama ini masyarakat Kubu Raya b

Swiss-Belhotel Pontianak

Located on Jalan Teuku Umar Pontianak, Swiss - Belhotel Pontianak stand nearly 23 storeys above 4600 square meters of land will certainly also have bed rooms 350 rooms of various classes built with the concept of MICE Business Hotel with premium class. Swiss - Belhotel Pontianak Facilities Swiss - Belhotel Pontianak designed for multifunctional, the swimming pool will be attached to the top storey, so guests may enjoy the wonder of the city from above. Other features, including Business Center that will facilitate your work, swimming pool, gym, meeting rooms, lobbying, to cafes and restaurants. In addition you will have 10 other spaces that could be useful for conferences, exhibitions and appointments.

Samarinda Global City

Big Mall adalah proyek mal baru di Jalan Untung Suropati, Samarinda Kalimantan Timur. Dalam satu kompleks Samarinda Global City dilengkapi dengan apartemen yg berjumlah 40-an lantai akan dibangun di atas luas tanah sekitar 6 hektare. Samarinda Global City dikembangkan menjadi tiga tahap, yakni  apartemen , hotel,  pembangunan mal,  dan gedung perkantoran atau disebut Samarinda Global City (Sam Go Ci) .  Salah satu proyek Mall yang ada di Kalimantan ini, dengan desain baru yang lebih futuristik dan modern dirancang untuk merangkul semua golongan pengusaha, juga akan mendukung kemajuan usaha lokal, seperti produk khas Samarinda, baik jenis penganan maupun kerajinan tangan dengan tertata rapi sesuai penggolongan.  Konsep hiburan dan lifestyle yang cocok untuk keluarga maupun kawula muda yang menyediakan fasilitas fitness center, game center, accessories center, fashion, ice skating, food court selera nusantara dan internasional. Sumber :  Kaltim Post