Tips Membuat CRUD di Laravel dalam 10 Menit
Sebagai mahasiswa IT atau programmer pemula, Anda pasti sudah tidak asing lagi dengan istilah sistem informasi. Entah itu tugas akhir membuat web perpustakaan, aplikasi kasir, hingga portal berita, semuanya memiliki satu kesamaan inti: mengelola data. Di sinilah CRUD Laravel menjadi solusi yang sangat membantu.
Sering kali, membayangkan proses pembuatan fitur untuk menambah, melihat, mengedit, dan menghapus data terasa mengintimidasi. Namun, dengan framework modern seperti Laravel, proses ini bisa dipersingkat secara drastis. Artikel ini adalah tutorial Laravel untuk pemula yang dirancang praktis dan langsung bisa dipraktikkan. Anda akan belajar cara membuat CRUD di Laravel, khususnya untuk Laravel 10 CRUD, dalam waktu kurang dari 10 menit.
Apa Itu CRUD dan Kenapa Penting di Laravel?
CRUD adalah singkatan dari:
Create (Membuat data)
Read (Menampilkan data)
Update (Mengubah data)
Delete (Menghapus data)
Keempat operasi ini adalah fondasi hampir semua aplikasi berbasis database.
Mengapa CRUD di Laravel sangat populer?
Laravel menyediakan fitur seperti:
Eloquent ORM → Mengelola database seperti objek PHP
Artisan Command → CLI pintar untuk otomatisasi
Struktur MVC yang rapi
Dengan kombinasi ini, Anda tidak perlu lagi menulis query SQL panjang secara manual.
Persiapan dan Tools yang Dibutuhkan
Sebelum mulai coding, pastikan environment Anda sudah siap:
PHP minimal versi 8.1
Composer
MySQL atau MariaDB (XAMPP / Laragon / Docker)
Visual Studio Code (disarankan)
Jika semua sudah siap, kita mulai!
Step-by-Step Membuat CRUD di Laravel
Kita akan membuat sistem manajemen artikel sederhana bernama Post.
1. Install Project Laravel
composer create-project laravel/laravel crud-appcd crud-app
2. Konfigurasi Database
Buat database baru, misalnya: laravel_crud
Edit file .env:
DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=laravel_crudDB_USERNAME=rootDB_PASSWORD=
3. Buat Model, Migration, dan Controller Sekaligus
Gunakan perintah berikut:
php artisan make:model Post -mcr
Keterangan:
m = migration
c = controller
r = resource
Edit Migration
Buka file di database/migrations/ dan ubah menjadi:
public function up(): void{Schema::create('posts', function (Blueprint $table) {$table->id();$table->string('title');$table->text('content');$table->timestamps();});}
Jalankan migrasi:
php artisan migrate
Edit Model
Buka app/Models/Post.php dan tambahkan:
protected $fillable = ['title', 'content'];
4. Setup Controller
Isi PostController.php:
public function index(){$posts = Post::latest()->get();return view('posts.index', compact('posts'));}public function create(){return view('posts.create');}public function store(Request $request){$request->validate(['title' => 'required','content' => 'required',]);Post::create($request->all());return redirect()->route('posts.index')->with('success', 'Artikel berhasil dibuat!');}public function edit(Post $post){return view('posts.edit', compact('post'));}public function update(Request $request, Post $post){$request->validate(['title' => 'required','content' => 'required',]);$post->update($request->all());return redirect()->route('posts.index')->with('success', 'Artikel berhasil diupdate!');}public function destroy(Post $post){$post->delete();return redirect()->route('posts.index')->with('success', 'Artikel berhasil dihapus!');}
5. Tambahkan Route
Edit routes/web.php:
use App\Http\Controllers\PostController;Route::resource('posts', PostController::class);
6. Buat Blade Views
resources/views/postsindex.blade.php
<h1>Daftar Artikel</h1><a href="{{ route('posts.create') }}">Tambah Artikel</a>@if(session('success'))<p style="color: green;">{{ session('success') }}</p>@endif<table border="1"><tr><th>Judul</th><th>Konten</th><th>Aksi</th></tr>@foreach ($posts as $post)<tr><td>{{ $post->title }}</td><td>{{ $post->content }}</td><td><a href="{{ route('posts.edit', $post->id) }}">Edit</a><form action="{{ route('posts.destroy', $post->id) }}"method="POST" style="display:inline;">@csrf@method('DELETE')<button type="submit">Hapus</button></form></td></tr>@endforeach</table>
create.blade.php
<h1>Tambah Artikel</h1><form action="{{ route('posts.store') }}" method="POST">@csrf<label>Judul</label><br><input type="text" name="title" required><br><br><label>Konten</label><br><textarea name="content" required></textarea><br><br><button type="submit">Simpan</button></form>
edit.blade.php
<h1>Edit Artikel</h1><form action="{{ route('posts.update', $post->id) }}" method="POST">@csrf@method('PUT')<label>Judul</label><br><input type="text" name="title"value="{{ $post->title }}" required><br><br><label>Konten</label><br><textarea name="content" required>{{ $post->content }}</textarea><br><br><button type="submit">Update</button></form>
7. Jalankan Project
php artisan serve
Buka browser:
http://localhost:8000/posts
Selamat! CRUD Anda sudah berjalan.
Tips Supaya Lebih Cepat
Gunakan
--resourceatau-mcrSelalu isi
$fillableGunakan
php artisan route:listuntuk cek routingGunakan validation agar data lebih aman
Kesalahan Umum
@csrf di form.$fillable.web.php.Kesimpulan
Membuat CRUD di Laravel sebenarnya sangat cepat dan sistematis. Dengan memahami alur Migration → Model → Controller → Route → View, Anda bisa membangun sistem berbasis database dengan lebih percaya diri.
Jangan hanya dibaca. Langsung praktikkan.
Komentar
Posting Komentar