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?
[ez-toc]
Pengertian 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
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.
Metode MVC ini dikembangkan dengan sebuah tujuan, yaitu untuk membuat sebuah program yang bisa digunakan kembali secara berulang kali untuk sesuatu hal yang serupa, serta dapat dikembangkan dengan modul tambahan sehingga tidak akan terjadi proses pengulangan pengembangan dari nol.
Donāt reinvent the wheel adalah pepatah yang sering sekali muncul di dunia pengembangan aplikasi. Pepatah ini adalah salah satu tujuan utama pemanfaatan design pattern MVC.
Jika sebelumnya seorang programmer saat membuat aplikasi web menghabiskan waktu yang cukup banyak dalam membangun aplikasi web ataupun melakukan perubahan fitur di dalam aplikasi web ataupun website. Sering sekali saat melakukan perubahan program tanpa disengaja tampilan yang sudah dibuat pun juga ikut berubah.
Dengan menggunakan metode MVC ini, diharapkan para programmer tidak akan pusing lagi jika sang client menginginkan perubahan tampilan. Programmer cukup fokus mengubah tampilannya pada bagian view saja. Begitu pula jika terjadi perubahan atau penambahan fitur pada aplikasi yang mengakibatkan terjadinya perubahan pada logic dari program tersebut dan perubahan pada basis data.
Programmer dan database designer bisa bekerja sama untuk mengubah model atau controller tanpa harus pusing yang mereka kerjakan akan mempengaruhi tampilan aplikasi.Ā Pemanfaatan metode MVC juga sering sekali membuat implementasi aplikasi menjadi lebih sederhana dan jumlah baris program yang dibuat pun bisa menjadi lebih sedikit.
Penggunaan framework MVC sangat membantu para programmer tentunya, baik itu programmer desktop, web, ataupun mobile. Dengan menggunakan framework MVC ini para programmer akan dibantu hal – hal seperti query database, manajemen source code, validasi data, keamanan, dan lain sebagainya.
Berikut ini beberapa keuntungan dalam menggunakan metode framework MVC:
- Membantu dan memudahkan para programmer dalam membuat kodingan – kodingan yang memiliki sifat repetitif.
- Memudahkan para programmer dalam memanajemenkan source code, karena source code akan otomatis mengikuti struktur file yang ada di dalam framework.
- Peluang kerja lebih banyak dibandingkan tidak menggunakan framework atau ngoding dari awal, karena sudah banyak perusahaan yang membutuhkan programmer yang mampu menggunakan framework MVC.
- Gaji yang diterima programmer yang menggunakan framework MVC akan lebih mahal dibanding tanpa framework atau ngoding dari awal.
Walaupun begitu, hal pertama yang perlu Anda lakukan saat belajar pemrograman adalah ngoding dari awal. Karena dengan melakukan koding dari awal, maka Anda akan mengerti konsep serta basis pemrograman. Jika Anda langsung menggunakan framework MVC kemungkinan Anda akan kebingungan.
Karena di dalam framework MVC Anda akan menemukan berbagai macam konsep OOP (Object Oriented Programming) seperti override, inheritance, abstraction, dan lain sebagainya. Setelah Anda mengerti konsep serta basis pemrogramannya barulah Anda beralih menggunakan framework MVC.
Meskipun penggunaan framework MVC memberikan banyak kemudahan dan keuntungan, tapi jika Anda menggunakannya tidak benar maka program Anda bisa memiliki dampak buruk seperti program menjadi lebih berat dan lain sebagainya. Anda harus tetap teliti dalam memahami framework MVC agar aplikasi yang Anda buat dapat berjalan dengan baik.
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.
FileĀ BelajarController.phpĀ tersimpan pada folderĀ app/Http/Controller/BelajarController.php. Silakan buat kode seperti gambar di bawah ini.
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:
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:
Terakhir, silakan akses dibrowser dengan urlĀ http://blog.localhost/pilpres
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
Download berbagai jenis aplikasi terbaru, mulai dari aplikasi windows, android, driver dan sistem operasi secara gratis hanya di Nesabamedia.com: