Pada pertemuan kali ini, kita akan melanjutkan materi dari sesi sebelumnya. Pada kesempatan kali ini kita akan melakukan manajemen User
Pada pertemuan kali ini, kita akan melanjutkan materi dari sesi sebelumnya. Pada kesempatan kali ini kita akan melakukan manajemen User
Silakan buka project dari sesi sebelumnya yang telah sampai pada menampilkan tampilan Dashboard
Pertama-tama buka terminal/CMD kemudian ketikkan perintah berikut.
Setelah perintah tersebut dijalankan, pemetaan rute dapat dilihat dengan menjalankan perintah php artisan route:list, sehingga hasilnya akan tampak seperti pada gambar di bawah ini.
Selanjutkan tambahkan kode program berikut pada route web. Baris kode use App\Http\Controllers\UserController; digunakan untuk mengimpor atau memanggil UserController agar bisa digunakan dalam file ini. Selanjutnya, kita mendefinisikan route resource dengan perintah Route::resource('users', UserController::class);. Perintah ini akan secara otomatis menghasilkan beberapa route standar yang diperlukan untuk operasi CRUD (Create, Read, Update, Delete) pada resource users
Selanjutnya kita akan menampilkan halaman form untuk menambahkan data user. Untuk itu, buka file UserController.php, kemudian edit method create() agar berisi kode berikut:
Kode ini memiliki fungsi untuk menampilkan halaman view yang berisi form tambah data user. Perintah return view('user.create') berarti kita mengarahkan Laravel untuk membuka file view bernama create.blade.php yang berada di dalam folder user pada direktori resources/views
Langkah selanjutnya adalah membuat folder dan file untuk view form tambah data user. Dengan cara masuk ke direktori resources/views lalu buat sebuah folder baru dengan nama user. Di dalam folder user, buat file baru dengan nama create.blade.php, kemudian isikan dengan kode berikut
Selanjutnya tambahkan file css dan javascript select2 kedalam layout main.blade.php
Selanjutnya membuat form inputan create user, silahkan edit user/create.blade.php menjadi seperti kode program berikut.
Apabila seluruh kode dapat dijalankan dengan benar, maka akan muncul tampilan seperti berikut
Langkah selanjutnya adalah menambahkan kode pada method store agar dapat menangani proses penyimpanan data user baru yang dikirim dari form. Tambahkan kode berikut ke dalam method store
Pada bagian ini, method store() bertugas untuk menerima dan memproses data yang dikirim dari form tambah user (create.blade.php). Form tersebut menggunakan method POST dan akan secara otomatis diarahkan ke route users.store. Data dari form akan diambil menggunakan $request->get('nama_input'), di mana 'nama_input' adalah name attribute dari input pada form. Data tersebut kemudian disimpan ke dalam instance model User. Untuk password, digunakan fungsi Hash::make() agar password disimpan dalam bentuk terenkripsi di database. Setelah semua data diisi, perintah $user->save(); digunakan untuk menyimpan data tersebut ke dalam tabel users. Jika proses penyimpanan berhasil, pengguna akan diarahkan kembali ke halaman daftar user
Setelah menyelesaikan fungsi create, langkah selanjutnya adalah menampilkan data user. Untuk menampilkan data user, kita akan menggunakan metode GET pada endpoint http://localhost/users. Route ini mengarah ke action index pada UserController. Silakan buka fungsi index pada UserController, kemudian lengkapi kode programnya sesuai dengan kode berikut:
Selanjutnya buat file dengan nama index.blade.php pada folder views/user dan isi dengen kode program berikut
Karena kita akan menggunakan datatables, maka tambahkan file css datatable pada bagian head main.blade.php dan file js datatables pada bagian bawah body main.blade.php.
Tambahkan tombol Create dengan menambahkan kode berikut pada bagian atas file index.blade.php. Tombol ini akan mengarahkan ke halaman create user untuk menambahkan data pengguna baru.
Setelah berhasil menampilkan data user, langkah selanjutnya adalah membuat fitur untuk mengedit data user. Proses update ini memerlukan dua langkah utama, Menampilkan form edit menggunakan method GET ke route users/{user}/edit, yang akan memanggil action edit pada UserController dan Menyimpan perubahan data menggunakan method PUT ke route users/{user}, yang akan memanggil action update pada UserController. Langkah pertama adalah menambahkan tombol Edit pada halaman daftar user. Silakan buka file user/index.blade.php, lalu pada kolom Action, tambahkan tombol berikut:
Setelah tombol Edit ditambahkan pada halaman daftar user, langkah selanjutnya adalah membuat action edit pada UserController untuk menampilkan form edit. Silakan buka file UserController, lalu tambahkan kode berikut pada method edit
Method edit ini menerima parameter $id dari URL. Kemudian mencari data user berdasarkan ID menggunakan findOrFail(). Jika data ditemukan, hasilnya disimpan dalam variabel $user. Data tersebut kemudian dikirim ke view user.edit agar bisa ditampilkan dalam form edit.
Selanjutnya silahkan buat edit.blade.php didalam folder users dan isikan dengan kode program berikut.
Setelah berhasil menampilkan form edit, langkah berikutnya adalah memproses dan menyimpan perubahan data user ke dalam database. Silakan buka file UserController, lalu tambahkan kode berikut pada method update
Langkah terakhir dalam manajemen data user adalah menghapus data user. Untuk itu, kita perlu menambahkan tombol Delete pada halaman daftar user. Silakan buka file user/index.blade.php, lalu tambahkan tombol Delete di bawah kode tombol Edit. Tombol ini akan mengirimkan permintaan DELETE ke route users/{user}, yang nantinya akan diproses oleh method destroy di UserController. Berikut kode dari tombol delete tersebut
Setelah tombol Delete ditambahkan pada halaman daftar user, langkah selanjutnya adalah membuat fungsi untuk menangani proses penghapusan data user dari database. Silakan buka file UserController, lalu tambahkan method destroy() dengan kode berikut:
Fungsi destroy() menerima parameter $id dari URL. Lalu data user dicari berdasarkan ID menggunakan findOrFail(). Jika data ditemukan, maka akan langsung dihapus dengan method delete(). Setelah itu, pengguna akan diarahkan kembali ke halaman daftar user dengan notifikasi bahwa data telah berhasil dihapus.
Agar pengguna dapat dengan mudah mengakses halaman manajemen data user, kita perlu menambahkan menu navigasi khusus untuk Users pada bagian sidebar aplikasi. Silakan buka file layouts/sidebar.blade.php, lalu tambahkan kode berikut untuk menambahkan item menu baru yang mengarah ke halaman daftar user. Menu ini akan mempermudah navigasi ke halaman users.index, yang berisi daftar seluruh user yang terdaftar dalam sistem.
Dalam praktikum ini, saya telah berhasil mengimplementasikan fitur manajemen user pada aplikasi berbasis web menggunakan Laravel. Fitur-fitur yang dikembangkan mencakup operasi CRUD (Create, Read, Update, Delete), mulai dari menambahkan user baru, menampilkan daftar user, mengedit data user, hingga menghapus data user dari sistem. Setiap proses diatur melalui kombinasi penggunaan controller, routing, dan tampilan blade template yang saling terintegrasi. Selain itu, saya juga menambahkan tombol aksi seperti Edit dan Delete pada daftar user untuk memudahkan pengelolaan data, serta menu navigasi Users pada sidebar agar akses ke fitur ini menjadi lebih cepat dan efisien. Dengan terselesaikannya fitur ini, aplikasi menjadi lebih lengkap dan siap digunakan dalam pengelolaan data pengguna secara sistematis.