Jumat, 20 November 2015

Fitur-Fitur dalam Framework Laravel

,


Kled: Kemarin kan kita udah membahas tentang Menginstal Laravel Menggunakan Composer nih Ver, kurang rasanya kalo kita enggak ngebahas tentang fitur-fitur yang dimiliki laravel, seperti Rooting, MVC (Model View Controller), Migration, Seeder, Eleqouent dan Templating dengan Blade. Karna itu hari ini kita bakal kupas tuntas tentang fitur-fitur yang udah aku sebutkan diatas.

Ver: Kupas? Emangnya jeruk dikupas hehe peace ^.^v

Kled: --_--“

1) ROUTING
Routing adalah proses dimana suatu item dapat sampai ke tujuan dari satu lokasi ke lokasi lain. Dalam hal ini, item yang dimaksud adalah halaman aplikasi website. Atau mungkin rout bias kita analogikan sebagai peta petunjuk bagaimana alur navigasi aplikasi yang sedang kita bangun. Routing dalam Laravel dapat diatur pada file app/Http/routes.php.

Nah sekarang aku bakal kasih tau contoh prog....

Ver: Stoooooooooooooppp!!

Kled: Eeeeeehh?? Kenapa???

Ver: Jangan dilanjut dulu! Aku masih belum ngerti maksud dari rooting itu T^T

Kled: Huhhh (menghela nafas) Kamu itu yah… 
Hemm.. Gimana yah?? Ohh iya gini aja, kamu kan sering bikin status-status alay di facebook, pasti sedikit banyak kamu hafal dong halam-halaman yang ada di website facebook itu?

Ver: Bagian “status alay” nya gak usah disebutin juga kali -,-

Keld: Nah saat pertama kali kamu masuk ke halaman facebook pasti kamu disuruh login kan? setelah login kamu bakalan masuk ke menu beranda, dimana semua status-status alay temen kamu berkumpul. Terus saat kamu klik halaman profil maka kamu akan masuk ke halaman profil kamu. Begitupun saat kamu masuk ke halaman pengaturan, disana akan tampil menu pengaturan yang bisa kamu ubah sedemikian rupa.

Ver: Iya, terus apa hubungannya sama router?? Dan lagi sebenernya kamu itu mau ngasih tau aku atau mau negjek aku sih?? (muka bete)

Kled: Hehehe woles woles. Nah dari yang udah aku jelasin barusan, kita dapat menyimpulkan bahwa routing adalah bagian yang mengatur hubungan antara kamu dan aku link dengan halaman yang akan tampil pada website saat kita mengeksekusi link tersebut. Contohnya tadi itu, saat kita klik link profil di facebook yang muncul adalah halaman profil, bukan halaman beranda ataupun halaman pengaturan.

Ver: Ooooooooohhhhhh.. Gituuu to, sekarang aku ngerti, Kled. Dari tadi kek jelasinnya kayak gitu, kan jadi gak pusing pala barby.

Kled: Heemm.. Kamunya aja yang lemot itu mah..

Ver: Apaaaaaaa?? Kamu bilang aku lemot????? (ngangkat golok)

Kled: Ciaaaaaaaaa!!!! Si-siapa yang bilang kamu lemot, orang aku bilang kamu itu imoooeettt!! Sumpah dah (keringetan)

Ver: Ohh gitu, kirain teh kamu bilang kalo aku itu lemot. Makasih, kemana aja sih kamu, bisa-bisanya baru nyadar kalo aku itu imut hehe ^.^

Kled: Hehe, iya nih aku baru nyadar (senyum kepaksa)
(dalam hati) Nyeremin banget nih orang!! Dan dari mana dia bisa dapetin tuh golok??!!

Yaudah, kalo gitu kita lanjutin lagi yah, Ver yang imooeet. Kamu simpen dulu dong goloknya, takutnya nanti kamu kesambet terus tiba-tiba bacok leher aku, kan gak lucu.

Ver: Oke deh, aku simpen dulu goloknya. Lanjut Kleeddd ^.^ (muka polos)

Kled: Emm... Tadi sampe mana yah?? Oh iya, sekarang untuk contoh penggunaan rooting kita buka file rootes.php nya. Seperti yang udah aku bilang sebelumnya, file routes.php ada di folder app/Http/routes.php.

Berikut kurang lebih isi dari file routes.php :

<?php



/*

|--------------------------------------------------------------------------

| Application Routes

|--------------------------------------------------------------------------

|

| Here is where you can register all of the routes for an application.

| It's a breeze. Simply tell Laravel the URIs it should respond to

| and give it the controller to call when that URI is requested.

|

*/



Route::get('/', function () {

    return view('welcome');

});

Sekarang, kita coba buat halaman statis berupa halaman biodata diri yang akan kita akses pada link localhost/nama_project/public/biodata. Untuk membuatnya tambahkan kode berikut pada baris paling bawah pada file routes.php :

Route::get('/biodata', function () {

                return '<h1>Biodata Saya</h1>'

                .'Nama : Kleine Drower <br>

                Jenis Kelamin : Laki-laki <br>

                Hobi : Baca Buku <br>

                Cita-cita : Hidup Bahagia Dunia Akherat';

});

Sekarang coba kamu buka browser kamu, trus masuk ke alamat localhost/nama_project/public/biodata. Pasti tampilannya kurang lebih kayak gini :


Kita coba artikan bagian-bagian dari kode diatas :
  • Parameter get, menjelaskan jenis request yang diterima dalam contoh ini GET request. Kita datapat mengubah post untuk mengakses POST request.
  • /biodata, merupakan URL yang kita deklarasikan sebagai alamat yang akan menampilkan halaman biodata diri. 
  • Function() { …… }, merupakan closure (anonymous function) yang akan memberikan jawaban atas request. Selain menggunakan closure, kita juga bisa mengarahkan request ke fungsi pada sebuah controller (akan kita bahas nanti) .

Ver: Wihhh.. Sekarang aku udah mulai ada gambaran nih tentang Router. 

Kled: Yakin nih? Kalo gitu bisa dilanjut dong!?

Ver: Sippp! Lanjut, Kled!!!!

2) MVC
Ver: MVC? Mad dog Vs Chuck norris??

Kled: Gundul mu!! Segala bawa-bawa Mad dog sama Chuck norris lagi. --_--

MVC (Model View Controller), adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan antara Model (database), View (tampilan/interface) dan Controller (logika aplikasi). Sama seperti framework-framework lainnya, laravel juga menganut konsep ini dalam pembuatan aplikasinya.

Secara kasar, berikut adalah arsitektur dari aplikasi yang kita buat menggunakan metode MVC :


Alur kerja :
  1. Request browser ditangani oleh Controller. 
  2. Controller akan melakukan pemanggilan ke Model untuk mendapatkan data yang dibutuhkan sesuai dari request browser, kemudian mempersiapkan data tersebut untuk ditampilkan.
  3. Controller memberikan data yang diperlukan kepada View. 
  4. View menampilkan data dan berbagai elemen antarmuka tambahan yang diperlukan.

Keuntungan dari menggunakan konsep MVC terletak pad…

Ver: Stop! Stop! Stooooopp!

Kled: Sekarang apa lagi?????

Ver: Stop, Kled. Gak usah buang-buang nafas gak penting. Aku udah tau kok keuntungannya apa (muka sombong)

Kled: Jirrrr :v … Yaudah coba kasih tau aku apa keuntungannya? Pengen denger.

Ver: Oke, dengerin yah. Ehem.. Ehem.. Jadi gini, karena Model, View dan Controller saling terpisah, artinya setiap bagian memiliki tanggung jawabnya masing-masing. Efeknya adalah, misalkan kita ingin merubah bagain logika aplikasi, kita langsung edit saja di bagian controller, tanpa perlu takut merusak bagian view (interface) atau pun bagian model (database). Alhasil kode yang kita buat lebih terstruktur dan lebih mudah dalam me-manage nya. Bener kan? B-)

Kled: Hemmmmmmmmmmmmm… Lumayan lah… Lumayan…
(dalam hati) Pinter juga nih kutil onta.

Ver: Hihi. Kalo gitu untuk MVC udah beres, sekarang ayo kita lanjut ke fitur selanjutnya, Kled!!

Kled: Oke deh!!! (Kruyukkkkk…. #suara perut lapar)

Ver: ???

Kled: Hehe kayaknya kita harus nyari makan dulu deh

Ver: Hemmm.. Kamu ini, Kled -_-“

Kled: Mikir dalam keadaan lapar itu berat, ver :v

Ver: Alasan aja -_- Trus ini pembahasan kita tentang fitur-fitur laravel gimana? Mau dijeda dulu? Kalo iya, izin dulu atuh ke pemirsa.

Kled: Hehe iya iya. Maaf yah pemirsa, kita mau makan dulu nih. Pembahasannya bakalan kita lanjutin lagi nanti, jadi tetep pantengin blog ini yah ^.^

Ver: Maaf yah pemirsa, Kled emang nyebelin nih kadang-kadang -___-
Yaudah deh, ayo kita nyari makan dulu, Kled. Tapi ngomong-ngomong aku telaktir yah :p

Kled: Okeeee siapppp! Aku telaktir aqua gelas satu :p

Ver: Kleeeeeeeeeeeeeeedd!!!!!!!!!!

10 komentar:

  1. keren artikel yg sangat bermanfaat ...

    BalasHapus
    Balasan
    1. Ver: Terima kasih, senang jika mamang artikel ini bermanfaat buat kamu ^.^

      Hapus
  2. NF emang jos gandos... lanjut min ampe contoh kas(ku)s :D

    BalasHapus
    Balasan
    1. Terima kasih. Mohon do'a nya saja, semoga blog ini bisa jadi salah satu sarana belajar kita bersama :)

      Hapus
  3. kalau framework laravel banyak peminatnya gak ?
    kaya codeigniter kan banyak tuh peminatnya..

    BalasHapus
    Balasan
    1. Banyak kok. Hanya saja di Indonesia pengguna framework laravel saat ini masih kalah populer oleh codeigniter. Namun, saya rasa beberapa tahun kedepan framework ini akan lebih populer, jika dilihat dari banyaknya pengguna framework codeigniter yang mulai bermigrasi ke laraver, juga sudah mulai banyak perusahaan besar yang membutuhkan programmer yang memiliki keahlian dalam framework ini. Satu pesan saya yang saya rasa penting, "Jangan pelajari apa yang sedang populer saat ini, tapi pelajarilah apa yang akan populer beberapa tahun kedepan".

      Hapus
  4. postingan yg laen mana gan? kok gx ada kelanjutan dari pembahasan fitur-fiturnya :(

    BalasHapus
  5. belajar framework laravel, sudah semakin mudah kok, udah banyak website dan community yang membahasnya. termasuk blog ini .. he he. terima kasih atas artikel nya.

    BalasHapus