Gameglimmer
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website
No Result
View All Result
Gameglimmer
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website
No Result
View All Result
Gameglimmer
No Result
View All Result
Home AI

Contoh Project Laravel Sederhana dengan CRUD Operations: Aplikasi Web Interaktif

Elara Finch by Elara Finch
July 24, 2025
in AI, Database, Laravel, Produktivitas, Web Development
0
Share on FacebookShare on Twitter

Laravel, sebuah framework PHP yang elegan dan kuat, semakin populer di kalangan developer web. Kemudahannya dalam membangun aplikasi kompleks dengan sintaks yang bersih dan fitur yang kaya menjadikannya pilihan utama. Jika kamu baru memulai perjalananmu dengan Laravel, salah satu cara terbaik untuk belajar adalah dengan membangun sebuah project sederhana. Artikel ini akan membimbing kamu melalui contoh project Laravel sederhana dengan CRUD operations (Create, Read, Update, Delete) untuk membuat sebuah aplikasi web interaktif. Kita akan membangun sebuah aplikasi yang memungkinkan pengguna untuk membuat, membaca, memperbarui, dan menghapus data, memberikan pemahaman praktis tentang dasar-dasar Laravel.

Apa Itu CRUD Operations dan Mengapa Penting dalam Aplikasi Web?

Sebelum kita terjun ke kode, mari kita pahami dulu apa itu CRUD operations. CRUD adalah singkatan dari:

  • Create: Membuat data baru (misalnya, menambahkan produk baru ke database).
  • Read: Membaca atau menampilkan data (misalnya, menampilkan daftar produk yang tersedia).
  • Update: Memperbarui data yang sudah ada (misalnya, mengubah harga produk).
  • Delete: Menghapus data (misalnya, menghapus produk dari database).

CRUD operations adalah fondasi dari hampir semua aplikasi web interaktif. Mereka memungkinkan pengguna untuk berinteraksi dengan data yang tersimpan di database. Menguasai CRUD operations di Laravel adalah langkah penting untuk menjadi developer web yang kompeten. Tanpa CRUD, aplikasi kita hanya akan menampilkan data statis, yang tentu saja kurang menarik dan tidak fungsional.

Mempersiapkan Lingkungan Pengembangan Laravel: Langkah Awal

Sebelum memulai contoh project Laravel sederhana dengan CRUD operations ini, pastikan kamu sudah memiliki lingkungan pengembangan yang siap. Berikut adalah beberapa hal yang perlu kamu siapkan:

Related Post

Framework Web Development Terbaik untuk Pemula: Rekomendasi dari Para Ahli

December 5, 2025

Contoh Project Laravel Sederhana untuk Belajar: Aplikasi To-Do List Lengkap

December 2, 2025

Laravel Livewire Tutorial Bahasa Indonesia: Buat Aplikasi Interaktif Tanpa JavaScript

December 1, 2025

Laravel Queue Tutorial Bahasa Indonesia: Proses Latar Belakang Efisien

December 1, 2025
  1. PHP: Laravel membutuhkan PHP versi 7.3 atau lebih tinggi. Pastikan kamu sudah menginstall PHP di komputermu. Kamu bisa mengecek versi PHP dengan menjalankan perintah php -v di terminal.
  2. Composer: Composer adalah dependency manager untuk PHP. Ini akan membantu kita menginstall Laravel dan library lainnya yang kita butuhkan. Kamu bisa mengunduh Composer dari situs resminya: https://getcomposer.org/.
  3. Database: Kita akan menggunakan database untuk menyimpan data kita. Kamu bisa menggunakan MySQL, PostgreSQL, SQLite, atau database lain yang didukung oleh Laravel. Pastikan database server sudah berjalan dan kamu memiliki akses ke database.
  4. Text Editor/IDE: Pilih text editor atau IDE yang kamu sukai. Beberapa pilihan populer adalah VS Code, Sublime Text, dan PHPStorm.

Setelah semua persiapan selesai, kita bisa mulai menginstall Laravel. Buka terminal dan jalankan perintah berikut:

composer create-project --prefer-dist laravel/laravel nama-project

Ganti nama-project dengan nama project yang kamu inginkan. Setelah proses instalasi selesai, masuk ke direktori project:

cd nama-project

Mendesain Database: Membuat Tabel untuk Aplikasi Sederhana

Langkah selanjutnya dalam contoh project Laravel sederhana dengan CRUD operations ini adalah mendesain database. Kita akan membuat sebuah tabel yang menyimpan data. Misalnya, kita akan membuat tabel “products” untuk menyimpan informasi produk. Tabel ini akan memiliki kolom-kolom berikut:

  • id: Primary key, auto-increment (int)
  • name: Nama produk (string)
  • description: Deskripsi produk (text)
  • price: Harga produk (decimal)
  • created_at: Tanggal dan waktu pembuatan (timestamp)
  • updated_at: Tanggal dan waktu pembaruan (timestamp)

Untuk membuat tabel ini, kita akan menggunakan Migration di Laravel. Migration adalah cara yang mudah untuk mengelola skema database. Jalankan perintah berikut di terminal:

php artisan make:migration create_products_table --create=products

Perintah ini akan membuat sebuah file migration di direktori database/migrations. Buka file tersebut dan tambahkan kode berikut di dalam method up():

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateProductsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->text('description');
            $table->decimal('price', 8, 2);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('products');
    }
}

Pastikan kamu sudah mengatur koneksi database di file .env. Sesuaikan nilai-nilai berikut sesuai dengan konfigurasi database kamu:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=nama_user
DB_PASSWORD=password

Setelah konfigurasi database selesai, jalankan migration untuk membuat tabel:

php artisan migrate

Membuat Model Laravel: Merepresentasikan Data Produk

Model adalah representasi dari tabel database di dalam kode PHP. Dalam contoh project Laravel sederhana dengan CRUD operations ini, kita akan membuat model Product yang merepresentasikan tabel products. Jalankan perintah berikut di terminal:

php artisan make:model Product

Perintah ini akan membuat sebuah file model di direktori app/Models. Buka file tersebut dan tambahkan kode berikut:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Product extends Model
{
    use HasFactory;

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

Properti $fillable menentukan kolom-kolom mana yang boleh diisi secara massal (mass assignment). Ini penting untuk mencegah serangan mass assignment vulnerability.

Membuat Controller: Menangani Logika Aplikasi CRUD

Controller adalah bagian dari aplikasi yang menangani logika aplikasi. Dalam contoh project Laravel sederhana dengan CRUD operations ini, kita akan membuat controller ProductController yang menangani operasi CRUD untuk data produk. Jalankan perintah berikut di terminal:

php artisan make:controller ProductController --resource

Opsi --resource akan membuat sebuah controller dengan method-method dasar untuk CRUD operations (index, create, store, show, edit, update, destroy). Buka file controller di direktori app/Http/Controllers dan tambahkan kode berikut:

<?php

namespace AppHttpControllers;

use AppModelsProduct;
use IlluminateHttpRequest;

class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $products = Product::all();
        return view('products.index', compact('products'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        return view('products.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    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', 'Product created successfully.');
    }

    /**
     * Display the specified resource.
     *
     * @param  AppModelsProduct  $product
     * @return IlluminateHttpResponse
     */
    public function show(Product $product)
    {
        return view('products.show', compact('product'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  AppModelsProduct  $product
     * @return IlluminateHttpResponse
     */
    public function edit(Product $product)
    {
        return view('products.edit', compact('product'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  AppModelsProduct  $product
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, Product $product)
    {
        $request->validate([
            'name' => 'required',
            'description' => 'required',
            'price' => 'required|numeric',
        ]);

        $product->update($request->all());

        return redirect()->route('products.index')
            ->with('success', 'Product updated successfully.');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  AppModelsProduct  $product
     * @return IlluminateHttpResponse
     */
    public function destroy(Product $product)
    {
        $product->delete();

        return redirect()->route('products.index')
            ->with('success', 'Product deleted successfully.');
    }
}

Kode ini mendefinisikan method-method untuk:

  • index(): Menampilkan daftar semua produk.
  • create(): Menampilkan form untuk membuat produk baru.
  • store(): Menyimpan produk baru ke database.
  • show(): Menampilkan detail sebuah produk.
  • edit(): Menampilkan form untuk mengedit sebuah produk.
  • update(): Memperbarui data produk di database.
  • destroy(): Menghapus produk dari database.

Membuat Views: Menampilkan Data dengan HTML dan Blade Templating

Views adalah bagian dari aplikasi yang menampilkan data ke pengguna. Dalam contoh project Laravel sederhana dengan CRUD operations ini, kita akan membuat views untuk menampilkan daftar produk, form untuk membuat dan mengedit produk, dan detail produk.

Buat direktori resources/views/products dan buat file-file berikut:

  • index.blade.php: Menampilkan daftar produk.
  • create.blade.php: Form untuk membuat produk baru.
  • show.blade.php: Menampilkan detail produk.
  • edit.blade.php: Form untuk mengedit produk.

Berikut adalah contoh kode untuk index.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Daftar Produk</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-2">
        <div class="row">
            <div class="col-lg-12 margin-tb">
                <div class="pull-left">
                    <h2>Daftar Produk</h2>
                </div>
                <div class="pull-right mb-2">
                    <a class="btn btn-success" href="{{ route('products.create') }}"> Buat Produk Baru</a>
                </div>
            </div>
        </div>
        @if ($message = Session::get('success'))
            <div class="alert alert-success">
                <p>{{ $message }}</p>
            </div>
        @endif
        <table class="table table-bordered">
            <tr>
                <th>No</th>
                <th>Nama</th>
                <th>Deskripsi</th>
                <th>Harga</th>
                <th width="280px">Action</th>
            </tr>
            @foreach ($products as $product)
            <tr>
                <td>{{ $product->id }}</td>
                <td>{{ $product->name }}</td>
                <td>{{ $product->description }}</td>
                <td>{{ $product->price }}</td>
                <td>
                    <form action="{{ route('products.destroy',$product->id) }}" method="Post">
                        <a class="btn btn-primary" href="{{ route('products.edit',$product->id) }}">Edit</a>
                        @csrf
                        @method('DELETE')
                        <button type="submit" class="btn btn-danger">Delete</button>
                    </form>
                </td>
            </tr>
            @endforeach
        </table>
    </div>
</body>
</html>

Kamu bisa membuat view create.blade.php, show.blade.php, dan edit.blade.php dengan mengikuti pola yang sama. Gunakan Blade templating engine untuk menampilkan data dan membuat form.

Menentukan Routes: Menghubungkan URL dengan Controller

Routes adalah bagian dari aplikasi yang menghubungkan URL dengan controller method. Dalam contoh project Laravel sederhana dengan CRUD operations ini, kita akan mendefinisikan routes untuk mengakses method-method di ProductController. Buka file routes/web.php dan tambahkan kode berikut:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersProductController;

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

Kode ini akan membuat semua routes yang dibutuhkan untuk CRUD operations di ProductController.

Menguji Aplikasi Web Interaktif Laravel: Memastikan Semuanya Berfungsi

Setelah semua langkah di atas selesai, saatnya menguji aplikasi kita. Jalankan perintah berikut di terminal untuk menjalankan development server:

php artisan serve

Buka browser dan kunjungi http://localhost:8000/products. Kamu seharusnya bisa melihat daftar produk (yang masih kosong). Klik tombol “Buat Produk Baru” untuk membuat produk baru. Isi form dan submit. Kamu seharusnya bisa melihat produk baru di daftar produk. Coba juga fitur edit dan delete.

Jika semua berjalan lancar, berarti kamu sudah berhasil membuat contoh project Laravel sederhana dengan CRUD operations. Selamat!

Tips dan Trik Pengembangan Laravel Lebih Lanjut

Berikut adalah beberapa tips dan trik untuk pengembangan Laravel yang lebih lanjut:

  • Gunakan Eloquent ORM: Eloquent adalah ORM (Object-Relational Mapper) yang powerful di Laravel. Ini memudahkan interaksi dengan database.
  • Manfaatkan Blade Templating: Blade adalah templating engine yang fleksibel dan mudah digunakan. Ini membantu membuat tampilan yang dinamis dan reusable.
  • Pelajari Artisan Console: Artisan adalah command-line interface (CLI) yang menyediakan banyak perintah berguna untuk pengembangan Laravel.
  • Gunakan Middleware: Middleware adalah cara untuk memfilter HTTP requests yang masuk. Ini berguna untuk autentikasi, otorisasi, dan logging.
  • Gunakan Validation: Laravel menyediakan fitur validation yang mudah digunakan untuk memvalidasi data yang dimasukkan pengguna.
  • Pelajari Testing: Tulis unit test dan integration test untuk memastikan aplikasi kamu berfungsi dengan benar.

Kesimpulan: Meningkatkan Kemampuan Laravel dengan Project CRUD

Membangun contoh project Laravel sederhana dengan CRUD operations adalah cara yang efektif untuk mempelajari dasar-dasar Laravel. Dengan memahami konsep CRUD, kamu bisa membangun aplikasi web yang lebih kompleks dan interaktif. Jangan berhenti belajar dan terus eksplorasi fitur-fitur Laravel lainnya. Selamat mencoba dan semoga sukses!

Tags: BeginnerCRUDexampleInteractiveLaravelphpprojectSimpleTutorialWeb Application
Elara Finch

Elara Finch

Related Posts

AI

Framework Web Development Terbaik untuk Pemula: Rekomendasi dari Para Ahli

by Luna Abernathy
December 5, 2025
AI

Contoh Project Laravel Sederhana untuk Belajar: Aplikasi To-Do List Lengkap

by Luna Abernathy
December 2, 2025
AI

Laravel Livewire Tutorial Bahasa Indonesia: Buat Aplikasi Interaktif Tanpa JavaScript

by Atticus Thorne
December 1, 2025
Next Post

Laravel Sanctum Authentication untuk Single Page Application: Keamanan SPA Terbaik

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recommended

Hosting Domain Gratis Indonesia: Mulai Online Tanpa Biaya Tambahan

August 22, 2025

Jasa Web Development Murah Jakarta: Solusi Website Berkualitas Tanpa Mahal

May 28, 2025

Komunitas Laravel Terbesar di Indonesia: Bergabung dan Berbagi Pengetahuan

October 21, 2025

Jasa Pembuatan Website Profesional Jakarta: Website Berkualitas untuk Bisnis Anda

June 2, 2025

Hosting Murah dengan Dukungan Multi Bahasa (Indonesia & Inggris)

December 15, 2025

Hosting Murah dengan Optimasi Kecepatan Website Terbaik

December 15, 2025

Hosting Murah dengan Fitur Keamanan Website yang Lengkap

December 15, 2025

Hosting Murah dengan Bandwidth Unlimited untuk Pengguna Indonesia

December 15, 2025

Gameglimmer

Our media platform offers reliable news and insightful articles. Stay informed with our comprehensive coverage and in-depth analysis on various topics.
Read more »

Recent Posts

  • Hosting Murah dengan Dukungan Multi Bahasa (Indonesia & Inggris)
  • Hosting Murah dengan Optimasi Kecepatan Website Terbaik
  • Hosting Murah dengan Fitur Keamanan Website yang Lengkap

Categories

  • AI
  • Akuntansi
  • Akurasi
  • Analisis
  • and "Cara Mengintegrasikan Laravel dengan Database MySQL: Panduan Lengkap": Hosting
  • Android
  • Animasi
  • API
  • Aplikasi
  • Authentication
  • Backup
  • Bahasa
  • Bandwidth
  • based on the article title "Cara Menggunakan AI untuk Meningkatkan Produktivitas Kerja: Lebih Cerdas
  • Based on the article title "Cara Mengintegrasikan Laravel dengan Database MySQL: Panduan Lengkap"
  • Based on the provided keywords and article titles
  • Biaya
  • Bisnis
  • Blog
  • Bootstrap
  • Branding
  • Cerdas
  • Chatbot
  • Cloud
  • Coding
  • Community
  • CRM
  • CSS
  • Customer
  • Data
  • Database
  • Deployment
  • Desain
  • Development
  • Digital**
  • Domain
  • Download
  • E-commerce
  • Editing
  • Efektif
  • Efektivitas
  • Efisien
  • Efisiensi
  • Email
  • Error
  • Error generating categories
  • Estimasi
  • Etika
  • Evaluasi
  • Fitur
  • Foto
  • Framework
  • Freelance
  • Garansi
  • Gratis
  • Harga
  • Hasil
  • Hemat
  • Here are 5 categories
  • here are 5 categories: Laravel
  • here are five categories: Branding
  • Here's a categorization based on the article titles and provided keywords: **Development
  • Here's a categorization based on the article titles and provided keywords: **Laravel
  • Here's a categorization based on the article titles and provided keywords: **Online
  • Here's a categorization based on the article titles and provided keywords: **Panduan
  • Here's a categorization based on the article titles and provided keywords: **Pekerjaan
  • Here's a categorization based on the article titles and provided keywords: **Penjualan
  • Here's a categorization based on the article titles and provided keywords: **Server
  • Here's a categorization based on the article titles and provided keywords: **Web Development
  • Here's a categorization based on the article titles and provided keywords: **Website
  • Here's a categorization based on the article titles and provided keywords: CRM
  • Here's a categorization based on the article titles and provided keywords: E-commerce
  • Here's a categorization based on the article titles and provided keywords: Hosting
  • Here's a categorization based on the article titles and provided keywords: Pendidikan
  • Here's a categorization based on the article titles and provided keywords: Website
  • Here's a categorization based on the provided keywords and article titles: **Web Development
  • Here's a possible categorization based on the article titles and provided keywords: Hosting
  • Here's a possible categorization based on the article titles and provided keywords: Laravel
  • Here's a possible categorization based on the article titles and provided keywords: Produktivitas
  • Here's a possible categorization based on the article titles and provided keywords: Website
  • Here's a possible categorization based on the provided keywords and article titles: Hosting
  • Hosting
  • Hukum
  • Ide
  • Implementasi
  • Indonesia
  • Inspirasi
  • Integrasi
  • iOS
  • Jakarta
  • JavaScript
  • Kampanye
  • Karir
  • Keamanan
  • Kecepatan
  • Keperluan
  • Kerja
  • Kesehatan
  • Kolaborasi
  • Konten
  • Kualitas
  • Laravel
  • Layanan
  • Lebih Cepat": AI
  • Library
  • Logo
  • Lokal
  • Machine Learning
  • Manajemen
  • Marketing
  • Mobile
  • Murah
  • MySQL
  • one word per category
  • Online
  • Open Source
  • Optimasi
  • Otentikasi
  • Otomatis
  • Otomatisasi
  • Panduan
  • Pelajar
  • Pelanggan
  • Pelaporan
  • Pelatihan
  • Peluang
  • Pemasaran
  • Pembayaran
  • Pemula
  • Pendidikan
  • Pengembangan
  • Penipuan
  • Penjualan
  • Perbandingan
  • Performance
  • Pertumbuhan
  • PHP
  • Pilihan
  • Portfolio
  • Prima
  • Privasi
  • Productivity
  • Produktifitas
  • Produktivitas
  • Profesional
  • Python
  • Queue
  • Rekomendasi
  • Responsif
  • Retail
  • Review
  • Riset
  • SEO
  • Server
  • Sistem
  • Skalabilitas
  • Software
  • Solusi
  • SSL
  • Startup
  • Strategi
  • Streaming
  • Studi Kasus
  • Sukses
  • Support
  • Tantangan
  • Teknologi
  • Template
  • TensorFlow
  • Terbaik
  • Terpercaya
  • Tips
  • Tools
  • Transfer
  • Transkripsi
  • Tutorial
  • UKM
  • UMKM
  • Unlimited
  • Uptime
  • Video
  • VPS
  • Web Development
  • Website
  • Windows
  • WooCommerce
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 Gameglimmer.

No Result
View All Result
  • AI
  • Laravel
  • Produktivitas
  • Database
  • Hosting
  • Website

© 2024 Gameglimmer.