
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 salah satu bagian penting dalam pengembangan Aplikasi, entah itu di Website ataupun di platform lainnya.
Nah di Artikel ini kita akan membahas CRUD pada Laravel. Laravel memiliki beberapa hal yang akan memudahkan kita dalam membuat sistem CRUD, yaitu namanya resource.
Penjelasan CRUD pada Laravel
Seperti yang aku jelaskan diatas, CRUD pada Laravel ini dimudahkan dengan yang namanya resource. Fitur ini akan memudahkan kita dalam membuat Controller yang nantinya kita gunakan untuk Fitur CRUD ini. Disini kita akan Praktekkan untuk CRUD Siswa dari awal instalasi sampai selesai.
Proses Pembuatan Metode CRUD
Pada Artikel Part 1 ini, kita akan melakukan setting untuk Metode CRUD
ini, sampai nanti kita bisa menggunakan satu Fitur terlebih dahulu yaitu Read
. Kita akan mulai dari instalasi Laravel sampai Projek Read
.
Install Projek Laravel
Proses instalasi ini bisa kalian lihat di artikel Belajar Laravel #2 : Cara Instalasi Laravel, atau bisa kalian lihat seperti dibawah ini. Pertama, buka terminal lalu jalankan syntax dibawah ini
composer create-project laravel/laravel crud-system
Nah kita namai Projek kita dengan nama crud-system
untuk menyesuaikan dengan Hal yang ingin kita kejar yaitu Metode CRUD. Apabila sudah selesai, tinggal jalankan Projek Laravel
kita beserta Web Server sederhana seperti xampp
Mengatur Database
Setelah selesai instalasi dan menjalankan Laravel, yang harus kita lakukan berikutnya adalah mengatur Database
yang akan kita gunakan untuk Metode CRUD
kita. Kalau teman-teman ingin membaca lebih detail tentang Database ini bisa kalian lihat di Artikel Belajar Laravel 8 #6 : Database Migrations.
Nah, kalau di artikel ini kita akan membuat Database
untuk Data Karyawan saja. Jadi nanti Metode CRUD
kita akan kita terapkan di Pendataan Karyawan. Pertama, buat Database
di phpmyadmin
terlebih dahulu. Silahkan beri nama data_karyawan

Setelah berhasil membuat Database data_karyawan. Sekarang kita ganti settingan di .env
kita.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=data_karyawan
DB_USERNAME=root
DB_PASSWORD=
Pastikan DB_DATABASE
yang kita tulis sesuai dengan nama Database yang kita buat sebelumnya. Setelah selesai mengatur .env
, sekarang saatnya kita membuat tabel yang akan kita gunakan untuk CRUD nanti. Dalam membuat tabel ini kita akan menggunakan metode Migrations
, selain itu kita juga akan langsung membuat Model
beserta Controller
nya.
Sekarang, pastikan kalian sudah install Ekstensi Laravel Artisan
di Visual Studio Code
.

Setelah itu, kita bisa membuat Model
, Controller
, dan Migrations
untuk Tabel Karyawan kita secara langsung. Caranya klik Ctrl + Shift + P
. Lalu pilih >Make Model
, Setelah itu buat Nama Model Employee
, setelah itu akan ada pilihan untuk membuat Migrations, Resource, dan Factory
? Kita pilih Yes
saja. Setelah itu kita sudah memiliki Factory, Migrations, Model, dan Controller yang kita butuhkan. Mari kita setting satu-persatu
Setting Migrations
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 nama
, email
, dan nomor hp
saja.
Schema::create('employees', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->string('phone_number');
$table->timestamps();
});
Setelah selesai silahkan jalankan php artisan migrate
di terminal kalian untuk mengecek hasil dari Database kita
Setting Model
Di Model
Employee.php
ini kita akan memberikan syntax agar Tabel kita nanti bisa di isi data secara Massive menggunakan protected $guarded
.
class Employee extends Model
{
use HasFactory;
protected $guarded = ["id"];
}
Setting Route
Nah, di Route
atau di file web.php
ini kita akan mengganti syntax untuk Route::get('/')
. Kita akan mengganti Route::get
ini dengan Route::resource
, jadi nanti kita tidak harus membuat Route lain lagi.
Route::resource('/', EmployeeController::class);
Cukup Hapus Route::get
di web.php
, lalu gantikan dengan Syntax diatas.
Setting Controller
Nah, Controller ini adalah sebuah file yang berfungsi untuk menyambungkan Database dan tampilan kita. Kalau teman-teman buka, pasti sekarang Controller sudah berisi beberapa fungsi seperti index(), create(), store(), dll
. Nah Fungsi ini lah yang akan kita gunakan untuk membuat Fungsi CRUD pada Laravel. Mulai dari fungsi pertama yaitu index()
.
Fungsi index()
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 index()
.
return view('index', [
'employees' => Employee::all()
]);
Nah, diatas ada syntax return view
, nanti syntax ini akan menampilkan tampilan dari Folder view
dengan nama index
. Lalu setelah itu ada 'employees' => Employee::all()
ini digunakan untuk mengambil semua data yang ada di tabel Employee
.
Sebenarnya masih banyak fungsi yang bisa digunakan selain fungsi all(). kalian bisa lihat detailsnya di Database: Query Builder.
Buat Tampilan
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.
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 Controller kita. Jadi kita buat dengan nama index.blade.php
File index.blade.php
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>CRUD Karyawan</title>
</head>
<body>
<div class="container mt-5">
<h1 class="display-4">Data Karyawan</h1>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nama</th>
<th scope="col">Email</th>
<th scope="col">Phone Number</th>
</tr>
</thead>
<tbody>
@foreach ($employees as $item)
<tr>
<th scope="row">{{ $loop->index + 1 }}</th>
<td>{{ $item->name }}</td>
<td>{{ $item->email }}</td>
<td>{{ $item->phone_number }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous">
</script>
</body>
</html>
Nah, kalau dilihat di syntax diatas kita menggunakan Looping foreach
, nah looping ini digunakan untuk menampilkan semua Data Karyawan yang di Looping satu-persatu. Didalam Looping itu kita juga menggunakan ($employees as $item)
, nah $employees
ini menyesuaikan dengan yang ada di Controller kita tadi.
Selain itu didalam kolom tabel nya kita menuliskan {{ $item->name }}
dan seterusnya. Nah ini menyesuaikan nama kolom kita di Database
Input Data Manual
Langkah terakhir agar kita bisa melihat settingan kita. Kita bisa input manual Data kita lewat phpmyadmin
. Nanti ada yang kita inputkan akan terlihat saat kita menjalankan Laravel. Kurang lebih hasilnya seperti ini

Kesimpulan
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.
Sampai disini saja teman-teman Part 1 dari Artikel CRUD pada Laravel ini, Stay Tune ya untuk Part 2
1 Response
[…] Belajar Laravel 8 #8 : CRUD pada Laravel Part 1 […]