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

Penyelesaian CRUD: Update, Delete & Hasil Output

Code Refactoring

Modul 05

"Menyempurnakan Kontrol Data Anda"

April 05, 2026
40 Menit Eksekusi

Melanjutkan Modul 4, sekarang kita akan menuntaskan siklus CRUD dengan fitur Update (Mengubah data) dan Delete (Menghapus data). Di akhir modul ini, Anda akan melihat simulasi langsung bagaimana bentuk visual dari aplikasi yang sedang kita bangun!

Live Execution

LAB: Update & Delete Data

01 Mengatur Routing Update & Delete

Tambahkan rute berikut di file routes/web.php. Perhatikan bahwa Update menggunakan method PUT, dan Delete menggunakan method DELETE.

// Menampilkan form edit berdasarkan ID
    Route::get('/posts/{id}/edit', [PostController::class, 'edit'])->name('posts.edit');

    // Memproses update data (PUT)
    Route::put('/posts/{id}', [PostController::class, 'update'])->name('posts.update');

    // Memproses delete data (DELETE)
    Route::delete('/posts/{id}', [PostController::class, 'destroy'])->name('posts.destroy');

02 Menyiapkan Controller Update & Delete

Buka PostController.php dan tambahkan fungsi `edit`, `update`, dan `destroy`:

// 1. Mengambil data yang mau diedit, lalu melemparnya ke View Form Edit
    public function edit($id)
    {
        $post = Post::findOrFail($id);
        return view('posts.edit', compact('post'));
    }

    // 2. Memproses perubahan data ke Database
    public function update(Request $request, $id)
    {
        $post = Post::findOrFail($id);
        $post->update([
            'title'   => $request->title,
            'content' => $request->content
        ]);

        return redirect()->route('posts.index')->with('success', 'Data berhasil diubah!');
    }

    // 3. Menghapus data dari Database
    public function destroy($id)
    {
        $post = Post::findOrFail($id);
        $post->delete();

        return redirect()->route('posts.index')->with('success', 'Data berhasil dihapus!');
    }

03 Form Edit Blade & Method Spoofing

Buat file edit.blade.php. HTML form standar hanya mendukung GET dan POST. Di Laravel, kita gunakan Method Spoofing yaitu @method('PUT') agar form dikenali sebagai method PUT.

<form action="{{ route('posts.update', $post->id) }}" method="POST">
        @csrf
        @method('PUT') <!-- Mengubah POST menjadi PUT -->
        
        <input type="text" name="title" value="{{ $post->title }}">
        <textarea name="content">{{ $post->content }}</textarea>

        <button type="submit">Update Data</button>
    </form>
Hasil / Output

Penampakan Hasil Akhir Aplikasi

Jika Anda telah mengikuti dari Modul 4 sampai Modul 5 dan memberikan sedikit sentuhan CSS, hasil halaman index.blade.php Anda (Tabel Data) akan terlihat kurang lebih seperti ini:

Daftar Artikel (Post)

+ Tambah Data
Judul Konten Aksi
Belajar MVC Laravel MVC adalah singkatan dari Model View Controller...
Edit Hapus
Tips Eloquent ORM Cara mudah mengambil relasi data di Laravel...
Edit Hapus
Kader Note (Tombol Hapus):

Untuk memicu method DELETE, Anda tidak bisa menggunakan tag link biasa (<a>). Anda harus membungkus tombol hapus di dalam tag <form> dengan @method('DELETE') demi keamanan dan mematuhi aturan REST API.

Modul 4: Read & Create Selesai & Kembali ke Dashboard

Catatan Kader

"Menyelesaikan CRUD berarti Anda sudah memiliki pondasi 80% aplikasi web. Sisanya hanyalah modifikasi UI dan penambahan logika bisnis spesifik."
- Abdul Kader
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.