Sinau Dasar MVC : #1 Konsep MVC
Membuat Web Sederhana dengan MVC
Oke devs, kali ini aku bakal sharing tentang konsep MVC, dan untuk selanjutnya aku bakal nulis juga tentang dasar -dasar yang harus kita ketahui dari MVC ini, paling gak sampe nanti kita udah bisa buat web sederhana dengan MVC ini.
Sebenarnya apa sih MVC itu, bahasa pemrograman kah? Bukan ya, MVC itu adalah pola arsitektur ketika kita ngoding, atau gaya kita dalam meng-kode.Yang dimaksud bukan dalam arti, enter, spasi, tab, atau komentar, yang ada di dalam kodingan kita, tapi lebih ke sebuah rule dalam mengembangkan sebuah produk.
Oke..jadi, intinya kenapa harus MVC? Sebelumnya aku bakal kasih contoh kasus gini, misal kamu dapat project buat Website Toko Online. Nah, tentunya seneng dong dapet project hehe.
Nah, karena kamu belum tau konsep mvc, akhirnya sembarangan deh nulis kode tanpa pola apapun alias procedural dengan mengusung prinsip “sing penting dadi” (baca : yang penting jadi), set sat set jadi deh websitenya. Akhirnya, kamu kasih tunjuk ke client dan client pun Alhamdulillah oke-oke aja (ingat : client yang oke). Sampe suatu ketika, proyek toko online itu meningkat pesat, perlu adanya perubahan besar-besaran dari website itu karena usernya semakin banyak, kebutuhan semakin beragam, banyak rencana — rencana fitur baru yang mau ditambahkan. Akhirnya, kembali ke kamu, client minta lagi buat kamu ngembangin lebih lanjut. Kalau kamu ngoding dengan cara yang “sama” dengan cara ngodingmu sebelumnya, bisa tak tebak kamu bakal dapet kesulitan buat ngembanginnya. Juga ketika ngembangin project skala besar, tentunya kita gakbisa ngerjain semuanya sendiri, perlu adanya kerja sama tim. Nah, kalau lagi-lagi kau pake cara yang “sama” dengan cara ngodingmu sebelumnya, bukan hanya kamu yang bakal kesulitan bahkan rekan ngodingmu itu juga bakal kesulitan buat ngembanginnya. Nah, MVC ini bisa jadi salah satu jalan solusi buat ngatasi masalah beginian :D
“Kode yang baik bukan hanya yang memudahkan client, tapi juga memudahkan pengembangnya..”
Lantas, apakah setiap ngoding kita harus pake MVC? Dengan tegas harus kujawab enggak! Nggak ada yang ngelarang kok kamu nggak pake “gaya MVC” ketika kamu menulis kode, tapi yang perlu diperhatikan adalah kamu harus tahu betul project yang sedang kamu kerjakan. Misal, project kamu itu sederhana kayak blog tulisan curhatmu ataupun website portfoliomu misalnya, saranku nggak perlu repot pake MVC, itu cuma bakalan menghambat proses pembuatan website “yang seharusnya bisa cepat, malah lama”, kecuali kalau website-mu itu mau dikembangin jadi project skala besar dengan kebutuhan fitur yang cukup kompleks, maka MVC ini patut jadi hal yang harus kamu pertimbangkan.
Arsitektur MVC
Jadi, pada intinya MVC punya tiga komponen yaitu Model, View dan Controller, sederhanya bisa kita artikan sebagai berikut :
- Model sebagai data
- View sebagai tampilan
- Controller sebagai proses
Disini yang membedakan dengan gaya procedural (biasa disebut gaya sembarangan) adalah di MVC tempat kita mengolah tampilan (view) dan data (model) itu terpisah, jadi tidak dalam satu file yang sama, dan yang mengolah kedua hal itulah yang kita sebut dengan controller
Gaya Procedural
Jadi, memang bisa dibilang lebih praktis ketika menggunakan cara procedural. Tapi, bisa jadi sangat merepotkan bila nanti web yang kita buat sudah mulai meningkat kompleksitas fiturnya.
Ngulik lebih dalam tentang Proses MVC
1. Ketika User mengirimkan aksi ke sebuah website, akan diteruskan melalui controller.
2. Jika aksi tersebut membutuhkan sebuah data dari database misalnya seperti mencari update berita terkini, transaksi pembayaran, dan lain semacamnya. Controller akan meneruskannya ke Model sedang jika aksi tersebut tidak membutuhkan sebuah data misalkan saja hanya berpindah dari satu halaman ke halaman lain. Maka Controller akan meneruskannya ke View dan langsung ditampilkan ke Users.
3. Nah, jika perlua adanya proses pengambilan atau pengiriman data di Model, setaelah data berhasil di proses, Model tidak akan langsung mengirimkannya ke View melainkan tetap melalui Controller kemudian diteruskan ke View.
Hal ini memiliki sisi positif, untuk mempermudah proses dalam perawatan kode, bila ada sesuatu yang salah, maka kita bisa lebih mudah letak error yang harus kita benahi.
“MVC adalah sebuah pola yang memisahkan proses pengolahan data dan tampilan”
Oke, jadi kalau aku jabarin karakter dari tiap komponen MVC :
1. Model
- Representasi data
- Mengelola data
2. View
- Representasi tampilan dari model
- Output atau sesuatu yang bakal dilihat users
3. Controller
- Perantara antara Model dan View
- Menangani aksi dari user
- Menangani pemrosesan antara data dan tampilan
Sip, buat mantebin konsep ini aku saranin juga baca tentang konsep mvc dari artikel lain ya, kalau udah ngerti berarti udah siap nih buat next step mulai siapin environtment buat ngoding..silahkan baca di next tulisan, dan buat mempelajari MVC ini lebih lanjut pastiin kita udah punya basic OOP yanng manteb.
Next, lanjut ke Bagian #2 Persiapan
Semoga Bermanfaat !