gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis
No Result
View All Result
gociwidey
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis
No Result
View All Result
gociwidey
No Result
View All Result
Home CRUD

Tutorial Membuat CRUD Sederhana dengan Laravel 9: Mudah Dipahami Pemula

Atticus Finch by Atticus Finch
September 2, 2025
in CRUD, Laravel, Pemula, Tutorial, Web Development
0
Share on FacebookShare on Twitter

Oke, berikut adalah artikel SEO dalam bahasa Indonesia dengan panjang sekitar 1800 kata tentang tutorial CRUD sederhana dengan Laravel 9, ditujukan untuk pemula, dan dioptimasi untuk SEO:

# Tutorial Membuat CRUD Sederhana dengan Laravel 9: Mudah Dipahami Pemula

Selamat datang di panduan lengkap **tutorial membuat CRUD sederhana dengan Laravel 9**! Jika Anda seorang pemula yang ingin memulai petualangan pengembangan web dengan Laravel, Anda berada di tempat yang tepat.  CRUD, yang merupakan singkatan dari Create, Read, Update, dan Delete, adalah operasi dasar yang hampir selalu ada dalam aplikasi web. Dalam tutorial ini, kita akan membahas langkah demi langkah bagaimana membuat aplikasi CRUD sederhana menggunakan Laravel 9, framework PHP yang populer dan *powerful*.  Panduan ini dirancang khusus untuk memudahkan pemahaman, bahkan jika Anda belum memiliki pengalaman sebelumnya dengan Laravel. Mari kita mulai!

## Apa Itu CRUD dan Mengapa Laravel 9?

Sebelum kita masuk ke kode, mari kita pahami dulu apa itu CRUD dan mengapa kita memilih Laravel 9 untuk mempelajarinya.

*   **CRUD: Create, Read, Update, Delete**.  Ini adalah empat operasi dasar yang dilakukan pada data dalam database.
    *   **Create:** Membuat data baru.
    *   **Read:** Membaca atau menampilkan data.
    *   **Update:** Memperbarui data yang sudah ada.
    *   **Delete:** Menghapus data.

*   **Mengapa Laravel 9?** Laravel adalah framework PHP yang modern dan elegan.  Laravel 9 adalah versi terbaru yang membawa peningkatan kinerja, fitur baru, dan peningkatan keamanan. Laravel sangat populer karena kemudahan penggunaannya, dokumentasi yang lengkap, dan komunitas yang besar.  Menggunakan Laravel akan mempercepat proses pengembangan aplikasi web Anda dan membuat kode Anda lebih terstruktur dan mudah dikelola. Selain itu, Laravel memiliki fitur-fitur bawaan yang sangat membantu dalam pengembangan CRUD, seperti ORM (Object-Relational Mapping) Eloquent yang memudahkan interaksi dengan database.

Singkatnya, Laravel 9 menyediakan alat dan struktur yang diperlukan untuk membuat aplikasi CRUD dengan cepat, aman, dan efisien.

## Persiapan Awal: Instalasi Laravel 9 dan Konfigurasi Database

Sebelum kita mulai **membuat CRUD sederhana dengan Laravel 9**, pastikan Anda memiliki beberapa hal berikut:

1.  **PHP:** Pastikan PHP terinstall di komputer Anda. Laravel 9 membutuhkan PHP versi 8.0 atau lebih tinggi. Anda bisa mengunduh PHP di [php.net](https://www.php.net/).
2.  **Composer:** Composer adalah *dependency manager* untuk PHP.  Anda akan menggunakannya untuk menginstall Laravel dan *package* lainnya.  Anda bisa mengunduh Composer di [getcomposer.org](https://getcomposer.org/).
3.  **Database:**  Anda memerlukan database untuk menyimpan data Anda.  Anda bisa menggunakan MySQL, PostgreSQL, SQLite, atau database lain yang didukung oleh Laravel. Dalam contoh ini, kita akan menggunakan MySQL. Pastikan MySQL sudah terinstall dan berjalan di komputer Anda.
4.  **Text Editor/IDE:**  Pilih *text editor* atau IDE (Integrated Development Environment) yang Anda sukai. Beberapa pilihan populer adalah Visual Studio Code, Sublime Text, atau PHPStorm.

Setelah Anda memiliki semua yang dibutuhkan, mari kita mulai dengan menginstall Laravel 9. Buka terminal atau command prompt Anda dan jalankan perintah berikut:

```bash
composer create-project laravel/laravel crud-laravel9
cd crud-laravel9

Perintah ini akan membuat proyek Laravel baru dengan nama crud-laravel9. Setelah proses instalasi selesai, masuk ke direktori proyek.

Selanjutnya, kita perlu mengkonfigurasi koneksi ke database. Buka file .env di direktori proyek Anda. Cari bagian yang berisi konfigurasi database dan sesuaikan dengan pengaturan database Anda. Contohnya:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database_anda
DB_USERNAME=username_database_anda
DB_PASSWORD=password_database_anda

Ganti nama_database_anda, username_database_anda, dan password_database_anda dengan informasi yang sesuai dengan database Anda.

Related Post

Kursus AI Online untuk Pemula Bahasa Indonesia: Pelajari Dasar-Dasarnya

September 6, 2025

Integrasi Payment Gateway Midtrans di Laravel Indonesia: Panduan Praktis

September 4, 2025

Mengatasi Error Common di Laravel Saat Development: Solusi Cepat dan Tepat

September 4, 2025

Cara Deploy Aplikasi Laravel ke Hosting Share Hosting: Panduan Lengkap!

September 4, 2025

Setelah konfigurasi database selesai, jalankan perintah berikut untuk membuat key aplikasi:

php artisan key:generate

Perintah ini akan menghasilkan key aplikasi yang unik dan menyimpannya di file .env.

Membuat Model dan Migrasi: Definisi Struktur Data

Langkah selanjutnya dalam tutorial membuat CRUD sederhana dengan Laravel 9 adalah membuat model dan migrasi. Model adalah representasi dari tabel database dalam kode PHP, sedangkan migrasi adalah file yang digunakan untuk membuat dan memodifikasi struktur database.

Dalam contoh ini, kita akan membuat tabel products yang akan menyimpan informasi tentang produk. Jalankan perintah berikut untuk membuat model dan migrasi:

php artisan make:model Product -m

Perintah ini akan membuat dua file:

  • app/Models/Product.php: File model Product.
  • database/migrations/yyyy_mm_dd_create_products_table.php: File migrasi untuk membuat tabel products.

Buka file migrasi database/migrations/yyyy_mm_dd_create_products_table.php dan tambahkan kolom-kolom yang Anda inginkan ke tabel products. Contohnya:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

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

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

Dalam contoh ini, kita menambahkan kolom name, description, dan price ke tabel products.

Setelah Anda selesai memodifikasi file migrasi, jalankan perintah berikut untuk menjalankan migrasi dan membuat tabel di database:

php artisan migrate

Membuat Controller: Logika Aplikasi dan Interaksi dengan Model

Setelah tabel products dibuat, langkah selanjutnya adalah membuat controller. Controller adalah kelas yang menangani request HTTP dan berinteraksi dengan model untuk mengambil dan menyimpan data. Jalankan perintah berikut untuk membuat controller ProductController:

php artisan make:controller ProductController --resource

Opsi --resource akan membuat controller dengan method-method standar untuk operasi CRUD: index, create, store, show, edit, update, dan destroy.

Buka file app/Http/Controllers/ProductController.php dan modifikasi method-method tersebut untuk mengimplementasikan logika CRUD. Berikut adalah contoh implementasi:

<?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',
            'price' => 'required|numeric',
        ]);

        Product::create($request->all());

        return redirect()->route('products.index')
                         ->with('success','Produk berhasil ditambahkan.');
    }

    /**
     * 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',
            'price' => 'required|numeric',
        ]);

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

        return redirect()->route('products.index')
                         ->with('success','Produk berhasil diperbarui.');
    }

    /**
     * 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','Produk berhasil dihapus.');
    }
}

Perhatikan bahwa kita menggunakan model Product untuk berinteraksi dengan database. Kita juga menggunakan validation untuk memastikan bahwa data yang diterima valid.

Membuat Views: Tampilan Pengguna (UI)

Setelah controller selesai, kita perlu membuat views untuk menampilkan data dan menerima input dari pengguna. Laravel menggunakan Blade template engine yang memudahkan pembuatan views yang dinamis.

Buat direktori resources/views/products untuk menyimpan views yang berkaitan dengan produk. Kemudian, buat file-file berikut di dalam direktori tersebut:

  • index.blade.php: Menampilkan daftar produk.
  • create.blade.php: Menampilkan form untuk membuat produk baru.
  • show.blade.php: Menampilkan detail produk.
  • edit.blade.php: Menampilkan form untuk mengedit produk yang sudah ada.

Berikut adalah contoh isi dari file resources/views/products/index.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>CRUD Produk</title>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <h1>Daftar Produk</h1>
        <a href="{{ route('products.create') }}" class="btn btn-success mb-3">Tambah Produk</a>

        @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>Harga</th>
                <th width="280px">Aksi</th>
            </tr>
            @foreach ($products as $product)
            <tr>
                <td>{{ ++$i }}</td>
                <td>{{ $product->name }}</td>
                <td>{{ $product->price }}</td>
                <td>
                    <form action="{{ route('products.destroy',$product->id) }}" method="POST">
                        <a class="btn btn-info" href="{{ route('products.show',$product->id) }}">Lihat</a>
                        <a class="btn btn-primary" href="{{ route('products.edit',$product->id) }}">Edit</a>
                        @csrf
                        @method('DELETE')
                        <button type="submit" class="btn btn-danger">Hapus</button>
                    </form>
                </td>
            </tr>
            @endforeach
        </table>
    </div>
</body>
</html>

Buat juga file create.blade.php, show.blade.php, dan edit.blade.php dengan konten yang sesuai. Pastikan untuk menggunakan form HTML dengan method yang sesuai untuk operasi CRUD (POST untuk create, PUT atau PATCH untuk update, dan DELETE untuk delete).

Membuat Routes: Menghubungkan URL ke Controller

Langkah terakhir dalam tutorial membuat CRUD sederhana dengan Laravel 9 adalah membuat routes. Routes menghubungkan URL ke method controller yang sesuai. Buka file routes/web.php dan tambahkan routes berikut:

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersProductController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

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

Route::get('/', function () {
    return view('welcome');
});

Kode Route::resource('products', ProductController::class); akan secara otomatis membuat routes untuk semua operasi CRUD pada sumber daya products.

Uji Coba Aplikasi CRUD

Setelah semua langkah di atas selesai, Anda dapat menguji coba aplikasi CRUD Anda. Jalankan perintah berikut untuk menjalankan development server Laravel:

php artisan serve

Buka browser Anda dan kunjungi http://localhost:8000/products. Anda akan melihat daftar produk (jika ada). Anda dapat menambahkan, mengedit, dan menghapus produk menggunakan form yang disediakan.

Kesimpulan: Selamat, Anda Telah Membuat CRUD Sederhana!

Selamat! Anda telah berhasil membuat CRUD sederhana dengan Laravel 9. Tutorial ini telah membahas langkah demi langkah proses pembuatan aplikasi CRUD, mulai dari persiapan awal hingga pengujian akhir.

Semoga tutorial ini bermanfaat bagi Anda. Jangan ragu untuk bereksperimen dan memodifikasi kode untuk memahami lebih dalam tentang Laravel. Dengan latihan yang cukup, Anda akan menjadi pengembang Laravel yang handal. Teruslah belajar dan berkarya! Selamat mencoba!

Tips Tambahan:

  • Gunakan validation untuk memastikan data yang masuk valid.
  • Gunakan middleware untuk mengamankan aplikasi Anda.
  • Gunakan pagination untuk menampilkan daftar data yang besar.
  • Gunakan testing untuk memastikan aplikasi Anda berfungsi dengan benar.

Semoga berhasil!

Tags: beginnerCRUDDatabaseDevelopmentEloquentLaravel 9pemulaPHPtutorialweb development
Atticus Finch

Atticus Finch

Related Posts

AI

Kursus AI Online untuk Pemula Bahasa Indonesia: Pelajari Dasar-Dasarnya

by Atticus Finch
September 6, 2025
Indonesia

Integrasi Payment Gateway Midtrans di Laravel Indonesia: Panduan Praktis

by Willow Grey
September 4, 2025
Cepat

Mengatasi Error Common di Laravel Saat Development: Solusi Cepat dan Tepat

by Elara Thorne
September 4, 2025
Next Post

Tips Optimasi Query Database di Laravel untuk Performance Website Lebih Cepat

Leave a Reply Cancel reply

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

Recommended

Harga Jasa Pembuatan Website E-Commerce di Jakarta: Investasi Terbaik untuk Bisnis

May 29, 2025

Hosting yang Bagus untuk Pemula di Indonesia: Panduan Memilih Hosting Pertama

May 8, 2025

Laravel Events: Mengimplementasikan Event Handling pada Laravel

July 24, 2025

Perbandingan Harga Hosting Terbaik Indonesia 2024: Temukan yang Termurah!

August 21, 2025

Software CRM Terbaik untuk Bisnis UKM di Indonesia: Pilihan dan Fitur

September 6, 2025

AI untuk Mendeteksi Plagiarisme dalam Bahasa Indonesia: Jaga Keaslian Konten

September 6, 2025

Penerapan AI di Bidang Marketing di Indonesia: Tingkatkan ROI Secara Signifikan

September 6, 2025

Kursus AI Online untuk Pemula Bahasa Indonesia: Pelajari Dasar-Dasarnya

September 6, 2025

gociwidey

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

  • Software CRM Terbaik untuk Bisnis UKM di Indonesia: Pilihan dan Fitur
  • AI untuk Mendeteksi Plagiarisme dalam Bahasa Indonesia: Jaga Keaslian Konten
  • Penerapan AI di Bidang Marketing di Indonesia: Tingkatkan ROI Secara Signifikan

Categories

  • Admin
  • Adopsi
  • Afiliasi
  • Agency
  • AI
  • Akses
  • Akuntansi
  • Akurat
  • Alasan
  • Algoritma
  • Alternatif
  • Aman
  • Analisis
  • Analytics
  • Android
  • Animasi
  • API
  • Aplikasi
  • Artikel
  • Artisan
  • Authentication
  • Authorization
  • Back-End
  • Backend
  • Background
  • Backup
  • Bahasa
  • Bandwidth
  • Based on the article title "Cara Menggunakan Vue.js dengan Laravel: Membuat Interface Interaktif"
  • Batasan
  • Belajar
  • Berbagi
  • Biaya
  • Bisnis
  • Blog
  • Bootstrap
  • Brand
  • Budget
  • Bulanan
  • CDN
  • Cepat
  • Chatbot
  • ChatGPT
  • Cloud
  • Coding
  • Command Line
  • Company Profile
  • Complete
  • Composer
  • Contoh
  • cPanel
  • CRM
  • CRUD
  • CSS
  • Customer Service
  • Dampak
  • Dashboard
  • Data
  • Database
  • Debugging
  • Dedicated Server
  • Dependency
  • Deployment
  • Desain
  • Developer
  • Development
  • Diagnosis
  • Digital Marketing
  • Diskon
  • Dokumentasi
  • Domain
  • Download
  • Downtime
  • Dukungan
  • E-Commerce
  • Edit
  • Efektivitas
  • Efisiensi
  • Ekonomis
  • Eloquent
  • Email
  • Engagement
  • Enterprise
  • Error
  • Error generating categories
  • Etika
  • Events
  • Excel
  • Fitur
  • Form
  • Forum
  • Foto
  • Framework
  • Freelance
  • Front-End
  • Full-Stack
  • Fungsi
  • Gambar
  • Game
  • Garansi
  • Git
  • Google
  • Gratis
  • Harga
  • Hemat
  • Here are 5 categories based on the article title "Hosting Indonesia Murah dengan Fitur Lengkap: Solusi Tepat untuk Bisnismu": Hosting
  • Here are 5 categories based on the provided title: Hosting
  • Here are 5 categories based on the provided title: Rekomendasi Hosting Murah untuk Toko Online dengan Bandwidth Besar: Sukseskan Bisnismu! Hosting
  • Here are 5 categories based on the title "Tips Optimasi Performa Aplikasi Laravel agar Lebih Cepat: Website Anti Lemot": **Laravel
  • here are 5 categories: Laravel
  • Hosting
  • HTML
  • Iklan
  • Implementasi
  • Indonesia
  • Industri
  • Informasi
  • Inovasi
  • Input
  • Inspirasi
  • Instalasi
  • Install
  • Integrasi
  • Interface
  • Investasi
  • Jakarta
  • Jasa
  • JavaScript
  • Joomla
  • Kampanye
  • Kapasitas
  • Karir
  • Karyawan
  • Keamanan
  • Kebutuhan
  • Kecepatan
  • Kehidupan
  • Kekurangan
  • Kelebihan
  • Kemudahan
  • Kepuasan
  • Kerja
  • Kesehatan
  • Keuangan
  • Keuntungan
  • Kode
  • Komunitas
  • Konfigurasi
  • Konsep
  • Konten
  • Kontrol
  • Konversi
  • Kreatif
  • Kualitas
  • Kursus
  • Laporan
  • Laravel
  • Layanan
  • Lingkungan
  • Linux
  • Logika
  • Logistik
  • Logo
  • Loyalitas
  • Mac
  • Machine Learning
  • Mahasiswa
  • Maintenance
  • Manfaat
  • Marketing
  • Masa Depan
  • Media Sosial
  • Mesin Pencari
  • Middleware
  • Migrasi
  • Migration
  • Mitos
  • Mobile
  • Mobilitas
  • Model
  • Modern
  • Mudah
  • Murah
  • MySQL
  • OAuth2
  • Online
  • Open Source
  • Opini
  • Optimal
  • Optimasi
  • ORM
  • Otomatisasi
  • Otorisasi
  • Package
  • Panduan
  • Payment
  • PDF
  • Pekerjaan
  • Pelanggan
  • Pelatihan
  • Peluang
  • Pemanfaatan
  • Pembandingan
  • Pembuatan
  • Pemesanan
  • Pemrograman
  • Pemula
  • Pendidikan
  • Penerapan
  • Pengalaman
  • Pengembangan
  • Pengenalan
  • Pengertian
  • Penggunaan
  • Pengobatan
  • Pengolahan
  • Pengujian
  • Penipuan
  • Penjualan
  • Penyimpanan
  • Perangkat
  • Perbandingan
  • Performa
  • Performance
  • Perkembangan
  • Personalisasi
  • Pertanian
  • Pertumbuhan
  • Perusahaan
  • Petani
  • PHP
  • Pilihan
  • Plagiarisme
  • Platform
  • Pondasi
  • Portofolio
  • Praktis
  • Prediksi
  • Premium
  • Presentasi
  • Pribadi
  • Produktivitas
  • Profesional
  • Profitabilitas
  • Programmer
  • Promo
  • Proses
  • Proteksi
  • Proyek
  • Python
  • Queues
  • React
  • Realita
  • Redis
  • Referensi
  • Rekomendasi
  • Relationship
  • Responsive
  • RESTful
  • Restoran
  • Retail
  • Review
  • Risiko
  • ROI
  • Saham
  • Sales
  • Scheduler
  • Search
  • Sederhana
  • Selamanya
  • SEO
  • Sertifikasi
  • Server
  • Skalabilitas
  • Skill
  • Software
  • Solusi
  • Sosial
  • Space Disk
  • SSD
  • SSL
  • Stabil
  • Staging
  • Startup
  • Storage
  • Strategi
  • Studi Kasus
  • Subdomain
  • Sumber Daya
  • Support
  • Surabaya
  • Syarat
  • Tahapan
  • Tampilan
  • Tanggung Jawab
  • Tantangan
  • Teknologi
  • Template
  • Terbaik
  • Terbaru
  • Terjangkau
  • Terjemahan
  • Terpercaya
  • Testing
  • Tim
  • Tips
  • Toko Online
  • Tools
  • Traffic
  • Transaksi
  • Tren
  • Trik
  • Troubleshooting
  • Tugas
  • Tutorial
  • UKM
  • UMKM
  • Undangan
  • Unlimited
  • Upgrade
  • Uptime
  • User-Friendly
  • Validasi
  • Video
  • VPS
  • Vue.js
  • Web
  • Web Development
  • Website
  • Windows
  • WordPress
  • XAMPP

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 gociwidey.

No Result
View All Result
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Development
  • Bisnis

© 2024 gociwidey.