Penerapan MVC Pada Framework Laravel

Albarra Naufala Erdanto
5 min readSep 28, 2019

--

Membuat sebuah aplikasi komputer bukanlah hal yang sederhana. Dibutuhkan berbagai macam komponen untuk disatukan sehingga menjadi sebuah aplikasi. Umumnya, aplikasi dikerjakan oleh dua orang programmer, yaitu back-end dan front-end. Programmer back-end adalah orang yang menulis kode di bagian logika aplikasi. Sedangkan programmer front-end adalah orang yang menulis kode untuk membuat suatu desain antarmuka.

Pakar pemrograman membuat sebuah konsep untuk mempermudah proses penyatuan antara back-end dan front-end, yaitu MVC. MVC memecah sebuah aplikasi menjadi tiga bagian, yaitu model yang berhubungan dengan basis data, view yang berurusan dengan tampilan, dan kontroler yang mengatur alur jalannya aplikasi.

Beberapa framework sudah menerapkan proses MVC, satu di antaranya adalah Laravel. Dengan Laravel, konsep MVC sangat dimudahkan karena terdapat fungsi-fungsi khusus yang memperpendek baris kode kita. Nah pada blog kali ini, kita akan membahas penerapan MVC pada Laravel.

Note: Kamu disarankan untuk sudah membaca mengenai pengenalan framework

Setelah tahu apa itu framework dan cara memasang Laravel, setidaknya tampilan awal dari web yang kamu buat menggunakan Laravel adalah sebagai berikut:

Tampilan awal web menggunakan laravel

Ada beberapa komponen yang ada pada Laravel untuk mendukung konsep MVC di web kamu.

1. Routes

Router merupakan bagian yang mengurusi pemetaan/mapping antara url dengan kontroler. Fungsi tersebut dituliskan dalam file yang berada folder routes yang bernama web.php

Tampilan skrip dari route

Ada beberapa model penulisan pada route, satu di antaranya adalah sebagai berikut:

Route::method(‘link’, ‘namacontroller@methodcontroller’);

contoh:
Route::get(‘/about’,’PagesController@about’);

2. Controller

Kontroller berisi method-method yang berisi perintah yang harus dilakukan pada suatu method. Setelah Route menghubungkan ke controller dan method mana yang akan dituju, method suatu controller akan mengembalikan nilai atau tujuan url yang akan dituju. Pada laravel, direktori controller berada di app>Http>Controller.

Untuk membuat controller di laravel ada beberapa cara, di antarnya:

  1. Kamu bisa langsung membuat file [namakontroller].php pada direktori kontrollernya langsung.
  2. Kamu bisa memanfaatkan fitur yang ada di Laravel, yaitu kamu bisa menuliskan perintah di terminal berikut:
    php artisan make:controller [namacontroller]

Di bawah merupakan contoh dari skrip controller.

Tampilan skrip dari controller

Skrip di atas menunjukkan bahwa controller PagesController memiliki dua method, yaitu home() dan about(). home() mengembalikan tampilan ‘Index’, artinya pada saat method tersebut dipanggil, web kamu akan menuju ke tampilan yang memiliki nama file index.blade.php (akan dibahas selanjutnya).

3. View

View merupakan file berisi kode yang akan menampilkan desain dari web kamu. Pada laravel, file view berada pada direktori resources>views. Format dari nama file view adalah [namaview].blade.php.

Tampilan skrip dari view

Gambar di atas merupakan contoh skrip dari tampilan (view). Karena ekstensi file view adalah .php, maka skrip di file tersebut ditulis dalam bahasa pemrograman PHP. Laravel menyediakan beberapa-beberapa fungsi untuk mempermudah pengodingan view, satu di antaranya adalah blade templating.

4. Model

Model merupakan salah satu komponen MVC yang berhubungan langsung dengan database. Di database sendiri model dipresentasikan tabel-tabel yang nantinya diisi dengan data. Model berisi atribut yang nantinya atribut tersebut menjadi kolom pada tabel database.

Direktori model pada laravel terletak di app>Http. Pada contoh di samping, Aku punya tiga model yaitu Student dan User.

Pembuatan model di laravel dapat kamu lakukan dengan membuat migrationnya terlebih dahulu (akan dibahas pada blog lain). Setelah file migration dibuat, kita akan menuliskan tipe atribut dan nama atribut dari model yang mau kita buat.

Setelah itu kita dapat langsung menuliskan di terminal dengan perintah:
php artisan make:model [namamodel]

Tampilan skrip dari model

Pada skrip di atas, Aku punya model yang bernama Student. Model tersebut memiliki atribut nama, nim, email, dan jurusan yang dapat diisi. Atribut tersebut akan dijadikan header kolom pada tabel database yang nantinya data diisi sesuai kolom yang ada perbarisnya. Berikut adalah contoh dari tabel Student dari database yang aku punya:

Seperti yang kamu lihat, pada tabel tersebut memiliki beberapa kolom yang tidak kita buat dengan sengaja. Yaitu id, created_at, updated_at, dan deleted_at. Atribut tersebut dibuatkan oleh laravel ketika kita membuatnya dengan menulis di terminal.

Atribut id merupakan atribut primary key. Primary key adalah atribut yang menjadi pointer dari suatu baris. Dikarenakan menjadi pointer pada suatu baris, maka primary key memiliki suatu baris tidak boleh ada yang sama dengan primary key di baris lain.

Atribut updated_at, created_at, dan deleted_at adalah atribut yang akan diisi waktu diperbarui, dibuat, dan dihapus secara otomatis. Dengan atribut tersebut, kita akan mengetahui waktu data tersebut diolah.

Tampilan web yang menampilkan data dari database

Gambar di atas merupakan tampilan web yang menampilkan data students dari database ke tampilan web.

Itu lah pembelajaran kita pada blog kali ini. Semoga bermanfaat, kalian dapat belajar lebih lanjut di website laravel nya langsung :).

--

--