Membuat Aplikasi CRUD dengan Laravel 8 dan MySQL

Laravel 8 dikenal sebagai salah satu framework PHP paling populer untuk membangun aplikasi web modern. Salah satu fitur dasar yang sering dibuat dengan Laravel adalah sistem CRUD (Create, Read, Update, Delete) yang berfungsi untuk mengelola data secara dinamis 📊.

Dengan dukungan MySQL sebagai database, Laravel 8 memberikan cara cepat, aman, dan efisien dalam mengembangkan aplikasi CRUD — baik untuk proyek sederhana maupun aplikasi berskala besar. Artikel ini akan membahas langkah-langkah lengkap membuat aplikasi CRUD menggunakan Laravel 8 dan MySQL, mulai dari setup hingga uji coba 💡.

Bagi kamu yang baru memulai belajar framework ini, tutorial ini akan menjadi panduan dasar namun mendalam agar kamu bisa memahami cara kerja Laravel dari sisi backend dan database.

1. Persiapan Lingkungan

Instalasi Laravel dan MySQL

Sebelum memulai, pastikan kamu telah menginstal beberapa komponen berikut di komputer:

  • PHP versi 8.0 atau lebih baru
  • Composer
  • MySQL Database Server
  • Laravel 8

Langkah pertama adalah membuat proyek Laravel baru:

composer create-project laravel/laravel crud-laravel8

Setelah berhasil, masuk ke direktori proyek dan jalankan server lokal:

cd crud-laravel8
php artisan serve

2. Konfigurasi Database MySQL

Menghubungkan Laravel ke MySQL

Buka file .env di root proyek Laravel, lalu sesuaikan pengaturan database seperti contoh berikut:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crud_app
DB_USERNAME=root
DB_PASSWORD=

Setelah konfigurasi selesai, buat database baru di MySQL:

CREATE DATABASE crud_app;

Dengan konfigurasi ini, Laravel siap berinteraksi langsung dengan MySQL untuk menyimpan dan mengambil data 🔗.

3. Membuat Model dan Migration

Struktur Tabel Database

Selanjutnya, buat model beserta migration untuk data yang ingin dikelola. Misalnya kita akan membuat tabel products:

php artisan make:model Product -m

Buka file migration di database/migrations/ dan tambahkan struktur tabel berikut:

Schema::create('products', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->text('description');
    $table->decimal('price', 10, 2);
    $table->timestamps();
});

Lalu jalankan perintah migrasi:

php artisan migrate

Tabel products kini berhasil dibuat di database MySQL ✅.

4. Membuat Controller

Menangani Logika CRUD

Laravel menyediakan perintah sederhana untuk membuat controller CRUD:

php artisan make:controller ProductController --resource

Controller ini secara otomatis memiliki fungsi dasar: index(), create(), store(), edit(), update(), dan destroy(). Kamu bisa menambahkan logika bisnis di masing-masing fungsi.

Contoh fungsi store() untuk menyimpan data produk baru:

public function store(Request $request) {
    $request->validate([
        'name' => 'required',
        'description' => 'required',
        'price' => 'required|numeric'
    ]);

    Product::create($request->all());
    return redirect()->route('products.index')->with('success', 'Produk berhasil ditambahkan!');
}

5. Routing Aplikasi

Mengatur Jalur CRUD

Buka file routes/web.php dan tambahkan route resource untuk controller yang sudah dibuat:

use App\Http\Controllers\ProductController;
Route::resource('products', ProductController::class);

Dengan satu baris kode ini, Laravel otomatis membuat semua route yang diperlukan untuk operasi CRUD 🔄.

6. Membuat View dengan Blade Template

Tampilan Form dan Tabel Data

Laravel menggunakan sistem template Blade yang sederhana dan efisien. Buat folder resources/views/products, lalu tambahkan beberapa file seperti index.blade.php, create.blade.php, dan edit.blade.php.

Contoh sederhana untuk menampilkan semua produk di index.blade.php:

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

7. Testing CRUD

Menguji Fungsi Tambah, Edit, dan Hapus

Setelah semua file dibuat, jalankan server Laravel dan buka http://127.0.0.1:8000/products. Coba lakukan penambahan produk baru, ubah data yang sudah ada, lalu hapus satu produk untuk memastikan seluruh proses berjalan dengan baik 💪.

Laravel akan menangani semua request HTTP dengan rapi melalui sistem routing dan controller yang sudah dibuat sebelumnya.

8. Tabel Alur CRUD

Proses Kerja Sistem

AksiMethodEndpointFungsi Controller
CreatePOST/productsstore()
ReadGET/productsindex()
UpdatePUT/products/{id}update()
DeleteDELETE/products/{id}destroy()

9. Keunggulan CRUD dengan Laravel 8

Mengapa Banyak Developer Memilih Laravel?

  • 🧩 Struktur kode rapi dan mudah di-maintain
  • ⚡ Integrasi MySQL sangat stabil
  • 🧠 Blade Template memudahkan pembuatan UI
  • 🔒 Validasi data otomatis
  • 💬 Komunitas besar dengan dokumentasi lengkap

10. Optimasi CRUD

Menambah Fitur Tambahan

Setelah CRUD dasar berjalan, kamu bisa menambahkan fitur seperti:

  • 🔍 Pencarian data dengan Query Builder
  • 📄 Pagination dengan $products->links()
  • 📦 Upload gambar produk
  • 🔐 Autentikasi dengan Laravel Jetstream

Fitur tambahan ini akan membuat aplikasi lebih interaktif dan siap untuk produksi.

11. FAQ Laravel CRUD

  1. Apa itu CRUD? Operasi dasar database: Create, Read, Update, Delete.
  2. Laravel 8 gratis? Ya, framework open source.
  3. Database yang cocok? MySQL, PostgreSQL, SQLite, dan lainnya.
  4. Apakah CRUD ini bisa untuk API? Bisa, dengan Laravel API Resource.
  5. Apakah butuh autentikasi? Tidak wajib, tapi direkomendasikan.
  6. Bisa digunakan di hosting shared? Ya, asalkan mendukung PHP 8.
  7. Apakah Laravel cocok untuk pemula? Sangat cocok dengan dokumentasi jelas.
  8. Butuh Vue atau React? Tidak, bisa hanya dengan Blade.
  9. Bisa di-deploy ke cloud? Bisa, ke AWS, DigitalOcean, atau Vercel.
  10. Perlu setup composer? Ya, wajib untuk dependency Laravel.
  11. Bisa buat CRUD multi-tabel? Bisa, menggunakan relasi model.
  12. Bagaimana testing-nya? Gunakan PHPUnit bawaan Laravel.
  13. Apakah CRUD ini scalable? Ya, Laravel mendukung aplikasi besar ⚙️.

Kesimpulan

Membangun aplikasi CRUD dengan Laravel 8 dan MySQL adalah langkah pertama untuk memahami konsep dasar pengembangan web backend modern. Dengan sintaks yang bersih, sistem routing otomatis, dan dukungan Blade Template, proses pengembangan menjadi cepat dan efisien 💡.

Setelah menguasai CRUD, kamu dapat mengembangkan fitur lanjutan seperti autentikasi, API, atau dashboard admin berbasis Laravel. Framework ini bukan hanya mudah, tetapi juga tangguh untuk kebutuhan produksi 🚀.

Belum ada Komentar untuk "Membuat Aplikasi CRUD dengan Laravel 8 dan MySQL"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel