tutwuri
  • Error generating categories
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Bisnis
No Result
View All Result
tutwuri
  • Error generating categories
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Bisnis
No Result
View All Result
tutwuri
No Result
View All Result
Home Aplikasi

Cara Membuat CRUD dengan Laravel 9: Aplikasi Web Dinamis dalam Sekejap!

Lyra Silverbrook by Lyra Silverbrook
May 20, 2025
in Aplikasi, Cepat, Laravel, Pemula, Web
0
Share on FacebookShare on Twitter

Laravel 9, sebagai salah satu framework PHP paling populer, menawarkan kemudahan dan kecepatan dalam pengembangan aplikasi web. Salah satu fungsi dasar yang hampir selalu ada dalam aplikasi web adalah CRUD (Create, Read, Update, Delete). Artikel ini akan memandu Anda langkah demi langkah tentang cara membuat CRUD dengan Laravel 9, memungkinkan Anda menciptakan aplikasi web dinamis dengan cepat dan efisien. Kita akan membahas mulai dari persiapan lingkungan, pembuatan model, migration, controller, hingga implementasi view. Siap untuk memulai petualangan Laravel Anda? Mari kita mulai!

1. Persiapan Awal: Menginstal Laravel 9 dan Konfigurasi Database

Sebelum kita mulai membuat CRUD dengan Laravel 9, kita perlu memastikan bahwa lingkungan pengembangan kita sudah siap. Ini termasuk menginstal Laravel 9 dan mengkonfigurasi koneksi ke database.

  • Instalasi Laravel 9: Jika Anda belum memiliki Laravel terinstal, Anda dapat menginstalnya menggunakan Composer, package manager untuk PHP. Buka terminal Anda dan jalankan perintah berikut:

    composer create-project laravel/laravel nama-aplikasi
    cd nama-aplikasi

    Ganti nama-aplikasi dengan nama yang Anda inginkan untuk proyek Anda.

  • Konfigurasi Database: Setelah instalasi selesai, buka file .env di direktori proyek Anda. Cari bagian yang berhubungan dengan database dan sesuaikan dengan informasi database Anda. Contohnya:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=nama_database
    DB_USERNAME=username_database
    DB_PASSWORD=password_database

    Pastikan Anda membuat database dengan nama yang sesuai di server database Anda.

  • Menjalankan Server Pengembangan: Untuk menjalankan server pengembangan Laravel, gunakan perintah berikut:

    php artisan serve

    Aplikasi Anda akan berjalan di http://127.0.0.1:8000.

2. Membuat Model dan Migration untuk Struktur Data

Langkah selanjutnya dalam cara membuat CRUD dengan Laravel 9 adalah mendefinisikan struktur data kita. Dalam contoh ini, kita akan membuat CRUD untuk data “Artikel”. Kita membutuhkan model dan migration untuk mendefinisikan tabel articles di database.

  • Membuat Model: Laravel menyediakan Artisan command untuk membuat model dengan mudah:

    php artisan make:model Article

    Ini akan membuat file Article.php di direktori app/Models.

  • Membuat Migration: Kita juga membutuhkan migration untuk membuat tabel di database. Gunakan perintah berikut:

    php artisan make:migration create_articles_table

    Ini akan membuat file migration di direktori database/migrations. Buka file migration tersebut dan definisikan skema tabel articles. Contohnya:

    <?php
    
    use IlluminateDatabaseMigrationsMigration;
    use IlluminateDatabaseSchemaBlueprint;
    use IlluminateSupportFacadesSchema;
    
    return new class extends Migration
    {
        /**
         * Run the migrations.
         */
        public function up(): void
        {
            Schema::create('articles', function (Blueprint $table) {
                $table->id();
                $table->string('title');
                $table->text('content');
                $table->timestamps();
            });
        }
    
        /**
         * Reverse the migrations.
         */
        public function down(): void
        {
            Schema::dropIfExists('articles');
        }
    };

    Di sini, kita mendefinisikan tabel articles dengan kolom id, title, content, dan timestamps.

  • Menjalankan Migration: Setelah mendefinisikan migration, jalankan perintah berikut untuk membuat tabel di database:

    php artisan migrate

    Perintah ini akan menjalankan semua migration yang belum dijalankan.

3. Membuat Controller untuk Logika CRUD

Controller bertugas menangani logika bisnis aplikasi kita. Dalam cara membuat CRUD dengan Laravel 9, controller akan menangani operasi Create, Read, Update, dan Delete untuk data artikel.

Related Post

Cara Membuat Model AI dengan Tensorflow: Panduan Lengkap untuk Pemula

December 2, 2025

Contoh Project Laravel Open Source: Inspirasi & Referensi Kode

November 30, 2025

Komunitas Laravel Developer Indonesia: Bergabung & Belajar Bersama!

November 30, 2025

Cara Deploy Aplikasi Laravel ke Server: Panduan Lengkap Hingga Website Online

November 30, 2025
  • Membuat Controller: Gunakan Artisan command untuk membuat controller:

    php artisan make:controller ArticleController --resource

    Opsi --resource akan membuat controller dengan semua method yang dibutuhkan untuk operasi CRUD (index, create, store, show, edit, update, destroy). File ArticleController.php akan dibuat di direktori app/Http/Controllers.

  • Implementasi Method Controller: Buka file ArticleController.php dan implementasikan method-method CRUD.

    • index() (Menampilkan Daftar Artikel):

      public function index()
      {
          $articles = Article::all(); // Atau gunakan paginate() untuk paginasi
          return view('articles.index', compact('articles'));
      }
    • create() (Menampilkan Form Pembuatan Artikel):

      public function create()
      {
          return view('articles.create');
      }
    • store() (Menyimpan Artikel Baru):

      public function store(Request $request)
      {
          $request->validate([
              'title' => 'required|max:255',
              'content' => 'required',
          ]);
      
          Article::create($request->all());
      
          return redirect()->route('articles.index')
              ->with('success', 'Artikel berhasil ditambahkan.');
      }

      Jangan lupa tambahkan use IlluminateHttpRequest; dan use AppModelsArticle; di bagian atas file controller.

    • show() (Menampilkan Detail Artikel):

      public function show(Article $article)
      {
          return view('articles.show', compact('article'));
      }
    • edit() (Menampilkan Form Edit Artikel):

      public function edit(Article $article)
      {
          return view('articles.edit', compact('article'));
      }
    • update() (Mengupdate Artikel):

      public function update(Request $request, Article $article)
      {
          $request->validate([
              'title' => 'required|max:255',
              'content' => 'required',
          ]);
      
          $article->update($request->all());
      
          return redirect()->route('articles.index')
              ->with('success', 'Artikel berhasil diupdate.');
      }
    • destroy() (Menghapus Artikel):

      public function destroy(Article $article)
      {
          $article->delete();
      
          return redirect()->route('articles.index')
              ->with('success', 'Artikel berhasil dihapus.');
      }

4. Membuat View untuk Tampilan CRUD

View adalah bagian dari aplikasi kita yang menampilkan data ke pengguna. Dalam cara membuat CRUD dengan Laravel 9, kita akan membuat view untuk menampilkan daftar artikel, form pembuatan, form edit, dan detail artikel.

  • Membuat Direktori View: Buat direktori articles di dalam direktori resources/views untuk menyimpan semua view yang berhubungan dengan artikel.

  • Membuat File View: Buat file-file berikut di dalam direktori resources/views/articles:

    • index.blade.php (Daftar Artikel):

      <!DOCTYPE html>
      <html>
      <head>
          <title>Daftar Artikel</title>
      </head>
      <body>
          <h1>Daftar Artikel</h1>
      
          @if ($message = Session::get('success'))
              <p>{{ $message }}</p>
          @endif
      
          <a href="{{ route('articles.create') }}">Tambah Artikel Baru</a>
      
          <table>
              <thead>
                  <tr>
                      <th>Judul</th>
                      <th>Aksi</th>
                  </tr>
              </thead>
              <tbody>
                  @foreach ($articles as $article)
                      <tr>
                          <td>{{ $article->title }}</td>
                          <td>
                              <a href="{{ route('articles.show', $article->id) }}">Lihat</a>
                              <a href="{{ route('articles.edit', $article->id) }}">Edit</a>
                              <form action="{{ route('articles.destroy', $article->id) }}" method="POST">
                                  @csrf
                                  @method('DELETE')
                                  <button type="submit">Hapus</button>
                              </form>
                          </td>
                      </tr>
                  @endforeach
              </tbody>
          </table>
      </body>
      </html>
    • create.blade.php (Form Pembuatan Artikel):

      <!DOCTYPE html>
      <html>
      <head>
          <title>Tambah Artikel Baru</title>
      </head>
      <body>
          <h1>Tambah Artikel Baru</h1>
      
          @if ($errors->any())
              <div>
                  <strong>Whoops!</strong> Ada kesalahan dalam input Anda.<br><br>
                  <ul>
                      @foreach ($errors->all() as $error)
                          <li>{{ $error }}</li>
                      @endforeach
                  </ul>
              </div>
          @endif
      
          <form action="{{ route('articles.store') }}" method="POST">
              @csrf
      
              <div>
                  <label for="title">Judul:</label>
                  <input type="text" name="title" id="title" value="{{ old('title') }}">
              </div>
      
              <div>
                  <label for="content">Konten:</label>
                  <textarea name="content" id="content">{{ old('content') }}</textarea>
              </div>
      
              <button type="submit">Simpan</button>
          </form>
      
          <a href="{{ route('articles.index') }}">Kembali</a>
      </body>
      </html>
    • show.blade.php (Detail Artikel):

      <!DOCTYPE html>
      <html>
      <head>
          <title>Detail Artikel</title>
      </head>
      <body>
          <h1>Detail Artikel</h1>
      
          <h2>{{ $article->title }}</h2>
          <p>{{ $article->content }}</p>
      
          <a href="{{ route('articles.index') }}">Kembali</a>
      </body>
      </html>
    • edit.blade.php (Form Edit Artikel):

      <!DOCTYPE html>
      <html>
      <head>
          <title>Edit Artikel</title>
      </head>
      <body>
          <h1>Edit Artikel</h1>
      
          @if ($errors->any())
              <div>
                  <strong>Whoops!</strong> Ada kesalahan dalam input Anda.<br><br>
                  <ul>
                      @foreach ($errors->all() as $error)
                          <li>{{ $error }}</li>
                      @endforeach
                  </ul>
              </div>
          @endif
      
          <form action="{{ route('articles.update', $article->id) }}" method="POST">
              @csrf
              @method('PUT')
      
              <div>
                  <label for="title">Judul:</label>
                  <input type="text" name="title" id="title" value="{{ $article->title }}">
              </div>
      
              <div>
                  <label for="content">Konten:</label>
                  <textarea name="content" id="content">{{ $article->content }}</textarea>
              </div>
      
              <button type="submit">Update</button>
          </form>
      
          <a href="{{ route('articles.index') }}">Kembali</a>
      </body>
      </html>

    Sesuaikan tampilan view dengan kebutuhan aplikasi Anda.

5. Mendefinisikan Route untuk CRUD Artikel

Route menghubungkan URL dengan controller yang sesuai. Dalam cara membuat CRUD dengan Laravel 9, kita perlu mendefinisikan route untuk semua operasi CRUD artikel.

  • Menggunakan Resource Route: Laravel menyediakan resource route yang secara otomatis membuat route untuk semua method CRUD dalam controller. Buka file routes/web.php dan tambahkan baris berikut:

    Route::resource('articles', AppHttpControllersArticleController::class);

    Ini akan membuat route berikut:

    • GET /articles (index)
    • GET /articles/create (create)
    • POST /articles (store)
    • GET /articles/{article} (show)
    • GET /articles/{article}/edit (edit)
    • PUT/PATCH /articles/{article} (update)
    • DELETE /articles/{article} (destroy)

6. Validasi Data dan Keamanan

Validasi data sangat penting untuk memastikan data yang masuk ke database valid dan aman. Dalam cara membuat CRUD dengan Laravel 9, kita sudah menggunakan validasi di method store() dan update() dalam controller. Anda bisa menambahkan aturan validasi yang lebih kompleks sesuai kebutuhan.

Selain validasi, perhatikan juga keamanan aplikasi Anda. Gunakan middleware untuk melindungi route tertentu, gunakan fitur autentikasi dan otorisasi Laravel, dan selalu sanitasi input pengguna untuk mencegah serangan XSS dan SQL injection.

7. Implementasi Relasi Database (Opsional)

Jika aplikasi Anda melibatkan relasi antar tabel, Anda perlu mendefinisikan relasi tersebut di model. Misalnya, jika setiap artikel dimiliki oleh seorang penulis, Anda bisa menambahkan relasi belongsTo di model Article:

// app/Models/Article.php

public function author()
{
    return $this->belongsTo(Author::class);
}

Kemudian, Anda bisa mengakses data penulis dari artikel:

$article = Article::find(1);
echo $article->author->name;

8. Menggunakan Eloquent ORM untuk Interaksi Database yang Lebih Mudah

Eloquent ORM (Object-Relational Mapper) adalah cara mudah untuk berinteraksi dengan database di Laravel. Kita sudah menggunakan Eloquent di controller untuk mengambil, menyimpan, mengupdate, dan menghapus data. Dengan Eloquent, Anda tidak perlu menulis query SQL secara manual.

9. Menambahkan Fitur Tambahan: Paginasi, Pencarian, dan Lainnya

Setelah berhasil membuat CRUD dengan Laravel 9, Anda bisa menambahkan fitur tambahan seperti paginasi, pencarian, dan lain-lain untuk meningkatkan pengalaman pengguna.

  • Paginasi: Untuk menampilkan daftar artikel dengan paginasi, gunakan method paginate() di controller:

    public function index()
    {
        $articles = Article::paginate(10); // Menampilkan 10 artikel per halaman
        return view('articles.index', compact('articles'));
    }

    Kemudian, tambahkan link paginasi di view:

    {{ $articles->links() }}
  • Pencarian: Anda bisa menambahkan form pencarian di view dan memproses query pencarian di controller menggunakan Eloquent’s where() clause.

10. Tips Optimasi SEO untuk Aplikasi CRUD Anda

Meskipun fokus utama kita adalah cara membuat CRUD dengan Laravel 9, penting juga untuk memperhatikan SEO (Search Engine Optimization) agar aplikasi kita mudah ditemukan oleh mesin pencari.

  • Judul dan Deskripsi yang Relevan: Pastikan setiap halaman memiliki judul dan deskripsi meta yang relevan dengan konten.
  • URL yang Bersih: Gunakan URL yang mudah dibaca dan mengandung kata kunci yang relevan.
  • Internal Linking: Hubungkan antar halaman di aplikasi Anda untuk meningkatkan navigasi dan SEO.
  • Optimasi Gambar: Kompres gambar dan gunakan atribut alt yang deskriptif.
  • Mobile-Friendly: Pastikan aplikasi Anda responsif dan mudah digunakan di perangkat mobile.
  • Kecepatan Loading: Optimasi kode dan infrastruktur agar aplikasi Anda memiliki kecepatan loading yang baik.

11. Troubleshooting Masalah Umum saat Membuat CRUD

Dalam proses membuat CRUD dengan Laravel 9, Anda mungkin menghadapi beberapa masalah. Berikut beberapa troubleshooting umum:

  • Error Database Connection: Pastikan informasi database di file .env sudah benar.
  • Class Not Found: Pastikan Anda sudah mengimpor class yang dibutuhkan (misalnya, use AppModelsArticle;).
  • Method Not Allowed: Pastikan Anda menggunakan method HTTP yang benar (GET, POST, PUT, DELETE) untuk route yang sesuai.
  • View Not Found: Pastikan file view ada di direktori yang benar dan nama filenya sesuai.
  • Error Validasi: Periksa aturan validasi di controller dan pastikan input pengguna memenuhi aturan tersebut.

12. Kesimpulan: Aplikasi Web Dinamis Berbasis CRUD dengan Laravel 9 di Tangan Anda

Selamat! Anda telah berhasil mempelajari cara membuat CRUD dengan Laravel 9. Dengan pengetahuan ini, Anda dapat membangun aplikasi web dinamis yang efisien dan terstruktur. Ingatlah untuk terus belajar dan bereksperimen dengan fitur-fitur Laravel lainnya untuk meningkatkan kemampuan pengembangan web Anda. Laravel 9 menawarkan banyak kemudahan dan fleksibilitas untuk membangun aplikasi web modern. Jangan ragu untuk menjelajahi dokumentasi resmi Laravel dan sumber daya online lainnya untuk memperdalam pengetahuan Anda. Selamat berkarya!

Tags: Aplikasi WebCRUDDevelopmentDynamic Web ApplicationframeworkLaravelLaravel 9PHPtutorialweb development
Lyra Silverbrook

Lyra Silverbrook

Related Posts

AI

Cara Membuat Model AI dengan Tensorflow: Panduan Lengkap untuk Pemula

by Finnian Quickthorn
December 2, 2025
Contoh

Contoh Project Laravel Open Source: Inspirasi & Referensi Kode

by Elara Meadowlight
November 30, 2025
Belajar

Komunitas Laravel Developer Indonesia: Bergabung & Belajar Bersama!

by Elara Meadowlight
November 30, 2025
Next Post

Laravel Eloquent Relationship One to Many: Relasi Database yang Efisien!

Leave a Reply Cancel reply

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

Recommended

Contoh Website Company Profile Sederhana dengan HTML CSS: Inspirasi Desain Modern

July 30, 2025

Contoh Implementasi AI dalam Bisnis UKM: Studi Kasus dan Peluang Bisnis

June 20, 2025

Contoh Project Web Development Sederhana: Inspirasi dan Tutorial Lengkap

June 12, 2025

Cara Implementasi Authentication di Laravel: Keamanan Website Terjamin

August 1, 2025

Perbandingan CRM Open Source dan Berbayar: Pilih Sesuai Anggaran dan Kebutuhan

June 5, 2026

Contoh Implementasi CRM yang Sukses di Indonesia: Inspirasi untuk Bisnis Anda

June 5, 2026

Training CRM untuk Tim Sales dan Marketing: Tingkatkan Kompetensi dan Produktivitas

June 5, 2026

Harga Software CRM di Indonesia per Bulan: Perbandingan dan Pilihan Terbaik

June 5, 2026

tutwuri

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

  • Perbandingan CRM Open Source dan Berbayar: Pilih Sesuai Anggaran dan Kebutuhan
  • Contoh Implementasi CRM yang Sukses di Indonesia: Inspirasi untuk Bisnis Anda
  • Training CRM untuk Tim Sales dan Marketing: Tingkatkan Kompetensi dan Produktivitas

Categories

  • AI
  • Akuntansi
  • Algoritma
  • Alternatif
  • Analisis
  • and separated by commas: Hosting
  • API
  • Aplikasi
  • Asuransi
  • Authentication
  • Backend
  • Bahasa Indonesia
  • Belajar
  • Berita
  • Biaya
  • Bisnis
  • Blog
  • Bootstrap
  • Branding
  • Bulanan
  • Business
  • Cepat
  • Chatbot
  • ChatGPT
  • Cloud
  • CMS
  • Command
  • Contoh
  • CPanel
  • CRM
  • CRUD
  • CSS
  • Data
  • Database
  • Debugging
  • Deployment
  • Desain
  • Design
  • Developer
  • Development
  • Digital
  • Dokumentasi
  • Domain
  • Download
  • Dukungan
  • E-commerce
  • Efektif
  • Efektivitas
  • Efisiensi
  • Email
  • Error
  • Error generating categories
  • Etika
  • Event
  • Excel
  • Fashion
  • File
  • Fitur
  • Fleksibilitas
  • Framework
  • Freelance
  • Frontend
  • Fungsional
  • Gambar
  • Game
  • Garansi
  • Generatif
  • Google
  • Gratis
  • Harga
  • Here are 5 categories
  • Here are 5 categories based on the article titles
  • Hosting
  • HTML
  • Ide
  • Implementasi
  • Indonesia
  • Industri
  • Inovasi
  • Inspirasi
  • Integrasi
  • Investasi
  • Jakarta
  • JavaScript
  • Kapasitas
  • Karir
  • Kasus
  • Keamanan
  • Keandalan
  • Keberhasilan
  • Kebutuhan
  • Kecepatan
  • Kepuasan
  • Kerugian
  • Kesehatan
  • Kinerja
  • Kolaborasi
  • Komunikasi
  • Komunitas
  • Konfigurasi
  • Konstruksi
  • Konten
  • Kota
  • Kreativitas
  • Kualitas
  • Kustomisasi
  • Laporan
  • Laravel
  • Layanan
  • Lokasi
  • Machine Learning
  • Mahasiswa
  • Manajemen
  • Manajemen Proyek
  • Manfaat
  • Manufaktur
  • Marketing
  • Masa Depan
  • Masyarakat
  • Media Sosial
  • Migrasi
  • Migration
  • Mobile
  • Model
  • Monitoring
  • Murah
  • Negosiasi
  • Node JS
  • Online
  • Open Source
  • Optimasi
  • Otentikasi
  • Otomatis
  • Otomatisasi
  • Otomotif
  • Panduan
  • Pariwisata
  • Payment Gateway
  • Pekerjaan
  • Pelajar
  • Pelanggan
  • Pelatihan
  • Peluang
  • Pemasaran
  • Pemrograman
  • Pemula
  • Pendidikan
  • Pengambilan Keputusan
  • Pengembangan
  • Pengguna
  • Penggunaan
  • Penghasilan
  • Penipuan
  • Penjualan
  • Perbandingan
  • Perbedaan
  • Performa
  • Personalisasi
  • Pertumbuhan
  • Perubahan
  • PHP
  • Pilihan
  • Plugin
  • Portfolio
  • Prediksi
  • Produktivitas
  • Profesional
  • Programmer
  • Promo
  • Prospek
  • Python
  • Queue
  • Rekomendasi
  • Responsive
  • Retensi
  • Review
  • SEO
  • Sertifikat
  • Server
  • Sistem
  • Skalabilitas
  • Skill
  • Software
  • Solusi
  • SSD
  • SSL
  • Stabilitas
  • Startup
  • Strategi
  • Syarat
  • Tanggung Jawab
  • Tantangan
  • Technology
  • Teknologi
  • Template
  • Terbaik
  • Terbaru
  • Terpercaya
  • Testimoni
  • Tips
  • Tools
  • Traffic
  • Trafik
  • Tren
  • Troubleshooting
  • Tutorial
  • UI
  • UKM
  • Unlimited
  • Upload
  • Uptime
  • using one word per category: Software
  • using only one word from the list provided per category
  • Validasi
  • Video
  • VPS
  • Web
  • Website
  • WordPress

Resource

  • About us
  • Contact Us
  • Privacy Policy

© 2024 tutwuri.

No Result
View All Result
  • Error generating categories
  • Hosting
  • Indonesia
  • Website
  • Laravel
  • Bisnis

© 2024 tutwuri.