WEB LANJUTAN
MULAI MATERI
Introduction
Learning Method
Assesment
Kesepakatan Kelas
Contoh Website
Pengantar
framework
laravel
Instalasi
framework
laravel
Konfigurasi
framework
laravel
Routing
Framework
Laravel
Mengenal
Views
Penggunaan
Controller
Bekerja dengan
Form
Operasi
Database
Sistem
Autentikasi
CRUD (Creat,
Read, Update,
Delete)
CRUD (Creat,
Read, Update,
Delete)
Optimasi dan
Security System
UAS
Table Of Content
PENGANTAR FRAMEWORK
LARAVEL
PERTEMUAN 1
Tujuan & Target Pembelajaran
Highlight
Pengantar
Framewor
k Laravel
Defenisi Laravel
Alasan
Penggunaan
Laravel
Kelebihan
Framework
Laravel
Fitur-fitur
Framework
Laravel
Sejarah
Framework
Laravel
Defenisi Laravel
Laravel merupakan framework PHP yang menekankan pada
kesederhanaan dan fleksibilitas pada desainnya.
Laravel adalah framework PHP dengan kode terbuka (open
source) dengan desain MVC (Model-View-Controller) yang
digunakan untuk membangun aplikasi website.
Laravel adalah framework web dengan ekspresif, sintaks yang
elegan. Laravel berusaha mencoba menjadi framework yang
mudah digunakan dengan mengurangi tugas-tugas umum
yang sering digunakan dalam sebagian besar proyek-proyek
web seperti otentikasi, routing, session, dan caching.
Alasan Penggunaan Laravel
Menggunakan PHP Versi terbaru.
Versi HP 5.3 keatas memiliki cukup banyak fitur baru yang membuat PHP lebih power full dan
modern.
Syntax yang Cool & Expressive.
Laravel dirancang untuk memudahkan pengembang, bahkan untuk tahap pemula pun
yang notabene belum paham tentang pemrograman dapat dengan mudah memahami
alur dan pengkodean laravel.
Composer
merupakan sebuah dependency manager untuk bahasa pemrograman PHP. Dengan
fasilitas ini kita dapat dengan mudah membuat library secara otomatis.
Official website.
Official website yang bagus memudahkan kita dalam mencari informasi.
Kelebihan Framework Laravel
Berikut beberapa alasannya menurut Taylor Otwell (Core Developer Laravel) :
• Expressif. Laravel adalah sebuah framework PHP yang expressif, artinya ketika melihat suatu syntax Laravel,
seorang programmer “diharapkan” akan langsung tahu kegunaan dari syntax tersebut meskipun belum pernah
mempelajarinya apalagi menggunakannya.
• Simple. Salah satu yang membuat Laravel begitu simple adalah adanya Eloquent ORM. Misalkan, kita ingin
mengambil semua data yang ada pada tabel users. Maka yang kita perlukan, hanya membuat sebuah class model
bernama User :
Kemudian kita tinggal memasukan semua data dari tabel users tersebut dengan cara sebagai berikut :
Dengan begitu, semua data dari tabel users, akan dengan mudah diakses dengan melakukan looping terhadap variabel $all_user. Saya akan bahas dengan lebih jelas lain kali.
• Accesible. Bagi yang sudah terbiasa dengan PHP Framework, pasti sudah tidak asing lagi dengan yang namanya
CodeIgniter. CodeIgniter merupakan salah satu PHP Framework yang paling populer, meskipun sebenarnya ada
suatu framework yang bisa dibilang lebih superior jika dibandingkan dengan CodeIgniter. Misalnya, saja Kohana.
Kohana bisa dibilang memiliki fitur yang lebih bagus jika dibanding CodeIgniter. Namun demikian, CodeIgniter
memiliki dokumentasi yang sangat lengkap sehingga framework ini menjadi lebih mudah digunakan. Nah, begitu
pula dengan Laravel, Laravel-pun dibuat dengan dokumentasi yang selengkap mungkin. Core Developer dari laravel
sendiri ber-komitmen, untuk selalu menyertakan dokumentasi yang lengkap setiap kali melakukan rilis versi
terbaru-nya.
Fitur-Fitur Framework Laravel
Beberapa fitur yang dimiliki framework Laravel :
• Bundles yaitu sebuah fitur dengan system pengemasan modular dan berbagai bundle telah tersedia untuk di
gunakan dalam aplikasi Anda.
• Eloquent ORM merupakan penerapan PHP lanjutan dari pola “active record”, menyediakan metode internal
untuk mengatasi kendala hubungan antara objek database. Pembangun query Laravel’s Fluent ini didukung
oleh Eloquent.
• Application logic merupakan bagian dari aplikasi yang dikembangkan, baik menggunakan Controllers atau
sebagai bagian dari deklarasi Route. Sintak yang digunakan untuk mendefinisikannya mirip dengan yang
dugunakan oleh framework Sinatra.
• Reverse routing, mendefinisikan hubungan antara Link dan Route, sehingga jika suatu saat ada perubahan
pada route secara otomatis akan tersambung dengan link yang relevan. Ketika Link yang dibuat dengan
menggunakan nama-nama dari Route yang ada, secara otomatis Laravel akan membuat URI yang sesuai.
• Restful controllers, memberikan sebuah option (pilihan) untuk memisahkan logika dalam melayani HTTP GET
dan permintaan POST.
Fitur-Fitur Framework Laravel
• Class auto loading, menyediakan otomatis loading untuk class-class PHP, tanpa membutuhkan pemeriksaan
manual terhadap jalur masuknya. Fitur ini mencegah loading yang yang tidak perlu.
• View composers adalah kode unit logical yang dapat dieksekusi ketika sebuah View diload.
• IoC Container memungkinkan untuk objek baru yang dihasilkan dengan mengikuti prinsip control pembalik,
dengan pilhan contoh dan referensi dari objek baru sebagai singletons.
• Migrations menyediakan versi sistem control untuk skema database, sehingga memungkinkan untuk
menghubungkan perubahan dalah basis kode aplikasi dan keperluan yang dibutuhkan dalam merubah tata
letak database, mempermudah dalam penempatan dan memperbarui aplikasi.
• Unit Testing mempunyai peran penting dalan framework Laravel, dimana unit testing ini mempunyai banyak
tes untuk medeteksi dan mencegah regresi. Unit testing ini dapat dijalankan melalui utilitas “artisan
command-line”
• Automatic pagination menyederhanakan tugas dari penerapan halaman, menggantikan penerapan yang
manual dengan metode otomatis yang terintregrasi ke Laravel.
Sejarah framework laravel
Framework Laravel dibuat oleh Taylor Otwell,
proyek Laravel dimulai pada April 2011. Awal mula
proyek ini dibuat karena Otwell sendiri tidak
menemukan framework yang up-to-date dengan
versi PHP. Mengembangkan framewrok yang sudah
ada juga bukan merupakan ide yang bagus karena
keterbatasan sumber daya. Dikarenakan beberapa
keterbatasan tersebut, Otwell membuat sendiri
framework dengan nama Laravel. Oleh karena itu
Laravel menisyaratkan PHP versi 5.3 keatas.
Sejarah framework laravel
Release Laravel 1
• Dirilis pada Juni 2011
hanyauntuk menambah
kekurangan yang ada
didalam framework
CodeIgniterPHP.
Release Laravel 2
• Dirilis ke developer pada
24 November 2011,
upgrade beberapa fitur
diantaranya dukungan
controller, engine
template dan penggunaan
invers. Dengan
penambahan fitur
controller ini, maka laravel
versi 2 ini sudah resmi
menjadi framework yang
berbasis MVC.
Release Laravel 3
•Pada 22 Februari 2012,
Laravel 3 dirilis, memfokuskan
pada unit test integration,
artisan command line
interface, database migration,
session driver dan database
driver.
Release Laravel 4
•Laravel 4 secara resmi dirilis
satu tahun dan 3 bulan
setelah rilis versi 3 tepat pada
tanggal 28 Mei 2013. Berbeda
dari versi sebelumnya, Laravel
4 ini akan ada jadwal rilis
secara teratur setiap 6 bulan
untuk update (patch dan
perbaikan bug). Dengan unit
test yang meliputi 100% dari
fungsi framework tersebut,
Laravel 4 ini akan menjanjikan
untuk menjadi stabil dan
mudah di update secara
online dengan melalui
composer.
PERTEMUAN 2
Tujuan & Target Pembelajaran
Highlight
Instalasi Framework
Laravel
Kebutuha
n Sistem
Intalasi
Framewo
rk Laravel
Kebutuhan Sistem
• Notepad++
• PHPStorm,
• Aptana,
• Netbeans,
• dan Dreamweaver.
Text Editor, seperti :
• Apache
• XAMPP
Web Server
openSSL enabled di php.ini
Composer
Instalasi Framework Laravel
Sebenarnya ada 2 macam cara yang bisa dilakukan untuk melakukan instalasi Laravel, pertama
melalui composer dan yang kedua langsung download di situs resminya di
https://github.com/laravel/laravel.
Untuk pembahasan kali ini, kita akan menggunakan composer.
Sebelumnya, kita akan menginstall composer terlebih
dahulu, langkah-langkahnya sebagai berikut:
1. Download dulu composer di
http://getcomposer.org, lalu klik tombol Download.
Lihat gambar 2.1
Gambar 2.1 Website Resmi Composer
Instalasi Framework Laravel
2. Pilih installer untuk Windows, nanti
Anda akan mendapatkan file
composer dengan nama Composer-
Setup.exe. Lihat gambar 2.2.
3. Klik 2x file Composer-Setup.exe,
maka tampil kotak dialog Composer
Setup, lalu klik tombol Next. Lihat
gambar 2.3.
Gambar 2.2 File installer composer untuk Windows (Composer-
Setup.exe)
Gambar 2.3 Kotak dialog Composer Setup
Instalasi Framework Laravel
Maka akan tampil kotak dialog Select Components,
pilih Install Shell Menus, lalu klik tombol Next.
Lihat gambar 2.4.
Pada gambar 2.4 terdapat dua pilihan, yaitu Install Shell
Menus dan Do Not Install Shell Menus, perbedaanya
kalau memilih Install Shell Menus, maka ketika Anda
mengklik kanan di desktop komputer Anda, maka disana
terdapat beberapa menu Composer. Lihat gambar 2.5.
4. Tahap Selanjutnya
Gambar 2.5
Beberapa menu
Composer di
dalam menu klik
kanan desktop
Gambar 2.4 Kotak dialog Select Components
Instalasi Framework Laravel
5. Selanjutnya akan tampil kotak dialog Settings Check, karena composer sifatnya embedded dengan PHP, maka installer
composer akan langsung mencari php.exe yang ada didalam folder php. Untuk itu, cari php.exe di C:/ xampp/php/php.exe.
Lihat gambar 2.6.
Gambar 2.6 Kotak dialog Settings Check
Instalasi Framework Laravel
6. Maka akan tampil kotak dialog Ready to Install yang menampilkan informasi dan setting instalasi, klik tombol Install. Lihat
gambar 2.7.
Gambar 2.7 Kotak dialog Ready to Install
Instalasi Framework Laravel
7. Tunggu proses instalasi sampai selesai. Untuk menguji hasil instalasinya, masuk ke Command Prompt, kemudian ketikkan
composer, lalu tekan tombol Enter di keyboard. Apabila instalasi berhasil, maka akan tampil seperti pada gambar 2.8.
Gambar 2.8 Instalasi composer sudah berhasil
Instalasi Framework Laravel
Setelah berhasil menginstall composer,
selanjutnya kita akan menginstall Laravel
melalui composer.
Kemudian pastikan openssl enabled di php.ini. Caranya buka
file php.ini melalui editor teks (kalau menggunakan Xampp,
file php.ini di C:xamppphp), lalu cari baris, sekitar baris ke-
1008:
;extension=php_openssl.dll
Cukup hapus tanda titik koma (;) didepannya sebagai tanda
openssl di aktifkan (enabled). Untuk lebih jelasnya, silahkan
lihat gambar 2.9.
Adapun syarat utama ketika melakukan instalasi menggunakan
composer adalah device atau laptop harus terkoneksi dengan
internet, karena proses pemanggilan source direktori laravel dilakukan
secara online untuk pengambilan framework Laravel.
Gambar 2.9 Mengaktifkan openssl di php.ini
Instalasi Framework Laravel
1. Buka Command Prompt, kemudian pindah ke direktori
C:xampphtdocs (silahkan sesuaikan dengan lokasi htdocs
Anda sendiri). Lalu ketikan perintah di command prompt
sebagai berikut untuk instalasi Laravel versi terbaru:
composer create-project laravel/laravel your-project-
name --prefer-dist
Dan jangan lupa, setelah menyimpan perubahan di
php.ini, restart Apache, caranya bisa melalui Xampp
Control Panel, klik tombol Stop pada bagian Actions
untuk Apache, maka akan berubah tombolnya
menjadi Start, nah sekarang baru klik yang berubah
Start tadi, itulah proses restart Apache.
Selanjutnya, kita mulai instalasi Laravel, langkah-
langkahnya sebagai berikut:
Gambar 2.1.0 Create Project
Ganti your-project-name dengan nama project yang
ingin Anda buat. Pada contoh projectnya diberi nama
“rohman”. Kemudian tekan tombol Enter, maka proses
instalasi dimulai. Lihat gambar 2.1.0.
Instalasi Framework Laravel
2. Tunggu proses installasinya, installasi disini
memerlukan koneksi intenet, jadi cepat atau
lamanya instalasi tergantung koneksi internet
Anda.
Jika muncul set successfully diakhir Command Prompt
(seperti gambar 2.1.1), maka instalasinya telah selesai.
Catatan: Jika Anda sudah melakukan langkah
instalasi composer, untuk berikutnya bila mau
instalasi Laravel cukup lakukan langkah instalasi
laravel saja.
Gambar 2.1.1 Proses instalasi
Instalasi Framework Laravel
3. Jika proses unduh telah selesai, kemudian buka explorer>htdoc akan ada file laravel yang sudah didownload tadi.
Gambar 2.1.2 Proses instalasi
Instalasi Framework Laravel
4. Untuk memastikan bahwa framework laravel telah terinstall di komputer, Anda bisa mengeceknya dengan mengetikkannya di
browser dengan alamat http://localhost/namaprojectAnda/public (namaprojectAnda adalah nama project waktu Anda instalasi).
Tapi pastikan Apche Server nya sudah diaktifkan, disini sebagai contoh menggunakan XAMMP. Berikut tampilannya jika framework
Laravel berhasil terinstall (Lihat gambar 2.1.3) :
Gambar 2.1.3 Instalasi Sukses
KONFIGURASI FRAMEWORK LARAVEL
PERTEMUAN 3
Highlight
Konfigurasi Framework
Laravel
•Struktur Komponen Laravel
•Struktur File dan Folder Laravel
•Cara Pembuatan Artisan di Laravel
Sebuah aplikasi web yang dibangun dengan Laravel
terdiri dari beberapa komponen tertentu yang
bekerjasama tertentu yang bekerjasama untuk
terciptanya aplikasi yang kompeten.
Beberapa komponen Laravel yang harus diketahui
developer adalah Model-model View-Controller
code of application, routing aplikasi, struktur
database (migrasi, model) dam unit test serta
kebutuhan akan konfigurasi didalam frameworknya
sendiri seperti application setting, environment
setting dan sebagainya. Berikut ilustrasi yang
menjelaskan komponen framework Laravel. Lihat
gambar 3.0.
Struktur Komponen Laravel
Web
Application
MVC Code
Configuration
Setting
Environment
Setting
Test
Packages
DB migrations
and data
Routing &
filters
Gambar 3.0 Komponen web aplikasi Laravel
Struktur File dan Folder Laravel
Struktur File dan Folder Laravel
Jika kita buka folder laravel tersebut maka kita akan menemukan
folder-folder dan file sebagai berikut :
Struktur File dan Folder Laravel
Kegunaan dari setiap folder yang disediakan laravel 5 :
Berikut adalah penjelasan strutur-struktur projek laravel tersebut:
1. /app, Folder ini digunakan untuk menyediakan tempat
default untuk menyimpan kode yang sudah ditulis atau
dikonfigurasi. Pada folder ini lah kita meletakan semua kode
projek aplikasi yang dimulai dari konfigurasi, logic dan
sebagainya. Didalam folder app juga terdapat beberapa
folder dan file yang akan dijelaskan disamping ini.
Struktur File dan Folder Laravel
Berisi prosedur dalam
loading file yang lain
yang diperlukan dalam
bootstrap
Autoload.php
File berisi array yang
menunjukan jalur
sistem file yang
digunakan oleh laravel
Path.php
Berisi bagaimana
framework laravel
berjalan
Start.php
2. /bootstrap, Folder ini berisi Compiled file framework dan Application Environment Setting juga didalam folder ini terdapat file yang hanya
boleh di edit oleh pengguna Laravel yang sudah berpengalaman. Sebenarnya folder ini adalah folder yang tidak bisa kita otak atik karena bisa
mengakibatkan error, folder ini berisi prosedur framework yang akan di load pertama kali oleh laravel dan didalamnya terdpat beberapa file :
Struktur File dan Folder Laravel
3. /public, Folder ini berhubungan langsung dengan user interface, didalamnya berisi CSS dan file JavaScript.
4. composer.json, File konfigurasi composer berisi daftar package di aplikasi serta versi pengaturan untuk setiap package dan setting stabilitas
sistem.
5. CONTRIBUTING.md, Berisi petunjuk/instruksi yang ada di Laravel.
6. readme.md, Menyediakan informasi umum tentang Laravel dan link ke dokumentasi. Jika Anda membuat projek open source menggunakan
Laravel pastikan update file ini untuk mengetahui tujuan deskripsi aplikasi Anda.
7. server.php, Laravel mempunyai perintah khusus yang ada pada sistem PHP server. File ini digunakan untuk fungsionalitas sistem.
8. artisan, Menyediakan antarmuka baris untuk perintah built-in Laravel sehingga pegembang dapat mempercepat tugas tertentu.
9. phpunit.xml, Konfigurasi file untuk tool PHP unit testing.
Apa itu Artisan?
Seperti yang dikutip dari official website Laravel, artisan adalah command line atau
perintah-perintah yang dijalankan via command prompt/terminal yang menyediakan
beberapa perintah yang bisa kita pakai selama mendevelop aplikasi.
Cara Pembuatan Artisan di Laravel
Cara yang paling mudah untuk membuat artisan di laravel adalah :
1. Buka command prompt Anda dengan win+ctrl kemudian ketikan cmd maka akan terbuka command prompt
2. Masuk kedalam folder laravel Anda ketik cd c://xampp/htdocs/laravel
3. Jika telah masuk ketikan perintah untuk php artisan nya
code :
php artisan make:controller helloControler
Cara Pembuatan Artisan di Laravel
kemudian tekan enter
jika berhasil maka akan muncul tulisan controller
created successfully.
4. ok silakan cek pada folder
laravel/app/Http/controller maka disana sudah di
buatkan helloController
ROUTING FRAMEWORK LARAVEL
PERTEMUAN 4
Tujuan & Target Pembelajaran
Highlight
ROUTING FRAMEWORK LARAVEL
Pengenalan Dasar Routing
Struktur Dasar Routing
Metode Routing
Passing Parameter Routing
Routing Filter
Routing Response
Pengenalan Dasar Routing
Hal pertama yang akan dipelajari dari laravel adalah tentang routing, apa itu Routing ?
Sebelum beranjak ke materi yang detail tentang routing, Bayangkan jika Anda akan login ke facebook, hal pertama yang harus
Anda lakukan adalah menuliskan url facebook di web browser kemudian enter dan hasilnya akan muncul homepage login
facebook. Atau jika Anda mencari sesuatu di google, Anda menulis kata yang dicari di beranda Google kemudian google akan
menampilkan hasil dari yang Anda cari.
Nah dari analogi diatas, Route adalah hasil akhir dari sebuah aplikasi, hasil akhir dari sebuah request di website. Routing berfungsi
untuk mengatur alur url dan mendefinisikan url tersebut akan memanggil controller mana atau mengeksekusi fungsi apa pada
web. Bisa jadi routing adalah jembatan yang menghubungkan kita dengan respon yang akan diberikan oleh web aplilkasi. Jadi
setiap ada permintaan (request) terhadap alamat tertentu, maka alamat akan dieksekusi terlebih dahulu dalam routing sebelum
akhirnya akan menampilkan hasil (response).
Struktur Dasar Routing
Route dasar yang telah ada dalam Laravel yang baru terinstall terdiri dari 3 bagian :
1. Metode request
• Get,
• Post,
• Put,
• Patch,
• Dan delete.
2. Tujuan dan alamat router
3. Function
• yang akan dijalankan jika route
sudah sampai ke alamat tersebut.
Tujuan disini bisa saja berupa :
ü Satu garis miring (/) yang merupakan root dari aplikasi.
ü Satu kata seperti “users”, “posts”, “about” dan lain-lain.
ü Kata-kata yang dipisahkan dengan garis miring seperti
“user/profile”, “tag/search”, “pages/company”, dan lain-lain.
Catatan :
Kode View::make akan menampilkan atau menunjuk ke view blade
templete yang memang templete tersebut sudah disediakan oleh Laravel.
Metode Routing
Beberapa methode request HTTP yang populer digunakan dalam aplikasi web saat ini adalah :
Ø GET
Ø POST
Ø DELETE
Ø PUT
Ø PATCH
Ø TRACE
Ø HEAD
Laravel mendukung semua method request HTTP untuk penggunaan routing. Biasanya lima method yang sering digunakan adalah GET, POST,
DELETE, PUT dan PATCH.
Secara teknis, bisa dengan menggunakan dua metode saja yaitu GET dan POST untuk mengambil dan mengirimkan tetapi, ketika Anda
berurusan dengan hal-hal seperti API atau frontend dan framework yang berbasis MVC seperti Backbone.js atau AngularJS, Anda akan
melihat betapa pentingnya kebutuhan method request HTTP yang lain.
Metode Routing
Berikut tabel yang menunjukkan kegunaan dari method request HTTP yang mungkin bisa Anda gunakan dalam aplikasi Laravel serta tujuan
dari setiap method untuk membangun aplikasi.
Method Tujuan Contoh
GET Mengambil data Menampilkan halaman HTML
atau menggunakan konten JSON
POST Pengiriman data Mengirimkan isi dari suatu form
PUT Update sebuah resource Memperbarui posting blog/
komentar
PATCH Modifikasi sebagian resource Memperbarui paragraf posting
blog yang ada/detail tentang
pengguna
DELETE Penghapusan resource Menghapus posting blog,
komentar atau gambar.
Passing Parameter Routing
A. Passing Parameter GET
1) Dengan route kita juga bisa passing parameter GET, caranya seperti contoh berikut :
ada 2 parameter, id dan no. Jangan lupa untuk menambahkan parameter harus disertai tanda bracket {}.
2) Untuk menjalankannya buka url ini :
Passing Parameter Routing
B. Passing Parameter POST
1) Passing parameter POST, caranya seperti contoh disamping :
2) Ketika menjalankannya url maka akan terjadi
kesalahan seperti berikut:
Untuk menjalankan parameter POST tidak bisa melalui url, maka
untuk menguji parameter POST kita memerlukan bantuan POSTMAN
dari google chrome, seperti gambar disamping.
Routing Filter
Rute dengan Filter memberikan kenyamanan bagi pengguna untuk membatasi akses ke rute yang diberikan, yang berguna untuk membuat
wilayah-wilayah pada situs yang memerlukan otentikasi. Ada beberapa filter yang terdapat dalam framework Laravel, termasuk filter auth,
filter auth.basic, filter guest, dan filter CSRF. Filter-filter tersebut terletak di folder app/ di file filters.php.
Mendefinisikan Sebuah Filter Route
Jika sebuah respon dikembalikan dari suatu filter, respon tersebut akan dianggap sebagai respon terhadap permintaan dan rute
tersebut tidak akan dieksekusi, dan setiap filter after pada rute juga akan dibatalkan.
Routing Filter
Melampirkan Filter Untuk Rute
Melampirkan Beberapa Filter untuk Sebuah Route
Routing Filter
Menentukan Parameter Filter
Filter after menerima $response sebagai argumen ketiga
ketika dilewatkan ke filter:
Filter Berbasis Pola
Anda juga dapat menentukan bahwa filter berlaku untuk
seluruh rangkaian rute berdasarkan URI mereka.
Dalam contoh di atas, filter admin akan diterapkan ke semua rute
yang dimulai dengan admin/. Tanda * digunakan sebagai wildcard,
dan akan mencocokkan dengan kombinasi dari karakter-karakter.
Anda juga dapat membatasi pola filter dengan kata kerja HTTP:
Routing Filter
Filter Classes
Untuk penyaringan tingkat lanjut, Anda mungkin ingin menggunakan class bukannya Closure. Dikarenakan class-class filter dipisahkan
dari aplikasi IOC Container, Anda akan dapat memanfaatkan dependency injection pada filter-filter ini untuk kemampuan testing yang
lebih besar.
Mendefinisikan sebuah Filter Class Mendaftarkan Filter Berbasis Class
Routing Response
Berdasarkan dari pengenalan dasar mengenai routing bahwa “setiap ada permintaan (request) terhadap alamat tertentu, maka
alamat akan dieksekusi terlebih dahulu dalam routing sebelum akhirnya akan menampilkan hasil (response)”. Jadi dapat
disimpulkan bahwa routing response merupakan hasil akhir dari routing yang telah dibuat.
Jika masih bingung tentang routing response, simak dan coba langsung penjelasan dibawah ini :
q Buka folder laravel yang telah di instal dengan text editor Anda,
kemudian buka route di folder app/routes.php . Berikut adalah isian
dari app/routes.php .
q Ganti respon route seperti gambar dibawah ini.
Menjadi >>>>>>>>>>>>>>>>>>>>>>>>
Routing Response
q Kemudian buka web browser dan ketikan alamat
http://localhost/laravel/public , kemudian hasilnya
seperti gambar disamping.
q Gambar disamping adalah hasil (response) dari route yang
telah kita manipulasi tadi. Kemudian kita akan coba membuat
route baru dengan mengetikan sintak sebagai berikut.
Routing Response
q Untuk melihat hasilnya dari route diatas kemudian masuk ke webbrowser dan ketik url
http://localhost/laravel/public/helloworld dan hasilnya adalah sebagai berikut:
Routes selalu dideklarasikan menggunakan kelas Routes dan salah satu method yang dipakai untuk request sebuah halaman webpage
yaitu GET menggunakan HTTP. GET request ini dikirim setiap waktu ketika kita mengetikan sebuah alamat web di web browser.
Disamping method GET, ada juga method POST yang digunakan untuk membuat sebuah permitaan (request) dan menyediakan sebuah
data yang relatif kecil. Normalnya method ini digunakan sebagai sebuah hasil submit dari form dimana data akan dikirimkan ke
database tanpa ditampilkan ke URL.
Gambar Routing Response
MENGENAL VIEWS
PERTEMUAN 5
Tujuan & Target Pembelajaran
Highlight
Mengenal Views
•Cara Kerja View (Template)
•Membuat dan Mengatur View
•Passing Data ke View
•Blade Template Engine
•Blade Layout
View terletak didalam layer presentation dan user interface dari aplikasi web. Sebagai contoh, Laravel yang berbasis MVC yang
akan menampilkan sebuah halaman login. User dari browser mengirim permintaan dengan alamat routing “/login”. Permintaan
tersebut akan diproses oleh aplikasi yang berjalan diserver itu akan dijalankan controller yang mungkin beroperasi dengan aplikasi
data (models) dan memuat templete (view) yang mengandung HTML, Javascript, CSS dan sebagainya. Hasil dari proses aplikasi
tersebut akan berbentuk HTML yang kemudian ditampilakan dalam browser pengguna.
Cara Kerja View (Template)
Contoh pada gambar 5.0 ini akan mengoperasikan views
secara langsung yang dikendalikan dari routing, dimana
prosesnya belum melibatkan controller.
Hal ini menunjukkan bahwa views bisa didefinisikan
sebagai representasi visual dari aplikasi web yang
memungkinkan pengguna bisa berinteraksi langsung ke
aplikasi, biasanya views akan berupa HTML yang
ditampilkan dibrowser sesuai dengan permintaan
(request) dari user.
Gambar 5.0 Alur client yang request melalui konsep MVC
Membuat dan Mengatur View
Langkah-langkah membuat dan mengatur view :
1. Buat sebuah halaman register.php didalam direktori app/view/. File ini yang digunakan sebagai tampilan dari halaman register.
2. Buatlah form register sesuai rancangan pada file register.php. Pada contoh berikut, agar form register terlihat indah maka digunakan
styling dari CSS Bootstrap.
Membuat dan Mengatur View
3. Akses halaman register yang sudah dibuat dengan URL http://localhost/laravel/public/register. Apabila web browser Anda
menampilkan halaman register seperti gambar dibawah, berarti Anda berhasil membuat sebuah halaman web menggunakan
laravel.
Membuat dan Mengatur View
Gambar Tampilan View
Penjelasan :
Mengembalikan nilai dengan variabel $name dimana variabel $name
hanya berisi 1 data saja baik bertipe data String mupun bertipe data
int menggunakan fungsi with() yang diarahkan kepada folder pages
yang didalamnya terdapat file about.blade.php.
Passing Data ke View
Penjelasan :
Mengembalikan nilai dengan tipe variabel array ( lebih dari 1 variabel )
yang diarahkan kepada folder pages yang didalamnya terdapat file
about.blade.php, dengan mempassing data dengan variabel $data.
Penjelasan :
Mengembalikan nilai dengan tipe variabel array ( lebih dari 1
variabel ) yang diarahkan kepada folder pages yang didalamnya
terdapat file about.blade.php, dengan mempassing data
dengan variabel $data.
Passing Data ke View
Penjelasan :
Mengembalikan nilai dengan tipe variabel string, dimana variabel
$first adalah variabel pertama dimasukan kedalam fungsi compact()
dan variabel kedua ( variabel $last )dimasukan kedalam fungsi
with() yang berguna untuk mem-passing variabel terakhir yang
diarahkan kepada folder pages yang didalamnya terdapat file
about.blade.php.
Penjelasan :
Mengembalikan nilai dengan tipe variabel Array, dimana variabel
$people dimasukan kedalam fungsi compact() tanpa harus
memisahkan data yang ada didalamnya, data dapat dikirim dalam 1
array menggunakan fungsi compact() yang diarahkan kepada folder
pages yang didalamnya terdapat file about.blade.php.
Kesimpulan
Kita dapat menggunakan fungsi compact() atau with() dalam proses
passing data dari controller ke view baik berupa array maupun tipe data
lainya, yang tentunya sesuai kebutuhan.
Blade Template Engine
Apa itu Blade template engine?
Blade merupakan template engine ekslusif dari framework Laravel. Tujuannya untuk
menyederhanakan interface dan kode program yang dihasilkan, seperti penggunaan looping
dan kondisional, dan mengantisipasi redudansi code.
Secara internal engine blade, file ditulis khusus didalam view untuk menghasilkan output.
Beberapa tujuan dari blade engine adalah untuk membuat tampilan templete yang mudah
dibaca developer (front-end) dan untuk mempersingkat jumlah kode yang perlu ditulis
didalam menampilkan data di aplikasi. Perlu diingat bahwa ekstensi file untuk menuliskan
blade engine ini menggunakan “nama-file.blade.php”.
Blade Template Engine
Berikut merupakan tampilan mengenai perbedaan antara source code output dari PHP biasa dengan blade engine dalam bentuk tabel.
View php (.php) Blade views (.blade.php)
Output data didalam PHP Output data menggunakan Blade
<?php echo (date(‘Y’)); ?> {{ date (‘Y’) }}
Looping data menggunakan PHP Looping data menggunakan Blade
<?php foreach($users as $user) {?>
<p>
<?php echo($userelname); ?> <br>
<?php echo ($usereladdress); ?>
</p>
@foreach($users as $user)
<p>
{{ $userelname }} <br>
{{ $usereladdress }}
</p>
Pernyataan kondisional dengan PHP Pernyataan kondisional dengan Blade
<?php if ($category == ‘blog’) {?>
….
<?php } else { ?>
….
<?php } ?>
@if ($category == ‘blog’)
….
@else
…..
@endif
Blade engine templete menyediakan banyak
cara untuk mencapai jalan pada developer
dengan beberapa kelebihan sebagai berikut :
q Menghapus beberapa inkonsistensi script
PHP.
q Menghasilkan berbagai elemen HTML
dengan minimal kode.
Blade layout membantu developer menulis lebih sedikit kode untuk
membuat sebuah templete.
Bila Anda ingin memodifikasi header atau footer, Anda perlu mengedit satu
per satu content yang ada. Hal ini sangat diperlukan apabila aplikasi yang kita
buat membutuhkan content yang banyak, sehingga kalau ada suatu
perubahan pada halaman header dan footer, maka kita hanya butuh
mengeditnya sedikit saja, tidak semuanya. Cara seperti ini bisa menghemat
waktu dan tenaga, dengan adanya blade engine templete ini masalah seperti
itu bisa diatasi dengan mudah.
Konsep menggunakan layout seperti ini bukanlah hal baru untuk framework
didalam membangun sebuah web. Laravel memiliki beberapa keyword
khusus yang perlu Anda ketahui ketika menggunakan layout ini. Agar lebih
jelas ikuti pelajari cara penggunaan layout dibawah ini :
Menggunakan Layout
Misalnya Anda ingin membuat layout yang akan dipakai oleh beberapa view.
Buat sebuah view di app/views/ dengan nama layout.blade.php
layout.blade.php
Blade Layout
Pada kode diatas kita melihat hal yang aneh
yaitu @yield('content') .
q @yield(), Ini merupakan keyword yang berada didalam
layout, berfungsi sebagai input dibagian konten yang
memiliki nama dispesifikasikan sebagai parameter.
Tulisan content bisa diganti dengan apa saja terserah Anda. Lalu buat sebuah view pada app/views/user/ dengan nama
user.blade.php isi nya sebagai berikut :
Blade Layout
Pada kode disamping hal yang aneh yaitu: @extends('layout'),
@section('content'), @stop.
q @extends(), Keyword yang berada didalam view, berfungsi
menerapkan templete blade yang lain, dimana ditetapkan
melalui parameter sebagai layout untuk layout yang
digunakan.
q @section(), Keyword yang berada didalam view, berfungsi
menentukan bagian dari konten yang akan dimasukkan ke
dalam layout menggunakan templete blade saat ini.
q @stop, berfungsi sebagai pemberhentian.
Serta :
q @include(), Keyword yang berada didalam view dan
layout, berfungsi menyisipkan engine blade templete yang
ditentukan sebagai argumen.
PENGGUNAAN CONTROLLER
PERTEMUAN 6
Tujuan & Target Pembelajaran
Highlight
Penggunaan Controller
Penggunaan Controller di MVC Default Controller Filter Controller
Laravel Controller, Apa Itu?
Dalam pemrograman PHP dengan menggunakan framework, Controller adalah file yang paling sering
kita otak-atik. Hal ini wajar karena kebanyakan framework menggunakan pendekatan MVC (Model-
View-Controller) dimana controller bertugas untuk menjadi penghubung antara Model (yang berfungsi
untuk mengolah data) dengan Views (untuk mengelola tampilan).
Di dalam Framework Laravel, Anda juga akan sering berkutat dengan Controller. Jika Anda sudah pernah
belajar framework semacam Codeigniter (CI) pasti sudah tidak asing lagi dengan file-file ini.
Perbedaannya di Framework Laravel kita bisa membuat File Controller melalui composer.
Penggunaan Controller di MVC
Semua controller dalam aplikasi Laravel berada dalam folder app/controllers. Secara default, Laravel sudah menyediakan dua buah
controller yang langsung terhubung dengan routing, yaitu BaseController dan HomeController.
Ketika Anda menggunakan kedua controller tersebut, maka Anda sudah menggunakan arsitektur terkecil dalam aplikasi berbasis
controller. Adapun fungsi dari HomeController adalah mencakup fungsionalitas sederhana untuk menunjukkan sebuah halaman
HTML kepada user. Sedangkan BaseController berfungsi untuk mengendalikan semua controller yang digunakan, Jadi ketika
menggunakan controller, maka harus memanggil BaseController tersebut ke dalam file controller dengan menyertakan keyword
extends.
Catatan : Kalau ingin mencoba kedua controller tersebut, Anda bisa memodifikasi app/routes.php dan isikan kodenya seperti
berikut: Route : : get (‘/ ’, ‘HomeController@showWelcome’);
Kemudian panggil menggunakan URL http://localhost/laravel/public, maka akan tampil halaman default Laravel, karena didalam
method showWelcome akan memanggil file hello.php yang ada diview.
Default Controller
Filter pada controller ini memiliki fungsi seperti “regular” route, jika di route seperti:
Atau Anda juga bisa menyisipkan filter berupa Closure (fungsi tertutup) pada controller seperti berikut:
Filter Controller
BEKERJA DENGAN FORM
PERTEMUAN 8
Tujuan & Target Pembelajaran
Highlight
•Penanganan Form di Laravel
•Import Template Bootstrap
•Pembuatan Form
Bekerja dengan
Form
Salah satu aspek paling mendasar dari aplikasi web adalah pembuatan form. Laravelmenyediakan cara yang mudah untuk
pembuatan form.
Bagi yang sudah terbiasa membuat program website, pasti sudah mengenal apa itu form atau lebih dikenal tag <form>. Form
berguna untuk menangani berbagai inputan dari user, misalkan untuk mengisi identitas orang, data buku, dll.
Pada Laravel, ada penanganan khusus jika Anda ingin menggunakan form dengan sintaks yang lebih sederhana dan tentunya
menggunakan fitur blade. Meskipun begitu, Laravel juga mengizinkan developer untuk menuliskan sintaks murni HTML Form
untuk pembuatannya.
a) Opening Form
Sebelum kita menuliskan tag form komponen, terlebih dahulu kita membuat atau membuka sebuah tag form. Untuk
membuka sebuah tag form di Laravel menggunakan sintaks blade engine berikut :
Sintaks tersebut apabila dijalankan dibrowser, maka akan menghasilkan kode HTML berikut :
Default method untuk form adalah POST dengan action # dan font UTF-8.
Penanganan Form di Laravel
b) Mengarahkan Form Ke URL
Bila Kita ingin mengarahkan form ke URL tertentu, kita bisa menggunakan sintaks berikut :
c) Mengarahkan Form Ke Routing
Selain ke URL, kita juga bisa mengarahkan form ke Route yang sudah terdaftar. Adapun sintaksnya sebagai berikut:
d) Mengarahkan Form Ke Controller
Form juga dapat diarahkan langsung ke Controller. Berikut sintaksnya :
e) Menggunakan Method yang Berbeda
Secara default, jika kita tidak mendefinisikan method, maka Laravel akan menempatkan method default yaitu POST. Jika kita
ingin mendefinisikan method yang berbeda, berikut sintaksnya :
Penanganan Form di Laravel
Untuk mengintegrasikan bootstrap dilaravel Anda harus mendownload terlebih dahulu file bootstrap , buka link berikut :
http://getbootstrap.com , apabila bootstrap sudah didownload extract file bootstrap tersebut dan ambil folder css,js,dan fonts di
bootstrap , agar terlihat rapih buat folder assets di laravel Anda lalu masukan file bootstrap kedalam folder assets Anda.
Import Template Bootstrap
Folder bootstrap sudah dimasukan ke laravel Anda selanjut nya buka folder laravel Anda lalu masuk ke folder privasi lalu masuk
lagi ke folder resource masuk lagi ke folder views dan buatlah folder template yang bertujuan untuk membuat template bootstrap
dan jangan lupa download terlebih dahulu jquery.min.js dan masukan ke folder js , apabila Anda sudah membuat folder template
buat file yang bernama t_index.blade.php file ini bertujuan untuk menyimpan link rel dan template bootstrap.
Import Template Bootstrap
File sudah dibuat selanjutnya menambah code di file tersebut , tulis kode difile t_index.blade.php seperti gambar berikut :
Selanjutnya buka file routes.php di privasi>app>http>routes.php ubah return view(welcome); menjadi return view('home'); ini
bertujuan agar file yang di buka pertama itu adalah home.index.blade.php selanjutnya buat file home.index.blade.php di
privasi>resources>views>home.index.blade.php dan masukin code seperti gambar dibawah ini :
Import Template Bootstrap
File sudah dibuat selanjutnya menambah code di file tersebut , tulis kode di file t_index.blade.php seperti gambar berikut :
Selanjutnya buka file routes.php di privasi>app>http>routes.php ubah return view(welcome); menjadi return view('home'); ini
bertujuan agar file yang di buka pertama itu adalah home.index.blade.php selanjutnya buat file home.index.blade.php di
privasi>resources>views>home.index.blade.php dan masukin code seperti gambar dibawah ini :
Import Template Bootstrap
Ø @extends : untuk mengambil template bootstrap ,
Ø @section : untuk memasukan data home.blade.php ke template
bootstrap tersebut
Keterangan :
Import Template Bootstrap
apabila sudah selesai coba buka di browser Anda :
localhost/laravel
Dan akan menemukan eror , eror tersebut adalah kita belum memasukan illuminate di laravel , cara untuk
memasukannya adalah buka file composer.json di privasi>composer.json lalu tambahkan "illuminate/html": "5.*"
Import Template Bootstrap
Apabila composer.json sudah seperti gambar di atas lalu
buka cmd kita masuk ke folder laravel kita lalu masuk ke
privasi ketik : composer update tunggu beberapa saat
composer telah terupdate , selanjutnya buka file app.php di
privasi>config>app.php lalu buka file tersebut tambah kan
IlluminateHtmlHtmlServiceProvider::class,
Import Template Bootstrap
Dan tambahkan juga seperti gambar :
'Form' => IlluminateHtmlFormFacade::class,
'Html' => IlluminateHtmlHtmlFacade::class,
Import Template Bootstrap
Apabila sudah selesai menambahkan coba buka localhost/laravel dan sudah berjalan dengan baik.
Selanjutnya kita membuat form untuk membuat data .
Bagi yang sudah terbiasa membuat program website khususnya pasti sudah mengenal apa itu form atau lebih dikenal tag <form>.
Form biasanya digunakan untuk menginputkan, menampung, memasukan data. Di laravel, ada penangan khusus jika Anda ingin
menggunakan Form dengan sintak yan lebih sederhana dan tentunya dengan menggunakan fitur blade sendiri. Meskipun begitu,
laravel juga mengizinkan developer untuk menuliskan sintak murni HTML Form untuk mengelolanya.
Pembuka Form
Biasanya untuk membuat form kita memerlukan seperti code dibawah ini.
Pembuatan Form
Didalam laravel kita dapat menulisnya seperti ini.
Pembuatan Form
Kita sebelumnya juga sudah belajar tentang blade, dengan code form seperti diatas akan pasti lebih enak. Form diatas
method default nya adalah POST, bagaimana kalau mau mengganti method menjadi GET, Lihat code dibawah ini.
Tidak hanya POST dan GET yang bisa kita gunakan untuk selain itu seperti PUT dan DELETE pun juga bisa.
Untuk agar bisa digunakan upload file kita biasanya menggunakan enctype='multipart/form-data' di form laravel kita
bisa menggunakan 'files' => true code seperti ini.
Pembuatan Form
Tutorial diatas telah menjelaskan dasar – dasar dari penggunaan form laravel. Selanjutnya kita akan membuat form laravel seperti gambar
dibawah ini.
Pembuatan Form
Pertama buat dahulu file didalam folder views bernama formsederhana.blade.php dan isikan dengan code berikut ini.
Pembuatan Form
Setelah itu buka controller ProfileController.php dan tambahkan code / fungsi berikut ini, dibawah fungsi profile.
Lalu buka routes.php dan tambahkan code dibawah ini.
Pembuatan Form
Dan yang terakhir buka file sidebar.blade.php dan tambahkan
code ini.
Dibawahnya code.
Maka di sidebar akan muncul menu baru seperti gambar berikut.
Selesai, sekarang coba klik menu form sederhana maka akan muncul
seperti gambar form diatas.
OPERASI DATABASE
PERTEMUAN 9
Tujuan & Target Pembelajaran
Highlight
Operasi Database
Pengenalan Operasi Database
Konfigurasi Database
Metode Interaksi Database
Laravel mempunyai koneksi yang bagus ke database dengan settingan sederhana dan apabila Anda ingin untuk memanipulasi data
secara otomatis, maka Laravel akan menerjemahkan perintah-perintah tersebut ke dalam query SQL
Laravel mendukung beberapa database yang bisa digunakan, seperti yang tertera di folder app/database, berikut beberapa
database yang di support Laravel:
ü MySQL
ü PostgreSQL
ü SQLite
ü SQL Server
Pengenalan Operasi Database
Ketika kode aplikasi yang mengandung operasi database di proses
Laravel, baik menggunakan metode Raw Query SQL maupun Query
Builder serta ORM, ternyata dibalik semua itu, Laravel mengkonversi
operasi database tersebut menjadi sebuah pernyataan SQL yang
kemudian akan dijalankan pada salah satu jenis database yang telah
dikoneksikan dengan Laravel. Hasil dari eksekusi SQL akan
dikembalikan lagi ke kode aplikasi untuk ditampilkan data tersebut
kepada user yang mengaksesnya. Untuk lebih jelasnya, lihat ilustrasi
pada gambar 9.0
Gambar 9.0 Illustrasi operasi database di Laravel
Laravel sudah menyediakan built-in function untuk membantu Anda mengelola data dalam database secara efisien. Beberapa
operasi database yang sudah disediakan oleh Laravel adalah sebagai berikut :
Ø Mengelola tabel database melalui command prompt dan akan menghasilkan sebuah file khusus yang bisa dihubungkan
langsung dengan database, hasil seperti ini juga disebut sebagai migration.
Ø Mengumpulkan database dengan data sampel (juga disebut seeding).
Ø Pagination.
Ø Berbagai metode query untuk berhubungan ke database.
Ø Database transaksi.
Ø Query log.
Ketika semua operasi tersebut digabungkan secara bersama-sama ke dalam sebuah fitur di framework Laravel, maka bisa
dikatakan Laravel merupakan salah satu framework PHP yang cukup solid di dalam mengelola sebuah operasi data didalam
database.
Pengenalan Operasi Database
Konfigurasi Database
Laravel memberikan kemudahan untuk melakukan konfigurasi dalam berinteraksi dengan database. Semua
pengaturan konfigurasi aplikasi Laravel berada di folder app/config. Adapun file yang menyimpan pengaturan
konfigurasi database adalah database.php.
Untuk menggunakan database didalam aplikasi, Anda perlu membuka file database.php, dimana didalam file
tersebut sudah ditentukan operasi koneksi untuk beberapa database yang sudah ada. Laravel kemudian akan
menggunakan operasi koneksi tersebut untuk melakukan pemrosesan lebih lanjut.
File konfigurasi database menyediakan beberapa pilihan dalam operasinya, diantaranya :
Ø Metode pengambillan objek (PDO::FECTH_OBJ, PDO::FETCH_CLASS, PDO::FETCH_ASSOC, atau meode lain yang
tersedia di PDO).
Ø Koneksi didalam database secara default juga sudah menyediakan koneksi ke database yang umum kita gunakan,
yaitu MySQL.
Ø Setting untuk koneksi ke MySQL, PostgreSQL, SQLite dan SQL Server.
Ø Nama dari tabel yang akan digunakan didalam migration jika memang cara migration yang digunakan.
Konfigurasi Database
Secara default , koneksi database sudah diatur menggunakan engine MySQL, PDO diatur untuk mengambil objek melalui
PDO::FETCH_CLASS dan sebagian besar pengaturan koneksi juga sudah ditentukan. Berikut isi file database.php :
Jika Anda menggunakan database MySQL, Anda hanya perlu
membuat nama database dan pengaturan default koneksi tinggal
mencocokkan nama database untuk username dan passwordnya.
Metode Interaksi Database
Di dalam Laravel terdapat 3 cara untuk berinteraksi dengan database yaitu :
1. Raw Query
2. Query Builder (Fluent Query)
3. Eloquent ORM
Raw Query
Metode raw query ini mirip atau memang sama dengan query sql biasa , jadi mungkin Anda sudah biasa menggunakannya. Namun disini
kita harus menggunakan class DB dan di ikuti statement seperti insert, update, delete lihat contoh dibawah ini :
Metode Interaksi Database
Query Builder / Fluent Query
Dengan query builder code query lebih nyaman dibaca dan lebih mudah karena kita tidak dikhawatirkan dengan perbedaan penulisan native
query yang mungkin ada perbedaan antara sistem database satu dengan yang lain.
Metode Interaksi Database
Eloquent ORM
Eloquent adalah Sebuah ORM (Object Relational Mapping) yang dibundling bersama Laravel Framework. ORM ini sangat
sederhana menurut saya tapi justru disitulah nilai lebih dari ORM ini.Setiap model eloquent yang kita buat akan bertanggung jawab
atas satu tabel dalam database. Misalnya kita telah mempunyai tabel mahasiswa , kita harus membuat model baru yang
bertanggung jawab atas tabel mahasiswa. Sebagai contoh buat file Mahasiswa.php di app/models definisikan dulu model nya
seperti ini
hal yang harus di perhatikan diatas dalam eloquent kita harus mengextends Eloquent dan menambahkan nama tabel.
Metode Interaksi Database
Setelah itu kita bisa melakukan berbagai macam query dengan memanggil nama Class di model nya diikuti dengan function seperti contoh dibawah ini :
Fungsi Menampilkan Insert, Update , Delete
Untuk menambahkan objek baru caranya seperti ini
KESIMPULAN
Dari 3 metode diatas yang paling direkomendasikan yaitu metode Eloquent
ORM karena lebih mudah, fleksibel dan terorganisir.namun dalam beberapa
kasus Eloquent gagal dalam menangani SQL Query yang rumit. JIka itu terjadi
Anda gabungkan saja dengan metode yang lainya. Kalau saya selalu
menggunakan Eloquent ORM.
SISTEM AUTENTIKASI
PERTEMUAN 10
Tujuan & Target Pembelajaran
Highlight
Sistem Autentikasi
•Studi Kasus (Dashboard Profile)
Studi Kasus (Dashboard Profile)
Autentikasi merupakan hal yang sangat penting dalam sebuah website. Dengan menggunakan autentikasi kita bisa
mencegah orang yang tidak berkepentingan untuk mengakses situs yang kita buat.
1. Persiapkan Settingan
Pertama, buka file session.php di folder app/config/ dan pastikan driver sudah di setting menggunakan ‘native’ :
Autentikasi akan menggunakan session untuk menyimpan informasi user, sehingga kita perlu melakukan setting untuk memastikan bahwa
session sudah dikonfigurasikan dengan benar. Intinya, didalam settingan ini kita akan mengaktifkan session didalam aplikasi yang akan kita
buat, maka kita bisa menggunakan driver native.
Kedua, buka file auth.php difolder app/config/, config secara default harus sudah disesuaikan dengan settingan berikut :
Studi Kasus (Dashboard Profile)
Pada kode tersebut, kita akan menggunakan database yang akan sesuai dengan metode yang akan kita pakai, misalnya kita akan
menggunakan metode Eloquent ORM, kemudian nama model yang akan kita gunakan adalah User dari tabel users yang ada didalam
database.
Ketiga, buka file database.php difolder app/config/, kita akan menggunakan database mysql dan nama databasenya adalah test, berikut
settingannya :
Setting konfigurasi database tersebut sewaktu-waktu dapat berubah sesuai dengan kebutuhan.
Studi Kasus (Dashboard Profile)
2. Pembuatan Tabel Menggunakan Artisan
Cara membuat autentikasi menggunakan Laravel.Pertama-tama yang harus kita buat adalah tabel users. Untuk membuat tabel user, buat
migrasi dengan menjalankan perintahnya di command prompt sebagai berikut:
Buka folder app/migration, Anda akan melihat sebuah file berisi class yang bernama ‘CreateUserTable’. Pada class tersebut terdapat dua
function bernama ‘up’ dan ‘down’ . Function ‘up’ digunakan untuk membuat tabel, sedangkan function ‘down’ digunakan untuk
menghapus tabel. Tambahkan script di function up dan function down, seperti dibawah ini :
Function ‘Down’
Function ‘Up’
Studi Kasus (Dashboard Profile)
Selanjutnya, pada command line jalankan perintah:
Maka akan terbentuk sebuah tabel dengan nama users. Silahkan cek melalui phpMyAdmin pada database test.
Note :
Untuk atribut created_at dan update_at dengan
tipe timestamp merupakan atribut bawaan dari
artisan migrate, maka biarkan saja.
Studi Kasus (Dashboard Profile)
3. Membuat Halaman Utama (Profile Dashboard)
Profile dashboard merupakan halaman utama yang akan tampil setelah login atau registrasi user berhasil, jadi bisa dikatakan halaman ini
merupakan halaman Administrator yang berfungsi mengelola data dalam suatu sistem.
Sebelumnya, apabila kita sudah berhasil login kita hanya akan melihat tulisan ‘login berhasil’. Nah, kali ini kita akan membuat supaya
pengguna diarahkan ke halaman dashboard apabila login berhasil. Buat sebuah controller baru bernama ‘DashboardController':
Setelah itu, buatlah sebuah route baru pada routes.php sebagai berikut:
Studi Kasus (Dashboard Profile)
Kemudian, jangan lupa untuk membuat sebuah view baru bernama ‘dashboard.blade.php’. Setelah itu, ubah autentikasi yang ada pada
method authenticate menjadi sebagai berikut:
Sampai disini, apabila Anda mencoba login kembali maka akan diarahkan ke halaman dashboard. Tentu halaman dashboard yang dimaksud
adalah halaman kosong, mengingat kita baru membuat viewnya saja, tanpa ada isinya.
CRUD (CREAT, READ, UPDATE, DELETE)
PERTEMUAN 11
Tujuan & Target Pembelajaran
Highlight
CRUD (Creat,
Read, Update,
Delete)
Persiapan database
Penambahan data
Menampilkan data
Persiapan Pembuatan CRUD Di Laravel
1. PERSIAPKAN FILE
Apabila Anda sudah menginstal laravel rename nama folder laravel Anda dengan nama ‘laravel’ dan buka file laravel
tersebut dengan memanggil : localhost/laravel/public
Dan hasilnya sebagai berikut :
Persiapan database
apabila nama folder sudah di ubah dan sudah dibuka , siapkan database untuk pembuatan crud di laravel Anda .
Persiapan database
2. PEMBUATAN DATABASE
Buat sebuah database dengan nama laravel apabila database sudah dibuat selanjutnya untuk belajar laravel kita buat tabel
dengan nama ‘siswa’ Field diantaranya : id(int)10 autoincrement,nama(varchar)50,alamat(varchar)50,kelas(varchar)50
apabila field sudah dibuat dengan benar tahap selanjut nya buka file laravel dan setting database di laravel
Persiapan database
3. SETTING DATABASE DI LARAVEL
Untuk penyitangan database di
laravel cukup mudah buka folder
laravel Anda lalu buka file yang
berekstensi .env setting
database seperti berikut .
4. MENGHAPUS /PUBLIC DI LARAVEL
Untuk tahap berikutnya kita akan mencoba menghapus /public dilaravel , karena pada
saat kita instal laravel kita harus membuka file laravel dengan cara
localhost/laravel/public , yang menjadi pertanyaan bagaimana cara public nya
dihilangkan dari url tersebut, cukup mudah untuk menghilangkan public tersebut .
Pertama yang harus Anda lakukan buat folder terlebih dahulu dengan nama ‘privasi’
folder privasi ini bertujuan untuk menyimpan data data laravel Anda kecuali data public ,
apabila Anda sudah membuat folder public langkah berikutnya cut file laravel Anda
kecuali folder ‘public’ apabila sudah di cut masukan file tersebut ke folder privasi ,
apabila sudah yang tersisa hanya ada 2 folder , folder public dan folder privasi langkah
selanjutnya buka folder public dan cut semua file di folder public lalu paste kan di luar ,
untuk lebih jelasnya silahkan lihat gambar berikut :
Persiapan database
Apabila folder laravel Anda sudah dibuat persis seperti gambar di atas langkah selanjutnya adalah mengubah index.php di file tersebut
menjadi seperti gambar berikut :
Persiapan database
Ubahlah konfigurasi index.php Anda seperti gambar diatas , apabila sudah buka browser Anda dan coba untuk membuka url :
localhost/laravel dan url Anda sudah berganti menjadi localhost/laravel tidak lagi menjadi localhost/laravel/public
PEMBUATAN CRUD DI LARAVEL
1. Create / Penambahan Data Di Laravel
Membuat Create di laravel atau bisa di sebut dengan menambah data ke database (CREATE) tahap yang harus di lakukan
pertama buka file home.blade.php ini bertujuan untuk menampilkan form yang akan di input dan dimasukan ke database
untuk datanya , isikan home.blade.php seperti gambar dibawah ini :
Penambahan data
Penjelasan :
• @extends(‘template/t_index’) : ini bertujuan
mendapatkan design dari template bootstrap
• @section(‘content’) : ini bertujuan untuk
menampilkan content
• @form::open : ini sama dengan form method post
• @form:text : sama dengan dengan input type text
• @stop : untuk menghentikan code tersebut
sebetulnya memakai form method juga bisa tetapi di laravel
kita sudah di sediakan untuk pembuatan yang lebih simple dan
sedikit , itu tergantung lagi kepada Anda , Anda ingin
memakai yang mana .
Penambahan data
apabila sudah sama seperti gambar diatas selanjutkan kita coba tampilkan dan hasilnya akan sama seperti gambar dibawah ini :
apabila form sudah di buat selanjutkan proses pembuatan create data nya .
pada tahap ini kita akan membuat controller terlebih dahulu berfungsi untuk menyambungkan antara routes dan controller
tersebut untuk caranya silahkan buka cmd terlebih dahulu lalu masuk ke folder laravel Anda dan masuk ke folder privasi dengan
cara: C:wampwwwlaravelprivasi ( tergantung folder Anda disimpan ).
Penambahan data
apabila sudah masukan code ini untuk membuat controller Anda di
laravel :
php artisan make:controller Crudcontroller
dan hasilnya akan seperti berikut :
ini artinya controller sudah di buat silahkan cek ke folder privasi>app>http>controllers dan file yang bernama Crudcontroller sudah berhasil
di buat , tahap selanjutnya buka file routes.php di privasi>app>http>routes.php apabila file sudah di buka tambah kan kode seperti gambar
berikut :
sebelumnya dijelaskan terlebih dahulu perbedaan get dan post, post itu untuk memproses data sedangkan get untuk menampilkan data itu
perbedannya sedangkan proses tambah yang ada di gambar itu menunjukan class/function nya apa , dan crudcontroller@tambahdata itu
proses nya akan kemana.
Penambahan data
Sekarang coba Anda buka file Crudcontroller yang sudah Anda buat dan masukan data seperti gambar berikut :
Sedikit dijelaskan input::get itu mengambil nama yang ada di form yang sudah kita buat tadi , sedangkan db::table itu akan kemana data itu
dimasukan yaitu ke table siswa , sedangkan with message itu notification session yang sudah di sediakan laravel bahwa apabila kita berhasil
menambah data akan muncul message tersebut , lalu bagaimana memuncukan notifikation diatas ? kita buka lagi file routes.php lalu
tambah kan code seperti gambar berikut :
Penambahan data
sedikit dijelaskan kita harus membuat route::get tersebut yang bertujuan untuk menampilkan file read.blade.php , sekarang kita buat
juga file read.blade.php di privasi>resources>views>read.blade.php apabila file sudah di buat tambahkan code berikut di file tersebut :
apabila sudah sesuai dengan code tersebut kita langsung membuat data di home tadi caranya buka browser Anda : localhost/laravel dan
coba masukan data apakah data nya akan masuk ke database atau tidak , pada saat Anda mencoba memasukan data pasti akan muncul
error seperti gambar gambar dibawah ini : input not found , db not found , redirect not found
Penambahan data
lalu bagaimana cara mengatasi eror tersebut? untuk mengatasinya cukup mudah yaitu dengan cara buka file Crudcontroller lalu masukan
code berikut :
tambahkan use input; use db; use redirect; ini bertujuan agar eror yang tadi di alami kembali normal , nah apabila Anda menemukan eror
seperti diatas lakukan hal yang sama dengan memakai use, sekarang coba Anda praktekan localhost/laravel dan masukan data sesuai yang
Anda input dan hasilnya akan seperti berikut :
2. Read / Menampilkan Data Di Laravel
step selanjutnya adalah menampilkan data yang sudah di input tadi bagaimana caranya? tahap yang pertama ubah code
read yang ada di routes , buka routes.php dan ubah code read seperti gambar di bawah ini :
apabila sudah memodifikasi read tersebut sekarang buka file Crudcontroller lalu tambah kan function lihatdata seperti
gambar berikut bertujuan untuk menampilkan data data yang ada di database:
sedikit dijelaskan Db::table(‘siswa’)->get(); sama hal nya dengan select * from siswa , sedangkan view::make itu
menampilkan untuk route get read dan disana ada siswa yang berarti nilai variable yang akan kita ambil untuk menampilkan
data , apabila sudah menambah function lihatdata coba jalankan localhost/laravel/read dan Anda akan menemukan eror
View not found cara untuk mengatasinya bagaimana ? sama seperti hal sebelumnya yang di penambahan data (create)
tambahkan use view;
Menampilkan data
Menampilkan data
apabila script sudah jalan tinggal kita modifikasi file read.blade.php , buka file tersebut dan modifikasi code tersebut seperti gambar di
bawah ini :
Sedikit dijelaskan juga $siswa
tersebut mengambil nilai variable
yang ada di Crudcontroller tadi , nah
{{ }} sama dengan <?php echo ?>
perbedaannya {{ }} agar lebih simple
dan sedikit.
Menampilkan data
apabila sudah silahkan lihat localhost/laravel/read dan hasilnya kurang lebih akan seperti gambar dibawah ini :
CRUD (CREAT, READ, UPDATE, DELETE)
PERTEMUAN 12
Tujuan & Target Pembelajaran
Highlight
CRUD (Creat,
Read, Update,
Delete)
Update data Delete data
1. Update / Mengubah Data Di Laravel
tahap selanjutnya adalah mengubah data yang ada di database menggunakan laravel caranya hampir sama dengan
menghapus data tapi disini kita menggunakan dua method ikuti dan simak caranya ,
pertama buka file routes.php dan tambah route seperti gambar dibawah ini :
ini berfungsi untuk mengambil formedit dan menampilkan data berdasarkan id , dan jangan lupa memodifikasi a href juga di
read.blade.php seperti berikut : <a href="formedit/{{ $data->id}}">Edit</a> apabila sudah selesai sekarang buka file
Crudcontroller.php dan tambah kan function seperti gambar berikut :
first di atas itu untuk mengambil nilai pertama berdasarkan id yang kita panggil apabila sudah menyimpan function tersebut .
Update Data
Update Data
Sekarang buat file yang bernama form_edit.blade.php di privasi>resources>views>form_edit.blade.php apabila file sudah di buat sekarang
tambah kan code seperti gambar dibawah ini ke dalam file form_edit.blade.php
Sedikit dijelaskan code gambar disamping form
hidden itu artinya sama dengan input type hidden ,
$siswa itu mengambil dari function prosesedit with
siswa , sedang $siswa->id , id ini mengambil field
yang ada di database cukup paham bukan ?
Update Data
apabila sudah menambah code seperti gambar di atas selanjutnya menambah action route untuk memproses mengubah data , buka
kembali file routes.php dan masukan code seperti gambar di bawah ini :
apabila sudah menambah route::post sekarang buka juga Crudcontroller untuk menambah function proseseditdata , dan tambahkan
function seperti gambar berikut :
Update Data
apabila function sudah di tambahkan waktunya mencoba untuk mengedit data buka localhost/laravel/read dan coba klik a href edit yang
sudah tertera disana dan ubah data data tersebut dan hasilnya akan seperti berikut :
2. Delete / Menghapus Data Di Laravel
tahap selanjutnya menghapus data dari database menggunakan laravel , bagaimana caranya ? untuk
memulai silahkan buka file routes.php di file laravel Anda lalu tambahkan code seperti gambar berikut :
ini bertujuan untuk menghapus data selanjutkan buka juga file Crudcontroller dan tambahkan function
berikut di file Crudcontroller
Delete Data
Dan jangan lupa untuk memodifikasi a href yang ada di read tambahkan code berikut :
<a href="hapus/{{ $data->id}}">Hapus</a> cukup di mengerti dan mudah bukan untuk membuat
action hapus di laravel ? dan hasilnya akan terlihat seperti gambar berikut :
Delete Data
OPTIMASI DAN SECURITY SYSTEM
PERTEMUAN 13
Tujuan & Target Pembelajaran
Highlight
Optimasi dan Security System
• Penanganan Kesalahan (Error Handling)
• Profiler
• Logging Data
• Security Sytem
Secara default, debug di set true pada file app.php di app/config/, jadi setiap kali terjadi kesalahan, Laravel
menunjukkan sebuah halaman kesalahan secara rinci. Laravel akan menunjukkan semua jenis informasi tentang
kesalahan, seperti pelacakan stack, nama file dan garis kesalahan yang mengacu pada blok kode.
Hal ini sangat ideal ketika Anda sedang mengembangkan aplikasi Anda, yang pastinya ketika kita membangun
sebuah aplikasi pasti banyak error yang akan kita temui, tetapi dengan adanya fasilitas error handling di Laravel
ini terasa sangat membantu, karena langsung bisa ditemui blok kode yang error, jadi langsung bisa dideteksi
letak kesalahannya di dalam file log yang berada di folder laravel/app/storage/logs, didalam file log tersebut
sudah terangkum semua log kesalahan yang terjadi setiap harinya.
Penanganan Kesalahan (Error Handling)
Laravel juga bisa mengelola untuk mengarahkan sebuah error handlig ke halaman tertentu kepada pengguna,
misalnya diarahkan ke sitemap (peta situs) yang sudah kita sediakan. Untuk melakukan ini, Anda perlu untuk
menambahkan script berikut pada file global.php di folder laravel/app/start/.
Ketika Laravel sudah di inisialisasi pada file global.php, maka setiap penanganan kesalahan dengan kasus
halaman yang hilang atau tidak ditemukan (kode kesalahan 404) akan memuat file tampilan yang telah
didefinisikan dalam routing ke app/view/custom404page.blade.php.
Selain itu, Laravel juga menyediakan error handling yang bisa digunakan untuk menangkap (catch) sesuatu dari
aplikasi, kemudian menunjukkan sebuah custom halaman yang error, cara exception handlingnya bisa dituliskan
sebagai berikut :
Penanganan Kesalahan (Error Handling)
Profiler adalah proses pengukuran waktu program perangkat lunak atau memori untuk class/fungsi tertentu
atau blok kode program. Tujuan yang paling umum dari profiling application adalah untuk membantu optimasi
aplikasi. Package yang bisa digunakan untuk profiler adalah juy profiler.
Juy Profiler memiliki beberapa fitur, diantaranya :
Ø Environment information
Ø Current controller
Ø Routing
Ø Log events
Ø SQL Query Log
Ø Total waktu eksekusi program
Ø Total memori yang dipakai
Ø Variable yang dikirimkan ke views
Ø Variable Session
Ø Variable Autentikasi
Profiler
Ketika Anda sedang mengembangkan aplikasi, Anda akan mempunyai semua informasi pada setiap request,
dengan demikian Anda langsung dapat memberitahukan ketika ada sesuatu yang salah, bahkan jika mungkin
tidak muncul di halaman hasil.
Hal ini karena Anda telah menciptakan kode yang loop query. Profiler ini akan memberitahukan Anda pada
bagian bawah halaman yang Anda akses, dimana Anda kemudian dapat refactor kode untuk memperbaiki
kesalahan-kesalahan tersebut.
Untuk menginstall profiler, buka file composer.json dan ditambahkan script berikut ke array :
Kemudian jalankan update composer, sehingga composer bisa mendownload package dan menempatkannya
dalam direktori vendor. Sekarang untuk menghubungkan itu dengan aplikasi Laravel, kita perlu untuk
menambahkan penyedia layanan ke penyedia array pada file app.php di laravel/app//config/, tambahkan script
berikut :
Profiler
Kemudian tambahkan juga alias berikut dalam alias array di file konfigurasi :
Salah satu langkah terakhir adalah untuk mempublikasikan file config package sehingga file config dapat
memperbarui paket yang ada :
Sekarang Anda sudah memiliki konfigurasi package yang tersedia di aplikasi/config/paket/juy/profiler/ dengan
hanya mengubah opsi profiler ke true. Dan Anda akan memiliki profiler baru dibagian halaman dalam browser
Anda. Profiler akan menampilkan informasi yang berhubungan dengan halaman Anda dan lingkungan di tab
kecil dibagian bawah halaman Anda.
Profiler
Laravel menyediakan metode yang bisa kita gunakan untuk menyimpan banyak hal yang terjadi di halaman web. Hali ini sangat
berguna dalam situasi tertentu, seperti ketika Anda melakukan pengujian beta dan pengguna mengeluh bahwa halaman tertentu
atau proses tidak bekerja, Anda benar-benar dapat melakukan debug melalui data dan dapat membuat kasus uji untuk
menemukan kesalahan yang dihadapi oleh pengguna. Ini dapat dilakukan menggunakan kode berikut :
Anda juga dapat menggunakan kode-kode sebelumnya pada berbagai titik dalam aplikasi, Anda juga bisa melihat apa yang terjadi
dalam aplikasi seperti pengguna yang melakukan pengujian tersebut. Anda dapat melihat output dari metode yang sudah
digunakan di app/storage/log/log-<date>.txt. Jika Anda membuka file log, Anda dapat melihat output untuk setiap permintaan
akan tampak sertiap kode berikut:
Logging Data
Sekarang Anda memiliki informasi untuk mengatasi kasus
mengenai kesalahan atau keluhan pengguna dengan
melihat tanggal dan waktu pengguna. Anda juga dapat
mengetahui apa yang terjadi pada waktu itu dan
memahami hal-hal yang jauh lebih baik, ini akan membantu
Anda mengoptimalkan aplikasi Anda.
Salah satu aspek penting dalam mengelola aplikasi web adalah keamanan. Secara default, autentikasi di Laravel
menyediakan enkripsi AES-256 untuk password melalui 32-bit kunci acak yang dihasilkan saat instalasi Laravel,
pengaturannya ada di app/config/app.php. Kita juga dapat menggunakan algoritma tersebut untuk
mengenkripsi suatu data pada aplikasi kita. Dengan kata lain, jika Anda ingin mengenkripsi data rahasia Anda
dapat menggunakan fungsi enkripsi sebagai berikut :
Jika Anda ingin mendeskripsi (kebalikan enkripsi), Anda dapat menggunakan fungsi dekripsi sebagai berikut :
Demikian pula, Laravel memiliki sandi (hash) yang aman menggunakan cookie, sehingga jika client melakukan
perubahan apapun pada cookie yang telah ditetapkan oleh Laravel, maka Laravel akan menghentikan
permintaan dan mengarahkan ulang pengguna ke halaman yang berisi peringatan kesalahan.
Security Sytem
web lanjutan for ilmu pengetahuan dan juga ilmu pengembangan

web lanjutan for ilmu pengetahuan dan juga ilmu pengembangan

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    Tujuan & TargetPembelajaran
  • 10.
  • 11.
    Defenisi Laravel Laravel merupakanframework PHP yang menekankan pada kesederhanaan dan fleksibilitas pada desainnya. Laravel adalah framework PHP dengan kode terbuka (open source) dengan desain MVC (Model-View-Controller) yang digunakan untuk membangun aplikasi website. Laravel adalah framework web dengan ekspresif, sintaks yang elegan. Laravel berusaha mencoba menjadi framework yang mudah digunakan dengan mengurangi tugas-tugas umum yang sering digunakan dalam sebagian besar proyek-proyek web seperti otentikasi, routing, session, dan caching.
  • 12.
    Alasan Penggunaan Laravel MenggunakanPHP Versi terbaru. Versi HP 5.3 keatas memiliki cukup banyak fitur baru yang membuat PHP lebih power full dan modern. Syntax yang Cool & Expressive. Laravel dirancang untuk memudahkan pengembang, bahkan untuk tahap pemula pun yang notabene belum paham tentang pemrograman dapat dengan mudah memahami alur dan pengkodean laravel. Composer merupakan sebuah dependency manager untuk bahasa pemrograman PHP. Dengan fasilitas ini kita dapat dengan mudah membuat library secara otomatis. Official website. Official website yang bagus memudahkan kita dalam mencari informasi.
  • 13.
    Kelebihan Framework Laravel Berikutbeberapa alasannya menurut Taylor Otwell (Core Developer Laravel) : • Expressif. Laravel adalah sebuah framework PHP yang expressif, artinya ketika melihat suatu syntax Laravel, seorang programmer “diharapkan” akan langsung tahu kegunaan dari syntax tersebut meskipun belum pernah mempelajarinya apalagi menggunakannya. • Simple. Salah satu yang membuat Laravel begitu simple adalah adanya Eloquent ORM. Misalkan, kita ingin mengambil semua data yang ada pada tabel users. Maka yang kita perlukan, hanya membuat sebuah class model bernama User : Kemudian kita tinggal memasukan semua data dari tabel users tersebut dengan cara sebagai berikut : Dengan begitu, semua data dari tabel users, akan dengan mudah diakses dengan melakukan looping terhadap variabel $all_user. Saya akan bahas dengan lebih jelas lain kali. • Accesible. Bagi yang sudah terbiasa dengan PHP Framework, pasti sudah tidak asing lagi dengan yang namanya CodeIgniter. CodeIgniter merupakan salah satu PHP Framework yang paling populer, meskipun sebenarnya ada suatu framework yang bisa dibilang lebih superior jika dibandingkan dengan CodeIgniter. Misalnya, saja Kohana. Kohana bisa dibilang memiliki fitur yang lebih bagus jika dibanding CodeIgniter. Namun demikian, CodeIgniter memiliki dokumentasi yang sangat lengkap sehingga framework ini menjadi lebih mudah digunakan. Nah, begitu pula dengan Laravel, Laravel-pun dibuat dengan dokumentasi yang selengkap mungkin. Core Developer dari laravel sendiri ber-komitmen, untuk selalu menyertakan dokumentasi yang lengkap setiap kali melakukan rilis versi terbaru-nya.
  • 14.
    Fitur-Fitur Framework Laravel Beberapafitur yang dimiliki framework Laravel : • Bundles yaitu sebuah fitur dengan system pengemasan modular dan berbagai bundle telah tersedia untuk di gunakan dalam aplikasi Anda. • Eloquent ORM merupakan penerapan PHP lanjutan dari pola “active record”, menyediakan metode internal untuk mengatasi kendala hubungan antara objek database. Pembangun query Laravel’s Fluent ini didukung oleh Eloquent. • Application logic merupakan bagian dari aplikasi yang dikembangkan, baik menggunakan Controllers atau sebagai bagian dari deklarasi Route. Sintak yang digunakan untuk mendefinisikannya mirip dengan yang dugunakan oleh framework Sinatra. • Reverse routing, mendefinisikan hubungan antara Link dan Route, sehingga jika suatu saat ada perubahan pada route secara otomatis akan tersambung dengan link yang relevan. Ketika Link yang dibuat dengan menggunakan nama-nama dari Route yang ada, secara otomatis Laravel akan membuat URI yang sesuai. • Restful controllers, memberikan sebuah option (pilihan) untuk memisahkan logika dalam melayani HTTP GET dan permintaan POST.
  • 15.
    Fitur-Fitur Framework Laravel •Class auto loading, menyediakan otomatis loading untuk class-class PHP, tanpa membutuhkan pemeriksaan manual terhadap jalur masuknya. Fitur ini mencegah loading yang yang tidak perlu. • View composers adalah kode unit logical yang dapat dieksekusi ketika sebuah View diload. • IoC Container memungkinkan untuk objek baru yang dihasilkan dengan mengikuti prinsip control pembalik, dengan pilhan contoh dan referensi dari objek baru sebagai singletons. • Migrations menyediakan versi sistem control untuk skema database, sehingga memungkinkan untuk menghubungkan perubahan dalah basis kode aplikasi dan keperluan yang dibutuhkan dalam merubah tata letak database, mempermudah dalam penempatan dan memperbarui aplikasi. • Unit Testing mempunyai peran penting dalan framework Laravel, dimana unit testing ini mempunyai banyak tes untuk medeteksi dan mencegah regresi. Unit testing ini dapat dijalankan melalui utilitas “artisan command-line” • Automatic pagination menyederhanakan tugas dari penerapan halaman, menggantikan penerapan yang manual dengan metode otomatis yang terintregrasi ke Laravel.
  • 16.
    Sejarah framework laravel FrameworkLaravel dibuat oleh Taylor Otwell, proyek Laravel dimulai pada April 2011. Awal mula proyek ini dibuat karena Otwell sendiri tidak menemukan framework yang up-to-date dengan versi PHP. Mengembangkan framewrok yang sudah ada juga bukan merupakan ide yang bagus karena keterbatasan sumber daya. Dikarenakan beberapa keterbatasan tersebut, Otwell membuat sendiri framework dengan nama Laravel. Oleh karena itu Laravel menisyaratkan PHP versi 5.3 keatas.
  • 17.
    Sejarah framework laravel ReleaseLaravel 1 • Dirilis pada Juni 2011 hanyauntuk menambah kekurangan yang ada didalam framework CodeIgniterPHP. Release Laravel 2 • Dirilis ke developer pada 24 November 2011, upgrade beberapa fitur diantaranya dukungan controller, engine template dan penggunaan invers. Dengan penambahan fitur controller ini, maka laravel versi 2 ini sudah resmi menjadi framework yang berbasis MVC. Release Laravel 3 •Pada 22 Februari 2012, Laravel 3 dirilis, memfokuskan pada unit test integration, artisan command line interface, database migration, session driver dan database driver. Release Laravel 4 •Laravel 4 secara resmi dirilis satu tahun dan 3 bulan setelah rilis versi 3 tepat pada tanggal 28 Mei 2013. Berbeda dari versi sebelumnya, Laravel 4 ini akan ada jadwal rilis secara teratur setiap 6 bulan untuk update (patch dan perbaikan bug). Dengan unit test yang meliputi 100% dari fungsi framework tersebut, Laravel 4 ini akan menjanjikan untuk menjadi stabil dan mudah di update secara online dengan melalui composer.
  • 18.
  • 19.
    Tujuan & TargetPembelajaran
  • 20.
  • 21.
    Kebutuhan Sistem • Notepad++ •PHPStorm, • Aptana, • Netbeans, • dan Dreamweaver. Text Editor, seperti : • Apache • XAMPP Web Server openSSL enabled di php.ini Composer
  • 22.
    Instalasi Framework Laravel Sebenarnyaada 2 macam cara yang bisa dilakukan untuk melakukan instalasi Laravel, pertama melalui composer dan yang kedua langsung download di situs resminya di https://github.com/laravel/laravel. Untuk pembahasan kali ini, kita akan menggunakan composer. Sebelumnya, kita akan menginstall composer terlebih dahulu, langkah-langkahnya sebagai berikut: 1. Download dulu composer di http://getcomposer.org, lalu klik tombol Download. Lihat gambar 2.1 Gambar 2.1 Website Resmi Composer
  • 23.
    Instalasi Framework Laravel 2.Pilih installer untuk Windows, nanti Anda akan mendapatkan file composer dengan nama Composer- Setup.exe. Lihat gambar 2.2. 3. Klik 2x file Composer-Setup.exe, maka tampil kotak dialog Composer Setup, lalu klik tombol Next. Lihat gambar 2.3. Gambar 2.2 File installer composer untuk Windows (Composer- Setup.exe) Gambar 2.3 Kotak dialog Composer Setup
  • 24.
    Instalasi Framework Laravel Makaakan tampil kotak dialog Select Components, pilih Install Shell Menus, lalu klik tombol Next. Lihat gambar 2.4. Pada gambar 2.4 terdapat dua pilihan, yaitu Install Shell Menus dan Do Not Install Shell Menus, perbedaanya kalau memilih Install Shell Menus, maka ketika Anda mengklik kanan di desktop komputer Anda, maka disana terdapat beberapa menu Composer. Lihat gambar 2.5. 4. Tahap Selanjutnya Gambar 2.5 Beberapa menu Composer di dalam menu klik kanan desktop Gambar 2.4 Kotak dialog Select Components
  • 25.
    Instalasi Framework Laravel 5.Selanjutnya akan tampil kotak dialog Settings Check, karena composer sifatnya embedded dengan PHP, maka installer composer akan langsung mencari php.exe yang ada didalam folder php. Untuk itu, cari php.exe di C:/ xampp/php/php.exe. Lihat gambar 2.6. Gambar 2.6 Kotak dialog Settings Check
  • 26.
    Instalasi Framework Laravel 6.Maka akan tampil kotak dialog Ready to Install yang menampilkan informasi dan setting instalasi, klik tombol Install. Lihat gambar 2.7. Gambar 2.7 Kotak dialog Ready to Install
  • 27.
    Instalasi Framework Laravel 7.Tunggu proses instalasi sampai selesai. Untuk menguji hasil instalasinya, masuk ke Command Prompt, kemudian ketikkan composer, lalu tekan tombol Enter di keyboard. Apabila instalasi berhasil, maka akan tampil seperti pada gambar 2.8. Gambar 2.8 Instalasi composer sudah berhasil
  • 28.
    Instalasi Framework Laravel Setelahberhasil menginstall composer, selanjutnya kita akan menginstall Laravel melalui composer. Kemudian pastikan openssl enabled di php.ini. Caranya buka file php.ini melalui editor teks (kalau menggunakan Xampp, file php.ini di C:xamppphp), lalu cari baris, sekitar baris ke- 1008: ;extension=php_openssl.dll Cukup hapus tanda titik koma (;) didepannya sebagai tanda openssl di aktifkan (enabled). Untuk lebih jelasnya, silahkan lihat gambar 2.9. Adapun syarat utama ketika melakukan instalasi menggunakan composer adalah device atau laptop harus terkoneksi dengan internet, karena proses pemanggilan source direktori laravel dilakukan secara online untuk pengambilan framework Laravel. Gambar 2.9 Mengaktifkan openssl di php.ini
  • 29.
    Instalasi Framework Laravel 1.Buka Command Prompt, kemudian pindah ke direktori C:xampphtdocs (silahkan sesuaikan dengan lokasi htdocs Anda sendiri). Lalu ketikan perintah di command prompt sebagai berikut untuk instalasi Laravel versi terbaru: composer create-project laravel/laravel your-project- name --prefer-dist Dan jangan lupa, setelah menyimpan perubahan di php.ini, restart Apache, caranya bisa melalui Xampp Control Panel, klik tombol Stop pada bagian Actions untuk Apache, maka akan berubah tombolnya menjadi Start, nah sekarang baru klik yang berubah Start tadi, itulah proses restart Apache. Selanjutnya, kita mulai instalasi Laravel, langkah- langkahnya sebagai berikut: Gambar 2.1.0 Create Project Ganti your-project-name dengan nama project yang ingin Anda buat. Pada contoh projectnya diberi nama “rohman”. Kemudian tekan tombol Enter, maka proses instalasi dimulai. Lihat gambar 2.1.0.
  • 30.
    Instalasi Framework Laravel 2.Tunggu proses installasinya, installasi disini memerlukan koneksi intenet, jadi cepat atau lamanya instalasi tergantung koneksi internet Anda. Jika muncul set successfully diakhir Command Prompt (seperti gambar 2.1.1), maka instalasinya telah selesai. Catatan: Jika Anda sudah melakukan langkah instalasi composer, untuk berikutnya bila mau instalasi Laravel cukup lakukan langkah instalasi laravel saja. Gambar 2.1.1 Proses instalasi
  • 31.
    Instalasi Framework Laravel 3.Jika proses unduh telah selesai, kemudian buka explorer>htdoc akan ada file laravel yang sudah didownload tadi. Gambar 2.1.2 Proses instalasi
  • 32.
    Instalasi Framework Laravel 4.Untuk memastikan bahwa framework laravel telah terinstall di komputer, Anda bisa mengeceknya dengan mengetikkannya di browser dengan alamat http://localhost/namaprojectAnda/public (namaprojectAnda adalah nama project waktu Anda instalasi). Tapi pastikan Apche Server nya sudah diaktifkan, disini sebagai contoh menggunakan XAMMP. Berikut tampilannya jika framework Laravel berhasil terinstall (Lihat gambar 2.1.3) : Gambar 2.1.3 Instalasi Sukses
  • 33.
  • 34.
    Highlight Konfigurasi Framework Laravel •Struktur KomponenLaravel •Struktur File dan Folder Laravel •Cara Pembuatan Artisan di Laravel
  • 35.
    Sebuah aplikasi webyang dibangun dengan Laravel terdiri dari beberapa komponen tertentu yang bekerjasama tertentu yang bekerjasama untuk terciptanya aplikasi yang kompeten. Beberapa komponen Laravel yang harus diketahui developer adalah Model-model View-Controller code of application, routing aplikasi, struktur database (migrasi, model) dam unit test serta kebutuhan akan konfigurasi didalam frameworknya sendiri seperti application setting, environment setting dan sebagainya. Berikut ilustrasi yang menjelaskan komponen framework Laravel. Lihat gambar 3.0. Struktur Komponen Laravel Web Application MVC Code Configuration Setting Environment Setting Test Packages DB migrations and data Routing & filters Gambar 3.0 Komponen web aplikasi Laravel
  • 36.
    Struktur File danFolder Laravel Struktur File dan Folder Laravel Jika kita buka folder laravel tersebut maka kita akan menemukan folder-folder dan file sebagai berikut :
  • 37.
    Struktur File danFolder Laravel Kegunaan dari setiap folder yang disediakan laravel 5 : Berikut adalah penjelasan strutur-struktur projek laravel tersebut: 1. /app, Folder ini digunakan untuk menyediakan tempat default untuk menyimpan kode yang sudah ditulis atau dikonfigurasi. Pada folder ini lah kita meletakan semua kode projek aplikasi yang dimulai dari konfigurasi, logic dan sebagainya. Didalam folder app juga terdapat beberapa folder dan file yang akan dijelaskan disamping ini.
  • 38.
    Struktur File danFolder Laravel Berisi prosedur dalam loading file yang lain yang diperlukan dalam bootstrap Autoload.php File berisi array yang menunjukan jalur sistem file yang digunakan oleh laravel Path.php Berisi bagaimana framework laravel berjalan Start.php 2. /bootstrap, Folder ini berisi Compiled file framework dan Application Environment Setting juga didalam folder ini terdapat file yang hanya boleh di edit oleh pengguna Laravel yang sudah berpengalaman. Sebenarnya folder ini adalah folder yang tidak bisa kita otak atik karena bisa mengakibatkan error, folder ini berisi prosedur framework yang akan di load pertama kali oleh laravel dan didalamnya terdpat beberapa file :
  • 39.
    Struktur File danFolder Laravel 3. /public, Folder ini berhubungan langsung dengan user interface, didalamnya berisi CSS dan file JavaScript. 4. composer.json, File konfigurasi composer berisi daftar package di aplikasi serta versi pengaturan untuk setiap package dan setting stabilitas sistem. 5. CONTRIBUTING.md, Berisi petunjuk/instruksi yang ada di Laravel. 6. readme.md, Menyediakan informasi umum tentang Laravel dan link ke dokumentasi. Jika Anda membuat projek open source menggunakan Laravel pastikan update file ini untuk mengetahui tujuan deskripsi aplikasi Anda. 7. server.php, Laravel mempunyai perintah khusus yang ada pada sistem PHP server. File ini digunakan untuk fungsionalitas sistem. 8. artisan, Menyediakan antarmuka baris untuk perintah built-in Laravel sehingga pegembang dapat mempercepat tugas tertentu. 9. phpunit.xml, Konfigurasi file untuk tool PHP unit testing.
  • 40.
    Apa itu Artisan? Sepertiyang dikutip dari official website Laravel, artisan adalah command line atau perintah-perintah yang dijalankan via command prompt/terminal yang menyediakan beberapa perintah yang bisa kita pakai selama mendevelop aplikasi. Cara Pembuatan Artisan di Laravel
  • 41.
    Cara yang palingmudah untuk membuat artisan di laravel adalah : 1. Buka command prompt Anda dengan win+ctrl kemudian ketikan cmd maka akan terbuka command prompt 2. Masuk kedalam folder laravel Anda ketik cd c://xampp/htdocs/laravel 3. Jika telah masuk ketikan perintah untuk php artisan nya code : php artisan make:controller helloControler Cara Pembuatan Artisan di Laravel kemudian tekan enter jika berhasil maka akan muncul tulisan controller created successfully. 4. ok silakan cek pada folder laravel/app/Http/controller maka disana sudah di buatkan helloController
  • 42.
  • 43.
    Tujuan & TargetPembelajaran
  • 44.
    Highlight ROUTING FRAMEWORK LARAVEL PengenalanDasar Routing Struktur Dasar Routing Metode Routing Passing Parameter Routing Routing Filter Routing Response
  • 45.
    Pengenalan Dasar Routing Halpertama yang akan dipelajari dari laravel adalah tentang routing, apa itu Routing ? Sebelum beranjak ke materi yang detail tentang routing, Bayangkan jika Anda akan login ke facebook, hal pertama yang harus Anda lakukan adalah menuliskan url facebook di web browser kemudian enter dan hasilnya akan muncul homepage login facebook. Atau jika Anda mencari sesuatu di google, Anda menulis kata yang dicari di beranda Google kemudian google akan menampilkan hasil dari yang Anda cari. Nah dari analogi diatas, Route adalah hasil akhir dari sebuah aplikasi, hasil akhir dari sebuah request di website. Routing berfungsi untuk mengatur alur url dan mendefinisikan url tersebut akan memanggil controller mana atau mengeksekusi fungsi apa pada web. Bisa jadi routing adalah jembatan yang menghubungkan kita dengan respon yang akan diberikan oleh web aplilkasi. Jadi setiap ada permintaan (request) terhadap alamat tertentu, maka alamat akan dieksekusi terlebih dahulu dalam routing sebelum akhirnya akan menampilkan hasil (response).
  • 46.
    Struktur Dasar Routing Routedasar yang telah ada dalam Laravel yang baru terinstall terdiri dari 3 bagian : 1. Metode request • Get, • Post, • Put, • Patch, • Dan delete. 2. Tujuan dan alamat router 3. Function • yang akan dijalankan jika route sudah sampai ke alamat tersebut. Tujuan disini bisa saja berupa : ü Satu garis miring (/) yang merupakan root dari aplikasi. ü Satu kata seperti “users”, “posts”, “about” dan lain-lain. ü Kata-kata yang dipisahkan dengan garis miring seperti “user/profile”, “tag/search”, “pages/company”, dan lain-lain. Catatan : Kode View::make akan menampilkan atau menunjuk ke view blade templete yang memang templete tersebut sudah disediakan oleh Laravel.
  • 47.
    Metode Routing Beberapa methoderequest HTTP yang populer digunakan dalam aplikasi web saat ini adalah : Ø GET Ø POST Ø DELETE Ø PUT Ø PATCH Ø TRACE Ø HEAD Laravel mendukung semua method request HTTP untuk penggunaan routing. Biasanya lima method yang sering digunakan adalah GET, POST, DELETE, PUT dan PATCH. Secara teknis, bisa dengan menggunakan dua metode saja yaitu GET dan POST untuk mengambil dan mengirimkan tetapi, ketika Anda berurusan dengan hal-hal seperti API atau frontend dan framework yang berbasis MVC seperti Backbone.js atau AngularJS, Anda akan melihat betapa pentingnya kebutuhan method request HTTP yang lain.
  • 48.
    Metode Routing Berikut tabelyang menunjukkan kegunaan dari method request HTTP yang mungkin bisa Anda gunakan dalam aplikasi Laravel serta tujuan dari setiap method untuk membangun aplikasi. Method Tujuan Contoh GET Mengambil data Menampilkan halaman HTML atau menggunakan konten JSON POST Pengiriman data Mengirimkan isi dari suatu form PUT Update sebuah resource Memperbarui posting blog/ komentar PATCH Modifikasi sebagian resource Memperbarui paragraf posting blog yang ada/detail tentang pengguna DELETE Penghapusan resource Menghapus posting blog, komentar atau gambar.
  • 49.
    Passing Parameter Routing A.Passing Parameter GET 1) Dengan route kita juga bisa passing parameter GET, caranya seperti contoh berikut : ada 2 parameter, id dan no. Jangan lupa untuk menambahkan parameter harus disertai tanda bracket {}. 2) Untuk menjalankannya buka url ini :
  • 50.
    Passing Parameter Routing B.Passing Parameter POST 1) Passing parameter POST, caranya seperti contoh disamping : 2) Ketika menjalankannya url maka akan terjadi kesalahan seperti berikut: Untuk menjalankan parameter POST tidak bisa melalui url, maka untuk menguji parameter POST kita memerlukan bantuan POSTMAN dari google chrome, seperti gambar disamping.
  • 51.
    Routing Filter Rute denganFilter memberikan kenyamanan bagi pengguna untuk membatasi akses ke rute yang diberikan, yang berguna untuk membuat wilayah-wilayah pada situs yang memerlukan otentikasi. Ada beberapa filter yang terdapat dalam framework Laravel, termasuk filter auth, filter auth.basic, filter guest, dan filter CSRF. Filter-filter tersebut terletak di folder app/ di file filters.php. Mendefinisikan Sebuah Filter Route Jika sebuah respon dikembalikan dari suatu filter, respon tersebut akan dianggap sebagai respon terhadap permintaan dan rute tersebut tidak akan dieksekusi, dan setiap filter after pada rute juga akan dibatalkan.
  • 52.
    Routing Filter Melampirkan FilterUntuk Rute Melampirkan Beberapa Filter untuk Sebuah Route
  • 53.
    Routing Filter Menentukan ParameterFilter Filter after menerima $response sebagai argumen ketiga ketika dilewatkan ke filter: Filter Berbasis Pola Anda juga dapat menentukan bahwa filter berlaku untuk seluruh rangkaian rute berdasarkan URI mereka. Dalam contoh di atas, filter admin akan diterapkan ke semua rute yang dimulai dengan admin/. Tanda * digunakan sebagai wildcard, dan akan mencocokkan dengan kombinasi dari karakter-karakter. Anda juga dapat membatasi pola filter dengan kata kerja HTTP:
  • 54.
    Routing Filter Filter Classes Untukpenyaringan tingkat lanjut, Anda mungkin ingin menggunakan class bukannya Closure. Dikarenakan class-class filter dipisahkan dari aplikasi IOC Container, Anda akan dapat memanfaatkan dependency injection pada filter-filter ini untuk kemampuan testing yang lebih besar. Mendefinisikan sebuah Filter Class Mendaftarkan Filter Berbasis Class
  • 55.
    Routing Response Berdasarkan daripengenalan dasar mengenai routing bahwa “setiap ada permintaan (request) terhadap alamat tertentu, maka alamat akan dieksekusi terlebih dahulu dalam routing sebelum akhirnya akan menampilkan hasil (response)”. Jadi dapat disimpulkan bahwa routing response merupakan hasil akhir dari routing yang telah dibuat. Jika masih bingung tentang routing response, simak dan coba langsung penjelasan dibawah ini : q Buka folder laravel yang telah di instal dengan text editor Anda, kemudian buka route di folder app/routes.php . Berikut adalah isian dari app/routes.php . q Ganti respon route seperti gambar dibawah ini. Menjadi >>>>>>>>>>>>>>>>>>>>>>>>
  • 56.
    Routing Response q Kemudianbuka web browser dan ketikan alamat http://localhost/laravel/public , kemudian hasilnya seperti gambar disamping. q Gambar disamping adalah hasil (response) dari route yang telah kita manipulasi tadi. Kemudian kita akan coba membuat route baru dengan mengetikan sintak sebagai berikut.
  • 57.
    Routing Response q Untukmelihat hasilnya dari route diatas kemudian masuk ke webbrowser dan ketik url http://localhost/laravel/public/helloworld dan hasilnya adalah sebagai berikut: Routes selalu dideklarasikan menggunakan kelas Routes dan salah satu method yang dipakai untuk request sebuah halaman webpage yaitu GET menggunakan HTTP. GET request ini dikirim setiap waktu ketika kita mengetikan sebuah alamat web di web browser. Disamping method GET, ada juga method POST yang digunakan untuk membuat sebuah permitaan (request) dan menyediakan sebuah data yang relatif kecil. Normalnya method ini digunakan sebagai sebuah hasil submit dari form dimana data akan dikirimkan ke database tanpa ditampilkan ke URL. Gambar Routing Response
  • 58.
  • 59.
    Tujuan & TargetPembelajaran
  • 60.
    Highlight Mengenal Views •Cara KerjaView (Template) •Membuat dan Mengatur View •Passing Data ke View •Blade Template Engine •Blade Layout
  • 61.
    View terletak didalamlayer presentation dan user interface dari aplikasi web. Sebagai contoh, Laravel yang berbasis MVC yang akan menampilkan sebuah halaman login. User dari browser mengirim permintaan dengan alamat routing “/login”. Permintaan tersebut akan diproses oleh aplikasi yang berjalan diserver itu akan dijalankan controller yang mungkin beroperasi dengan aplikasi data (models) dan memuat templete (view) yang mengandung HTML, Javascript, CSS dan sebagainya. Hasil dari proses aplikasi tersebut akan berbentuk HTML yang kemudian ditampilakan dalam browser pengguna. Cara Kerja View (Template) Contoh pada gambar 5.0 ini akan mengoperasikan views secara langsung yang dikendalikan dari routing, dimana prosesnya belum melibatkan controller. Hal ini menunjukkan bahwa views bisa didefinisikan sebagai representasi visual dari aplikasi web yang memungkinkan pengguna bisa berinteraksi langsung ke aplikasi, biasanya views akan berupa HTML yang ditampilkan dibrowser sesuai dengan permintaan (request) dari user. Gambar 5.0 Alur client yang request melalui konsep MVC
  • 62.
    Membuat dan MengaturView Langkah-langkah membuat dan mengatur view : 1. Buat sebuah halaman register.php didalam direktori app/view/. File ini yang digunakan sebagai tampilan dari halaman register. 2. Buatlah form register sesuai rancangan pada file register.php. Pada contoh berikut, agar form register terlihat indah maka digunakan styling dari CSS Bootstrap.
  • 63.
    Membuat dan MengaturView 3. Akses halaman register yang sudah dibuat dengan URL http://localhost/laravel/public/register. Apabila web browser Anda menampilkan halaman register seperti gambar dibawah, berarti Anda berhasil membuat sebuah halaman web menggunakan laravel.
  • 64.
    Membuat dan MengaturView Gambar Tampilan View
  • 65.
    Penjelasan : Mengembalikan nilaidengan variabel $name dimana variabel $name hanya berisi 1 data saja baik bertipe data String mupun bertipe data int menggunakan fungsi with() yang diarahkan kepada folder pages yang didalamnya terdapat file about.blade.php. Passing Data ke View Penjelasan : Mengembalikan nilai dengan tipe variabel array ( lebih dari 1 variabel ) yang diarahkan kepada folder pages yang didalamnya terdapat file about.blade.php, dengan mempassing data dengan variabel $data. Penjelasan : Mengembalikan nilai dengan tipe variabel array ( lebih dari 1 variabel ) yang diarahkan kepada folder pages yang didalamnya terdapat file about.blade.php, dengan mempassing data dengan variabel $data.
  • 66.
    Passing Data keView Penjelasan : Mengembalikan nilai dengan tipe variabel string, dimana variabel $first adalah variabel pertama dimasukan kedalam fungsi compact() dan variabel kedua ( variabel $last )dimasukan kedalam fungsi with() yang berguna untuk mem-passing variabel terakhir yang diarahkan kepada folder pages yang didalamnya terdapat file about.blade.php. Penjelasan : Mengembalikan nilai dengan tipe variabel Array, dimana variabel $people dimasukan kedalam fungsi compact() tanpa harus memisahkan data yang ada didalamnya, data dapat dikirim dalam 1 array menggunakan fungsi compact() yang diarahkan kepada folder pages yang didalamnya terdapat file about.blade.php. Kesimpulan Kita dapat menggunakan fungsi compact() atau with() dalam proses passing data dari controller ke view baik berupa array maupun tipe data lainya, yang tentunya sesuai kebutuhan.
  • 67.
    Blade Template Engine Apaitu Blade template engine? Blade merupakan template engine ekslusif dari framework Laravel. Tujuannya untuk menyederhanakan interface dan kode program yang dihasilkan, seperti penggunaan looping dan kondisional, dan mengantisipasi redudansi code. Secara internal engine blade, file ditulis khusus didalam view untuk menghasilkan output. Beberapa tujuan dari blade engine adalah untuk membuat tampilan templete yang mudah dibaca developer (front-end) dan untuk mempersingkat jumlah kode yang perlu ditulis didalam menampilkan data di aplikasi. Perlu diingat bahwa ekstensi file untuk menuliskan blade engine ini menggunakan “nama-file.blade.php”.
  • 68.
    Blade Template Engine Berikutmerupakan tampilan mengenai perbedaan antara source code output dari PHP biasa dengan blade engine dalam bentuk tabel. View php (.php) Blade views (.blade.php) Output data didalam PHP Output data menggunakan Blade <?php echo (date(‘Y’)); ?> {{ date (‘Y’) }} Looping data menggunakan PHP Looping data menggunakan Blade <?php foreach($users as $user) {?> <p> <?php echo($userelname); ?> <br> <?php echo ($usereladdress); ?> </p> @foreach($users as $user) <p> {{ $userelname }} <br> {{ $usereladdress }} </p> Pernyataan kondisional dengan PHP Pernyataan kondisional dengan Blade <?php if ($category == ‘blog’) {?> …. <?php } else { ?> …. <?php } ?> @if ($category == ‘blog’) …. @else ….. @endif Blade engine templete menyediakan banyak cara untuk mencapai jalan pada developer dengan beberapa kelebihan sebagai berikut : q Menghapus beberapa inkonsistensi script PHP. q Menghasilkan berbagai elemen HTML dengan minimal kode.
  • 69.
    Blade layout membantudeveloper menulis lebih sedikit kode untuk membuat sebuah templete. Bila Anda ingin memodifikasi header atau footer, Anda perlu mengedit satu per satu content yang ada. Hal ini sangat diperlukan apabila aplikasi yang kita buat membutuhkan content yang banyak, sehingga kalau ada suatu perubahan pada halaman header dan footer, maka kita hanya butuh mengeditnya sedikit saja, tidak semuanya. Cara seperti ini bisa menghemat waktu dan tenaga, dengan adanya blade engine templete ini masalah seperti itu bisa diatasi dengan mudah. Konsep menggunakan layout seperti ini bukanlah hal baru untuk framework didalam membangun sebuah web. Laravel memiliki beberapa keyword khusus yang perlu Anda ketahui ketika menggunakan layout ini. Agar lebih jelas ikuti pelajari cara penggunaan layout dibawah ini : Menggunakan Layout Misalnya Anda ingin membuat layout yang akan dipakai oleh beberapa view. Buat sebuah view di app/views/ dengan nama layout.blade.php layout.blade.php Blade Layout Pada kode diatas kita melihat hal yang aneh yaitu @yield('content') . q @yield(), Ini merupakan keyword yang berada didalam layout, berfungsi sebagai input dibagian konten yang memiliki nama dispesifikasikan sebagai parameter.
  • 70.
    Tulisan content bisadiganti dengan apa saja terserah Anda. Lalu buat sebuah view pada app/views/user/ dengan nama user.blade.php isi nya sebagai berikut : Blade Layout Pada kode disamping hal yang aneh yaitu: @extends('layout'), @section('content'), @stop. q @extends(), Keyword yang berada didalam view, berfungsi menerapkan templete blade yang lain, dimana ditetapkan melalui parameter sebagai layout untuk layout yang digunakan. q @section(), Keyword yang berada didalam view, berfungsi menentukan bagian dari konten yang akan dimasukkan ke dalam layout menggunakan templete blade saat ini. q @stop, berfungsi sebagai pemberhentian. Serta : q @include(), Keyword yang berada didalam view dan layout, berfungsi menyisipkan engine blade templete yang ditentukan sebagai argumen.
  • 71.
  • 72.
    Tujuan & TargetPembelajaran
  • 73.
    Highlight Penggunaan Controller Penggunaan Controllerdi MVC Default Controller Filter Controller
  • 74.
    Laravel Controller, ApaItu? Dalam pemrograman PHP dengan menggunakan framework, Controller adalah file yang paling sering kita otak-atik. Hal ini wajar karena kebanyakan framework menggunakan pendekatan MVC (Model- View-Controller) dimana controller bertugas untuk menjadi penghubung antara Model (yang berfungsi untuk mengolah data) dengan Views (untuk mengelola tampilan). Di dalam Framework Laravel, Anda juga akan sering berkutat dengan Controller. Jika Anda sudah pernah belajar framework semacam Codeigniter (CI) pasti sudah tidak asing lagi dengan file-file ini. Perbedaannya di Framework Laravel kita bisa membuat File Controller melalui composer. Penggunaan Controller di MVC
  • 75.
    Semua controller dalamaplikasi Laravel berada dalam folder app/controllers. Secara default, Laravel sudah menyediakan dua buah controller yang langsung terhubung dengan routing, yaitu BaseController dan HomeController. Ketika Anda menggunakan kedua controller tersebut, maka Anda sudah menggunakan arsitektur terkecil dalam aplikasi berbasis controller. Adapun fungsi dari HomeController adalah mencakup fungsionalitas sederhana untuk menunjukkan sebuah halaman HTML kepada user. Sedangkan BaseController berfungsi untuk mengendalikan semua controller yang digunakan, Jadi ketika menggunakan controller, maka harus memanggil BaseController tersebut ke dalam file controller dengan menyertakan keyword extends. Catatan : Kalau ingin mencoba kedua controller tersebut, Anda bisa memodifikasi app/routes.php dan isikan kodenya seperti berikut: Route : : get (‘/ ’, ‘HomeController@showWelcome’); Kemudian panggil menggunakan URL http://localhost/laravel/public, maka akan tampil halaman default Laravel, karena didalam method showWelcome akan memanggil file hello.php yang ada diview. Default Controller
  • 76.
    Filter pada controllerini memiliki fungsi seperti “regular” route, jika di route seperti: Atau Anda juga bisa menyisipkan filter berupa Closure (fungsi tertutup) pada controller seperti berikut: Filter Controller
  • 77.
  • 78.
    Tujuan & TargetPembelajaran
  • 79.
    Highlight •Penanganan Form diLaravel •Import Template Bootstrap •Pembuatan Form Bekerja dengan Form
  • 80.
    Salah satu aspekpaling mendasar dari aplikasi web adalah pembuatan form. Laravelmenyediakan cara yang mudah untuk pembuatan form. Bagi yang sudah terbiasa membuat program website, pasti sudah mengenal apa itu form atau lebih dikenal tag <form>. Form berguna untuk menangani berbagai inputan dari user, misalkan untuk mengisi identitas orang, data buku, dll. Pada Laravel, ada penanganan khusus jika Anda ingin menggunakan form dengan sintaks yang lebih sederhana dan tentunya menggunakan fitur blade. Meskipun begitu, Laravel juga mengizinkan developer untuk menuliskan sintaks murni HTML Form untuk pembuatannya. a) Opening Form Sebelum kita menuliskan tag form komponen, terlebih dahulu kita membuat atau membuka sebuah tag form. Untuk membuka sebuah tag form di Laravel menggunakan sintaks blade engine berikut : Sintaks tersebut apabila dijalankan dibrowser, maka akan menghasilkan kode HTML berikut : Default method untuk form adalah POST dengan action # dan font UTF-8. Penanganan Form di Laravel
  • 81.
    b) Mengarahkan FormKe URL Bila Kita ingin mengarahkan form ke URL tertentu, kita bisa menggunakan sintaks berikut : c) Mengarahkan Form Ke Routing Selain ke URL, kita juga bisa mengarahkan form ke Route yang sudah terdaftar. Adapun sintaksnya sebagai berikut: d) Mengarahkan Form Ke Controller Form juga dapat diarahkan langsung ke Controller. Berikut sintaksnya : e) Menggunakan Method yang Berbeda Secara default, jika kita tidak mendefinisikan method, maka Laravel akan menempatkan method default yaitu POST. Jika kita ingin mendefinisikan method yang berbeda, berikut sintaksnya : Penanganan Form di Laravel
  • 82.
    Untuk mengintegrasikan bootstrapdilaravel Anda harus mendownload terlebih dahulu file bootstrap , buka link berikut : http://getbootstrap.com , apabila bootstrap sudah didownload extract file bootstrap tersebut dan ambil folder css,js,dan fonts di bootstrap , agar terlihat rapih buat folder assets di laravel Anda lalu masukan file bootstrap kedalam folder assets Anda. Import Template Bootstrap
  • 83.
    Folder bootstrap sudahdimasukan ke laravel Anda selanjut nya buka folder laravel Anda lalu masuk ke folder privasi lalu masuk lagi ke folder resource masuk lagi ke folder views dan buatlah folder template yang bertujuan untuk membuat template bootstrap dan jangan lupa download terlebih dahulu jquery.min.js dan masukan ke folder js , apabila Anda sudah membuat folder template buat file yang bernama t_index.blade.php file ini bertujuan untuk menyimpan link rel dan template bootstrap. Import Template Bootstrap
  • 84.
    File sudah dibuatselanjutnya menambah code di file tersebut , tulis kode difile t_index.blade.php seperti gambar berikut : Selanjutnya buka file routes.php di privasi>app>http>routes.php ubah return view(welcome); menjadi return view('home'); ini bertujuan agar file yang di buka pertama itu adalah home.index.blade.php selanjutnya buat file home.index.blade.php di privasi>resources>views>home.index.blade.php dan masukin code seperti gambar dibawah ini : Import Template Bootstrap
  • 85.
    File sudah dibuatselanjutnya menambah code di file tersebut , tulis kode di file t_index.blade.php seperti gambar berikut : Selanjutnya buka file routes.php di privasi>app>http>routes.php ubah return view(welcome); menjadi return view('home'); ini bertujuan agar file yang di buka pertama itu adalah home.index.blade.php selanjutnya buat file home.index.blade.php di privasi>resources>views>home.index.blade.php dan masukin code seperti gambar dibawah ini : Import Template Bootstrap Ø @extends : untuk mengambil template bootstrap , Ø @section : untuk memasukan data home.blade.php ke template bootstrap tersebut Keterangan :
  • 86.
    Import Template Bootstrap apabilasudah selesai coba buka di browser Anda : localhost/laravel Dan akan menemukan eror , eror tersebut adalah kita belum memasukan illuminate di laravel , cara untuk memasukannya adalah buka file composer.json di privasi>composer.json lalu tambahkan "illuminate/html": "5.*"
  • 87.
    Import Template Bootstrap Apabilacomposer.json sudah seperti gambar di atas lalu buka cmd kita masuk ke folder laravel kita lalu masuk ke privasi ketik : composer update tunggu beberapa saat composer telah terupdate , selanjutnya buka file app.php di privasi>config>app.php lalu buka file tersebut tambah kan IlluminateHtmlHtmlServiceProvider::class,
  • 88.
    Import Template Bootstrap Dantambahkan juga seperti gambar : 'Form' => IlluminateHtmlFormFacade::class, 'Html' => IlluminateHtmlHtmlFacade::class,
  • 89.
    Import Template Bootstrap Apabilasudah selesai menambahkan coba buka localhost/laravel dan sudah berjalan dengan baik. Selanjutnya kita membuat form untuk membuat data .
  • 90.
    Bagi yang sudahterbiasa membuat program website khususnya pasti sudah mengenal apa itu form atau lebih dikenal tag <form>. Form biasanya digunakan untuk menginputkan, menampung, memasukan data. Di laravel, ada penangan khusus jika Anda ingin menggunakan Form dengan sintak yan lebih sederhana dan tentunya dengan menggunakan fitur blade sendiri. Meskipun begitu, laravel juga mengizinkan developer untuk menuliskan sintak murni HTML Form untuk mengelolanya. Pembuka Form Biasanya untuk membuat form kita memerlukan seperti code dibawah ini. Pembuatan Form Didalam laravel kita dapat menulisnya seperti ini.
  • 91.
    Pembuatan Form Kita sebelumnyajuga sudah belajar tentang blade, dengan code form seperti diatas akan pasti lebih enak. Form diatas method default nya adalah POST, bagaimana kalau mau mengganti method menjadi GET, Lihat code dibawah ini. Tidak hanya POST dan GET yang bisa kita gunakan untuk selain itu seperti PUT dan DELETE pun juga bisa. Untuk agar bisa digunakan upload file kita biasanya menggunakan enctype='multipart/form-data' di form laravel kita bisa menggunakan 'files' => true code seperti ini.
  • 92.
    Pembuatan Form Tutorial diatastelah menjelaskan dasar – dasar dari penggunaan form laravel. Selanjutnya kita akan membuat form laravel seperti gambar dibawah ini.
  • 93.
    Pembuatan Form Pertama buatdahulu file didalam folder views bernama formsederhana.blade.php dan isikan dengan code berikut ini.
  • 94.
    Pembuatan Form Setelah itubuka controller ProfileController.php dan tambahkan code / fungsi berikut ini, dibawah fungsi profile. Lalu buka routes.php dan tambahkan code dibawah ini.
  • 95.
    Pembuatan Form Dan yangterakhir buka file sidebar.blade.php dan tambahkan code ini. Dibawahnya code. Maka di sidebar akan muncul menu baru seperti gambar berikut. Selesai, sekarang coba klik menu form sederhana maka akan muncul seperti gambar form diatas.
  • 96.
  • 97.
    Tujuan & TargetPembelajaran
  • 98.
    Highlight Operasi Database Pengenalan OperasiDatabase Konfigurasi Database Metode Interaksi Database
  • 99.
    Laravel mempunyai koneksiyang bagus ke database dengan settingan sederhana dan apabila Anda ingin untuk memanipulasi data secara otomatis, maka Laravel akan menerjemahkan perintah-perintah tersebut ke dalam query SQL Laravel mendukung beberapa database yang bisa digunakan, seperti yang tertera di folder app/database, berikut beberapa database yang di support Laravel: ü MySQL ü PostgreSQL ü SQLite ü SQL Server Pengenalan Operasi Database Ketika kode aplikasi yang mengandung operasi database di proses Laravel, baik menggunakan metode Raw Query SQL maupun Query Builder serta ORM, ternyata dibalik semua itu, Laravel mengkonversi operasi database tersebut menjadi sebuah pernyataan SQL yang kemudian akan dijalankan pada salah satu jenis database yang telah dikoneksikan dengan Laravel. Hasil dari eksekusi SQL akan dikembalikan lagi ke kode aplikasi untuk ditampilkan data tersebut kepada user yang mengaksesnya. Untuk lebih jelasnya, lihat ilustrasi pada gambar 9.0 Gambar 9.0 Illustrasi operasi database di Laravel
  • 100.
    Laravel sudah menyediakanbuilt-in function untuk membantu Anda mengelola data dalam database secara efisien. Beberapa operasi database yang sudah disediakan oleh Laravel adalah sebagai berikut : Ø Mengelola tabel database melalui command prompt dan akan menghasilkan sebuah file khusus yang bisa dihubungkan langsung dengan database, hasil seperti ini juga disebut sebagai migration. Ø Mengumpulkan database dengan data sampel (juga disebut seeding). Ø Pagination. Ø Berbagai metode query untuk berhubungan ke database. Ø Database transaksi. Ø Query log. Ketika semua operasi tersebut digabungkan secara bersama-sama ke dalam sebuah fitur di framework Laravel, maka bisa dikatakan Laravel merupakan salah satu framework PHP yang cukup solid di dalam mengelola sebuah operasi data didalam database. Pengenalan Operasi Database
  • 101.
    Konfigurasi Database Laravel memberikankemudahan untuk melakukan konfigurasi dalam berinteraksi dengan database. Semua pengaturan konfigurasi aplikasi Laravel berada di folder app/config. Adapun file yang menyimpan pengaturan konfigurasi database adalah database.php. Untuk menggunakan database didalam aplikasi, Anda perlu membuka file database.php, dimana didalam file tersebut sudah ditentukan operasi koneksi untuk beberapa database yang sudah ada. Laravel kemudian akan menggunakan operasi koneksi tersebut untuk melakukan pemrosesan lebih lanjut. File konfigurasi database menyediakan beberapa pilihan dalam operasinya, diantaranya : Ø Metode pengambillan objek (PDO::FECTH_OBJ, PDO::FETCH_CLASS, PDO::FETCH_ASSOC, atau meode lain yang tersedia di PDO). Ø Koneksi didalam database secara default juga sudah menyediakan koneksi ke database yang umum kita gunakan, yaitu MySQL. Ø Setting untuk koneksi ke MySQL, PostgreSQL, SQLite dan SQL Server. Ø Nama dari tabel yang akan digunakan didalam migration jika memang cara migration yang digunakan.
  • 102.
    Konfigurasi Database Secara default, koneksi database sudah diatur menggunakan engine MySQL, PDO diatur untuk mengambil objek melalui PDO::FETCH_CLASS dan sebagian besar pengaturan koneksi juga sudah ditentukan. Berikut isi file database.php : Jika Anda menggunakan database MySQL, Anda hanya perlu membuat nama database dan pengaturan default koneksi tinggal mencocokkan nama database untuk username dan passwordnya.
  • 103.
    Metode Interaksi Database Didalam Laravel terdapat 3 cara untuk berinteraksi dengan database yaitu : 1. Raw Query 2. Query Builder (Fluent Query) 3. Eloquent ORM Raw Query Metode raw query ini mirip atau memang sama dengan query sql biasa , jadi mungkin Anda sudah biasa menggunakannya. Namun disini kita harus menggunakan class DB dan di ikuti statement seperti insert, update, delete lihat contoh dibawah ini :
  • 104.
    Metode Interaksi Database QueryBuilder / Fluent Query Dengan query builder code query lebih nyaman dibaca dan lebih mudah karena kita tidak dikhawatirkan dengan perbedaan penulisan native query yang mungkin ada perbedaan antara sistem database satu dengan yang lain.
  • 105.
    Metode Interaksi Database EloquentORM Eloquent adalah Sebuah ORM (Object Relational Mapping) yang dibundling bersama Laravel Framework. ORM ini sangat sederhana menurut saya tapi justru disitulah nilai lebih dari ORM ini.Setiap model eloquent yang kita buat akan bertanggung jawab atas satu tabel dalam database. Misalnya kita telah mempunyai tabel mahasiswa , kita harus membuat model baru yang bertanggung jawab atas tabel mahasiswa. Sebagai contoh buat file Mahasiswa.php di app/models definisikan dulu model nya seperti ini hal yang harus di perhatikan diatas dalam eloquent kita harus mengextends Eloquent dan menambahkan nama tabel.
  • 106.
    Metode Interaksi Database Setelahitu kita bisa melakukan berbagai macam query dengan memanggil nama Class di model nya diikuti dengan function seperti contoh dibawah ini : Fungsi Menampilkan Insert, Update , Delete Untuk menambahkan objek baru caranya seperti ini KESIMPULAN Dari 3 metode diatas yang paling direkomendasikan yaitu metode Eloquent ORM karena lebih mudah, fleksibel dan terorganisir.namun dalam beberapa kasus Eloquent gagal dalam menangani SQL Query yang rumit. JIka itu terjadi Anda gabungkan saja dengan metode yang lainya. Kalau saya selalu menggunakan Eloquent ORM.
  • 107.
  • 108.
    Tujuan & TargetPembelajaran
  • 109.
  • 110.
    Studi Kasus (DashboardProfile) Autentikasi merupakan hal yang sangat penting dalam sebuah website. Dengan menggunakan autentikasi kita bisa mencegah orang yang tidak berkepentingan untuk mengakses situs yang kita buat. 1. Persiapkan Settingan Pertama, buka file session.php di folder app/config/ dan pastikan driver sudah di setting menggunakan ‘native’ : Autentikasi akan menggunakan session untuk menyimpan informasi user, sehingga kita perlu melakukan setting untuk memastikan bahwa session sudah dikonfigurasikan dengan benar. Intinya, didalam settingan ini kita akan mengaktifkan session didalam aplikasi yang akan kita buat, maka kita bisa menggunakan driver native. Kedua, buka file auth.php difolder app/config/, config secara default harus sudah disesuaikan dengan settingan berikut :
  • 111.
    Studi Kasus (DashboardProfile) Pada kode tersebut, kita akan menggunakan database yang akan sesuai dengan metode yang akan kita pakai, misalnya kita akan menggunakan metode Eloquent ORM, kemudian nama model yang akan kita gunakan adalah User dari tabel users yang ada didalam database. Ketiga, buka file database.php difolder app/config/, kita akan menggunakan database mysql dan nama databasenya adalah test, berikut settingannya : Setting konfigurasi database tersebut sewaktu-waktu dapat berubah sesuai dengan kebutuhan.
  • 112.
    Studi Kasus (DashboardProfile) 2. Pembuatan Tabel Menggunakan Artisan Cara membuat autentikasi menggunakan Laravel.Pertama-tama yang harus kita buat adalah tabel users. Untuk membuat tabel user, buat migrasi dengan menjalankan perintahnya di command prompt sebagai berikut: Buka folder app/migration, Anda akan melihat sebuah file berisi class yang bernama ‘CreateUserTable’. Pada class tersebut terdapat dua function bernama ‘up’ dan ‘down’ . Function ‘up’ digunakan untuk membuat tabel, sedangkan function ‘down’ digunakan untuk menghapus tabel. Tambahkan script di function up dan function down, seperti dibawah ini : Function ‘Down’ Function ‘Up’
  • 113.
    Studi Kasus (DashboardProfile) Selanjutnya, pada command line jalankan perintah: Maka akan terbentuk sebuah tabel dengan nama users. Silahkan cek melalui phpMyAdmin pada database test. Note : Untuk atribut created_at dan update_at dengan tipe timestamp merupakan atribut bawaan dari artisan migrate, maka biarkan saja.
  • 114.
    Studi Kasus (DashboardProfile) 3. Membuat Halaman Utama (Profile Dashboard) Profile dashboard merupakan halaman utama yang akan tampil setelah login atau registrasi user berhasil, jadi bisa dikatakan halaman ini merupakan halaman Administrator yang berfungsi mengelola data dalam suatu sistem. Sebelumnya, apabila kita sudah berhasil login kita hanya akan melihat tulisan ‘login berhasil’. Nah, kali ini kita akan membuat supaya pengguna diarahkan ke halaman dashboard apabila login berhasil. Buat sebuah controller baru bernama ‘DashboardController': Setelah itu, buatlah sebuah route baru pada routes.php sebagai berikut:
  • 115.
    Studi Kasus (DashboardProfile) Kemudian, jangan lupa untuk membuat sebuah view baru bernama ‘dashboard.blade.php’. Setelah itu, ubah autentikasi yang ada pada method authenticate menjadi sebagai berikut: Sampai disini, apabila Anda mencoba login kembali maka akan diarahkan ke halaman dashboard. Tentu halaman dashboard yang dimaksud adalah halaman kosong, mengingat kita baru membuat viewnya saja, tanpa ada isinya.
  • 116.
    CRUD (CREAT, READ,UPDATE, DELETE) PERTEMUAN 11
  • 117.
    Tujuan & TargetPembelajaran
  • 118.
    Highlight CRUD (Creat, Read, Update, Delete) Persiapandatabase Penambahan data Menampilkan data
  • 119.
    Persiapan Pembuatan CRUDDi Laravel 1. PERSIAPKAN FILE Apabila Anda sudah menginstal laravel rename nama folder laravel Anda dengan nama ‘laravel’ dan buka file laravel tersebut dengan memanggil : localhost/laravel/public Dan hasilnya sebagai berikut : Persiapan database apabila nama folder sudah di ubah dan sudah dibuka , siapkan database untuk pembuatan crud di laravel Anda .
  • 120.
    Persiapan database 2. PEMBUATANDATABASE Buat sebuah database dengan nama laravel apabila database sudah dibuat selanjutnya untuk belajar laravel kita buat tabel dengan nama ‘siswa’ Field diantaranya : id(int)10 autoincrement,nama(varchar)50,alamat(varchar)50,kelas(varchar)50 apabila field sudah dibuat dengan benar tahap selanjut nya buka file laravel dan setting database di laravel
  • 121.
    Persiapan database 3. SETTINGDATABASE DI LARAVEL Untuk penyitangan database di laravel cukup mudah buka folder laravel Anda lalu buka file yang berekstensi .env setting database seperti berikut . 4. MENGHAPUS /PUBLIC DI LARAVEL Untuk tahap berikutnya kita akan mencoba menghapus /public dilaravel , karena pada saat kita instal laravel kita harus membuka file laravel dengan cara localhost/laravel/public , yang menjadi pertanyaan bagaimana cara public nya dihilangkan dari url tersebut, cukup mudah untuk menghilangkan public tersebut . Pertama yang harus Anda lakukan buat folder terlebih dahulu dengan nama ‘privasi’ folder privasi ini bertujuan untuk menyimpan data data laravel Anda kecuali data public , apabila Anda sudah membuat folder public langkah berikutnya cut file laravel Anda kecuali folder ‘public’ apabila sudah di cut masukan file tersebut ke folder privasi , apabila sudah yang tersisa hanya ada 2 folder , folder public dan folder privasi langkah selanjutnya buka folder public dan cut semua file di folder public lalu paste kan di luar , untuk lebih jelasnya silahkan lihat gambar berikut :
  • 122.
    Persiapan database Apabila folderlaravel Anda sudah dibuat persis seperti gambar di atas langkah selanjutnya adalah mengubah index.php di file tersebut menjadi seperti gambar berikut :
  • 123.
    Persiapan database Ubahlah konfigurasiindex.php Anda seperti gambar diatas , apabila sudah buka browser Anda dan coba untuk membuka url : localhost/laravel dan url Anda sudah berganti menjadi localhost/laravel tidak lagi menjadi localhost/laravel/public
  • 124.
    PEMBUATAN CRUD DILARAVEL 1. Create / Penambahan Data Di Laravel Membuat Create di laravel atau bisa di sebut dengan menambah data ke database (CREATE) tahap yang harus di lakukan pertama buka file home.blade.php ini bertujuan untuk menampilkan form yang akan di input dan dimasukan ke database untuk datanya , isikan home.blade.php seperti gambar dibawah ini : Penambahan data Penjelasan : • @extends(‘template/t_index’) : ini bertujuan mendapatkan design dari template bootstrap • @section(‘content’) : ini bertujuan untuk menampilkan content • @form::open : ini sama dengan form method post • @form:text : sama dengan dengan input type text • @stop : untuk menghentikan code tersebut sebetulnya memakai form method juga bisa tetapi di laravel kita sudah di sediakan untuk pembuatan yang lebih simple dan sedikit , itu tergantung lagi kepada Anda , Anda ingin memakai yang mana .
  • 125.
    Penambahan data apabila sudahsama seperti gambar diatas selanjutkan kita coba tampilkan dan hasilnya akan sama seperti gambar dibawah ini : apabila form sudah di buat selanjutkan proses pembuatan create data nya . pada tahap ini kita akan membuat controller terlebih dahulu berfungsi untuk menyambungkan antara routes dan controller tersebut untuk caranya silahkan buka cmd terlebih dahulu lalu masuk ke folder laravel Anda dan masuk ke folder privasi dengan cara: C:wampwwwlaravelprivasi ( tergantung folder Anda disimpan ).
  • 126.
    Penambahan data apabila sudahmasukan code ini untuk membuat controller Anda di laravel : php artisan make:controller Crudcontroller dan hasilnya akan seperti berikut : ini artinya controller sudah di buat silahkan cek ke folder privasi>app>http>controllers dan file yang bernama Crudcontroller sudah berhasil di buat , tahap selanjutnya buka file routes.php di privasi>app>http>routes.php apabila file sudah di buka tambah kan kode seperti gambar berikut : sebelumnya dijelaskan terlebih dahulu perbedaan get dan post, post itu untuk memproses data sedangkan get untuk menampilkan data itu perbedannya sedangkan proses tambah yang ada di gambar itu menunjukan class/function nya apa , dan crudcontroller@tambahdata itu proses nya akan kemana.
  • 127.
    Penambahan data Sekarang cobaAnda buka file Crudcontroller yang sudah Anda buat dan masukan data seperti gambar berikut : Sedikit dijelaskan input::get itu mengambil nama yang ada di form yang sudah kita buat tadi , sedangkan db::table itu akan kemana data itu dimasukan yaitu ke table siswa , sedangkan with message itu notification session yang sudah di sediakan laravel bahwa apabila kita berhasil menambah data akan muncul message tersebut , lalu bagaimana memuncukan notifikation diatas ? kita buka lagi file routes.php lalu tambah kan code seperti gambar berikut :
  • 128.
    Penambahan data sedikit dijelaskankita harus membuat route::get tersebut yang bertujuan untuk menampilkan file read.blade.php , sekarang kita buat juga file read.blade.php di privasi>resources>views>read.blade.php apabila file sudah di buat tambahkan code berikut di file tersebut : apabila sudah sesuai dengan code tersebut kita langsung membuat data di home tadi caranya buka browser Anda : localhost/laravel dan coba masukan data apakah data nya akan masuk ke database atau tidak , pada saat Anda mencoba memasukan data pasti akan muncul error seperti gambar gambar dibawah ini : input not found , db not found , redirect not found
  • 129.
    Penambahan data lalu bagaimanacara mengatasi eror tersebut? untuk mengatasinya cukup mudah yaitu dengan cara buka file Crudcontroller lalu masukan code berikut : tambahkan use input; use db; use redirect; ini bertujuan agar eror yang tadi di alami kembali normal , nah apabila Anda menemukan eror seperti diatas lakukan hal yang sama dengan memakai use, sekarang coba Anda praktekan localhost/laravel dan masukan data sesuai yang Anda input dan hasilnya akan seperti berikut :
  • 130.
    2. Read /Menampilkan Data Di Laravel step selanjutnya adalah menampilkan data yang sudah di input tadi bagaimana caranya? tahap yang pertama ubah code read yang ada di routes , buka routes.php dan ubah code read seperti gambar di bawah ini : apabila sudah memodifikasi read tersebut sekarang buka file Crudcontroller lalu tambah kan function lihatdata seperti gambar berikut bertujuan untuk menampilkan data data yang ada di database: sedikit dijelaskan Db::table(‘siswa’)->get(); sama hal nya dengan select * from siswa , sedangkan view::make itu menampilkan untuk route get read dan disana ada siswa yang berarti nilai variable yang akan kita ambil untuk menampilkan data , apabila sudah menambah function lihatdata coba jalankan localhost/laravel/read dan Anda akan menemukan eror View not found cara untuk mengatasinya bagaimana ? sama seperti hal sebelumnya yang di penambahan data (create) tambahkan use view; Menampilkan data
  • 131.
    Menampilkan data apabila scriptsudah jalan tinggal kita modifikasi file read.blade.php , buka file tersebut dan modifikasi code tersebut seperti gambar di bawah ini : Sedikit dijelaskan juga $siswa tersebut mengambil nilai variable yang ada di Crudcontroller tadi , nah {{ }} sama dengan <?php echo ?> perbedaannya {{ }} agar lebih simple dan sedikit.
  • 132.
    Menampilkan data apabila sudahsilahkan lihat localhost/laravel/read dan hasilnya kurang lebih akan seperti gambar dibawah ini :
  • 133.
    CRUD (CREAT, READ,UPDATE, DELETE) PERTEMUAN 12
  • 134.
    Tujuan & TargetPembelajaran
  • 135.
  • 136.
    1. Update /Mengubah Data Di Laravel tahap selanjutnya adalah mengubah data yang ada di database menggunakan laravel caranya hampir sama dengan menghapus data tapi disini kita menggunakan dua method ikuti dan simak caranya , pertama buka file routes.php dan tambah route seperti gambar dibawah ini : ini berfungsi untuk mengambil formedit dan menampilkan data berdasarkan id , dan jangan lupa memodifikasi a href juga di read.blade.php seperti berikut : <a href="formedit/{{ $data->id}}">Edit</a> apabila sudah selesai sekarang buka file Crudcontroller.php dan tambah kan function seperti gambar berikut : first di atas itu untuk mengambil nilai pertama berdasarkan id yang kita panggil apabila sudah menyimpan function tersebut . Update Data
  • 137.
    Update Data Sekarang buatfile yang bernama form_edit.blade.php di privasi>resources>views>form_edit.blade.php apabila file sudah di buat sekarang tambah kan code seperti gambar dibawah ini ke dalam file form_edit.blade.php Sedikit dijelaskan code gambar disamping form hidden itu artinya sama dengan input type hidden , $siswa itu mengambil dari function prosesedit with siswa , sedang $siswa->id , id ini mengambil field yang ada di database cukup paham bukan ?
  • 138.
    Update Data apabila sudahmenambah code seperti gambar di atas selanjutnya menambah action route untuk memproses mengubah data , buka kembali file routes.php dan masukan code seperti gambar di bawah ini : apabila sudah menambah route::post sekarang buka juga Crudcontroller untuk menambah function proseseditdata , dan tambahkan function seperti gambar berikut :
  • 139.
    Update Data apabila functionsudah di tambahkan waktunya mencoba untuk mengedit data buka localhost/laravel/read dan coba klik a href edit yang sudah tertera disana dan ubah data data tersebut dan hasilnya akan seperti berikut :
  • 140.
    2. Delete /Menghapus Data Di Laravel tahap selanjutnya menghapus data dari database menggunakan laravel , bagaimana caranya ? untuk memulai silahkan buka file routes.php di file laravel Anda lalu tambahkan code seperti gambar berikut : ini bertujuan untuk menghapus data selanjutkan buka juga file Crudcontroller dan tambahkan function berikut di file Crudcontroller Delete Data
  • 141.
    Dan jangan lupauntuk memodifikasi a href yang ada di read tambahkan code berikut : <a href="hapus/{{ $data->id}}">Hapus</a> cukup di mengerti dan mudah bukan untuk membuat action hapus di laravel ? dan hasilnya akan terlihat seperti gambar berikut : Delete Data
  • 142.
    OPTIMASI DAN SECURITYSYSTEM PERTEMUAN 13
  • 143.
    Tujuan & TargetPembelajaran
  • 144.
    Highlight Optimasi dan SecuritySystem • Penanganan Kesalahan (Error Handling) • Profiler • Logging Data • Security Sytem
  • 145.
    Secara default, debugdi set true pada file app.php di app/config/, jadi setiap kali terjadi kesalahan, Laravel menunjukkan sebuah halaman kesalahan secara rinci. Laravel akan menunjukkan semua jenis informasi tentang kesalahan, seperti pelacakan stack, nama file dan garis kesalahan yang mengacu pada blok kode. Hal ini sangat ideal ketika Anda sedang mengembangkan aplikasi Anda, yang pastinya ketika kita membangun sebuah aplikasi pasti banyak error yang akan kita temui, tetapi dengan adanya fasilitas error handling di Laravel ini terasa sangat membantu, karena langsung bisa ditemui blok kode yang error, jadi langsung bisa dideteksi letak kesalahannya di dalam file log yang berada di folder laravel/app/storage/logs, didalam file log tersebut sudah terangkum semua log kesalahan yang terjadi setiap harinya. Penanganan Kesalahan (Error Handling)
  • 146.
    Laravel juga bisamengelola untuk mengarahkan sebuah error handlig ke halaman tertentu kepada pengguna, misalnya diarahkan ke sitemap (peta situs) yang sudah kita sediakan. Untuk melakukan ini, Anda perlu untuk menambahkan script berikut pada file global.php di folder laravel/app/start/. Ketika Laravel sudah di inisialisasi pada file global.php, maka setiap penanganan kesalahan dengan kasus halaman yang hilang atau tidak ditemukan (kode kesalahan 404) akan memuat file tampilan yang telah didefinisikan dalam routing ke app/view/custom404page.blade.php. Selain itu, Laravel juga menyediakan error handling yang bisa digunakan untuk menangkap (catch) sesuatu dari aplikasi, kemudian menunjukkan sebuah custom halaman yang error, cara exception handlingnya bisa dituliskan sebagai berikut : Penanganan Kesalahan (Error Handling)
  • 147.
    Profiler adalah prosespengukuran waktu program perangkat lunak atau memori untuk class/fungsi tertentu atau blok kode program. Tujuan yang paling umum dari profiling application adalah untuk membantu optimasi aplikasi. Package yang bisa digunakan untuk profiler adalah juy profiler. Juy Profiler memiliki beberapa fitur, diantaranya : Ø Environment information Ø Current controller Ø Routing Ø Log events Ø SQL Query Log Ø Total waktu eksekusi program Ø Total memori yang dipakai Ø Variable yang dikirimkan ke views Ø Variable Session Ø Variable Autentikasi Profiler
  • 148.
    Ketika Anda sedangmengembangkan aplikasi, Anda akan mempunyai semua informasi pada setiap request, dengan demikian Anda langsung dapat memberitahukan ketika ada sesuatu yang salah, bahkan jika mungkin tidak muncul di halaman hasil. Hal ini karena Anda telah menciptakan kode yang loop query. Profiler ini akan memberitahukan Anda pada bagian bawah halaman yang Anda akses, dimana Anda kemudian dapat refactor kode untuk memperbaiki kesalahan-kesalahan tersebut. Untuk menginstall profiler, buka file composer.json dan ditambahkan script berikut ke array : Kemudian jalankan update composer, sehingga composer bisa mendownload package dan menempatkannya dalam direktori vendor. Sekarang untuk menghubungkan itu dengan aplikasi Laravel, kita perlu untuk menambahkan penyedia layanan ke penyedia array pada file app.php di laravel/app//config/, tambahkan script berikut : Profiler
  • 149.
    Kemudian tambahkan jugaalias berikut dalam alias array di file konfigurasi : Salah satu langkah terakhir adalah untuk mempublikasikan file config package sehingga file config dapat memperbarui paket yang ada : Sekarang Anda sudah memiliki konfigurasi package yang tersedia di aplikasi/config/paket/juy/profiler/ dengan hanya mengubah opsi profiler ke true. Dan Anda akan memiliki profiler baru dibagian halaman dalam browser Anda. Profiler akan menampilkan informasi yang berhubungan dengan halaman Anda dan lingkungan di tab kecil dibagian bawah halaman Anda. Profiler
  • 150.
    Laravel menyediakan metodeyang bisa kita gunakan untuk menyimpan banyak hal yang terjadi di halaman web. Hali ini sangat berguna dalam situasi tertentu, seperti ketika Anda melakukan pengujian beta dan pengguna mengeluh bahwa halaman tertentu atau proses tidak bekerja, Anda benar-benar dapat melakukan debug melalui data dan dapat membuat kasus uji untuk menemukan kesalahan yang dihadapi oleh pengguna. Ini dapat dilakukan menggunakan kode berikut : Anda juga dapat menggunakan kode-kode sebelumnya pada berbagai titik dalam aplikasi, Anda juga bisa melihat apa yang terjadi dalam aplikasi seperti pengguna yang melakukan pengujian tersebut. Anda dapat melihat output dari metode yang sudah digunakan di app/storage/log/log-<date>.txt. Jika Anda membuka file log, Anda dapat melihat output untuk setiap permintaan akan tampak sertiap kode berikut: Logging Data Sekarang Anda memiliki informasi untuk mengatasi kasus mengenai kesalahan atau keluhan pengguna dengan melihat tanggal dan waktu pengguna. Anda juga dapat mengetahui apa yang terjadi pada waktu itu dan memahami hal-hal yang jauh lebih baik, ini akan membantu Anda mengoptimalkan aplikasi Anda.
  • 151.
    Salah satu aspekpenting dalam mengelola aplikasi web adalah keamanan. Secara default, autentikasi di Laravel menyediakan enkripsi AES-256 untuk password melalui 32-bit kunci acak yang dihasilkan saat instalasi Laravel, pengaturannya ada di app/config/app.php. Kita juga dapat menggunakan algoritma tersebut untuk mengenkripsi suatu data pada aplikasi kita. Dengan kata lain, jika Anda ingin mengenkripsi data rahasia Anda dapat menggunakan fungsi enkripsi sebagai berikut : Jika Anda ingin mendeskripsi (kebalikan enkripsi), Anda dapat menggunakan fungsi dekripsi sebagai berikut : Demikian pula, Laravel memiliki sandi (hash) yang aman menggunakan cookie, sehingga jika client melakukan perubahan apapun pada cookie yang telah ditetapkan oleh Laravel, maka Laravel akan menghentikan permintaan dan mengarahkan ulang pengguna ke halaman yang berisi peringatan kesalahan. Security Sytem