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

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.

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

Runway Bandara Internasional Supadio menjadi 2.600 x 45 meter

Presiden Direktur PT Angkasa Pura II (AP II) Muhammad Awaluddin mengatakan dengan dimensi runway yang lebih panjang maka Bandara Internasional Supadio akan semakin mudah melayani warga Kalimantan Barat khususnya Pontianak dalam melaksanakan ibadah umroh dan haji. Landasan pacu (runway) di Bandara Internasional Supadio (Pontianak) diperpanjang untuk bisa melayani penerbangan pesawat berbadan lebar atau widebody. Proyek perpanjangan runway dari 2.250 x 45 meter menjadi 2.600 x 45 meter dimulai tahun 2019