MVC, atau Model-View-Controller, adalah arsitektur perangkat lunak yang digunakan untuk memisahkan logika aplikasi ke dalam tiga komponen utama: Model, View, dan Controller. Arsitektur ini banyak digunakan dalam pengembangan aplikasi web, termasuk di framework seperti Laravel. Berikut adalah penjelasan dasar tentang masing-masing komponen dalam MVC:
Model bertanggung jawab atas logika data dan interaksi dengan database. Model merepresentasikan data yang digunakan oleh aplikasi, dan semua operasi terkait data (seperti mengambil, menyimpan, memperbarui, dan menghapus data) dilakukan melalui model.
Contoh: Misalkan kita memiliki aplikasi yang mengelola data pengguna. Model User akan mengatur semua interaksi dengan tabel users di database.
User
users
// Contoh model di Laravel class User extends Model { protected $table = 'users'; }
Fungsi Utama Model:
View bertanggung jawab atas tampilan atau user interface (UI) dari aplikasi. View adalah bagian dari aplikasi yang dilihat dan berinteraksi dengan pengguna. Dalam konteks web, view biasanya berupa file HTML/CSS yang ditingkatkan dengan kode seperti Blade (di Laravel) atau PHP.
Contoh: Jika kita ingin menampilkan daftar pengguna, view akan mengatur tampilan halaman tersebut.
<!-- Contoh view di Laravel (Blade template) --> <h1>Daftar Pengguna</h1> <ul> @foreach ($users as $user) <li>{{ $user->name }}</li> @endforeach </ul>
Fungsi Utama View:
Controller adalah penghubung antara Model dan View. Controller menerima input dari pengguna melalui View, memprosesnya (dengan menggunakan Model), dan menentukan View mana yang akan ditampilkan. Controller mengendalikan alur aplikasi dan logika yang mengatur interaksi antara model dan view.
Contoh: Misalkan kita ingin menampilkan daftar semua pengguna. Controller akan mengambil data dari Model User dan meneruskannya ke View untuk ditampilkan.
// Contoh controller di Laravel class UserController extends Controller { public function index() { $users = User::all(); // Mengambil semua pengguna dari database return view('user.index', ['users' => $users]); // Mengirim data ke view } }
Fungsi Utama Controller:
Pengguna mengirim permintaan (Request): Pengguna berinteraksi dengan aplikasi (misalnya, mengklik tautan atau mengisi formulir). Permintaan ini dikirim ke Controller.
Controller memproses permintaan: Controller menerima permintaan, memprosesnya, dan mungkin berinteraksi dengan Model untuk mendapatkan data.
Model mengelola data: Model mengambil data dari database atau sumber lain dan mengirimkannya kembali ke Controller.
Controller memilih View: Setelah mendapatkan data, Controller menentukan View mana yang akan digunakan dan mengirimkan data tersebut ke View.
View menampilkan data: View menerima data dari Controller dan menampilkannya kepada pengguna sebagai halaman web atau UI lain.
Dengan memahami dasar-dasar MVC, kamu akan lebih siap untuk bekerja dengan framework seperti Laravel, yang menggunakan arsitektur ini sebagai landasan untuk mengembangkan aplikasi web yang modular dan terstruktur.
* Temukan berbagai postingan dan produk yang kamu cari