LARAVEL AUTH, CRUD Multi Level User

Publised: Kamis, 5 Juni 2025 | Author: Sherly Ananda Putri - 2311532017

Pada praktikum ini, saya akan melanjutkan project dari minggu sebelumnya tentang pengembangan project laravel. Tujuan dari Pembelajaran yaitu mahasiswa mampu installasi Laravel, membuat project baru Laravel, mengenal struktur Laravel, konsep MVC laravel.

Tools yang saya gunakan:

- Komputer/Laptop

- XAMPP: Sebagai local web server untuk menjalankan PHP dan MySQL di komputer lokal.

xampp-image

- Visual Studio Code: Sebagai code editor untuk menulis skrip PHP dan HTML.

vscode-image

- Composer, Git, Node JS, NPM: Untuk manajemen paket dan dependensi.

Fitur-fitur pada Laravel

1. Eloquent ORM (Object-Relational Mapping): Memudahkan operasi database dengan pendekatan OOP.

2. Blade Templating Engine: Templating engine yang efisien dan bersih.

3. Artisan Console: Command-line interface (CLI) yang disertakan dengan Laravel.

4. Routing: Sistem perutean yang fleksibel memungkinkan untuk mendefinisikan URL aplikasi dan mengaitkannya dengan controller atau closure functions.

5. Middleware: Digunakan untuk autentikasi, logging, validasi, dan tugas-tugas lain sebelum atau sesudah request ditangani oleh aplikasi.

6. Form Request Validation: Memudahkan proses validasi data yang dikirim melalui form.

7. Security: Fitur keamanan laravel.

8. Authentication & Authorization: Menyediakan sistem otentikasi (login, registrasi, lupa kata sandi) dan otorisasi (hak akses pengguna) yang mudah diimplementasikan.

9. Testing: Dukungan bawaan untuk berbagai jenis pengujian, termasuk unit testing, integration testing, dan end-to-end testing.

10. Queues: Sistem antrian yang memungkinkan untuk menunda tugas-tugas yang memakan waktu

11. Caching: Mendukung berbagai sistem caching (seperti Redis, Memcached, file) untuk meningkatkan performa aplikasi dengan menyimpan data yang sering diakses dalam memori.

12. Events & Listeners: Implementasi dari pola Observer.

13. Notifications: Memudahkan pengiriman notifikasi ke berbagai saluran, seperti email, SMS, database, atau layanan pihak ketiga.

14. Broadcasting: Memungkinkan melakukan siaran event secara real-time melalui WebSockets.

15. Task Scheduling: Memungkinkan menjadwalkan tugas-tugas cron menggunakan sintaks yang ekspresif dalam kode PHP.

16. Passport (OAuth2 Server): Paket resmi untuk mengimplementasikan otentikasi OAuth2.

17. Sanctum (API Authentication): Paket ringan untuk mengimplementasikan sistem otentikasi berbasis token untuk Single-Page Applications (SPAs), mobile applications, dan simple APIs.

18. Socialite (Social Authentication): Memudahkan integrasi otentikasi dengan berbagai penyedia layanan OAuth seperti Facebook, Twitter, Google, dan lainnya.

19. Filesystem: Abstraksi untuk berinteraksi dengan berbagai sistem penyimpanan file, baik lokal maupun cloud (seperti Amazon S3 atau Google Cloud Storage).

20. Mail: Memudahkan pengiriman email dengan dukungan untuk berbagai driver seperti SMTP, Mailgun, dan Amazon SES.

21. Pusher (Realtime Services): Untuk menambahkanfitur realtime ke aplikasi.

22. Localization: (Realtime Services): Memudahkan pembuatan aplikasi multibahasa dengan fitur untuk mengelola terjemahan.

23. Packages: Memungkinkan dengan mudah menambahkan fungsionalitas tambahan ke aplikasi.

Langkah-langkah:

MANAGEMEN USERS

Untuk membuat fitur managemen users kita perlu menggunakan seluruh fungsi CRUD degan membuat controller resource.
Caranya dengan mengetikkan perintah berikut pada terminal/CMD:
php artisan make:controller UserController --resource
make-controller

Selanjutnya menambahkan kode use App\Http\Controllers\UserController; dan Route::resource('users', UserController::class); pada file routes/web.php di proyek laravel-sisfo.
route user-controller

Selanjutnya jika kita lihat pada terminal dengan memasukkan perintah php artisan route:list maka akan tampil:
route-list

1. File UserController Resource:
Masukkan kode berikut pada file UserController.php :




2. Membuat Form Create Users: Tambahkan method create() untuk menampilkan form create dan tambahkan plugin Select2 untuk dropdown level user.


3. Tampilkan Data User: Gunakan method index() dan view index.blade.php untuk menampilkan semua user menggunakan DataTables.

Syarat Laravel

4. Update Data User: Buat tombol edit pada daftar user yang mengarahkan ke method edit() dan menampilkan form untuk update data.

Gunakan method update() untuk menyimpan perubahan data user ke database. Syarat Laravel Tampilan edit:
Syarat Laravel

5. Hapus User: Tambahkan method destroy() untuk menghapus data user dari database.

Syarat Laravel
Pop up peringatan saat tombol hapus di klik: Syarat Laravel
Jika ditekan oke maka data user akan terhapus: Syarat Laravel

6. Menambahkan Menu User: Tambahkan link ke halaman user di file sidebar.blade.php agar bisa diakses dari navigasi.

Syarat Laravel

Sehingga pada tampilan sidebar akan bertambah menu user:
Syarat Laravel

Demikian Laporan 4 Praktikum Pemograman Web pertemuan 9 ini. Semoga Bermanfaat.
Kembali ke menu praktikum