{"id":107,"date":"2025-06-03T14:15:38","date_gmt":"2025-06-03T14:15:38","guid":{"rendered":"https:\/\/dila.infokand23.my.id\/blog\/?p=107"},"modified":"2025-06-03T14:15:38","modified_gmt":"2025-06-03T14:15:38","slug":"praktikum-8-pemrograman-web-laravel-auth","status":"publish","type":"post","link":"https:\/\/dila.infokand23.my.id\/blog\/praktikum-8-pemrograman-web-laravel-auth\/","title":{"rendered":"Praktikum 8 Pemrograman Web &#8211; Laravel Auth"},"content":{"rendered":"\n<p>Laporan Praktikum 8 Pemrograman Web<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Membuat Project Laravel dengan Nama Laravel-sisfo<\/li>\n<\/ol>\n\n\n\n<p>Untuk membuat project baru, kita dapat menggunakan composer dengan mengetikkan perintah pada cmder:<br><strong>composer create-project laravel\/laravel=^12.0 laravel-sisfo &#8211;prefer-dist<\/strong><\/p>\n\n\n\n<p>Dengan perintah ini, Composer akan menginstal seluruh kerangka kerja (framework) Laravel versi 12.x beserta semua dependensi PHP yang diperlukan untuk menjalankan aplikasi Laravel dasar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"101\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image.jpg\" alt=\"\" class=\"wp-image-109\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-300x50.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>Jalankan project dengan perintah <strong>php artisan serve.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Konfigurasi Database<\/li>\n<\/ul>\n\n\n\n<p>Bula file .env kemudian sesuaikan konfigurasi databasenya.<\/p>\n\n\n\n<p>DB_CONNECTION=mysql<\/p>\n\n\n\n<p>DB_HOST=127.0.0.1<\/p>\n\n\n\n<p>DB_PORT=3306<\/p>\n\n\n\n<p>DB_DATABASE=laravel_sisfo<\/p>\n\n\n\n<p>DB_USERNAME=root<\/p>\n\n\n\n<p>DB_PASSWORD=<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>User Authentication<\/li>\n\n\n\n<li>Install Package Laravel\/UI<\/li>\n<\/ul>\n\n\n\n<p>Ketikkan perintah <strong>composer require laravel\/ui <\/strong>di terminal atau cmd.<\/p>\n\n\n\n<p>Fungsinya untuk menginstal paket UI (User Interface) resmi Laravel yang menyediakan scaffolding otentikasi (login, register, reset password) dasar dan frontend preset (Blade, Bootstrap, Vue, React).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"101\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image.jpg\" alt=\"\" class=\"wp-image-108\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-300x50.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Authentication Fitur<\/li>\n<\/ul>\n\n\n\n<p>Ketikkan perintah berikut pada terminal \/ cmd&nbsp; <strong>php artisan ui bootstrap \u2013auth<\/strong><\/p>\n\n\n\n<p>Fungsinya untuk menginstal scaffolding otentikasi (login, register, dll.) dengan styling menggunakan Bootstrap, termasuk tampilan (views), rute (routes), dan controller yang diperlukan.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"73\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-1.jpg\" alt=\"\" class=\"wp-image-110\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-1.jpg 462w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-1-300x47.jpg 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install dan Compile<\/li>\n<\/ul>\n\n\n\n<p>Ketikkan perintah <strong>npm install &amp;&amp; npm run dev<\/strong> untuk menginstall dan compile file-file asset bawaan, dengan perintah diatas maka file-file yang dibutuhkan untuk authentication akan di generate secara otomatis, seperti halaman login, register dan forgot password, selain itu juga akan gi generate controller auth.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"260\" height=\"233\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-2.jpg\" alt=\"\" class=\"wp-image-111\"\/><\/figure>\n\n\n\n<p>Dan akan ditambahkan folder auth ke project kita<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"227\" height=\"238\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-3.jpg\" alt=\"\" class=\"wp-image-112\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migration<\/li>\n<\/ul>\n\n\n\n<p>Ketikkan perintah <strong>php artisan migrate<\/strong> maka Laravel akan membuat migration table authentication, jika sebelumnya belum terdapat database maka akan ada konfirmasi dari laravel apakah akan dibuatkan databasenya atau tidak.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"129\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-4.jpg\" alt=\"\" class=\"wp-image-113\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-4.jpg 428w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-4-300x90.jpg 300w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Halaman Login<\/li>\n<\/ul>\n\n\n\n<p>Akses url <a href=\"http:\/\/127.0.0.1:8000\/login\">http:\/\/127.0.0.1:8000\/login<\/a> pada browser maka akan tampil halaman login<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"339\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-5.jpg\" alt=\"\" class=\"wp-image-114\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-5.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-5-300x169.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Halaman Regsiter<\/li>\n<\/ul>\n\n\n\n<p>Akses url <a href=\"http:\/\/127.0.0.1:8000\/register\">http:\/\/127.0.0.1:8000\/register<\/a> pada browser maka akan tampil halaman register<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"339\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-7.jpg\" alt=\"\" class=\"wp-image-116\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-7.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-7-300x169.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p>Fitur authentication Laravel akan mengenerate controller, model, view dan route authentication secara otomatis, selain itu juga tampilan view sudah menggunakan framework boostrap sehingga mempermudah dalam membuat fitur authentication pada aplikasi.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Custom Table Users<\/li>\n<\/ul>\n\n\n\n<p>Authentication Laravel secara otomatis akan mengenerate table Users yang berisi tentang informasi data user dan perlu ditambahken beberapa field yaitu username, level dan status, maka perlu membuat sebuah migration untuk menambahkan field-field diatas, ketikkan perintah berikut pada terminal atau cmd <strong>php artisan make:migration costum_table_users. <\/strong>Perintah ini digunakan untuk membuat file migrasi database baru di Laravel dengan nama costum_table_users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"202\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-6.jpg\" alt=\"\" class=\"wp-image-115\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-6.jpg 376w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-6-300x161.jpg 300w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/figure>\n\n\n\n<p>Di folder migrations akan terbuat file baru yaitu custom table user yang dibuat menggunakan perintah tadi. Kemudian buka file costum_table_users.php dan isikan dengan kode program berikut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"376\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-9.jpg\" alt=\"\" class=\"wp-image-118\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-9.jpg 526w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-9-300x214.jpg 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<p>Kemudian jalankan perintah php artisan migrate, jika berhasil maka struktur table users telah berubah<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"323\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-11.jpg\" alt=\"\" class=\"wp-image-120\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-11.jpg 310w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-11-288x300.jpg 288w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seeding User<\/li>\n<\/ul>\n\n\n\n<p>Buat seeder dengan perintah <strong>php artisan make:seeder AdminSeeder <\/strong>yang akan membuat file AdminSeeder.php pada folder Seeder dan gunakan untuk buat akun admin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"382\" height=\"281\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-8.jpg\" alt=\"\" class=\"wp-image-117\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-8.jpg 382w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-8-300x221.jpg 300w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/figure>\n\n\n\n<p>Selanjutnya untuk menjalankan seeding dengan cara menjalankan perintah berikut . <strong>php artisan db:seed &#8211;class=AdminSeeder. <\/strong>Jika berhasil maka akan muncul seperti ini:<br><img loading=\"lazy\" decoding=\"async\" width=\"389\" height=\"68\" src=\"blob:https:\/\/dila.infokand23.my.id\/64b95ee2-a372-4c68-99df-e73cc3999676\"><\/p>\n\n\n\n<p>Kita dapat login dengan menggunakan akun tersebut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"303\" height=\"123\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-10.jpg\" alt=\"\" class=\"wp-image-119\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-10.jpg 303w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-10-300x122.jpg 300w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Templating dan Layouting<\/li>\n<\/ul>\n\n\n\n<p>Kita akan menggunakan template SB Admin 2 dengan framework bootstrap, silahkan downloah template pada link https:\/\/startbootstrap.com\/theme\/sb-admin-2 kemudian extrak, selanjutnya buat folder pada public project Laravel dengan nama sbadmin dan copy paste kan seluruh asset template sbadmin kedalam folder tersebut.<\/p>\n\n\n\n<p>Buka file app.blade.php dan sesuaikan kodenya:<\/p>\n\n\n\n<div class=\"wp-block-group has-ast-global-color-5-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>&lt;!DOCTYPE html&gt;<\/p>\n\n\n\n<p>&lt;html lang=&#8221;en&#8221;&gt;<\/p>\n\n\n\n<p>&lt;head&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta charset=&#8221;utf-8&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta http-equiv=&#8221;X-UA-Compatible&#8221; content=&#8221;IE=edge&#8221;&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1, shrink-to-fit=no&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta name=&#8221;description&#8221; content=&#8221;&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta name=&#8221;author&#8221; content=&#8221;&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;title&gt;Sisfo &#8211; Login&lt;\/title&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom fonts for this template&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;link href=&#8221;{{ asset(&#8216;sbadmin\/vendor\/fontawesome<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; free\/css\/all.min.css&#8217;) }}&#8221; rel=&#8221;stylesheet&#8221; type=&#8221;text\/css&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;link<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 href=&#8221;https:\/\/fonts.googleapis.com\/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i rel=&#8221;stylesheet&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom styles for this template&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;link href=&#8221;{{ asset(&#8216;sbadmin\/css\/sb-admin-2.min.css&#8217;) }}&#8221; rel=&#8221;stylesheet&#8221;&gt;<\/p>\n\n\n\n<p>&lt;\/head&gt;<\/p>\n\n\n\n<p>&lt;body class=&#8221;bg-gradient-primary&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;div class=&#8221;container&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Outer Row &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;row justify-content-center&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;col-xl-6 col-lg-6 col-md-9&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;card o-hidden border-0 shadow-lg my-5&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;card-body p-0&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Nested Row within Card Body &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;row&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; &lt;div class=&#8221;col-lg-6 &#8220;&gt;&lt;\/div&gt; &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;col-lg-12 text-center&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;p-5&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;text-center&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;h1 class=&#8221;h4 text-gray-900 mb4&#8243;&gt;Halaman Login&lt;\/h1&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;form class=&#8221;user&#8221; method=&#8221;POST&#8221; action=&#8221;{{ route(&#8216;login&#8217;) }}&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @csrf<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;form-group&#8221;&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;input id=&#8221;email&#8221; type=&#8221;email&#8221; class=&#8221;form-control form-control-user @error(&#8217;email&#8217;) is-invalid<\/p>\n\n\n\n<p>@enderror&#8221;<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 name=&#8221;email&#8221; value=&#8221;{{ old(&#8217;email&#8217;) }}&#8221; required autocomplete=&#8221;email&#8221; autofocus \/><\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @error(&#8217;email&#8217;)<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;span class=&#8221;invalid feedback&#8221; role=&#8221;alert&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;strong&gt;{{ $message }}&lt;\/strong&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/span&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @enderror<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;form-group&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input id=&#8221;password&#8221; type=&#8221;password&#8221;<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 class=&#8221;form-control form-control-user @error(&#8216;password&#8217;) is-invalid @enderror&#8221;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name=&#8221;password&#8221; value=&#8221;{{ old(&#8216;password&#8217;) }}&#8221; required \/&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @error(&#8216;password&#8217;)<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;span class=&#8221;invalid feedback&#8221; role=&#8221;alert&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;strong&gt;{{ $message }}&lt;\/strong&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/span&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @enderror<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &lt;button type=&#8221;submit&#8221; class=&#8221;bt btn-primary btn-user btn-block&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; login<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/button&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/form&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Bootstrap core JavaScript&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/vendor\/jquery\/jquery.min.js&#8217;) }}&#8221;&gt;&lt;\/script&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;vendor\/bootstrap\/js\/bootstrap.bundle.min.js&#8221;&gt;&lt;\/script&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Core plugin JavaScript&#8211;&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/vendor\/jquery easing\/jquery.easing.min.js&#8217;) }}&#8221;>&lt;\/script><\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom scripts for all pages&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/js\/sb-admin-2.min.js&#8217;) }}&#8221;&gt;&lt;\/script&gt;<\/p>\n\n\n\n<p>&lt;\/body&gt;<\/p>\n\n\n\n<p>&lt;\/html&gt;<\/p>\n<\/div>\n\n\n\n<p>Dengan kode ini, tampilan halaman login akan berubah<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"339\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-12.jpg\" alt=\"\" class=\"wp-image-121\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-12.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-12-300x169.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p><strong>Layout Global<\/strong><\/p>\n\n\n\n<p>layout ini akan digunakan sebagai layout utama aplikasi dan view-view lain akan mengambil resource disini, karena app.blade.php sudah digunakan untuk view login, maka kita perlu membuat layout baru. Buat file dengan nama main.blade.php pada folder view\/layouts.<\/p>\n\n\n\n<div class=\"wp-block-group has-ast-global-color-5-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>&lt;!DOCTYPE html&gt;<\/p>\n\n\n\n<p>&lt;html lang=&#8221;en&#8221;&gt;<\/p>\n\n\n\n<p>&lt;head&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta charset=&#8221;utf-8&#8243;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta http-equiv=&#8221;X-UA-Compatible&#8221; content=&#8221;IE=edge&#8221;&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1, shrink-to-fit=no&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta name=&#8221;description&#8221; content=&#8221;&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;meta name=&#8221;author&#8221; content=&#8221;&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;title&gt;Sisfo &#8211; @yield(&#8216;judul&#8217;)&lt;\/title&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom fonts for this template&#8211;&gt;<\/p>\n\n\n\n<p>\u00a0 \u00a0 &lt;link href=&#8221;{{ asset(&#8216;sbadmin\/vendor\/fontawesomefree\/css\/all.min.css&#8217;) }}&#8221; rel=&#8221;stylesheet&#8221; type=&#8221;text\/css&#8221;><\/p>\n\n\n\n<p>\u00a0 \u00a0 &lt;link href=&#8221;https:\/\/fonts.googleapis.com\/cssfamily=Nunito:200,200i,300,\u00a0300i,400,400i,600,600i,700,700i,800,800i,900,900i rel=&#8221;stylesheet&#8221;><\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom styles for this template&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;link href=&#8221;{{ asset(&#8216;sbadmin\/css\/sb-admin-2.min.css&#8217;) }}&#8221; rel=&#8221;stylesheet&#8221;&gt;<\/p>\n\n\n\n<p>&lt;\/head&gt;<\/p>\n\n\n\n<p>&lt;body id=&#8221;page-top&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Page Wrapper &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;div id=&#8221;wrapper&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Sidebar &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; @include(&#8216;layouts.sidebar&#8217;)<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; End of Sidebar &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Content Wrapper &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&#8221;content-wrapper&#8221; class=&#8221;d-flex flex-column&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Main Content &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div id=&#8221;content&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Topbar &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @include(&#8216;layouts.topbar&#8217;)<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; End of Topbar &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Begin Page Content &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;container-fluid&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Page Heading &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;h1 class=&#8221;h3 mb-4 text-gray-800&#8243;&gt;@yield(&#8216;judul&#8217;)&lt;\/h1&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @yield(&#8216;konten&#8217;)<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; \/.container-fluid &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; End of Main Content &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; Footer &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;footer class=&#8221;sticky-footer bg-white&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;container my-auto&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;copyright text-center my-auto&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;span&gt;Copyright &amp;copy; Sisfo&lt;\/span&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/footer&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; End of Footer &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;!&#8211; End of Content Wrapper &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; End of Page Wrapper &#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Scroll to Top Button&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;a class=&#8221;scroll-to-top rounded&#8221; href=&#8221;#page-top&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;i class=&#8221;fas fa-angle-up&#8221;&gt;&lt;\/i&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;\/a&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Logout Modal&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;div class=&#8221;modal fade&#8221; id=&#8221;logoutModal&#8221; tabindex=&#8221;-1&#8243; role=&#8221;dialog&#8221; aria-labelledby=&#8221;exampleModalLabel&#8221;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; aria-hidden=&#8221;true&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;modal-dialog&#8221; role=&#8221;document&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;modal-content&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;modal-header&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;h5 class=&#8221;modal-title&#8221; id=&#8221;exampleModalLabel&#8221;&gt;Yakin<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; akan keluar aplikasi ?&lt;\/h5&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;button class=&#8221;close&#8221; type=&#8221;button&#8221; data dismiss=&#8221;modal&#8221; aria-label=&#8221;Close&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;span aria-hidden=&#8221;true&#8221;&gt;\u00d7&lt;\/span&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/button&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;modal-body&#8221;&gt;Silahkan klik tombol logout untuk<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; keluar aplikasi&lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&#8221;modal-footer&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;button class=&#8221;btn btn-secondary&#8221; type=&#8221;button&#8221; data dismiss=&#8221;modal&#8221;&gt;Cancel&lt;\/button&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;form action=&#8221;{{ route(&#8216;logout&#8217;) }}&#8221; method=&#8221;POST&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @csrf<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;button class=&#8221;btn btn-primary&#8221; style=&#8221;cursor:pointer&#8221;&gt;Logout&lt;\/button&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/form&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;\/div&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Bootstrap core JavaScript&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/vendor\/jquery\/jquery.min.js&#8217;) }}&#8221;&gt;&lt;\/script&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/vendor\/bootstrap\/js\/bootstrap.bundle.min.js&#8217;) }}&#8221;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &lt; \/s<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; cript &gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; !&#8211;Core plugin JavaScript&#8211; &gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; script src = &#8220;{{ asset(&#8216;sbadmin\/vendor\/jquery easing\/jquery.easing.min.js&#8217;) }}&#8221; &gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;\/script&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;!&#8211; Custom scripts for all pages&#8211;&gt;<\/p>\n\n\n\n<p>&nbsp; &nbsp; &lt;script src=&#8221;{{ asset(&#8216;sbadmin\/js\/sb-admin-2.min.js&#8217;) }}&#8221;&gt;&lt;\/script&gt;<\/p>\n\n\n\n<p>&lt;\/body&gt;<\/p>\n\n\n\n<p>&lt;\/html&gt;<\/p>\n<\/div>\n\n\n\n<p>Pada layouts main.blade.php diatas layout ini akan memanggil view sidebar.blade.php dan view topbar.blade.php kedalam layout main.blade.php dengan menggunakan perintah @include sehingga tampilan kedua view tersebut akan tampil pada layout main. Selanjutnya juga akan menampilkan data judul dan konten dari view yang akan menggunakan layouts main.blade.php dengan perintah @yeild(\u2018judul\u2019) dan @yeild(\u2018konten).<\/p>\n\n\n\n<p><strong>Sidebar<\/strong><\/p>\n\n\n\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/strong>Buat file sidebar.blade.php pada folder layouts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"349\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-13.jpg\" alt=\"\" class=\"wp-image-122\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-13.jpg 462w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-13-300x227.jpg 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/figure>\n\n\n\n<p><strong>Topbar<\/strong><\/p>\n\n\n\n<p>Buat juga file topbar.blade.php di folder yang sama.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"494\" height=\"350\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-14.jpg\" alt=\"\" class=\"wp-image-123\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-14.jpg 494w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-14-300x213.jpg 300w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/figure>\n\n\n\n<p><strong>Penggunaan Layouts main.blade.php<\/strong><\/p>\n\n\n\n<p>Untuk menggunakan layouts main, gunakan @extends(\u2018layouts.main\u2019) sehingga seluruh tampilan main.blade.php akan ditampilkan pada view home, untuk menampilkan data judul pada layout main dengan perintah @section(\u2018judul\u2019)Dashboard @endsection dan konten dengan cara @section(\u2018judul\u2019)Dashboard @endsection<\/p>\n\n\n\n<p>Caranya masuk ke <a href=\"http:\/\/home.blade.php\">home.blade.php<\/a> dan isikan:<\/p>\n\n\n\n<div class=\"wp-block-group has-ast-global-color-5-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>@extends(&#8216;layouts.main&#8217;)<\/p>\n\n\n\n<p>@section(&#8220;judul&#8221;) Dasboard @endsection<\/p>\n\n\n\n<p>@section(&#8216;konten&#8217;)<\/p>\n\n\n\n<p>&lt;P&gt;dashboard&lt;\/P&gt;<\/p>\n\n\n\n<p>@endsection<\/p>\n<\/div>\n\n\n\n<p>Jika konfigurasi berhasil, maka tampilannya akan berubah menjadi:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"339\" src=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-15.jpg\" alt=\"\" class=\"wp-image-124\" srcset=\"https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-15.jpg 602w, https:\/\/dila.infokand23.my.id\/blog\/wp-content\/uploads\/2025\/06\/image-15-300x169.jpg 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Laporan Praktikum 8 Pemrograman Web Untuk membuat project baru, kita dapat menggunakan composer dengan mengetikkan perintah pada cmder:composer create-project laravel\/laravel=^12.0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":125,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/comments?post=107"}],"version-history":[{"count":1,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/107\/revisions"}],"predecessor-version":[{"id":126,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/posts\/107\/revisions\/126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/media\/125"}],"wp:attachment":[{"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/media?parent=107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/categories?post=107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dila.infokand23.my.id\/blog\/wp-json\/wp\/v2\/tags?post=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}