Apa yg anda ketahui tentang mvc

Pernahkah Anda mendapatkan project untuk mengembangkan sebuah aplikasi baik berbasis web ataupun mobile? Jika Anda sudah mendapatkan sebuah project pasti ingin langsung mengerjakannya dengan semangat, bukan?

Lalu, ketika selesai Anda melakukan presentasi di depan client. Selesai presentasi client menginginkan beberapa perubahan. Lalu, Anda pun kembali bekerja untuk memperbaiki aplikasi, dan melakukan presentasi lagi. Hal seperti ini terjadi beberapa kali, sampai akhirnya code aplikasi web Anda tidak bisa dikenali.

Kenapa tidak bisa dikenali? Alasannya banyak faktor. Misalnya, code HTML yang bercampur dengan code query basis, sehingga Anda tidak bisa mengubahnya lagi. Nah, masalah yang seperti ini sebenarnya bisa diatasi dengan menggunakan metode framework seperti framework MVC. Apa itu MVC?

Pengertian MVC

Apa yg anda ketahui tentang mvc

MVC merupakan konsep dasar yang harus Anda ketahui sebelum mengenal CodeIgniter. MVC adalah kepanjangan dari  Model, View, dan Controller yang merupakan suatu metode atau konsep yang sangat populer dalam membangun sebuah aplikasi web, yang awalnya menggunakan bahasa pemrograman Small Talk, yang memisahkan bisnis logic (alur piker), data logic (penyimpanan data) dan presentation logic (antarmuka aplikasi) atau secara sederhana adalah memisahkan antara proses, data, dan desain.

Akhir – akhir ini di dalam dunia programming konsep MVC sudah banyak yang menggunakannya. MVC atau Model View Controller merupakan salah satu implementasi dari prinsip SoC untuk aplikasi yang Anda kembangkan. SoC atau Separation of Concern adalah suatu teknik di mana Anda akan membagi – bagikan kode ke dalam beberapa bagian.

Masing – masing bagian dari kode ini mempunyai tanggung jawabnya masing – masing. Misalnya saja ada bagian kode yang khusus hanya menangani basis data. Lalu, ada bagian kode yang hanya menangani tampilan. Dan ada juga bagian kode yang menghubungkan antara tampilan dengan basis data.

MVC atau Model View Controller dibagi menjadi 3 komponen utama, yaitu:

1. Model

Sesuai dengan namanya, komponen yang pertama adalah Model. Model biasanya berkaitan dengan data dan interaksi ke database atau webservice. Model juga merepresentasikan struktur data dari aplikasi yang berupa basis data ataupun berupa data lain, misalnya dalam bentuk file XML, file teks, ataupun webservice.

Di dalam model biasanya akan berisi class dan fungsi untuk mengambil, serta melakukan update dan menghapus data website. Sebuah aplikasi web biasanya menggunakan basis data untuk menyimpan data, maka biasanya di dalam bagian model akan berkaitan dengan perintah – perintah query SQL.

2. View

Komponen berikutnya adalah View. View adalah bagian yang berhubungan dengan tampilan pengguna atau menangani presentation logic. Di dalam suatu aplikasi web biasanya bagian ini berupa file template HTML, yang diatur oleh bagian controller.

View juga berfungsi untuk menerima dan merepresentasikan data hasil dari model dan controller kepada pengguna atau user. View tidak mempunyai akses secara langsung terhadap bagian model.

3. Controller

Komponen yang terakhir adalah Controller. Controller adalah bagian yang mengatur hubungan antara bagian model dan bagian view. Di dalam bagian controller berisi class – class dan fungsi – fungsi yang memproses permintaan dari view ke dalam struktur data di dalam bagian model. Pada bagian controller juga tidak diperbolehkan berisi kode – kode untuk mengakses basis data karena tugas untuk mengakses data telah diberikan kepada bagian model.

Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan pada bagian view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan error atau kesalahan, mengerjakan proses logika dari aplikasi, dan melakukan validasi atau cek terhadap input.

Fungsi dan Kegunaan MVC

Apa yg anda ketahui tentang mvc

Seperti yang sudah Anda ketahui melalui namanya, setiap bagian pada MVC memiliki fungsinya masing – masing, seperti yang sudah dijelaskan sebelumnya. Berikut penjelasan singkat dari fungsi masing – masing bagian:

  • Model memiliki fungsi untuk mengatur data, fungsi dan aturan dari aplikasi
  • View memiliki fungi untuk mengatur tampilan atau output yang akan tampil di layar, tidak hanya berupa data, tapi juga termasuk komponen lain, seperti gambar, video, diagram, dan sebagainya.
  • Controller memiliki fungsi untuk mengatur dan menerima input serta menjalankan beberapa perintah untuk dijalankan di model.

Contoh MVC

Berikut ini contoh penerepan MVC di Laravel. Tapi, untuk sementara Model tidak diambil dari database, tapi didefenisikan sendiri dalam bentuk variabel data.

Pertama, buat controller dengan perintah artisan dengan nama controller BelajarController.

Apa yg anda ketahui tentang mvc

File BelajarController.php tersimpan pada folder app/Http/Controller/BelajarController.php. Silakan buat kode seperti gambar di bawah ini.

Apa yg anda ketahui tentang mvc

Pada controller BelajarController.php terdapat satu fungsi yaitu function index ();. Pada fungsi tersebut didefenisikan beberapa variabel untuk selanjutnya akan ditampilkan pada blade view. Pada baris ke-17 variabel tersebut di-return ke View dengan nama file pilpres.blade.php.Pada controller format file view tidak ditulis lengkap cukup dengan nama pilpres.

Kedua, buat file view dengan nama pilpres.blade.php yang disimpan pada folder resources/view/pilpres.blade.php. Silakan buat kode html seperti gambar di bawah ini:

Apa yg anda ketahui tentang mvc

Untuk menampilkan variabel yang didefinisikan pada controller, harus di diapit dengan tanda kurawal double {{..}} dan diawali dengan tanda dolar $, seperti pada kode baris ke-1 {{$judul}} di atas.

Ketiga, untuk dapat ditampilkan lewat browser, sebelumnya kita update terlebih dahulu file routes/web.php dengan menambahkan routing sebagai berikut:

Apa yg anda ketahui tentang mvc

Terakhir, silakan akses dibrowser dengan url http://blog.localhost/pilpres

Apa yg anda ketahui tentang mvc

Demikian artikel kali ini yang membahas tentang pengertian MVC, fungsi dan kegunaan MVC, serta contoh MVC. Semoga artikel ini dapat bermanfaat bagi Anda. Terimakasih 🙂

Editor: Muchammad Zakaria

Apa yg anda ketahui tentang mvc

Si pecinta hujan dan penikmat kopi yang suka duduk dalam lamunan sambil menghayal mimpi – mimpinya yang akan menjadi kenyataan.

3 min read

Bila Anda saat ini baru belajar coding pastinya Anda sudah mengetahui sedikit-dikit mengenai framework. 

Di jaman sekarang hampir semua jenis framework sangat populer. 

Contohnya ada framework laravel dimana telah menggunakan MVC dalam pengembangan websitenya. 

MVC adalah pola desain arsitektur website yang terbagi dalam tiga bagian yaitu ada model, view, dan controller. 

Konsep ini telah diyakini dapat efektif dalam membuat sebuah website. 

Untuk penjelasan lebih detail mengenai MVC ini akan dibahas didalam artikel ini. 

Yuk langsung saja kita bahas mengenai MVC. 

MVC Adalah 

pengertian mvc

MVC adalah Model View Controller yang merupakan sebuah pola desain arsitektur pada sistem pengembangan website dimana terdiri dari tiga bagian, yaitu:

  • Model yang merupakan bagian mengelola serta berhubungan langsung database. 
  • View merupakan sebuah bagian yang akan menampilkan informasi ke para pengguna.
  • Controller adalah bagian yang nantinya akan menghubungkan model serta view di setiap proses permintaan dari pengguna. 

Konsep dari MVC ini membuat website seakan-akan memiliki bagian yang terpisah sehingga dapat dikembangkan masing-masing. 

Dengan begitu dalam proses pembuatan website dapat dilakukan secara cepat karena para developer bisa lebih fokus dalam pengerjaan di salah satu bagian saja. 

Karena dianggap sangat efektif membuat konsep MVC ini banyak diterapkan pada berbagai framework. 

Contohnya pada framework PHP, Symfony, Laravel, CodeIgniter, Yii, dan juga Zend telah menggunakan konsep MVC ini. 

Manfaat MVC 

Ada banyak sekali manfaat dalam menggunakan framework MVC sebagai pembuatan website. 

Berikut beberapa manfaat dari MVC: 

  • Proses pengembangan website efisien 

Konsep MVC ini dapat membuat proses pengembangan website menjadi lebih cepat. 

Hal ini terjadi karena MVC membagi website menjadi tiga bagian yang terpisah. 

Pada bagian model dan controller dapat dikerjakan back end developer sedangkan untuk view dapat dikerjakan front end developer dengan UI UX tim. 

Untuk contohnya setelah tim UI UX menyelesaikan rancangan desain pada halaman depan maka tim front end dan back end dapat mulai membuat kode pemrograman untuk desain. 

Untuk tim UI UX dapat mencoba merancang desain halaman lain, contohnya halaman produk. 

Untuk dapat memastikan website berfungsi dengan baik maka perlu untuk melakukan testing terlebih dahulu. 

Dengan menggunakan kerangka MVC ini proses testing dapat dilakukan per bagian yang sudah siap sembari menunggu website jadi. 

Selain itu juga pembuatan dokumentasi di setiap fitur dapat lebih efisien serta rapi karena proses saat testing dapat dilakukan per bagian. 

  • Bug atau error dapat lebih cepat ditangani 

Pembagian website dengan MVC dapat membuat developer menjadi lebih fokus ke bagian pengembangannya sendiri-sendiri. 

Dengan begitu dapat lebih cepat menemukan bug dan dapat dengan mudah memperbaikinya. 

Contohnya bila saat fungsi keranjang di website toko online tidak dapat berfungsi maka ada kemungkinan masalahnya terletak di tombol atau data. 

Jika ternyata error yang ditemukan di tombol atau view maka bagian divisi front end dapat langsung memperbaiki masalah error tersebut. 

  • Maintenance atau pemeliharaan lebih mudah 

Konsep MVC ini memungkinkan pada penggunaan script yang lebih terstruktur serta rapi. 

Dengan begitu bisa memudahkan para tim developer untuk proses pengembangan serta maintenance website. 

Contohnya bila ingin menambahkan fitur tambahkan voucher diskon di website toko online Anda. 

Maka tim developer baik front end atau back end dapat lebih mudah dalam menemukan kode script yang perlu diperbaharui serta ditambahkan. 

Contoh Penggunaan MVC 

Rasanya seperti kurang afdol bila pembahasan mengenai konsep MVC ini tidak ada contohnya. 

Nah, berikut ini contoh dalam pembuatan form data user pada website dengan menggunakan CodeIgniter. 

1. Download CodeIgniter serta ekstrak file nya ke web server. 

2. Membuat folder model agar data pengguna dapat masuk ke dalam database. 

Selanjutnya tambahkan kode sebagai berikut: 

<?php

class M_user extends CI_Model

{

        public function insert_data($table, $data)

        {

        return $this->db->insert($table, $data);

        }

}

3. Setelah itu, bagian controller dibuat folder baru lagi tetapi dengan nama yang berbeda dari nama folder model.

Setelah itu dapat ditambahkan kode sebagai berikut: 

<?php

class User extends CI_Controller

{

    public function add()

    {

        $this->load->view(‘user_add’);

    }

}

4. Selanjutnya untuk tampilan atau view formnya Anda bisa membuat folder baru lagi lalu kodenya sebagai berikut: 

<!DOCTYPE html>

<html>

    <head>

        <title>Membuat Form Tambah User</title>

    </head>

    <body>

        <center>

            <h2>Form Tambah Data User</h2>

            <form method=”post” action=”<?= base_url(‘user/save’); ?>”>

                <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=”kirim” value=”Masukkan Data”></td>

                    </tr>

                </table>

            </form>

        </center>

    </body>

</html>

5. Setelah semua langkah telah dicoba maka selanjutnya mengakses localhost untuk melihat hasilnya. 

Hasilnya akan seperti ini. 

Apa yg anda ketahui tentang mvc
Hasil

Kesimpulan 

Setelah membahas lengkap mengenai MVC maka dapat disimpulkan bahwa MVC adalah Model View Controller yang merupakan sebuah pola desain arsitektur pada sistem pengembangan website. 

Bila Anda sedang membuat sebuah website maka jangan lupa untuk menggunakan Bikin.Website sebagai jasa layanan pembuatan website Anda. 

Jika masih ada yang ingin ditanyakan silahkan tinggalkan komentar dibawah ini. 

Terima kasih.