Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:
- Membangun aplikasi web sistem informasi (SISFO) berbasis Laravel dengan arsitektur MVC (Model-View-Controller) secara lengkap.
- Mengonfigurasi environment database dan menjalankan Migration untuk membuat skema tabel secara otomatis.
- Mengintegrasikan sistem autentikasi (login, logout) menggunakan paket Laravel UI dengan scaffolding Bootstrap.
- Melakukan kustomisasi tabel
usersdengan menambahkan kolomusername,level, danstatusmelalui migration tambahan. - Membuat Seeder untuk mengisi data akun admin awal ke dalam database secara otomatis.
- Mengintegrasikan template dashboard SB Admin 2 sebagai tampilan antarmuka aplikasi SISFO.
- Membangun fitur manajemen pengguna (CRUD Users) lengkap dengan validasi form, DataTables, dan Select2.
Konfigurasi Environment (.env): File .env menyimpan seluruh konfigurasi sensitif aplikasi seperti kredensial database, agar terpisah dari kode utama dan tidak ikut di-commit ke repository.
Migration: Fitur version control untuk skema database di Laravel. Setiap perubahan struktur tabel didefinisikan dalam file PHP, sehingga skema dapat direproduksi secara konsisten di berbagai mesin pengembang.
Seeding: Proses pengisian data awal (default/dummy) ke dalam tabel database secara otomatis menggunakan kelas Seeder, sangat berguna untuk data admin, konfigurasi, atau data uji coba.
Laravel UI: Paket resmi Laravel untuk men-generate scaffold autentikasi (login, register, reset password) beserta aset frontend Bootstrap, sehingga mempercepat setup sistem login.
Model (Eloquent ORM): Representasi berorientasi objek dari sebuah tabel database. Melalui Eloquent, operasi seperti menyimpan, mengambil, memperbarui, dan menghapus data dilakukan tanpa menulis SQL mentah.
Resource Controller: Tipe controller Laravel yang secara otomatis menyediakan tujuh method standar CRUD (index, create, store, show, edit, update, destroy) yang terhubung dengan satu baris deklarasi Route::resource.
Blade Template Engine: Sistem template bawaan Laravel yang mendukung inheritance layout (@extends, @section, @yield, @include) untuk membangun antarmuka yang modular dan reusable.
SB Admin 2: Template dashboard Bootstrap gratis yang menyediakan komponen UI siap pakai seperti sidebar, topbar, DataTables, Select2, dan berbagai widget administrasi.
- Laptop / Komputer dengan sistem operasi Windows
- Laragon (Local Development Environment: Apache, MySQL, PHP)
- Visual Studio Code (Code Editor)
- Web Browser (Google Chrome / Mozilla Firefox)
- Composer (PHP Dependency Manager)
- Node.js & NPM Package Manager
- phpMyAdmin (Database Manager via Browser)
- Template SB Admin 2 (dari startbootstrap.com)
Bagian ini mencakup pembuatan project Laravel baru, konfigurasi database, serta instalasi sistem autentikasi dasar.
Pastikan Laragon sudah berjalan dengan Apache dan MySQL aktif (indikator hijau), kemudian buka terminal Laragon untuk memulai pengerjaan project.
Membuat project Laravel baru bernama laravel-sisfo menggunakan perintah Composer dari dalam folder www Laragon.
cd C:\laragon\www
laravel new laravel-sisfo
Membuat database baru bernama laravel_sisfo melalui antarmuka phpMyAdmin yang dapat diakses lewat browser.
Membuka file .env di VS Code dan mengatur kredensial koneksi database agar Laravel dapat terhubung ke database laravel_sisfo yang baru dibuat.
Masuk ke direktori project, lalu jalankan migration pertama untuk membuat tabel-tabel default Laravel (users, password_reset_tokens, dll.) ke database.
cd C:\laragon\www\laravel-sisfo
php artisan migrate
Menginstall paket laravel/ui yang menyediakan scaffold autentikasi siap pakai untuk Laravel, termasuk controller login, register, dan view-nya.
composer require laravel/ui
Menjalankan perintah generator untuk membuat file autentikasi lengkap berbasis Bootstrap. Jika ada pertanyaan replace, jawab yes.
php artisan ui bootstrap --auth
Menginstall dependensi Node.js, lalu mengompilasi aset CSS dan JavaScript menggunakan Vite. Tunggu hingga muncul tanda VITE ready, lalu tekan Ctrl+C untuk menghentikan proses dev server.
npm install
npm run dev
Setelah install Laravel UI, jalankan kembali php artisan migrate untuk memastikan semua tabel yang dibutuhkan autentikasi sudah terbuat.
php artisan migrate
Bagian ini mencakup penambahan kolom kustom pada tabel users, pembaruan Model User, serta pembuatan seeder untuk akun admin.
Membuat file migration baru untuk menambahkan kolom username, level, dan status ke tabel users yang sudah ada.
php artisan make:migration custom_table_users
Membuka file migration yang baru dibuat di folder database/migrations/, lalu mengisi method up() dan down() untuk mendefinisikan kolom tambahan.
Mengeksekusi migration agar kolom username, level, dan status benar-benar ditambahkan ke tabel users di database MySQL.
php artisan migrate
Membuka file app/Models/User.php dan mendaftarkan kolom baru (username, level, status) ke dalam property fillable Model.
Membuat file seeder khusus bernama AdminSeeder untuk mengisi data akun admin pertama ke dalam database secara otomatis.
php artisan make:seeder AdminSeeder
Membuka file database/seeders/AdminSeeder.php dan mendefinisikan data akun admin default sistem.
Mengeksekusi seeder untuk memasukkan data akun admin ke dalam database. Hasil yang diharapkan adalah munculnya pesan sukses di terminal.
php artisan db:seed --class=AdminSeeder
Bagian ini mencakup pemasangan template SB Admin 2 ke folder public dan pembuatan seluruh file layout Blade untuk tampilan aplikasi.
Mengunduh template SB Admin 2 dari situs resmi, mengekstrak file ZIP, lalu menyalin seluruh isi folder hasil ekstrak ke dalam folder public/sbadmin/ di dalam project Laravel.
Mengganti isi file resources/views/layouts/app.blade.php dengan halaman login bergaya template dashboard SB Admin 2.
Membuat file baru resources/views/layouts/main.blade.php sebagai layout master aplikasi yang menyertakan kerangka utama halaman admin dashboard.
Membuat file baru resources/views/layouts/sidebar.blade.php yang berisi menu navigasi utama seperti Dashboard dan Manajemen Users.
Membuat file baru resources/views/layouts/topbar.blade.php yang berisi navbar atas, profil nama user, dan opsi menu Logout.
Mengganti file resources/views/home.blade.php agar extends ke layout master baru dan menampilkan kartu selamat datang user.
Bagian ini mencakup pembuatan UserController beserta logika CRUD lengkap, konfigurasi routing, serta pembuatan file view manajemen pengguna.
Membuat file controller bernama UserController dengan boilerplate method CRUD standar menggunakan flag resource.
php artisan make:controller UserController --resource
Membuka file app/Http/Controllers/UserController.php dan menerapkan logika lengkap penanganan operasi Create, Read, Update, dan Delete data user.
Mengubah file routes/web.php untuk mendaftarkan rute autentikasi bawaan serta rute resource manajemen user yang dilindungi middleware keamanan.
Membuat folder user di dalam views, lalu membuat file index.blade.php untuk menampilkan tabel data daftar semua user sistem.
Membuat file form input create.blade.php yang digunakan untuk proses penambahan pengguna baru ke dalam database.
Membuat file komponen form edit.blade.php untuk memfasilitasi proses pembaruan data lama milik user.
Bagian ini adalah langkah terakhir: menjalankan server development dan menguji semua fungsionalitas aplikasi SISFO di browser.
Menjalankan server bawaan Laravel agar aplikasi dapat diakses melalui browser di alamat port lokal eksekusi.
php artisan serve
Membuka browser ke alamat lokal server dan melakukan login sistem menggunakan kredensial akun administrator dari seeder data awal.
Setelah autentikasi berhasil, pastikan halaman langsung dialihkan ke dashboard utama dengan menampilkan nama user login secara dinamis.
Menguji tampilan halaman indeks data user. Memastikan data termuat di dalam library tabel pencarian dan pagination dengan benar.
Mengklik tombol tambah data, mengisi field isian form, lalu menekan simpan untuk memverifikasi fungsionalitas insert data baru ke database.
Menguji fitur edit dengan mengubah data pengguna lama, menyimpan form, dan memeriksa apakah data pada tabel telah terupdate.
Memicu fungsi hapus pada salah satu baris user, menyetujui alert dialog konfirmasi, lalu memastikan data baris tersebut hilang dari tabel.
Mengklik opsi logout melalui menu navigasi, menyetujui modal konfirmasi keluar, dan memastikan session dihancurkan lalu halaman kembali ke login.
Melalui serangkaian tahapan praktikum ini, pembangunan aplikasi Sistem Informasi (SISFO) berbasis Laravel dengan arsitektur MVC berhasil diselesaikan secara penuh. Berikut ringkasan hasil yang dicapai:
- Konfigurasi Environment & Database: Koneksi antara Laravel dan MySQL lokal berhasil dibangun melalui pengaturan file
.env. Seluruh tabel default berhasil dibuat lewat migration awal. - Sistem Autentikasi: Fitur login dan logout berhasil berjalan menggunakan scaffold dari paket
laravel/ui. Halaman login berhasil ditampilkan dengan template SB Admin 2 yang terintegrasi. - Kustomisasi Tabel Users: Kolom
username,level, danstatusberhasil ditambahkan ke tabelusersmelalui migration tambahan tanpa perlu mengubah tabel secara manual di phpMyAdmin. - Seeder Admin: Data akun admin berhasil dimasukkan ke database secara otomatis menggunakan
AdminSeeder, sehingga aplikasi siap digunakan tanpa perlu membuat akun secara manual. - Template SB Admin 2: Tampilan dashboard profesional berhasil diintegrasikan dengan layout modular Blade (main, sidebar, topbar) yang reusable di seluruh halaman aplikasi.
- Fungsionalitas CRUD Users: Pengujian di browser membuktikan semua operasi manajemen pengguna (tambah, lihat, edit, hapus) berjalan lancar dengan validasi form yang aman, tampilan DataTables yang responsif, dan Select2 untuk pemilihan level pengguna.
Berdasarkan seluruh tahapan praktikum yang telah dilaksanakan, diperoleh beberapa poin kesimpulan penting:
- Pola arsitektur Model-View-Controller (MVC) pada Laravel mempermudah pengembangan aplikasi dengan memisahkan lapisan database (Model), tampilan antarmuka (View), dan logika pemrosesan (Controller) secara terstruktur.
- Fitur Migration memungkinkan pengelolaan skema database secara bertahap dan terdokumentasi, termasuk penambahan kolom baru tanpa mengganggu data yang sudah ada.
- Penggunaan Seeder mempercepat proses pengisian data awal seperti akun admin, sehingga aplikasi langsung siap diuji tanpa perlu input manual melalui antarmuka database.
- Integrasi Laravel UI dengan Bootstrap secara signifikan mempercepat pembangunan sistem autentikasi yang lengkap dan aman.
- Penggunaan Resource Controller dan
Route::resourcemenyederhanakan pendefinisian tujuh endpoint RESTful sekaligus dalam satu baris kode, meningkatkan produktivitas pengembangan. - Template SB Admin 2 yang diintegrasikan dengan Blade Layout menunjukkan bahwa pemisahan komponen UI (sidebar, topbar) ke file terpisah meningkatkan keterbacaan dan kemudahan pemeliharaan kode.