PWEB 8 – LARAVEL AUTH

Pada pertemuan kali ini, kita akan membuat tampilan CRUD sederhana berdasarkan template Bootstrap UI yang disediakan oleh laravel

langkah-langkah

Silakan buat project baru Laravel dengan salah satu cara yang telah disampaikan pada pertemuan sebelumnya, yaitu dengan laravel installer ataupun dengan composer. Pada kesempatan kali ini akan menggunakan composer

Database Structure

Setelah selesai melakukan instalasi project, silahakn buka project tersebut pada file pada code editor, lalu lakukan konfigurasi database seperti berikut, dan pastikan sudah menghidupkan XAMPP.

Database Structure

Tambahkan Fitur User Authentication menggunakan fitur autentikasi bawaan Laravel untuk mempermudah proses login, registrasi, dan pengelolaan sesi pengguna. Laravel menyediakan paket bernama laravel/ui yang memungkinkan kita untuk menghasilkan scaffolding (kerangka) UI dasar lengkap dengan autentikasi.

Database PHP Code

Setelah berhasil menginstal paket laravel/ui, langkah selanjutnya adalah membuat tampilan autentikasi (login, register, dll) menggunakan Bootstrap. Laravel menyediakan perintah khusus untuk menghasilkan scaffolding tersebut. Jalankan perintah berikut pada terminal didalam project laravel anda

Config PHP Code

Selanjutnya instal dan compile asset frontend yang dibutuhkan agar tampilan bekerja dengan baik. Jalankan Perintah Berikut npm install && npm run dev , yang mana akan menginstal semua dependensi frontend yang dibutuhkan dan meng-compile file JavaScript dan CSS menggunakan Laravel Mix

Config PHP Code Config PHP Code

Selain tampilan, Laravel juga otomatis menghasilkan controller untuk autentikasi, seperti LoginController, RegisterController, dan lainnya. Dan juga digenerate view untuk authenctication seperti gambar berikut.

Alert PHP Code Alert PHP Code

langkah berikutnya adalah menjalankan migration. Migration ini akan membuat tabel-tabel penting yang dibutuhkan oleh sistem autentikasi Laravel, seperti tabel users, password_resets, dan lainnya. Jika sebelumnya belum terdapat database, Laravel akan memberikan konfirmasi untuk membuatnya terlebih dahulu.

Mahasiswa Class Part 1

Selanjutnya jika seluruh alur tadi berhasil, maka kita telah membuat tampilan login dan register template yang disediakan oleh laravel itu sendiri.

Mahasiswa Class Part 2 Mahasiswa Class Part 2 Mahasiswa Class Part 2

Langkah selanjutnya adalah membuat custom table pada tabel user, dengan menambahkan beberapa field baru. Ketikkan kode berikut pada terminal project php artisan make:migration costum_table_users

Mahasiswa Class Part 2

Selanjutnya buka folder database/migration/custom_table_users yang baru saja dibuat, lalu ketikkan kode program berikut

Mahasiswa Class Part 3

Jalankan kembali php artisan migrate. Tabel user yang telah di custom akan terlihat seperti berikut

Mahasiswa Class Part 3

selanjutnya kita akan membuat user pertama, misalnya seorang admin, menggunakan fitur seeder. Seeder ini akan menghasilkan data user dengan peran admin yang dapat digunakan untuk login awal ke sistem. ketikkan perintah berikut php artisan make:seeder AdminSeeder. Jika perintah berhasil, Laravel secara otomatis membuat file AdminSeeder.php di dalam folder database/seeders

Mahasiswa Class Part 3

Selanjutnya buka file tersebut dan ketikkan kode berikut

Mahasiswa Class Part 3

Setelah file AdminSeeder.php selesai dibuat dan diisi dengan data user admin, langkah selanjutnya adalah menjalankan seeder tersebut agar data dapat tersimpan ke dalam tabel users pada database. Untuk menjalankannya, ketik perintah berikut php artisan db:seed --class=AdminSeeder

Mahasiswa Class Part 3

Secara default, Laravel Authentication sudah mengenerate tampilan dashboard aplikasi. Namun, agar tampilan aplikasi lebih menarik dan sesuai dengan kebutuhan, kita perlu mengkonfigurasi layout atau template yang akan digunakan. Pada studi kasus ini, kita akan menggunakan template SB Admin 2, yang dibangun dengan framework Bootstrap. Template ini sangat populer dan mudah dikustomisasi. Langkah pertama, silakan unduh template SB Admin 2 melalui link berikut: https://startbootstrap.com/theme/sb-admin-2. Setelah berhasil diunduh, ekstrak file tersebut. Kemudian, buat folder baru di dalam direktori public pada proyek Laravel Anda dengan nama sbadmin. Terakhir, salin seluruh file aset dari template SB Admin 2 ke dalam folder public/sbadmin yang sudah dibuat tadi.

Mahasiswa Class Part 3

Selanjutnya, kita akan mengatur tampilan halaman login aplikasi agar sesuai dengan template yang sudah kita siapkan. Buka file app.blade.php yang berada di dalam folder resources/views/layouts, isikan dengan kode berikut

Mahasiswa Class Part 3

Setelah membuat layout untuk halaman login, langkah selanjutnya adalah membuat layout global yang akan menjadi kerangka utama untuk seluruh halaman aplikasi lainnya. Karena app.blade.php sudah kita gunakan untuk halaman login, maka kita perlu membuat layout baru agar tampilan halaman seperti dashboard, profil, dan halaman lainnya bisa menggunakan struktur yang konsisten. Buat file baru dengan nama main.blade.php di dalam folder resources/views/layouts, lalu isi file tersebut dengan kode program berikut ini.

Mahasiswa Class Part 3

Pada file main.blade.php yang sudah kita buat, layout ini akan memanggil dua view terpisah yaitu sidebar.blade.php dan topbar.blade.php menggunakan directive Blade @include. Dengan begitu, isi dari kedua view tersebut akan ditampilkan secara otomatis di dalam layout main.blade.php. Selain itu, layout ini juga akan menampilkan data judul dan konten dari setiap halaman yang menggunakan layout ini dengan menggunakan directive @yield('judul') dan @yield('konten'). Karena itu, sebelum melanjutkan ke halaman lain, kita perlu membuat terlebih dahulu view untuk sidebar dan topbar.

Mulai dari sidebar terlebih dahulu, Buat file pada folder layouts dengan nama sidebar.blade.php dan isi dengan kode program berikut

Mahasiswa Class Part 3

Selanjutnya bagian topbar, Buat file pada folder layouts dengan nama topbar.blade.php dan isi dengan kode program berikut

Mahasiswa Class Part 3

Selanjutnya kita akan menggunakan layout main.blade.php yang telah kita atur sebelumnya. Sebagai contoh, kita akan menggunakan layout main.blade.php pada view home.blade.php. Buka file home.blade.php dan isi dengan kode program berikut. Untuk menggunakan layout main.blade.php, tambahkan directive @extends('layouts.main') di bagian atas file home.blade.php. Dengan begitu, seluruh tampilan dari layout main.blade.php akan diterapkan pada view home. Selanjutnya, untuk menampilkan data judul pada layout main, gunakan directive @section('judul') diikuti dengan isi judul yang diinginkan, misalnya Dashboard. Tutup dengan @endsection. Begitu pula untuk bagian konten, gunakan directive @section('konten') dan isikan konten yang ingin ditampilkan pada halaman tersebut, lalu tutup dengan @endsection.

Mahasiswa Class Part 3

Jika konfigurasi layout sudah benar, tampilan halaman home akan muncul seperti gambar berikut.

Mahasiswa Class Part 3 Mahasiswa Class Part 3

Dengan memahami cara membuat dan menggunakan layout di Laravel, kita dapat membangun aplikasi yang lebih terstruktur dan mudah dikembangkan. Layout main.blade.php berfungsi sebagai kerangka utama yang memudahkan pengelolaan tampilan aplikasi secara konsisten, terutama saat aplikasi memiliki banyak halaman. Di pertemuan selanjutnya, kita akan melanjutkan dengan membuat fitur multi-level user, sehingga aplikasi dapat mengatur hak akses pengguna dengan lebih baik sesuai peran masing-masing.