Praktikum ini merupakan studi kasus pengembangan Sistem Informasi Sekolah (Sisfo)
berbasis Laravel 9. Dalam studi kasus ini, dibangun sebuah aplikasi web yang dilengkapi dengan
fitur autentikasi pengguna, templating antarmuka menggunakan template SB Admin 2,
serta fitur manajemen data pengguna (Users) secara lengkap menggunakan CRUD.
Laravel menyediakan package laravel/ui yang memudahkan pembuatan fitur
autentikasi (login, register, forgot password) secara otomatis menggunakan scaffolding Bootstrap.
Fitur ini meng-generate controller, view, route, dan migration yang diperlukan hanya dengan
beberapa perintah artisan.
Setelah autentikasi berhasil dikonfigurasi, tampilan aplikasi disesuaikan menggunakan template
SB Admin 2 yang berbasis Bootstrap, sehingga menghasilkan antarmuka yang profesional dengan
sidebar navigasi, topbar, dan layout yang responsif.
Alur Studi Kasus:
Buat Project
Konfigurasi DB
Install Laravel/UI
Setup Template
CRUD Users
II. Tujuan Praktikum
1
Membuat project Laravel baru dan melakukan konfigurasi database.
2
Mengimplementasikan fitur autentikasi menggunakan package laravel/ui dengan scaffolding Bootstrap.
3
Melakukan kustomisasi tabel users dengan menambahkan kolom username, level, dan status.
4
Membuat data admin awal menggunakan fitur Seeder Laravel.
5
Mengintegrasikan template SB Admin 2 ke dalam aplikasi Laravel sebagai layout global.
6
Membuat layout modular menggunakan @include untuk komponen sidebar dan topbar.
7
Mengimplementasikan fitur CRUD (Create, Read, Update, Delete) lengkap untuk manajemen data pengguna.
III. Langkah Kerja
Langkah 1 โ Membuat Project Laravel Sisfo
Ada dua cara untuk membuat project Laravel baru:
A. Menggunakan Global Installer Laravel
Buat folder workspace di dalam htdocs, lalu install Laravel installer secara global:
Laravel akan membuat tabel-tabel authentication secara otomatis:
users, password_resets, failed_jobs, dan personal_access_tokens.
E. Hasil Autentikasi
Setelah instalasi berhasil, akses halaman berikut melalui browser:
๐ Login โ /login
๐ Register โ /register
๐ Dashboard โ /home
Custom Tabel Users
Tambah Kolom username, level, status
Tabel users default belum memiliki kolom yang dibutuhkan. Buat migration baru:
php artisan make:migration costum_table_users
Isi file migration dengan kode berikut:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string("username")->unique();
$table->string("level");
$table->enum("status", ["ACTIVE", "INACTIVE"]);
});
}
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn("username");
$table->dropColumn("level");
$table->dropColumn("status");
});
}
php artisan migrate
Seeding User Admin
Buat AdminSeeder
php artisan make:seeder AdminSeeder
Isi AdminSeeder.php:
public function run()
{
$admin = new \App\Models\User;
$admin->username = "admin";
$admin->name = "Admin Aplikasi";
$admin->email = "admin@sisfo.com";
$admin->level = json_encode(["ADMIN"]);
$admin->password = \Hash::make("12345678");
$admin->save();
$this->command->info("User Admin berhasil ditambahkan");
}
Jalankan seeder:
php artisan db:seed --class=AdminSeeder
Langkah 4 โ Templating dengan SB Admin 2
Template SB Admin 2 digunakan sebagai tampilan utama aplikasi.
Download template dari startbootstrap.com,
ekstrak, lalu salin seluruh asset ke folder public/sbadmin pada project Laravel.
A. Halaman Login (app.blade.php)
Edit file views/layouts/app.blade.php untuk menggunakan tampilan login SB Admin 2
dengan background gradient biru dan form login yang sudah terintegrasi Bootstrap.
Buat file views/layouts/main.blade.php sebagai layout utama yang digunakan oleh
semua halaman. Layout ini memanggil komponen sidebar dan topbar menggunakan @include.
public function destroy($id)
{
$user = \App\Models\User::findOrFail($id);
$user->delete();
return redirect()->route('users.index')
->with('status', 'User berhasil dihapus');
}
Dialog konfirmasi muncul sebelum data user dihapus
Tambahkan Menu Users di Sidebar
Buka layouts/sidebar.blade.php dan tambahkan item menu:
Package laravel/ui sangat mempermudah pembuatan fitur autentikasi
karena meng-generate controller, view, dan route authentication secara otomatis hanya
dengan satu perintah artisan.
Custom migration memungkinkan penambahan kolom baru (username,
level, status) ke tabel yang sudah ada tanpa perlu
membuat ulang tabel dari awal.
Integrasi template SB Admin 2 menghasilkan tampilan aplikasi yang
profesional dan responsif dengan memanfaatkan fitur Blade seperti @include,
@extends, @yield, dan @section.
Layout modular (main, sidebar, topbar) menerapkan prinsip Don't Repeat Yourself
sehingga perubahan pada satu komponen langsung diterapkan ke seluruh halaman yang
menggunakannya.
Resource Controller menghasilkan 7 method CRUD secara lengkap dan terstruktur.
Penyimpanan level dalam format JSON memungkinkan satu user memiliki
lebih dari satu peran (role) sekaligus.
DataTables memberikan fitur pencarian, pengurutan, dan paginasi otomatis pada tabel
data user tanpa perlu implementasi manual.
๐
Source Code & Portofolio
Lihat seluruh project dan laporan praktikum di GitHub