{"id":984,"date":"2022-02-01T17:08:57","date_gmt":"2022-02-01T10:08:57","guid":{"rendered":"https:\/\/duniacoding.info\/?p=984"},"modified":"2022-04-02T12:44:57","modified_gmt":"2022-04-02T05:44:57","slug":"belajar-laravel-crud-pada-laravel-1","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-laravel-crud-pada-laravel-1\/","title":{"rendered":"Belajar Laravel 8 #8 : CRUD pada Laravel Part 1"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png\" alt=\"Belajar Laravel 8 #8 : CRUD pada Laravel Part 1\" class=\"wp-image-762\" width=\"835\" height=\"418\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png 512w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314-300x150.png 300w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/><\/figure>\n\n\n\n<p>Setelah kemarin kita mempelajari tentang <em>Database<\/em>, <em>Faker <\/em>dan <em>Seeder. <\/em>Kali ini kita akan membahas CRUD pada Laravel. Teman-teman pasti sudah Familiar dengan sistem CRUD (Create, Read, Update, Delete), CRUD ini merupakan salah satu bagian penting dalam pengembangan Aplikasi, entah itu di Website ataupun di platform lainnya.<\/p>\n\n\n\n<p>Nah di Artikel ini kita akan membahas CRUD pada Laravel. Laravel memiliki beberapa hal yang akan memudahkan kita dalam membuat sistem CRUD, yaitu namanya <em>resource<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"penjelasan-crud-pada-laravel\">Penjelasan CRUD pada Laravel<\/h2>\n\n\n\n<p>Seperti yang aku jelaskan diatas, CRUD pada Laravel ini dimudahkan dengan yang namanya <em>resource<\/em>. Fitur ini akan memudahkan kita dalam membuat <em>Controller <\/em>yang nantinya kita gunakan untuk Fitur CRUD ini. Disini kita akan Praktekkan untuk CRUD Siswa dari awal instalasi sampai selesai.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"proses-pembuatan-metode-crud\">Proses Pembuatan Metode CRUD<\/h2>\n\n\n\n<p>Pada Artikel Part 1 ini, kita akan melakukan setting untuk Metode <em><code>CRUD <\/code><\/em>ini, sampai nanti kita bisa menggunakan satu Fitur terlebih dahulu yaitu <em><code>Read<\/code><\/em>. Kita akan mulai dari instalasi Laravel sampai Projek <em><code>Read<\/code><\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"install-projek-laravel\">Install Projek Laravel<\/h3>\n\n\n\n<p>Proses instalasi ini bisa kalian lihat di artikel <a href=\"https:\/\/duniacoding.info\/belajar-laravel-2-cara-instalasi-laravel\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel #2 : Cara Instalasi Laravel<\/a>, atau bisa kalian lihat seperti dibawah ini. Pertama, buka terminal lalu jalankan syntax dibawah ini<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncomposer create-project laravel\/laravel crud-system\n<\/pre><\/div>\n\n\n<p>Nah kita namai Projek kita dengan nama <em><code>crud-system<\/code><\/em> untuk menyesuaikan dengan Hal yang ingin kita kejar yaitu Metode CRUD. Apabila sudah selesai, tinggal jalankan Projek <code>Laravel<\/code> kita beserta Web Server sederhana seperti <em><code>xampp<\/code><\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mengatur-database\">Mengatur Database<\/h3>\n\n\n\n<p>Setelah selesai instalasi dan menjalankan Laravel, yang harus kita lakukan berikutnya adalah mengatur <code><em>Database <\/em><\/code>yang akan kita gunakan untuk Metode <code>CRUD<\/code> kita. Kalau teman-teman ingin membaca lebih detail tentang Database ini bisa kalian lihat di Artikel <a href=\"https:\/\/duniacoding.info\/belajar-laravel-database-migrations\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel 8 #6 : Database Migrations<\/a>. <\/p>\n\n\n\n<p>Nah, kalau di artikel ini kita akan membuat <code>Database <\/code>untuk Data Karyawan saja. Jadi nanti Metode <code>CRUD <\/code>kita akan kita terapkan di Pendataan Karyawan. Pertama, buat <code>Database <\/code>di <code>phpmyadmin <\/code>terlebih dahulu. Silahkan beri nama <code><em>data_karyawan<\/em><\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"240\" height=\"401\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/01\/Lar-8-1.png\" alt=\"\" class=\"wp-image-998\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-1.png 240w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-1-180x300.png 180w\" sizes=\"(max-width: 240px) 100vw, 240px\" \/><\/figure>\n\n\n\n<p>Setelah berhasil membuat Database <em>data_karyawan. <\/em>Sekarang kita ganti settingan di <code>.env<\/code> kita.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=data_karyawan\nDB_USERNAME=root\nDB_PASSWORD=\n<\/pre><\/div>\n\n\n<p>Pastikan <code>DB_DATABASE<\/code> yang kita tulis sesuai dengan nama Database yang kita buat sebelumnya. Setelah selesai mengatur <code>.env<\/code>, sekarang saatnya kita membuat tabel yang akan kita gunakan untuk CRUD nanti. Dalam membuat tabel ini kita akan menggunakan metode <em><code>Migrations<\/code><\/em>, selain itu kita juga akan langsung membuat <code><em>Model <\/em><\/code>beserta <em><code>Controller <\/code><\/em>nya. <\/p>\n\n\n\n<p>Sekarang, pastikan kalian sudah install Ekstensi <code>Laravel Artisan<\/code> di <code>Visual Studio Code<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"258\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/01\/Lar-8-2-1024x258.png\" alt=\"\" class=\"wp-image-1000\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-2-1024x258.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-2-300x76.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-2-768x193.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-2.png 1442w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Setelah itu, kita bisa membuat <code>Model<\/code>, <code>Controller<\/code>, dan <code>Migrations<\/code> untuk Tabel Karyawan kita secara langsung. Caranya klik <code>Ctrl + Shift + P<\/code>. Lalu pilih <code>&gt;Make Model<\/code>, Setelah itu buat Nama Model <code>Employee<\/code>, setelah itu akan ada pilihan untuk membuat <code>Migrations, Resource, dan Factory<\/code>? Kita pilih <code>Yes<\/code> saja. Setelah itu kita sudah memiliki Factory, Migrations, Model, dan Controller yang kita butuhkan. Mari kita setting satu-persatu<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-migrations\">Setting Migrations<\/h3>\n\n\n\n<p>Di Migrations ini kita akan membuat Tabel di Database kita, disini kita akan menentukan beberapa kolom yang akan kita pakai. Silahkan buat yang sederhana saja, sementara cukup <code>nama<\/code>, <code>email<\/code>, dan <code>nomor hp<\/code> saja.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n       Schema::create(&#039;employees&#039;, function (Blueprint $table) {\n            $table-&gt;id();\n            $table-&gt;string(&#039;name&#039;);\n            $table-&gt;string(&#039;email&#039;)-&gt;unique();\n            $table-&gt;string(&#039;phone_number&#039;);\n            $table-&gt;timestamps();\n        });\n<\/pre><\/div>\n\n\n<p>Setelah selesai silahkan jalankan <code>php artisan migrate<\/code> di terminal kalian untuk mengecek hasil dari Database kita<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-model\">Setting Model<\/h3>\n\n\n\n<p>Di <code>Model<\/code> <code>Employee.php<\/code> ini kita akan memberikan syntax agar Tabel kita nanti bisa di isi data secara Massive menggunakan <code>protected $guarded<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nclass Employee extends Model\n{\n    use HasFactory;\n\n    protected $guarded = &#91;&quot;id&quot;];\n}\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-route\">Setting Route<\/h3>\n\n\n\n<p>Nah, di <code>Route <\/code>atau di file <code>web.php<\/code> ini kita akan mengganti syntax untuk <code>Route::get('\/')<\/code>. Kita akan mengganti <code>Route::get<\/code> ini dengan <code>Route::resource<\/code>, jadi nanti kita tidak harus membuat Route lain lagi.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRoute::resource(&#039;\/&#039;, EmployeeController::class);\n<\/pre><\/div>\n\n\n<p>Cukup Hapus <code>Route::get<\/code> di <code>web.php<\/code>, lalu gantikan dengan Syntax diatas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"setting-controller\">Setting Controller<\/h3>\n\n\n\n<p>Nah, Controller ini adalah sebuah file yang berfungsi untuk menyambungkan <em>Database <\/em>dan tampilan kita. Kalau teman-teman buka, pasti sekarang Controller sudah berisi beberapa fungsi seperti <code>index(), create(), store(), dll<\/code>. Nah Fungsi ini lah yang akan kita gunakan untuk membuat Fungsi CRUD pada Laravel. Mulai dari fungsi pertama yaitu <code>index()<\/code>.<\/p>\n\n\n\n<p>Fungsi <code>index()<\/code> ini berguna untuk menampilkan Tampilan pertama dari Website kita. Jadi kita akan menampilkan Data yang ada pada Tabel Karyawan. Tulis Seperti ini di dalam Fungsi <code>index()<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nreturn view(&#039;index&#039;, &#91;\n            &#039;employees&#039; =&gt; Employee::all()\n        ]);\n<\/pre><\/div>\n\n\n<p>Nah, diatas ada syntax <code>return view<\/code>, nanti syntax ini akan menampilkan tampilan dari Folder <code>view <\/code>dengan nama <code>index<\/code>. Lalu setelah itu ada <code>'employees' =&gt; Employee::all()<\/code> ini digunakan untuk mengambil semua data yang ada di tabel <em><code>Employee<\/code><\/em>.<\/p>\n\n\n\n<p>Sebenarnya masih banyak fungsi yang bisa digunakan selain fungsi all(). kalian bisa lihat detailsnya di <a href=\"https:\/\/laravel.com\/docs\/8.x\/queries\" target=\"_blank\" rel=\"noopener\">Database: Query Builder<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"buat-tampilan\">Buat Tampilan<\/h3>\n\n\n\n<p>Nah, setelah selesai setting Model, Controller dan Route. Sekarang kita akan setting View, Setting view ini merupakan salah satu bagian penting dalam Sistem CRUD pada Laravel karena View ini akan digunakan oleh User untuk memproses Crud pada Laravel nantinya.<\/p>\n\n\n\n<p>Caranya sederhana, cukup buat File baru di dalam Folder view, lalu kita masukkan tabel. Nah disini kita aku akan menggunakan bootstrap. Sebagai catetan kita harus membuat nama tampilan ini sesuai dengan settingan di <em>Controller <\/em>kita. Jadi kita buat dengan nama <code>index.blade.php<\/code><\/p>\n\n\n\n<p>File<code> index.blade.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;!doctype html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;!-- Required meta tags --&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n\n    &lt;!-- Bootstrap CSS --&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;\n        integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n\n    &lt;title&gt;CRUD Karyawan&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;container mt-5&quot;&gt;\n        &lt;h1 class=&quot;display-4&quot;&gt;Data Karyawan&lt;\/h1&gt;\n        &lt;table class=&quot;table&quot;&gt;\n            &lt;thead&gt;\n                &lt;tr&gt;\n                    &lt;th scope=&quot;col&quot;&gt;#&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Nama&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Email&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Phone Number&lt;\/th&gt;\n                &lt;\/tr&gt;\n            &lt;\/thead&gt;\n            &lt;tbody&gt;\n                @foreach ($employees as $item)\n                    &lt;tr&gt;\n                        &lt;th scope=&quot;row&quot;&gt;{{ $loop-&gt;index + 1 }}&lt;\/th&gt;\n                        &lt;td&gt;{{ $item-&gt;name }}&lt;\/td&gt;\n                        &lt;td&gt;{{ $item-&gt;email }}&lt;\/td&gt;\n                        &lt;td&gt;{{ $item-&gt;phone_number }}&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                @endforeach\n            &lt;\/tbody&gt;\n        &lt;\/table&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/js\/bootstrap.bundle.min.js&quot;\n        integrity=&quot;sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p&quot; crossorigin=&quot;anonymous&quot;&gt;\n    &lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n\n<\/pre><\/div>\n\n\n<p>Nah, kalau dilihat di syntax diatas kita menggunakan Looping <code>foreach<\/code>, nah looping ini digunakan untuk menampilkan semua Data Karyawan yang di Looping satu-persatu. Didalam Looping itu kita juga menggunakan<code> ($employees as $item)<\/code>, nah<code> $employees<\/code> ini menyesuaikan dengan yang ada di Controller kita tadi.<\/p>\n\n\n\n<p>Selain itu didalam kolom tabel nya kita menuliskan <code>{{ $item-&gt;name }}<\/code> dan seterusnya. Nah ini menyesuaikan nama kolom kita di Database<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"input-data-manual\">Input Data Manual<\/h3>\n\n\n\n<p>Langkah terakhir agar kita bisa melihat settingan kita. Kita bisa input manual Data kita lewat <code>phpmyadmin<\/code>. Nanti ada yang kita inputkan akan terlihat saat kita menjalankan Laravel. Kurang lebih hasilnya seperti ini<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"187\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/01\/Lar-8-3-1024x187.png\" alt=\"\" class=\"wp-image-1007\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-3-1024x187.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-3-300x55.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-3-768x140.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-3-1536x280.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/01\/Lar-8-3.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"kesimpulan\">Kesimpulan<\/h2>\n\n\n\n<p>Nah disini kita sudah membuat Fitur CRUD pada Laravel walaupun baru selesai Part 1 saja sampai Read. Pada Part 2 kita akan membahas lanjutan Fitur CRUD pada Laravel ini dengan Fitur lain yaitu Create, Update, dan Delete. <\/p>\n\n\n\n<p>Sampai disini saja teman-teman Part 1 dari Artikel CRUD pada Laravel ini, Stay Tune ya untuk Part 2<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setelah kemarin kita mempelajari tentang Database, Faker dan Seeder. Kali ini kita akan membahas CRUD pada Laravel. Teman-teman pasti sudah Familiar dengan sistem CRUD (Create, Read, Update, Delete), CRUD ini merupakan&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":762,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[126,93,49],"class_list":["post-984","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-crud","tag-laravel","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=984"}],"version-history":[{"count":7,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/984\/revisions"}],"predecessor-version":[{"id":1219,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/984\/revisions\/1219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/762"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}