Laprak 7

Laravel merupakah satu framework PHP yang pupuler yang dikembangkan oleh taylor otwell,Laravel merupakan proyek open source untuk mengembangkan aplikasi berbasis web dengan arsitektur MVC (Model – View – Controller). Beberapa fitur yang tersedia pada Laravel :

Eloquent ORM (Object-Relational Mapping):
Laravel menyediakan Eloquent sebagai alat untuk mempermudah interaksi dengan database menggunakan sintaks PHP yang sederhana dan mudah dipahami. Setiap tabel database dapat direpresentasikan sebagai model, sehingga operasi CRUD (Create, Read, Update, Delete) bisa dilakukan dengan efisien. Eloquent juga mendukung berbagai jenis relasi antar tabel seperti one-to-one, one-to-many, dan many-to-many.

Blade Templating Engine:
Blade adalah engine templating bawaan Laravel yang memungkinkan penulisan kode PHP di dalam file HTML secara rapi dan aman. Blade mendukung berbagai direktif seperti @if, @foreach, @extends, @yield, dan lainnya untuk membantu membangun tampilan yang dinamis dan terstruktur.

Artisan Console:
Laravel memiliki command-line interface bernama Artisan, yang menyediakan berbagai perintah untuk mempermudah tugas-tugas pengembangan seperti membuat model, controller, migration, seeder, menjalankan test, membersihkan cache, dan lain sebagainya.

Routing:
Sistem routing Laravel sangat fleksibel, memungkinkan Anda untuk menentukan URL aplikasi dan menghubungkannya ke fungsi atau controller tertentu. Laravel juga mendukung middleware untuk mengatur akses dan logika tambahan sebelum atau sesudah permintaan diproses.

Form Request Validation:
Laravel menyediakan fitur validasi berbasis kelas request, yang memungkinkan Anda menentukan aturan validasi secara terpisah dan rapi. Laravel secara otomatis memproses validasi dan menampilkan pesan kesalahan jika data tidak valid.

Security:
Laravel dibangun dengan fokus pada keamanan, dengan fitur bawaan untuk menangkal serangan umum seperti CSRF (Cross-Site Request Forgery), XSS (Cross-Site Scripting), dan SQL Injection.

Authentication & Authorization:
Laravel menawarkan sistem otentikasi dan otorisasi yang mudah diimplementasikan, termasuk login, registrasi, reset password, dan manajemen hak akses. Laravel Breeze dan Jetstream menyediakan antarmuka siap pakai untuk kebutuhan ini.

Testing:
Laravel mendukung berbagai jenis pengujian aplikasi, termasuk unit test, integration test, dan end-to-end test. Framework ini juga menyediakan berbagai helper untuk memudahkan penulisan dan pengujian kode.

Queues:
Fitur antrian di Laravel memungkinkan Anda menunda pekerjaan berat seperti pengiriman email atau pemrosesan data agar dapat dieksekusi di latar belakang, sehingga meningkatkan performa aplikasi.

Caching:
Laravel mendukung banyak sistem caching seperti Redis, Memcached, dan file cache untuk mempercepat akses data dan meningkatkan kinerja aplikasi.

Events & Listeners:
Dengan menerapkan pola Observer, Laravel memungkinkan Anda membuat event dan listener yang dapat dijalankan secara otomatis saat event tertentu terjadi.

Notifications:
Laravel memudahkan pengiriman notifikasi melalui berbagai saluran seperti email, SMS, database, dan layanan pihak ketiga lainnya.

Broadcasting:
Fitur broadcasting memungkinkan penyiaran event secara real-time menggunakan WebSockets, sangat berguna untuk fitur seperti chat langsung atau notifikasi waktu nyata.

Task Scheduling:
Laravel menyediakan sistem penjadwalan tugas cron langsung dari kode PHP menggunakan sintaks yang intuitif dan mudah dibaca.

Passport (OAuth2 Server):
Laravel Passport adalah paket resmi untuk mengimplementasikan otentikasi berbasis OAuth2, menjadikan aplikasi Anda sebagai penyedia layanan autentikasi.

Sanctum (API Authentication):
Laravel Sanctum menyediakan solusi autentikasi ringan berbasis token untuk SPA (Single Page Applications), aplikasi mobile, dan API sederhana.

Socialite (Social Authentication):
Laravel Socialite memungkinkan integrasi mudah dengan layanan autentikasi sosial seperti Google, Facebook, dan Twitter.

Filesystem:
Laravel menyediakan antarmuka untuk mengelola penyimpanan file, baik di server lokal maupun layanan cloud seperti Amazon S3 dan Google Cloud Storage.

Mail:
Laravel mendukung pengiriman email dengan berbagai driver seperti SMTP, Mailgun, dan Amazon SES, serta menyediakan API sederhana untuk mengirim pesan email.

Pusher (Realtime Services):
Laravel terintegrasi dengan mudah ke layanan seperti Pusher untuk membangun fitur real-time dalam aplikasi, seperti chat atau update langsung.

Localization:
Fitur ini memungkinkan aplikasi Laravel mendukung banyak bahasa dengan sistem pengelolaan terjemahan yang efisien.

Packages:
Laravel memiliki ekosistem paket yang luas dan aktif melalui Composer, memudahkan pengembang untuk menambahkan fungsionalitas tambahan ke aplikasi mereka.

Tujuan Praktikum

Tujuan praktikum ini yaitu mampu installasi Laravel, membuat project baru Laravel, mengenal struktur Laravel, konsep MVC laravel.

Langkah-langkah:

Install aplikasi yang dibutuhkan

  • Web server (menggunakan Apache dari XAMPP)
  • Database (menggunakan MySQL dari XAMPP)
  • Composer
  • Cmder (untuk memudahkan melakukan command di terminal)
  • Node.js dan npm
  • GIt

Selain itu, persyaratan untuk menggunakan 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

Pertama, install aplikasi XAMPP di https://www.apachefriends.org/index.html. Jika sudah terinstall, kita bisa mengecek PHP yang sudah terinstall dari XAMPP dengan command:

php --version

Gunakan command tersebut di terminal. Hasilnya akan seperti berikut:

Kemudian, install Composer di https://getcomposer.org/Composer-Setup.exe. Composer merupakan package manager untuk PHP, composer akan digunakan untuk menambahkan package-package yang dibutuhkan pada saat development. Install sesuai ketentuan langkah wizard setup yang diberikan. Setelah instalasi, kita bisa mengecek Composer yang telah terinstall dengan command:

composer --version

Gunakan command tersebut di terminal. Hasilnya akan seperti berikut:

Setelah itu, install Git di https://git-scm.com/downloads/win. Install sesuai ketentuan langkah wizard setup yang diberikan. Setelah instalasi, kita bisa mengecek Git yang telah terinstall dengan command:

git --version

Gunakan command tersebut di terminal. Hasilnya akan seperti berikut:

Kemudian, install node.js dan npm di https://nodejs.org/. Node JS pada Laravel berfungsi untuk menangani masalah frontedn dan build asset UI (Library UI). Install sesuai ketentuan langkah wizard setup yang diberikan. Setelah instalasi, kita bisa mengecek Git yang telah terinstall dengan command:

node --version
npm --version

Gunakan command tersebut di terminal. Hasilnya akan seperti berikut:

Setelah melakukan instalasi, kita perlu mengecek apakah spesifikasi sistem kita sesuai dengan ketentuan laravel. Gunakan file berikut untuk mengecek spesifikasi dan letakkan di folder project. Anda bisa mendownload file tersebut disini

Pastikan setelah menjalankan file, akan berbentuk seperti berikut:

Selanjutnya, kita akan membuat project Laravel. Ada beberapa cara untuk membuat project Laravel yaitu kita menggunakan installer atau menggunakan composer.

  • Laravel Installer

Dowload installer Laravel menggunakan composer, caranya ketik perintah berikut pada terminal (cmder):

composer global require laravel/installer

Kemudian, buat project baru dengan perintah:

laravel new example-app
  • Composer

Buat project Laravel menggunakan perintah berikut.

composer create-project laravel/laravel=^[versi] nama_project --prefer-dist

Pada praktikum kali ini, kita akan menggunakan Laravel Installer. Install Laravel Installer dengan menggunakan command Laravel Installer seperti diatas. Hasilnya akan seperti ini.

Setelah itu, buat project laravel baru. Hasilnya akan seperti berikut:

Pilih none pada starter kit.

Untuk testing framework, gunakan Pest.

Setelah application key sukses, database yang digunakan adalah MySQL

Lakukan database migration

Setelah database sukses dibuat, lakukan npm install dan npm run build

Setelah seperti ini, artinya project yang dibuat berhasil dibuat.

Langkah selanjutnya, kita akan me-running project Laravel yang telah kita buat. Caranya, buka project dengan code editor seperti vscode, kemudian running di terminal dengan command berikut:

php artisan serve

Hasilnya akan seperti berikut:

Pergi ke alamat yang diberikan dari terminal. Hasilnya akan seperti berikut:

Kemudian, kita akan mengetes Routing dari laravel. Caranya dengan pergi ke routes.web.php dan tambahkan kode berikut:

Route::get('/helo', function(){
return "Hello World";
});

Untuk mengakses hasil routing, pergi ke http://127.0.0.1:8000/helo. Hasilnya akan berikut:

Kemudian, kita akan membuat sebuah model. Model dalam Laravel Berfungsi untuk mengakses dan mengelola data / database seperti query ke database, insert, update, delete, dan lain-lain. Caranya dengan menggunakan kode berikut di terminal:

php artisan make:model SebuahModel

Pada praktikum ini kita akan mencoba model Siswa. Hasilnya adalah sebagai berikut:

Kemudian, kita akan membuat view dari model menggunakan Controller, caranya adalah menggunakan kode berikut di terminal:

php artisan make:controller SiswaController

Hasilnya adalah sebagai berikut:

Kesimpulan

Berdasarkan praktikum yang telah dibuat, dapat disimpulkan bahwa praktikum ini memberikan pemahaman dasar yang penting mengenai framework Laravel, mulai dari proses instalasi hingga pengenalan fitur-fitur utamanya seperti routing, Blade templating, dan Artisan CLI. Dengan mempelajari Laravel, saya menyadari bahwa framework ini sangat mempermudah dalam membangun aplikasi web secara terstruktur, efisien, dan aman. Praktikum ini menjadi langkah awal yang sangat berguna untuk memahami pengembangan web modern berbasis PHP dengan pendekatan MVC.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top