Apa itu Model View Controller (MVC)?

4 Jun 2022
Apa itu Model View Controller (MVC)? campaign-unlimited

MVC merupakan bentuk desain dalam pengembangan website yang memisahkan antara model, view, dan controller. Konsep ini memudahkan dalam proses pembuatan website.

Jika Anda sedang belajar pemrograman terutama PHP, konsep MVC ini dapat Anda temui dalam framework populer seperti Laravel, CodeIgniter, YII, Symfony, Yii, dan Zend.

Selain itu, kerangka kerja ini juga dapat membantu agar lebih tersusun secara terstruktur sehingga memudahkan pekerjaan selesai lebih cepat.

Jadi, jika Anda memilih menggunakan framework dalam mengerjakan suatu project, artinya Anda atau developer tidak perlu lagi dalam membuat script dari awal.

Kemudian, penggunaan framework dalam kegiatan mengembangkan website juga dapat memudahkan dalam melakukan kegiatan maintenance website jika terjadi error ataupun permasalahan lainnya.

Berikut penjelasan lengkap tentang apa itu MVC yang harus Anda tahu.

Apa itu MVC ?

MVC atau Model View Controller adalah sebuah cara dalam membuat aplikasi atau website dengan memisahkan masing-masing databasenya di Model, tampilannya di View, dan perintah-perintah yang memiliki fungsi (function) dalam menghubungkan model dan view tersebut di Controller.

Jadi bisa disimpulkan model view controller ini seperti ini :

  • Model, merupakan bagian untuk pengelolaan pada database
  • View, merupakan bagian yang menampilkan desain tampilan dan juga informasi kepada user atau pengguna (end user)
  • Controller, merupakan bagian yang menghubungkan model dan view pada setiap proses request dari user.

Dengan konsep model view controller, website sendiri terdiri dari masing-masing bagian yang terpisah sehingga, memudahkan dalam mengembangkan dan pengerjaan. 

Proses pengerjaan aplikasi atau website pun dapat dilakukan dengan cepat karena tim developer dapat lebih fokus ke salah satu bagiannya saja dari model, view, dan controller.

Konsep MVC ini sudah diterapkan di berbagai framework PHP, Laravel, CodeIgniter, YII, Symfony, Yii, dan Zend.

Cara Kerja MVC 

cara-kerja-mvc

Sebelum membuat sebuah aplikasi atau website, bagi Anda yang masih baru mengenal konsep MVC ini ada baiknya untuk mengetahui terlebih dahulu alur kerja model view controller ini.

(gambar)

Berikut penjelasan gambar di atas :

  1. Pada bagian View melakukan permintaan informasi agar dapat bisa ditampilkan kepada pengguna.
  2. Permintaan tersebut kemudian diterima oleh Controller dan dikirimkan ke bagian model untuk diproses.
  3. Di bagian Model, informasi tersebut akan diolah dan dicari data informasinya ke dalam database yang dimiliki
  4. Setelahnya, Model akan memberikan kembali pada controller untuk ditampilkan hasilnya pada View.
  5. Controller mengambil hasil olahan yang dilakukan pada bagian model dan menatanya pada bagian View.

Manfaat MVC

manfaat-mvc

Berikut menggunakan framework Model View Controller dalam pembuatan website sebagai berikut :

1. Proses Pengembangan Website Menjadi Lebih Efisien

Konsep MVC membantu membuat proses pengembangan website menjadi lebih cepat. Hal ini karena MVC memisahkan bagian Model, View dan Controller. Jadi jika dalam pembuatan website ini terbagi dalam tim, maka pengerjaannya akan terbagi seperti berikut ini :

  • Bagian Model dan Controller bisa dikerjakan oleh Tim Back End Developer
  • Bagian View bisa dikerjakan oleh Tim Front End Developer dan Tim UI/UX.

Jadi, tim UI/UX dapat menyelesaikan perancangan desain pada halaman depan, tim Back End dan Front End dapat memulai membuat kode pemrograman. Tim UI/UX dapat juga beralih ke perancangan desain halaman lain misalnya halaman produk.

2. Testing Menjadi Lebih Mudah

Tahapan testing perlu dilakukan agar dapat memastikan website dapat berjalan dengan baik. Jadi, dengan menggunakan kerangka MVC, proses testing dapat dilakukan per bagian yang telah siap, daripada menunggu keseluruhan website selesai.

3. Error atau Bug Lebih Cepat dan Mudah Ditangani

Pembagian website dengan metode MVC dapat membuat developer lebih fokus pada bagian pengembangannya masing-masing. Jadi mereka dapat dengan cepat menemukan bug dan bisa segera untuk memperbaikinya.

Contohnya jika sebuah function keranjang pada website toko online tidak dapat berjalan dengan baik, maka kemungkinan permasalahan yang bisa terjadi adalah pada datanya atau tombolnya. Jadi, jika ternyata errornya adalah pada tombol yaitu di bagian View, maka bagian front end dapat langsung memperbaiki error tersebut.

4. Pemeliharaan atau Maintenance Menjadi Lebih Mudah

Selain kemudahan-kemudahan di atas, konsep Model View Controller ini juga dapat memudahkan dalam menyusun script menjadi lebih terstruktur dan rapi. Hal ini tentu juga memudahkan tim developer jika suatu saat ingin melakukan pengembangan atau maintenance website tersebut.

Contohnya jika Anda menginginkan untuk menambahkan fitur “tambah voucher diskon” pada website toko online Anda, maka tim developer dapat mudah menemukan kode script yang dapat ditambahkan atau diperbarui.

Contoh Penggunaan Konsep MVC

Agar Anda lebih memahami dalam konsep model view controller ini, berikut implementasi konsep MVC dengan kode pemrograman menggunakkan CodeIgniter langkah-langkahnya sebagai berikut :

1. Download CodeIgniter dan ekstrak file tersebut ke web server Anda seperti Xampp, Wampp dan lain sebagainya.

2. Anda dapat membuat folder terlebih dahulu agar pengguna dapat masuk ke database.

3. Setelah itu buat file pada folder model dengan nama : model_user.php. Kemudian, tambahkan kode pemrogramannya sebagai berikut :

<?php
          class Model_user extends CI_Model
           {
              public function insert_data($table, $data)
              {
                return $this->db->insert($table, $data);
              }
        }

?>

4. Kemudian, pada bagian controller, buatlah file dengan nama yang berbeda dari file model, contohnya bisa user.php. Lalu Anda bisa tambahkan kode sebagai berikut :

<?php
class User extends CI_Controller 
{
    public function add()
    {
        $this->load->view('tambah_user');
    }
}
?>

5. Selanjutnya pada tampilan (view) yaitu pada bagian form tambah data user, Anda dapat membuat file dengan menambahkan kode sebagai berikut :

<!DOCTYPE html>

<html>

    <head>

        <title>Latihan Form Tambah User IDwebhost</title>

    </head>

    <body>

       

            <h2>Latihan Form Tambah User IDwebhost</h2>

            <?php

                echo anchor('user/simpan','Tambah Data');

                ?>

                <hr>

                <table border="1">

                    <tr>

                        <td>Email</td>

                        <td><input type="text" name="email"></td>

                    </tr>

                    <tr>

                        <td>Password</td>

                        <td><input type="password" name="password"></td>

                    </tr>

                    <tr>

                        <td>Nama</td>

                        <td><input type="text" name="nama"></td>

                    </tr>

                    <tr>

                        <td colspan="2"><input type="submit" name="submit" value="Tambahkan Data"></td>

                    </tr>

                </table>

            </form>

        

    </body>

</html>

Setelahnya, cobalah akses di localhost agar Anda dapat mengetahui hasilnya. Jika Anda berhasil, maka tampilan pada browser Anda akan terlihat seperti di bawah ini :

contoh-penggunaan-konsep-mvc

Kesimpulan

MVC membantu Anda dalam membangun sistem pengembangan website yang terdiri dari tiga bagian yaitu model, view, dan controller.

Model dapat berfungsi sebagai relasi dengan database supaya lebih memudahkan dalam pengelolaan database seperti mengedit, menghapus dan menginput data. Kemudian View membantu dalam mengatur tampilan agar lebih mudah dipahami pengguna. Dan Controller membantu menghubungkan antara bagian model dan view.

Dengan menggunakan konsep model view controller, banyak manfaat yang dapat Anda dapatkan seperti :

  • Proses dalam pengembangan website menjadi lebih efisien
  • Testing menjadi lebih mudah
  • Error atau Bug Lebih Cepat dan Mudah Ditangani
  • Pemeliharaan atau Maintenance Menjadi Lebih Mudah

Jika Anda membutuhkan layanan web hosting dan domain, Anda bisa menghubungi IDwebhost yang menyediakan banyak pilihan paket hosting dan domain murah untuk Anda.

Dapatkan berbagai promo menarik IDwebhost dengan klik gambar di bawah ini!

Promo IDwebhost
Penulis
Member since 2 Jul 2013