Implementasi CRUD Menggunakan Laravel untuk Pemula
1. Latar Belakang
Perkembangan aplikasi web modern menuntut sistem yang mampu mengelola data secara dinamis. Pengelolaan data tersebut umumnya menggunakan konsep CRUD (Create, Read, Update, Delete).
Framework yang banyak digunakan untuk membangun aplikasi web berbasis PHP adalah Laravel. Laravel menyediakan struktur yang rapi dengan konsep MVC (Model, View, Controller), serta fitur seperti routing, migration, dan Eloquent ORM yang mempermudah pengelolaan database.
Dengan mempelajari implementasi CRUD menggunakan Laravel, pemula dapat memahami alur kerja aplikasi berbasis database secara sistematis.

2. Alat dan Bahan
a. Perangkat Lunak
- Web browser (contoh: Google Chrome atau Mozilla Firefox)
- Code editor / text editor (contoh: Visual Studio Code)
- Terminal / Command Prompt
- Web server
- Composer
- PHP minimal versi 8.x
b. Perangkat Keras
- Laptop / Komputer.
3. Pembahasan
3.1 Apa itu Laravel dan CRUD?
Laravel adalah framework PHP yang dirancang untuk mempermudah proses pengembangan aplikasi web dengan sintaks yang elegan dan struktur yang rapi. Laravel menggunakan konsep MVC:
- Model: Mengelola data dan berinteraksi dengan database.
- View: Menampilkan tampilan kepada pengguna.
- Controller: Menghubungkan Model dan View serta mengatur alur logika aplikasi.
CRUD adalah singkatan dari:
- Create: Menambahkan data baru ke database
- Read: Menampilkan atau membaca data
- Update: Mengubah data yang sudah ada
- Delete: Menghapus data
3.2 Langkah - Langkah Membuat CRUD pada Laravel
Berikut ini langkah - langkah membuat CRUD sederhana menggunakan framework Laravel:
1. Membuat projek laravel
composer create-project laravel/laravel crud-sederhana
Masuk ke folder projek:
cd crud-sederhana
Jalankan server:
php artisan serve
Akses di browser:
http://127.0.0.1:8000/
Kalau ini tidak jalan, berarti ada yang salah di instalasi PHP atau Composer. Dan itu bukan salah Laravel.
2. Mengatur database
Buat database baru di phpMyAdmin: db_siswa
Kita atur file .env, ubah nama db_connection dan db_database nya.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_siswa
DB_USERNAME=root
DB_PASSWORD=
3. Membuat model dan migration
Kita bisa membuat model dan migration secara bersamaan menggunakan perintah berikut:
php artisan make:model Siswa -m
Edit file migration di folder database/migrations:
public function up()Jalankan migration:
{
Schema::create('siswa', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('kelas');
$table->timestamps();
});
}
php artisan migrate
Sekarang tabel siswa sudah ada di database.
4. Edit model siswa
File: app/Models/Siswa.php
class Siswa extends Model
{
protected $table = 'siswa';
protected $fillable = ['nama', 'kelas'];
}
5. Membuat controller
Kita bisa membuat controller menggunakan perintah:
php artisan make:controller SiswaController --resource
File: app/Http/Controllers/SiswaController.php
Isi lengkap controller:
<?php
namespace App\Http\Controllers;
use App\Models\Siswa;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function index()
{
$siswa = Siswa::all();
return view('siswa.index', compact('siswa'));
}
public function create()
{
return view('siswa.create');
}
public function store(Request $request)
{
$request->validate([
'nama' => 'required',
'kelas' => 'required',
]);
Siswa::create($request->all());
return redirect()->route('siswa.index')
->with('success', 'Data berhasil ditambahkan');
}
public function edit(Siswa $siswa)
{
return view('siswa.edit', compact('siswa'));
}
public function update(Request $request, Siswa $siswa)
{
$request->validate([
'nama' => 'required',
'kelas' => 'required',
]);
$siswa->update($request->all());
return redirect()->route('siswa.index')
->with('success', 'Data berhasil diupdate');
}
public function destroy(Siswa $siswa)
{
$siswa->delete();
return redirect()->route('siswa.index')
->with('success', 'Data berhasil dihapus');
}
}
6. Membuat routing
File: routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SiswaController;
Route::resource('siswa', SiswaController::class);
Route resource otomatis membuat:
- GET /siswa
- GET /siswa/create
- POST /siswa
- GET /siswa/{id}/edit
- PUT /siswa/{id}
- DELETE /siswa/{id}
Laravel mengurus semuanya. Kamu tinggal pakai.
7. Membuat view
Buat folder:
resources/views/siswa
Di folder tersebut kita membuat 3 file, yaitu index, create dan edit.
a. Index.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Data Siswa</title>
</head>
<body>
<h2>Data Siswa</h2>
<a href="{{ route('siswa.create') }}">Tambah Data</a>
<table border="1">
<tr>
<th>Nama</th>
<th>Kelas</th>
<th>Aksi</th>
</tr>
@foreach ($siswa as $data)
<tr>
<td>{{ $data->nama }}</td>
<td>{{ $data->kelas }}</td>
<td>
<a href="{{ route('siswa.edit', $data->id) }}">Edit</a>
<form action="{{ route('siswa.destroy', $data->id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit">Hapus</button>
</form>
</td>
</tr>
@endforeach
</table>
</body>
</html>
b. create.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Tambah Siswa</title>
</head>
<body>
<h2>Tambah Data Siswa</h2>
<form action="{{ route('siswa.store') }}" method="POST">
@csrf
Nama: <input type="text" name="nama"><br>
Kelas: <input type="text" name="kelas"><br>
<button type="submit">Simpan</button>
</form>
</body>
</html>
c. edit.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Edit Siswa</title>
</head>
<body>
<h2>Edit Data Siswa</h2>
<form action="{{ route('siswa.update', $siswa->id) }}" method="POST">
@csrf
@method('PUT')
Nama: <input type="text" name="nama" value="{{ $siswa->nama }}"><br>
Kelas: <input type="text" name="kelas" value="{{ $siswa->kelas }}"><br>
<button type="submit">Update</button>
</form>
</body>
</html>
8. Hasilnya
3.3 Kesimpulan
CRUD dalam Laravel dapat diimplementasikan menggunakan fitur:
- Migration untuk membuat tabel
- Model untuk mengelola data
- Controller untuk logika aplikasi
- Routing untuk mengatur URL
- Blade untuk tampilan
Dengan mengikuti langkah-langkah tersebut, sistem CRUD sederhana dapat berjalan dengan struktur yang rapi dan efisien. Laravel mempermudah proses pengembangan karena sebagian besar konfigurasi sudah diotomatisasi.
4. Daftar Pustaka
Biznet Gio. (n.d.). Apa itu Laravel? https://www.biznetgio.com/blog/apa-itu-laravel/
Hostinger. (n.d.). Apa itu Laravel? Panduan lengkap untuk pemula. https://www.hostinger.com/id/tutorial/apa-itu-laravel
Jakarta Telkom University. (n.d.). Laravel: definisi, cara kerja, keunggulan dan kekurangan. https://jakarta.telkomuniversity.ac.id/laravel-definisi-cara-kerja-keunggulan-dan-kekurangan/
Rumahweb Indonesia. (n.d.). Laravel adalah: pengertian, fungsi dan kelebihannya. https://www.rumahweb.com/journal/laravel-adalah/
0 Komentar