Apa itu Model View Controller (MVC)? Berikut Pengertian dan Manfaatnya dalam Pemrograman
Blog Website Development Apa itu Model View Controller (MVC)? Berikut Pengertian dan Manfaatnya dalam Pemrograman

Apa itu Model View Controller (MVC)? Berikut Pengertian dan Manfaatnya dalam Pemrograman

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.

Untuk lebih lengkapnya, Anda dapat mempelajari konsep MVC ini pada pembahasan berikut ini.

Isi Artikel :

 

Apa itu MVC ?

MVC atau Model View Controller adalah sebuah cara dalam membuat aplikasi atau website dengan memisahkan antara databasenya di Model, tampilannya di View, dan perintah-perintah yang memiliki fungsi (function) dalam menghubungkan model dan view tsb yaitu 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 ini, website dapat memiliki 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 tsb kemudian diterima oleh controller dan dikirimkan ke bagian model untuk di proses
  3. Di bagian model, informasi tsb 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 beberapa keuntungan 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 MVC dapat membuat developer agar dapat lebih fokus pada bagian pengembangannya masing-masing. Jadi mereka pun 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 tsb.

 

4. Pemeliharaan atau Maintenance Menjadi Lebih Mudah

Selain kemudahan-kemudahan seperti yang pada 3 poin 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 mengembangkan atau maintenance website tsb.

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 tsb ke web server Anda seperti Xampp, Wampp dsb

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. Setelahnya 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 atau tim developer 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

Semoga bermanfaat

Anda juga dapat membaca perkembangan informasi seputar teknologi, bisnis dsb pada bagian blog IDwebhost secara gratis.

Kemudian kalau Anda membutuhkan layanan web hosting dan domain, Anda bisa menghubungi IDwebhost yang mempunyai promo hosting dan domain setiap harinya. Salam!

Haykal Azril Ansa

"Start writing, no matter what. The water does not flow until the faucet is turned on." Louis L’AmourAktif menulis sebagai di IDwebhost. Boleh share tanpa ijin kalau suka konten artikel dari saya.