Tujuan
Tujuan praktikum ini yaitu mahasiswa mampu installasi Laravel, membuat project baru Laravel,
mengenal struktur Laravel, konsep MVC laravel
Alat dan Bahan
- Xampp
- Computer/ Laptop
- VS Code
- Node JS, NPM, GIT, Composer
Teori
- Eloquent ORM (Object-Relational Mapping): Memudahkan interaksi dengan database
menggunakan sintaks PHP yang intuitif. Anda dapat mendefinisikan model untuk setiap tabel
database dan melakukan operasi CRUD (Create, Read, Update, Delete) dengan mudah.
Eloquent juga mendukung relasi antar tabel (one-to-one, one-to-many, many-to-many).
- Blade Templating Engine: Sistem templating yang sederhana namun powerful,
memungkinkan Anda menggunakan sintaks PHP dalam template HTML dengan cara yang
bersih dan aman. Blade menyediakan direktif-direktif seperti @if, @foreach, @extends,
@yield, dan komponen untuk membuat tampilan dinamis.
- Artisan Console: Command-line interface (CLI) yang disertakan dengan Laravel. Artisan
menyediakan banyak perintah berguna untuk otomatisasi tugas-tugas umum seperti
membuat model, migration, controller, seeder, menjalankan pengujian, membersihkan cache,
dan banyak lagi.
- Routing: Sistem perutean yang fleksibel memungkinkan Anda mendefinisikan URL aplikasi
Anda dan mengaitkannya dengan controller atau closure functions. Laravel mendukung
berbagai jenis rute dan middleware untuk mengontrol akses.
- Middleware: Mekanisme untuk memfilter HTTP request yang masuk ke aplikasi Anda.
Middleware dapat digunakan untuk autentikasi, logging, validasi, dan tugas-tugas lain sebelum
atau sesudah request ditangani oleh aplikasi.
- Form Request Validation: Memudahkan proses validasi data yang dikirim melalui form. Anda dapat membuat kelas Form Request khusus dengan aturan validasi yang jelas dan Laravel akan secara otomatis menangani proses validasi dan menampilkan pesan kesalahan.
- Security: Laravel dibangun dengan mempertimbangkan keamanan. Beberapa fitur keamanan bawaan meliputi proteksi terhadap CSRF (Cross-Site Request Forgery), XSS (Cross-Site Scripting), dan SQL injection.
- Authentication & Authorization: Menyediakan sistem otentikasi (login, registrasi, lupa kata sandi) dan otorisasi (hak akses pengguna) yang mudah diimplementasikan. Laravel Breeze dan Jetstream menyediakan scaffolding UI untuk fitur-fitur ini.
- Testing: Dukungan bawaan untuk berbagai jenis pengujian, termasuk unit testing, integration testing, dan end-to-end testing. Laravel menyediakan helper functions dan assertion methods untuk memudahkan penulisan tes.
- Queues: Sistem antrian yang memungkinkan Anda menunda tugas-tugas yang memakan waktu (seperti pengiriman email atau pemrosesan data) dan menjalankannya di latar belakang. Ini meningkatkan responsivitas aplikasi Anda.
- Caching: Mendukung berbagai sistem caching (seperti Redis, Memcached, file) untuk meningkatkan performa aplikasi dengan menyimpan data yang sering diakses dalam memori.
- Events & Listeners: Implementasi dari pola Observer, memungkinkan Anda membuat event dan listener untuk menjalankan kode tertentu ketika event tersebut terjadi dalam aplikasi Anda.
- Notifications: Memudahkan pengiriman notifikasi ke berbagai saluran, seperti email, SMS, database, atau layanan pihak ketiga.
- Broadcasting: Memungkinkan Anda melakukan siaran event secara real-time melalui WebSockets. Ini berguna untuk fitur seperti live chat atau notifikasi real-time.
- Task Scheduling: Memungkinkan Anda menjadwalkan tugas-tugas cron menggunakan sintaks yang ekspresif dalam kode PHP Anda.
- Passport (OAuth2 Server): Paket resmi untuk mengimplementasikan otentikasi OAuth2, memungkinkan aplikasi Anda menjadi penyedia otentikasi untuk aplikasi lain.
- Sanctum (API Authentication): Paket ringan untuk mengimplementasikan sistem otentikasi berbasis token untuk Single-Page Applications (SPAs), mobile applications, dan simple APIs.
- Socialite (Social Authentication): Memudahkan integrasi otentikasi dengan berbagai penyedia layanan OAuth seperti Facebook, Twitter, Google, dan lainnya.
- Filesystem: Abstraksi untuk berinteraksi dengan berbagai sistem penyimpanan file, baik lokal maupun cloud (seperti Amazon S3 atau Google Cloud Storage).
- Mail: Memudahkan pengiriman email dengan dukungan untuk berbagai driver seperti SMTP, Mailgun, dan Amazon SES.
- Pusher (Realtime Services): Integrasi mudah dengan layanan Pusher untuk menambahkan fitur realtime ke aplikasi Anda.
- Localization: Memudahkan pembuatan aplikasi multibahasa dengan fitur untuk mengelola terjemahan.
- Packages: Ekosistem paket yang kaya dan berkembang pesat melalui Composer, memungkinkan Anda dengan mudah menambahkan fungsionalitas tambahan ke aplikasi Anda.
Langkah-Langkah
- Instalasi dan Konfigurasi
- Persyaratan Sistem Laravel 12
Laravel memiliki persyaratan sistem minimum. Adapun persyaratan Laravel 12 adalah sebagai berikut:
- PHP >= 8.2
- Ctype PHP Extension
- cURL PHP Extension
- DOM PHP Extension
- Fileinfo PHP Extension
- Filter PHP Extension
- Hash PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PCRE PHP Extension
- PDO PHP Extension
- Session PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Tools Tambahan
Selain persyaratan di atas, ada beberapa tools yang perlu diinstall:
- Git
- Composer
- Cmder (khusus Windows - opsional)
Juga dibutuhkan hal-hal sebagai berikut:
- Web Server (Nginx atau XAMPP)
- MySQL sebagai basis data
- PhpMyAdmin sebagai GUI client untuk basis data
- Instalasi
- Install XAMPP
Download XAMPP dari https://www.apachefriends.org/index.html, lalu install sesuai langkah-langkah wizard. Setelah berhasil,
akan muncul folder htdocs di C:\xampp\htdocs yang digunakan untuk project Laravel. Instalasi ini juga otomatis menginstal Apache, PHP, dan PhpMyAdmin.

- Install Composer
Composer adalah package manager untuk PHP. Download dari https://getcomposer.org/Composer-Setup.exe, lalu ikuti langkah
wizard untuk instalasi.

- Install Git
Download Git dari https://git-scm.com/downloads/win lalu install.

- Install Node JS dan NPM
Node.js digunakan untuk build asset frontend di Laravel. Download dari
https://nodejs.org/ dan ikuti langkah instalasi. NPM (Node Package Manager) biasanya otomatis terinstall bersama Node.js.

Setelah semua terinstall pastikan seluruh reiquirement laravel terpenuhi.

- Membuat Projek Laravel
- Menggunakan Laravel Installer
- Download Laravel Installer dengan perintah:
composer global require laravel/installer
- Buat project baru dengan perintah:
laravel new example-app
- Menggunakan Composer
Buat project dengan perintah: composer create-project laravel/laravel=^versi nama-project --prefer-dist
Masuk ke direktori project dan jalankan perintah: cd example-app
npm install && npm run build
composer run dev
- Running Projek
Untuk menjalankan projek laravel yang telah dibuat, gunakan perintah php artisan serve
- MVS Laravel