Sabtu, 28 September 2019

Implementasi MVC pada PHP Framework Laravel


MVC atau Model-View-Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk (Wikipedia), MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :


Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.

View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.

Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.



Singkat kata Model untuk mengatur alur database, View untuk menampilkan web, sedangkan Controller untuk mengatur alur kerja antara Model dan View. Jadi misalnya Anda ingin membuat akun facebook atau e-mail. Pertama Anda akan melihat tampilan sign-up / register itulah View, kemudian Anda menuliskan form pengisian seperti username, password, dll dan Anda klik sign-up / register maka di sini View memanggil Controller dan Controller memanggil Model, sedangkan Model mengecek apakah Anda sudah sesuai dengan kriteria pendaftaran seperti sudah mengisi username, password dan lain sebagainya. Kemudian Model menggembalikan (callback) ke Controller dan Controller mengembalikan ke View, dan kita akan melihat berhasil atau tidak kita sign-up/register. Lebih jelas berikut:




atau




Struktur laravel
Berikut adalah beberapa struktur dari laravel :
  • App berisi kumpulan logika dan alur sistem yang akan dibuat.
  • Bootstrap direktori ini berisi beberapa file kerangka framework laravel termasuk autoload yang befungsi untuk mengoptimasi kinerja sistem yang dihasilkan.
  • Config mencakup seluruh konfigurasi framework mulai dari database, app, mail, dan lain sebagainya.
  • Database sebagai folder penampung file migrations dan seeds yang berhubungan langsung ke pengolahan data dalam database.
  • Public sebagai folder yang akan diakses oleh public/users nantinya. Folder ini juga berisi file-file assets (css/js/images/dll)
  • Resource folder ini berisi semua resource untuk bagian frontend.
  • Routes Folder ini digunakan untuk menentukan format url yang digunakan untuk mengakses halaman yang dibuat
  • Storage berisi compiled blade templates, session, cache, logs dan file lainnya yang di-generate otomatis oleh framework.
  • Tests berisi semua test yang kita buat untuk aplikasi.
  • Vendor berisi seluruh library-library yang digunakan dalam framework laravel maupun yang diinstall melalui composer.

Contoh MVC di Laravel

Mari kita buat contoh sederhana dari implementasi MVC di Laravel.

1. Buat file cobamvc di laravel seperti langkah-langkah yang sudah dibahas sebelumnya.
2. Ketik pada commend prompt seperti gambar dibawah ini.






3. Buat model dengan cara php artisan make:model view model view saya beri nama view.






4. Kemudian buat controller dengan cara php artisan make:controller iniController disini iniController adalah nama controllernya.





5. Setelah itu buka folder cobamvc yang tadi kita buat di editor text.






6. Kemudian buka file view yang berada di app/Provoders. Buat kode seperti gambar dibawah ini:






7. Kemudian buka file iniController.php yang tersimpan pada folder app/Http/Controller/iniController.php. Silahkan buat kode seperti gambar di bawah ini:






Pada controller 
iniController.php terdapat satu fungsi yaitu function output();. Pada fungsi tersebut didefinisikan beberapa variabel untuk ditampilkan pada blade view. Pada baris ke-25 variabel tersebut di return ke views dengan nama file lihat.blade.php.

8. Buat view dengan nama lihat,blade.php yang disimpan pada folder resources/views/lihat.blade.php. Silahkan buat kode html seperti dibawah ini:






9. Untuk dapat ditampilkan lewat browser, kita update di file routes/web.php dengan menambahkan rounting sebagai berikut:






10. Terakhir silahkan akses dibrowser dengan url http://localhost/cobamvc/public/ dan akan menampilkan seperti gambar dibawah ini:





11. Selesai.


Terimakasih.

Sumber :

Selasa, 10 September 2019

Mengenal lebih dekat Framework PHP Laravel.



Membangun berbagai macam fitur untuk sebuah website lumayan memakan waktu, terlebih jika kita membangunnya sendiri dari nol. Banyak fitur yang akan dipergunakan berulang kali seperti session, abstraksi database, penanganan cookie, dan sebagainya. Tentu saja merepotkan jika harus membuat ulang kembali code-code tersebut untuk berbagai macam proyek website yang berbeda. Biasanya pengembang web akan memburu banyak code dan library dari pihak ketiga.

Terkadang code-code yang bersifat umum seperti itu juga sudah tertanam dan dimiliki oleh sebuah framework, sehingga akan lebih mudah untuk digunakan daripada harus membangunnya dari awal ataupun mencari-cari baris code dari pihak ketiga layakanya jika kita mengembangkan aplikasi murni dari PHP. Untuk itulah kenapa seorang programmer PHP harus bisa menguasai framework. Banyak framework PHP yang sekarang ini dipergunakan dalam pengembangan web site atau aplikasi berbasis web. Salah satu framework PHP yang sedang tren/diminati saat ini adalah Laravel.

Sudah berapa banyak framework PHP yang anda coba? Pernahkah anda mencoba memakai framework Laravel? Atau belum paham apa itu framework PHP? Ok saya akan menjelaskan terlebih dahulu apa itu framework PHP. 

Framework adalah alat yang mempermudah kita dalam membuat program.Umpamakan anda ingin membuat baju, anda harus membeli benang, mengubahnya menjadi kain, membuat pola, memotong kain, lalu menjahitnya. Dengan framework anda tidak perlu melakukan itu semua karena sudah disediakan kain dan pola bajunya sehingga anda hanya perlu menjahitnya.Begitu juga dengan PHP , dalam suatu framework sudah disediakan berbagai fungsi-fungsi yang sering dipakai seperti Form, Validation, Request/Response, Localization, dll.


Manfaat, kekurangan, kelebihan framework

Manfaat Framework :
1. Penggunaan komponen-komponen reusable, waktu pengembangan lebih singkat
    penerapan design patterns memudahkan dalam rancangan, pengembangan dan
    pemeliharaan sistem.
2. Stability dan reliability, aplikasi yang kita bangun lebih stabil dan handal karena
    berbasis pada framework yang sudah teruji stabilitas dan kehandalannya.
3. Coding style konsisten, memudahkan dalam membaca kode dan dalam menemukan      bugs.
4. Security concern, framework mengantisipasi dan memasang perisai terhadap adanya
    berbagai masalah keamanan yang mungkin timbul.
5. Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk
    apa yang kita tulis.

Kelebihan framework :
1. Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas
    yang dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika
    kita me-load sebuah halaman akan menjadi ringan dan cepat.
2. Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya,
    dengan metode MVC akan mempermudah kita dalam memahami alur pemrograman
    karena untuk bagian tampilan, logika dan query database telah dipecah sedemikian
    rupa.
3. Mayortitas mendukung berbagai jenis database.


Kekurangan Framework : 
1. Kurangnya pemahaman bahasa pemrograman. Jika Anda bekerja
    menggunakan kerangka kerja dan hanya mengetahui sedikit tentang bahasa
    pemrograman yang digunakan dibaliknya, maka Anda hanya mempelajari
    mengenai kerangka tersebut. Sehingga pemahaman mengenai  bahasa
    pemrograman menjadi tidak berkembang.
2. Memiliki batasan. Dalam penggunaannya, kerangka ini juga memiliki beberapa
    batasan yang tidak dapat Anda modifikasi. Sehingga Anda harus bekerja
    sesuai dengan standar yang digunakan di dalamnya. Oleh karena itu, ketika
    mengembangkan sebuah aplikasi, Anda harus menggunakan kerangka kerja
    yang sesuai dengan kebutuhan Anda.
3. Kode publik. Karena bersifat publik, maka kode dapat digunakan siapa saja
    termasuk pihak-pihak yang mempunyai niat buruk. Mereka dapat mempelajari
    cara kerja kode untuk menemukan kelemahan untuk menyerang Anda.


Sekarang ini kita sedang membahas framework web pada pemrograman PHP. Berikut ini contoh-contoh framework pada PHP:
·        Laravel
·        Yii
·        Code Igniter
·        Symfoni
·        Zend Framework
·        Cake PHP
·        Fuel PHP
·        DLL

Pada artikel kali ini, saya akan membahas salah satu framework PHP yaitu laravel. Apakah kalian tahu apa itu framework laravel? Laravel adalah sebuah framework yang digunakan untuk web development, di mana framework ini diciptakan oleh Taylor Otwell.

Laravel dikembangkan pada tahun 2011 dan sekarang telah mencapai versi 5.6. Banyak sekali fitur-fitur yang sangat membantu kita dalam framework laravel ini. Dan yang menarik adalah slogan dari Laravel “PHP THAT DOESN’T HURT. CODE HAPPY & ENJOY THE FRESH AIR.” para pembuat Laravel percaya bahwa proses pengembangan program harus menjadi hal yang menyenangkan, jadi bisa kita bayangkan seperti apa rasanya membuat program dengan Laravel ini.



Fitur, Kelebihan dan Kekurangan Laravel


  1. Fitur
    • Bundles: Fitur dengan sistem pengemasan modular dan tersedia beragam aplikasi
    • Eloquent ORM: Penerapan PHP lanjutan menyediakan metode internal dari pola active record yang mengatasi masalah pada hubungan objek basis data
    • Reverse Routing: Mendefinisikan relasi antar link dan route
    • Restfull Controllers: Memisahkan logika dalam melayani
    • Class Auto Loading : Menyediakan loading otomatis untuk class PHP
    • Migration: Menyediakan sistem kontrol untuk database
    • Unit Testing: Mendeteksi dan mencegah regresi
  2. Kelebihan
    • Koding simpel
    • Terdapat generator untuk membuat Controller, Model dll
    • Fitur Schema Builder
    • Fitur Migration dan Seeding
    • Fitur Query Builder
    • Fitur Eloquent ORM
  3. Kekurangan
    • Ukuran file besar
    • Membutuhkan koneksi Internet untuk instalasi dan mendownload library
    • Tidak semua hosting cocok dengan Laravel


Bahan yang dibutuhkan dalam menginstal Laravel sebagai berikut :
1.       Virtual Web Server. Dipostingan ini saya menggunakan Xampp v7.3.9 karena sudah support PHP 7.
2.       Composer. Dipostingan ini saya menggunakan Composer v1.9.0.
3.       Sistem Operasi. Dipostingan ini saya menggunakan Windows 10

Langkah-Langkah Menginstal Laravel

                    1.       Install Xampp

1)      Jalankan setup xampp yang telah didownload.


2)      Kemudian klik next.

3)      Ceklis semua komponen kemudian klik next.

4)      Pilih lokasi folder instalasi yang kalian inginkan kemudian klik next.

5)      Klik next lagi.

6)       Tunggu file selesai di install.


7)    Jika sudah selesai, klik finish maka kita akan langsung otomatis masuk ke xampp control panel.


8)    Klik start pada Module Apache dan MySQL, jika tulisannya berwarna hijau berarti kalian telah berhasil menginstall xampp.


 2.       Install Composer
        1)      Jalankan setup Composer yang telah didownload.

        2)      Klik next.

        3)      Pilih lokasi folder instalasi yang kalian inginkan kemudian klik next.

        4)      Klik next.

        5)      Kemudian klik install.

        6)      Tunggu proses instalasi sampai selesai kemudian klik next.

        7)      Klik finish dan proses instalasi Composer sudah selesai.
        8)      Jika ingin mengecek apakah Composer berhasil di install, jalankan
               terminal kalian lalu ketik script composer  seperti gambar di bawah ini.


        9)      Jika berhasil di install akan menampilkan tulisan seperti gambar dibawah.


 3.  Install Laravel
   Ada berbagai cara dalam menginstal Laravel. Namun, disini saya akan
mengajarkan cara instal Laravel dengan via Composer Create –Project.

      1)      Jalankan terminal kalian.


           2)     Pindahkan directory kalian di lokasi folder htdocs  yang saya garis merah
                 yang ada di dalam folder xampp. Saya asumsikan kalian sudah paham
                 menggunakan script pada terminal. Disini saya menggunakan GitBash.

           3)      Kemudian ketik script
                 composer create-project --prefer-dist laravel/laravel namaprojekkalian

         4)      Tunggu sampai proses mendowload library selesai.

         5)      Jika sudah selesai, Pindahkan directory kalian di lokasi folder project yang
                kalian buat di dalam htdocs ketik script
                php artisan serve.

                     apa fungsinya? Yaitu melihat alamat routing.

        6)      Copy alamat servernya yang saya garis merah, kemudian pastekan di web
              browser yang kalian inginkan.

        7)      Jika muncul seperti gambar di bawah ini berarti kalian sudah berhasil
               menginstal framework Laravel pada project kalian.





Masih banyak lagi hal-hal yang sangat menarik dari Laravel yang akan membuat anda terkesan seiring penggunaannya. Cukup sekian beberapa poin penting mengapa kamu harus menggunakan framework Laravel. Alasan ini bukan berarti mewakili seluruh pengguna Laravel akan tetapi dapat dijadikan pertimbangan.



Sumber artikel :

http://fosti.ums.ac.id/blog/php-laravel-yukk-lebih-mengenal-framework-laravel
https://www.codepolitan.com/alasan-mengapa-kamu-harus-menggunakan-framework-laravel-5a08d435ddcfb
http://sigitprd.blogspot.com/2019/09/framework-laravel.html
http://buatanana.blogspot.com/2013/08/manfaat-kekurangan-kelebihan-framework.html
https://www.ayongoding.net/pengertian-laravel/