Modul Praktikum II
BASIC CRUD Laravel 9 | Breeze Package Ketut Agus Seputra, S.ST., M.T
BAB I
MENGENAL DAN INSTALASI LARAVEL
1. 1. Tujuan :
1. Mahasiswa dapat mengetahui framework php
2. Mahasiswa dapat mengetahui software pendukung dalam menggunakan framework php
3. Mahasiwa dapat memahami proses instalasi framework php
4. Mahasiswa dapat memahami Konsep Model, View dan Controller (MVC)
5. Mahasiswa dapat memahami struktur folder dalam framework php
1. 2. DASAR TEORI
Laravel merupakan salah satu dari sekian banyak framework PHP yang dapat digunakan secara
gratis. Laravel dikembangkan oleh programmer asal amerika yang bernama Taylor Otwell pada tahun
2011. Framework sendiri dapat diartikan sebagai kumpulan kode-kode program yang akan selalu
digunakan pada setiap pembuatan aplikasi. Karena selalu digunakan maka kode-kode tersebut
dikumpulkan dan disusun secara rapi pada folder-folder agar mudah digunakan dan jadilah sebuah
framework.
1. 3. SOFTWARE PENDUKUNG LARAVEL
1. TEXT EDITOR
Text editor menjadi kebutuhan wajib yang harus dimiliki untuk menulis suatu program.
Beberapa text editr yang biasa digunakan oleh para programmer di antaranya Notepad++,
Sublime Text, ATOM dan sebagainya, namun pada modul ini akan menggunakan text editor
Sublime Text.
2. WEB SERVER
Web server sebagai penyedia layanan web pada komputer lokal. Laravel mendukung web server
Apache maupun Ngix. Pada modul ini akan menggunakan web server XAMPP yang didalamnya
menggunakan server Apache. Paket aplikasi ini dapat diunduh dari website apachefriends.org.
adapun versi yang digunakan pada modul ini adalah versi 3.2.2 yang telah mendukung PHP
dengan versi 5.6.30 untuk menjalankan laravel versi 5.4.
3. COMPOSER
Composer digunakan untuk memudahkan instalasi Laravel dan mendapatkan library yang
dibutuhkan dari internet. Jadi sebelum melakukan instalasi Laravel, komputer atau laptop atau
mesin yang digunakan harus sudah terinstal Composer. Aplikasi ini dapat diunduh dari website
getcomposer.org.
4. Node JS
Node.js adalah runtime environment untuk JavaScript yang bersifat open-source dan cross-
platform. Untuk mengawali bisa download aplikasi atau ikuti tahapan instalasi dari url berikut
https://nodejs.org/
5. NPM
NPM adalah Node Package Manager yang digunakan secara luas oleh developer JavaScript untuk
berbagi tool, menginstal modul, dan mengelola dependensi. Ada banyak library javascript yang
nanti akan digunakan dalam pemrograman web, oleh karena itu menginstal library javascript akan
jauh lebbih mudah menggunakan NPM.
1. 4. PENGANTAR LARAVEL
Dalam pengembangan sistem informasi, khusunya berbasis web. Laravel menghadirkan fitur-fitur yang
siap digunakan seperti autentikasi, routing, Object Relational Model (ORM) yang akan sering kita gunakan.
Laravel juga menyedikan beberapa starter kit dengan beberapa fitur yang telah diintegrasikan. Laravel
Breeze adalah salah satu fitur standar yang bisa digunakan untuk memulai pemrograman laravel. Package
ini menyediakan fitur standar pengembangan sistem informasi seperti autentikasi, register, reset
Gambar 1. Composer
2. Pilih folder tempat project, boleh diluar htdocs
3. Buka panduan instalasi pada url berikut https://laravel.com/docs/9.x/installation.
4. Install laravel melalui CLI dengan perintah create-project
composer create-project laravel/laravel nama_project
5. Tunggu beberapa menit, setelah itu jalankan virtual server laravel artisan
php artisan serve
Artisan merupakan command line interface yang dimiliki oleh Laravel. Artisan mencakup
sekumpulan perintah yang membantu Anda untuk membangun sebuah website atau aplikasi
web.
6. Pastikan artisan jalan dan dapat diakses melalui url public localhost 127.0.0.1. Langkah
selanjutnya pelajari request life cycle laravel https://laravel.com/docs/9.x/installation#next-
steps.
1.6 Starter Kits
Langkah awal dalam membangun aplikasi Laravel baru, laravel menawarkan autentikasi dan package
standar pengembangan website. Package ini secara otomatis membuat routes, controllers and views yang
diperlukan untuk register dan autentikasi pengguna aplikasi. Laravel breeze menawarkan fitur standar
mulai dari pendaftaran, autentikasi, reset password, dan verifikasi email. Laravel breeze dibangun dengan
tampilan template blade yang dikombinasikan dengan tailwindcss. Breeze memungkinkan pengembangan
Single Page Application (SPA) menggunakan Vue dan React, atau Inertia. Berikut panduan instalasi
package breeze, namun pastikan terlebih dahulu instalasi laravel telah dilakukan dengan baik, dan
memahami konsep request life cylce laravel.
1. Instal Laravel Breeze pada folder aplikasi via terminal VS Code, lalu jalankan perintah dibawah
ini.
composer require laravel/breeze --dev
2. Setelah download package sukses, selanjutnya install laravel melalui terminal
php artisan breeze:install
3. Jangan lupa siapkan sebuah database, oleh karena itu pastikan MySQL aktif dan web server
(Apache juga aktif sebagai optional).
4. Setting database yang digunakan pada file .env pada root folder.
2. 3. STUDI KASUS
Bali sebagai salah satu destinasi tujuan wisata dunia tentu harus selalu menghadirkan keunikan baru
baik dari sisi budaya maupun keindahan alam. Selain keindahan alam dan budaya, sebuah destinasi wisata
harus mampu memadukan antara budaya dan alam melalui atraksi yang bisa dinikmati wisatawan,
akomodasi, serta transportasi yang memadai. Salah satu budaya yang menjadi icon bali yakni tari kecak.
Pementasan tari kecak ini menjadi kegiatan yang umum sudah dilakukan dibeberapa tempat wisata
terbaik di Bali diantaranya pura uluwatu, tanah lot, dan ubud. Terlebih lagi, saat ini desa adat juga
mengambil peran melalui beberapa komunitas seni yang rutin mengadakan pertunjukan seni dipalaba
pura masing-masing desa adat. Tentu hal ini harus ditopang oleh akses informasi yang luas baik untuk
menggait calon penikmat seni maupun sekedar untuk menginformasikan jadwal pertunjukan kepada
calon wisatawan. Untuk itu, perlu dikembangkan sebuah portal Sistem Informasi Wisata untuk
memasarkan pertunjukan seni, baik terkait jadwal, komunitas seni yang tampil, maupun pemesanan tiket
secara online. Secara singkat berikut beberapa catatan utama yang dapat menjadi benang merah
pengembangan sistem.
- Salah satu tujuan utama pengembangan sistem untuk memasarkan atau menginformasikan jadwal
pertunjukan seni kepada wisatawan
- Tujuan berikutnya wisatawan dapat melakukan pemesanan tiket secara online maupun on the spot
saat pertunjukan
- Sistem harus mampu memberitahukan ketersediaan tiket berdasarkan jadwal yang dibuka serta
kuota
- Terdapat pilihan harga untuk wisatwan domestik dan mancanegara, serta desawa atau anak-anak
- Pengelola pertunjukan dalam hal ini desa adat dapat melihat jumlah pemesanan, terbayar, dan
yang telah hadir saat pertunjukan. Sehingga cash flow dari setiap penyelenggara pertunjukan dapat
diketahui.
- Secara umum terdapat 4 level pengguna yakni wisatawan, pengguna, admin pertunjukan, serta
super admin.
-
Profil Pengguna
BASIC CRUD LARAVEL 9 | BREEZE PACKAGE 7
- Gender : Pria dan Wanita
- Umur : 15 - 55 tahun
- Profesi : Wisatawan dan pelaku seni
Perilaku / Kebiasaan :
Sesuai tugas proyek I, maka pada praktikum kali ini akan membuat beberapa rancangan antarmuka
halaman depan sesuai dengan userflow sebagai berikut.
Baris kode 17 merupakan route utama yang mengarah ke halaman awal yaitu welcome page.
Route tersebut memanggil langsung berupa sebuah view blade yang terdapat pada
resources\views\welcome.blade.php. Berikutnya route pada baris 20 merupakan
route yang mengarah ke halaman dashboard untuk pengguna. Jika dilihat sambungannya pada
baris ke 22, maka route ini membutuhkan sebuah middleware autentikasi yang digenerate oleh
breeze. Sehingga untuk mengakses halaman ini, pengguna harus berhasil login terlebih dahulu
referensi https://laravel.com/docs/9.x/routing.
3. Membuat Controller
Sebagai awal latihan, kita akan memanggil sebuah controller untuk menampilkan halaman
landingpage, yang nantinya controller itu akan dipanggil oleh route pada baris 17. Salah satu
fungsi controller pengelolaan view, termasuk didalamnya jika diperlukan hingga memanggil
model. Buat sebuah controller untuk menangani interaksi pengguna pada sisi frontpage. Nantinya
Controller ini fokus menangani perpindahan halaman ataupun interaksi lainnya bagi pengunjung
https://laravel.com/docs/9.x/controllers.
php artisan make:Controller HomeController
Controller akan digenerate otomatis oleh artisan, silakan dibuka file
app\Http\Controllers\HomeController.php File tersebut masih kosong hanya ada
nama Class. Nantinya file ini memiliki fungsi untuk memanggil view landing page.
4. Membuat Component Home Layout
Componen dan slot memberikan manfaat untuk section, layout, termasuk keterkaitan antar
componen dalam setiap view yang dipanggil. Untuk membuat componen, khususnya pada kasus
ini adalah membuat sebuah layout baru untuk halaman landingpage. Layout ini akan memberikan
konsistensi tata letak seperti header, navbar, serta footer pada seluruh halaman depan aplikasi.
Untuk membuat component gunakan perintah berikut.
php artisan make:component HomeLayout
<section>
<div class="md:flex font-sans pt-8">
<div class="md:shrink-0">
<img src="https://www.baliaround.com/wp-
content/uploads/2014/05/kecakdance.jpg" alt="" class="h-48 w-full md:h-full md:w-56 inset-0 w-
full h-full object-cover rounded-lg" loading="lazy" />
</div>
<form class="p-6">
<div class="flex flex-wrap">
<h1 class="flex-auto font-medium text-slate-900">
Kecak Fire Gianyar
</h1>
<div class="w-full flex-none mt-2 order-1 text-3xl font-
bold text-violet-600">
Rp. 120.000
</div>
<div class="text-sm font-medium text-slate-400">
Available
</div>
</div>
<div class="flex items-baseline mt-4 mb-6 pb-6 border-b border-
slate-200">
First, one of the most-
visited tourist attractions in Bali is Ubud, visited by either
local or international tourists.
Ubud Bali tourist attraction has astonished many visitors who alway
s want to return
</div>
<div class="flex space-x-4 mb-5 text-sm font-medium">
<div class="flex-auto flex space-x-4">
<button class="h-10 px-6 font-semibold rounded-full bg-violet-
600 text-white" type="submit">
Book Now
</button>
<button data-bs-toggle="modal" data-bs-
target="#exampleModalLg" class="h-10 px-6 font-semibold rounded-full border border-slate-
200 text-slate-900" type="button">
Check Availability
</button>
</div>
<button class="flex-none flex items-center justify-center w-9 h-
9 rounded-full text-violet-600 bg-violet-50" type="button" aria-label="Like">
<svg width="20" height="20" fill="currentColor" aria-
hidden="true">
<path fill-rule="evenodd" clip-
rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-
1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" />
</svg>
require __DIR__.'/auth.php';
Langkah terakhir akses kembali url root dari aplikasi http://127.0.0.1:8000/ maka tampilan web
seperti gambar berikut.
10. Langkah terakhir adalah menambahkan url pada navigation. Seperti pada contoh, pada router
terdapat syntax seperti ini.
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
//dashboard name router
Route dashboard tersebut akan dipanggil pada navigation seperti pada langkah 6 yaitu pada tag
<a></a>.
<a href="{{ route('dashboard') }}">
<!—sesuai nama router-->
<x-application-logo class="block h-10 w-auto fill-current text-gray-600" />
</a>
11. Selanjutnya silakan buat beberapa halaman lagi untuk menguji pemahaman mengenai request
life cycle laravel. Tidak perlu semua langkah diatas diulang kembali, seperti layout componen,
navigation, controller bisa digunakan kembali untuk page-page berikutnya. Yang perlu dibuat
2.4.2 EVALUASI
Silakan lakukan evaluasi tekait latihan yang telah dikerjakan. Pastikan semua check list pada bagian
evaluasi ini terpenuhi. Keberhasilan pada Latihan ini akan menentukan pengerjaan latihan berikutnya.
Silakan centang pada checklist yang telah terpenuhi.