Implementasi CRUD Menggunakan Laravel untuk Pemula – Perwira Learning Center

 

 Implementasi CRUD Menggunakan Laravel untuk Pemula

 

1. Latar Belakang

    Perkembangan aplikasi web modern menuntut sistem yang mampu mengelola data secara dinamis. Pengelolaan data tersebut umumnya menggunakan konsep CRUD (Create, Read, Update, Delete).

    Framework yang banyak digunakan untuk membangun aplikasi web berbasis PHP adalah Laravel. Laravel menyediakan struktur yang rapi dengan konsep MVC (Model, View, Controller), serta fitur seperti routing, migration, dan Eloquent ORM yang mempermudah pengelolaan database.

    Dengan mempelajari implementasi CRUD menggunakan Laravel, pemula dapat memahami alur kerja aplikasi berbasis database secara sistematis.

 

 Apa itu laravel? - Angon Data Aji Saka

 

2. Alat dan Bahan

 a. Perangkat Lunak

    - Web browser (contoh: Google Chrome atau Mozilla Firefox) 

    - Code editor / text editor (contoh: Visual Studio Code)

    - Terminal / Command Prompt

    - Web server    

    - Composer 

    - PHP minimal versi 8.x 

b. Perangkat Keras

     - Laptop / Komputer.   

3. Pembahasan

3.1 Apa itu Laravel dan CRUD? 

Laravel adalah framework PHP yang dirancang untuk mempermudah proses pengembangan aplikasi web dengan sintaks yang elegan dan struktur yang rapi. Laravel menggunakan konsep MVC:

- Model: Mengelola data dan berinteraksi dengan database.

- View: Menampilkan tampilan kepada pengguna.

- Controller: Menghubungkan Model dan View serta mengatur alur logika aplikasi.

CRUD adalah singkatan dari:

- Create: Menambahkan data baru ke database

- Read: Menampilkan atau membaca data

- Update: Mengubah data yang sudah ada

- Delete: Menghapus data 

3.2 Langkah - Langkah Membuat CRUD pada Laravel 

Berikut ini langkah - langkah membuat CRUD sederhana menggunakan framework Laravel:

1. Membuat projek laravel 

composer create-project laravel/laravel crud-sederhana 

    Masuk ke folder projek: 

cd crud-sederhana

    Jalankan server: 

php artisan serve 

    Akses di browser: 

http://127.0.0.1:8000/

Kalau ini tidak jalan, berarti ada yang salah di instalasi PHP atau Composer. Dan itu bukan salah Laravel. 

2. Mengatur database 

    Buat database baru di phpMyAdmin: db_siswa 

    Kita atur file .env, ubah nama db_connection dan db_database nya.

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

3. Membuat model dan migration 

    Kita bisa membuat model dan migration secara bersamaan menggunakan perintah berikut:

php artisan make:model Siswa -m

    Edit file migration di folder database/migrations:

public function up()
    {
        Schema::create('siswa', function (Blueprint $table) {
            $table->id();
            $table->string('nama');
            $table->string('kelas');
            $table->timestamps();
        });
    }
    Jalankan migration: 

php artisan migrate 

    Sekarang tabel siswa sudah ada di database. 

4. Edit model siswa

    File: app/Models/Siswa.php 

class Siswa extends Model
{
    protected $table = 'siswa';
    protected $fillable = ['nama', 'kelas'];

5. Membuat controller

    Kita bisa membuat controller menggunakan perintah:      

php artisan make:controller SiswaController --resource  

     File: app/Http/Controllers/SiswaController.php

    Isi lengkap controller: 

<?php

namespace App\Http\Controllers;

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

class SiswaController extends Controller
{
    public function index()
    {
        $siswa = Siswa::all();
        return view('siswa.index', compact('siswa'));
    }

    public function create()
    {
        return view('siswa.create');
    }

    public function store(Request $request)
    {
        $request->validate([
            'nama' => 'required',
            'kelas' => 'required',
        ]);

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

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

    public function edit(Siswa $siswa)
    {
        return view('siswa.edit', compact('siswa'));
    }

    public function update(Request $request, Siswa $siswa)
    {
        $request->validate([
            'nama' => 'required',
            'kelas' => 'required',
        ]);

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

        return redirect()->route('siswa.index')
                         ->with('success', 'Data berhasil diupdate');
    }

    public function destroy(Siswa $siswa)
    {
        $siswa->delete();

        return redirect()->route('siswa.index')
                         ->with('success', 'Data berhasil dihapus');
    }

 

6. Membuat routing

    File: routes/web.php 

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\SiswaController;

Route::resource('siswa', SiswaController::class); 

    Route resource otomatis membuat:

    - GET /siswa

    - GET /siswa/create

    - POST /siswa

    - GET /siswa/{id}/edit

    - PUT /siswa/{id}

    - DELETE /siswa/{id}

    Laravel mengurus semuanya. Kamu tinggal pakai.

7. Membuat view

    Buat folder:

resources/views/siswa 

    Di folder tersebut kita membuat 3 file, yaitu index, create dan edit. 

    a. Index.blade.php 

<!DOCTYPE html>
<html>
<head>
    <title>Data Siswa</title>
</head>
<body>
    <h2>Data Siswa</h2>

    <a href="{{ route('siswa.create') }}">Tambah Data</a>

    <table border="1">
        <tr>
            <th>Nama</th>
            <th>Kelas</th>

            <th>Aksi</th>
        </tr>

        @foreach ($siswa as $data)
        <tr>
            <td>{{ $data->nama }}</td>
            <td>{{ $data->kelas }}</td>
            <td>
                <a href="{{ route('siswa.edit', $data->id) }}">Edit</a>

                <form action="{{ route('siswa.destroy', $data->id) }}" method="POST">
                    @csrf
                    @method('DELETE')
                    <button type="submit">Hapus</button>
                </form>
            </td>
        </tr>
        @endforeach
    </table>
</body>
</html> 

b. create.blade.php 

<!DOCTYPE html>
<html>
<head>
    <title>Tambah Siswa</title>
</head>
<body>
    <h2>Tambah Data Siswa</h2>

    <form action="{{ route('siswa.store') }}" method="POST">
        @csrf
        Nama: <input type="text" name="nama"><br>
        Kelas: <input type="text" name="kelas"><br>
        <button type="submit">Simpan</button>
    </form>
</body>
</html>

c. edit.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Edit Siswa</title>
</head>
<body>
    <h2>Edit Data Siswa</h2>

    <form action="{{ route('siswa.update', $siswa->id) }}" method="POST">
        @csrf
        @method('PUT')

        Nama: <input type="text" name="nama" value="{{ $siswa->nama }}"><br>
        Kelas: <input type="text" name="kelas" value="{{ $siswa->kelas }}"><br>

        <button type="submit">Update</button>
    </form>
</body>
</html> 

8. Hasilnya 

  

3.3 Kesimpulan  

CRUD dalam Laravel dapat diimplementasikan menggunakan fitur:

- Migration untuk membuat tabel

- Model untuk mengelola data

- Controller untuk logika aplikasi

- Routing untuk mengatur URL

- Blade untuk tampilan

Dengan mengikuti langkah-langkah tersebut, sistem CRUD sederhana dapat berjalan dengan struktur yang rapi dan efisien. Laravel mempermudah proses pengembangan karena sebagian besar konfigurasi sudah diotomatisasi. 

4. Daftar Pustaka  

Biznet Gio. (n.d.). Apa itu Laravel? https://www.biznetgio.com/blog/apa-itu-laravel/

Hostinger. (n.d.). Apa itu Laravel? Panduan lengkap untuk pemula. https://www.hostinger.com/id/tutorial/apa-itu-laravel

Jakarta Telkom University. (n.d.). Laravel: definisi, cara kerja, keunggulan dan kekurangan. https://jakarta.telkomuniversity.ac.id/laravel-definisi-cara-kerja-keunggulan-dan-kekurangan/

Rumahweb Indonesia. (n.d.). Laravel adalah: pengertian, fungsi dan kelebihannya. https://www.rumahweb.com/journal/laravel-adalah/

 


Posting Komentar

0 Komentar