Laravel Karya Solusi Digital

Membuat Aplikasi CRUD Sederhana dengan Laravel 11: Panduan Lengkap

Admin
Admin 29 Jul 2024

Pendahuluan

CRUD adalah singkatan dari Create, Read, Update, Delete. Ini adalah operasi dasar yang sering dilakukan dalam sebuah aplikasi web. Laravel, sebagai salah satu framework PHP yang populer, sangat memudahkan kita untuk membangun aplikasi CRUD dengan cepat dan efisien. Pada tutorial ini, kita akan membangun aplikasi CRUD sederhana untuk mengelola data produk menggunakan Laravel 11.

Persiapan

Instalasi Laravel: Pastikan Anda sudah menginstal Laravel 11 sesuai dengan panduan sebelumnya.

Database: Buat database baru untuk menyimpan data produk Anda. Anda bisa menggunakan MySQL, PostgreSQL, atau SQLite. Konfigurasikan koneksi database di file .env.

Langkah-langkah

1. Buat Model Produk

Model merepresentasikan data dalam database. Kita akan membuat model Product untuk mewakili data produk:

php artisan make:model Product

Buka file app/Models/Product.php dan tambahkan atribut yang ingin Anda simpan (misalnya, nama produk, harga, deskripsi):

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class   
 Product extends Model
{
    use HasFactory;

    protected $fillable = ['name', 'price', 'description'];   

}

2. Buat Migrasi

Migrasi digunakan untuk membuat perubahan pada struktur database. Jalankan perintah berikut untuk membuat migrasi:

php artisan make:migration create_products_table

Buka file migrasi yang baru dibuat (misalnya, database/migrations/2023_04_04_000000_create_products_table.php) dan tambahkan kolom-kolom yang sesuai:

public function up()
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->integer('price');
        $table->text('description');
        $table->timestamps();   

    });
}

Jalankan migrasi:

php artisan migrate

3. Buat Controller

Controller digunakan untuk menangani permintaan dari pengguna. Buat controller untuk mengelola produk:

php artisan make:controller ProductController

Isi controller dengan method-method untuk menampilkan daftar produk, menambahkan produk baru, mengedit produk, dan menghapus produk:

<?php

namespace App\Http\Controllers;

use App\Models\Product;
use Illuminate\Http\Request;

class ProductController extends Controller
{
    public function   
 index()
    {
        $products = Product::all();
        return view('products.index', compact('products'));   

    }

    // ... method lainnya untuk create, edit, dan delete
}

4. Buat View

View digunakan untuk menampilkan data ke pengguna. Buat view untuk menampilkan daftar produk, form tambah produk, dan form edit produk. Misalnya, untuk view daftar produk:

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Nama</th>
            <th>Harga</th>
            <th>Deskripsi</th>
            <th>Aksi</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($products as $product)
            <tr>
                <td>{{ $product->id }}</td>
                <td>{{ $product->name }}</td>
                <td>{{ $product->price }}</td>
                <td>{{ $product->description }}</td>
                <td>   

                    <a href="{{ route('products.edit', $product)   
 }}">Edit</a>
                    <form action="{{ route('products.destroy', $product) }}" method="POST">
                        @csrf
                        @method('DELETE')
                        <button type="submit">Delete</button>
                    </form>
                </td>
            </tr>
        @endforeach   

    </tbody>
</table>

5. Definisi Rute

Definisi rute digunakan untuk menghubungkan URL dengan controller. Buka file routes/web.php dan tambahkan rute:

Route::resource('products', ProductController::class);

6. Jalankan Aplikasi

Jalankan server development Laravel:

php artisan serve

Akses aplikasi Anda di browser (misalnya, http://127.0.0.1:8000/products).

Penjelasan Singkat

  • Model: Merepresentasikan data dalam database.

  • Migrasi: Mengelola perubahan struktur database.

  • Controller: Mengontrol logika aplikasi dan berinteraksi dengan model.

  • View: Menampilkan data kepada pengguna.

  • Route: Mendefinisikan URL dan menghubungkannya dengan controller.

Lanjutan

Ini adalah contoh sederhana dari aplikasi CRUD dengan Laravel. Anda dapat menambahkan fitur-fitur lain seperti validasi data, pagination, pencarian, dan lain-lain.

Tips:

  • Blade: Gunakan template engine Blade untuk membuat view yang lebih dinamis.

  • Eloquent: Manfaatkan Eloquent ORM untuk berinteraksi dengan database dengan cara yang lebih mudah.

  • Request: Gunakan objek Request untuk mengakses data yang dikirimkan dari form.

  • Validation: Gunakan fitur validasi untuk memastikan data yang dimasukkan pengguna valid.

  • Dengan memahami dasar-dasar Laravel, Anda dapat membangun aplikasi web yang lebih kompleks dan menarik.

  • Ingin mempelajari lebih lanjut tentang fitur-fitur lain dari Laravel?

  • Autentikasi: Laravel menyediakan fitur autentikasi yang siap pakai.

  • Middleware: Gunakan middleware untuk melakukan tindakan sebelum atau setelah permintaan diproses.

  • Testing: Tulis test case untuk memastikan aplikasi Anda bekerja dengan benar.

Selamat mencoba!