Logo Catatan Kader Logo Catatan Kader
  • Beranda
Beranda
Backend Engineering / Laravel

Implementasi CRUD: Create & Read Data

CRUD Create Read Banner

Modul 04

"Mengolah Data Nyata ke dalam Aplikasi"

April 02, 2026
35 Menit Eksekusi

CRUD adalah singkatan dari Create, Read, Update, Delete. Ini adalah 4 operasi wajib yang menggerakkan mayoritas aplikasi web saat ini. Di modul ini, kita akan fokus pada dua huruf pertama: Read (menampilkan data dari database) dan Create (menambahkan data baru melalui form).

Live Execution

LAB: Read & Create Data

01 Menampilkan Data (Read)

Buka PostController.php yang sudah kita buat sebelumnya. Ubah method index agar mengambil data langsung dari Model Eloquent:

<?php

namespace App\Http\Controllers;

use App\Models\Post; // Pastikan model di-import
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function index()
    {
        // Mengambil semua post dan diurutkan dari yang terbaru
        $posts = Post::latest()->get();
        
        return view('posts.index', compact('posts'));
    }
}

02 Menyiapkan Rute Create

Untuk membuat fitur penambahan data, kita butuh dua rute. Satu (GET) untuk menampilkan Form, dan satu lagi (POST) untuk memproses datanya. Buka routes/web.php:

use App\Http\Controllers\PostController;

Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/posts/create', [PostController::class, 'create'])->name('posts.create');
Route::post('/posts', [PostController::class, 'store'])->name('posts.store');

03 Membuat Form di Blade

Buat file baru di resources/views/posts/create.blade.php dan tuliskan struktur form HTML sederhana:

<form action="{{ route('posts.store') }}" method="POST">
    {{-- INGAT: Ini sangat penting untuk keamanan form di Laravel! --}}
    @csrf
    
    <div>
        <label>Judul Post:</label>
        <input type="text" name="title" required>
    </div>

    <div>
        <label>Isi Konten:</label>
        <textarea name="content" required></textarea>
    </div>

    <button type="submit">Simpan Data</button>
</form>

04 Menyimpan Data ke Database

Kembali ke PostController.php. Kita buat fungsi store untuk menangkap data dari Form dan menyimpannya:

public function store(Request $request)
{
    // Simpan ke database menggunakan teknik Mass Assignment
    Post::create([
        'title'   => $request->title,
        'content' => $request->content
    ]);

    // Kembalikan user ke halaman daftar post
    return redirect()->route('posts.index');
}
Kader Note (@csrf):

Jangan pernah melupakan perintah @csrf di dalam tag form Anda! Laravel akan menolak mentah-mentah (menampilkan error 419 Page Expired) setiap request form POST, PUT, atau DELETE yang tidak menyertakan token ini. Ini adalah tembok pelindung utama aplikasi Anda dari serangan Cross-Site Request Forgery (CSRF).

Modul 3: Routing & Blade Modul 5: Update & Delete

Catatan Kader

"Data itu nyawa aplikasi. Fitur Create memberinya napas, sedangkan Read membuatnya bisa berbicara kepada pengguna."
- Abdul Kader

Lanjut ke Materi

M5

Update, Delete & Validasi

HTTP PUT & DELETE
Catatan Kader Catatan Kader

Catatan ini dikelola untuk keperluan dokumentasi pribadi, pengembangan kemampuan analisis logika, serta standarisasi implementasi sistem teknologi.

© 2026 Catatan Kader. Deployment Active.