Belajar Laravel 8 #8 : CRUD pada Laravel Part 1

Belajar Laravel 8 #8 : CRUD pada Laravel Part 1

Setelah kemarin kita mempelajari tentang Database, Faker dan Seeder. Kali ini kita akan membahas CRUD pada Laravel. Teman-teman pasti sudah Familiar dengan sistem CRUD (Create, Read, Update, Delete), CRUD ini merupakan salah satu bagian penting dalam pengembangan Aplikasi, entah itu di Website ataupun di platform lainnya.

Nah di Artikel ini kita akan membahas CRUD pada Laravel. Laravel memiliki beberapa hal yang akan memudahkan kita dalam membuat sistem CRUD, yaitu namanya resource.

Penjelasan CRUD pada Laravel

Seperti yang aku jelaskan diatas, CRUD pada Laravel ini dimudahkan dengan yang namanya resource. Fitur ini akan memudahkan kita dalam membuat Controller yang nantinya kita gunakan untuk Fitur CRUD ini. Disini kita akan Praktekkan untuk CRUD Siswa dari awal instalasi sampai selesai.

Proses Pembuatan Metode CRUD

Pada Artikel Part 1 ini, kita akan melakukan setting untuk Metode CRUD ini, sampai nanti kita bisa menggunakan satu Fitur terlebih dahulu yaitu Read. Kita akan mulai dari instalasi Laravel sampai Projek Read.

Install Projek Laravel

Proses instalasi ini bisa kalian lihat di artikel Belajar Laravel #2 : Cara Instalasi Laravel, atau bisa kalian lihat seperti dibawah ini. Pertama, buka terminal lalu jalankan syntax dibawah ini

composer create-project laravel/laravel crud-system

Nah kita namai Projek kita dengan nama crud-system untuk menyesuaikan dengan Hal yang ingin kita kejar yaitu Metode CRUD. Apabila sudah selesai, tinggal jalankan Projek Laravel kita beserta Web Server sederhana seperti xampp

Mengatur Database

Setelah selesai instalasi dan menjalankan Laravel, yang harus kita lakukan berikutnya adalah mengatur Database yang akan kita gunakan untuk Metode CRUD kita. Kalau teman-teman ingin membaca lebih detail tentang Database ini bisa kalian lihat di Artikel Belajar Laravel 8 #6 : Database Migrations.

Nah, kalau di artikel ini kita akan membuat Database untuk Data Karyawan saja. Jadi nanti Metode CRUD kita akan kita terapkan di Pendataan Karyawan. Pertama, buat Database di phpmyadmin terlebih dahulu. Silahkan beri nama data_karyawan

Belajar Laravel 8 #8 : CRUD pada Laravel Part 1 Dunia Coding

Setelah berhasil membuat Database data_karyawan. Sekarang kita ganti settingan di .env kita.

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

Pastikan DB_DATABASE yang kita tulis sesuai dengan nama Database yang kita buat sebelumnya. Setelah selesai mengatur .env, sekarang saatnya kita membuat tabel yang akan kita gunakan untuk CRUD nanti. Dalam membuat tabel ini kita akan menggunakan metode Migrations, selain itu kita juga akan langsung membuat Model beserta Controller nya.

Sekarang, pastikan kalian sudah install Ekstensi Laravel Artisan di Visual Studio Code.

Belajar Laravel 8 #8 : CRUD pada Laravel Part 1 Dunia Coding

Setelah itu, kita bisa membuat Model, Controller, dan Migrations untuk Tabel Karyawan kita secara langsung. Caranya klik Ctrl + Shift + P. Lalu pilih >Make Model, Setelah itu buat Nama Model Employee, setelah itu akan ada pilihan untuk membuat Migrations, Resource, dan Factory? Kita pilih Yes saja. Setelah itu kita sudah memiliki Factory, Migrations, Model, dan Controller yang kita butuhkan. Mari kita setting satu-persatu

Setting Migrations

Di Migrations ini kita akan membuat Tabel di Database kita, disini kita akan menentukan beberapa kolom yang akan kita pakai. Silahkan buat yang sederhana saja, sementara cukup nama, email, dan nomor hp saja.

       Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->string('phone_number');
            $table->timestamps();
        });

Setelah selesai silahkan jalankan php artisan migrate di terminal kalian untuk mengecek hasil dari Database kita

Setting Model

Di Model Employee.php ini kita akan memberikan syntax agar Tabel kita nanti bisa di isi data secara Massive menggunakan protected $guarded.

class Employee extends Model
{
    use HasFactory;

    protected $guarded = ["id"];
}

Setting Route

Nah, di Route atau di file web.php ini kita akan mengganti syntax untuk Route::get('/'). Kita akan mengganti Route::get ini dengan Route::resource, jadi nanti kita tidak harus membuat Route lain lagi.

Route::resource('/', EmployeeController::class);

Cukup Hapus Route::get di web.php, lalu gantikan dengan Syntax diatas.

Setting Controller

Nah, Controller ini adalah sebuah file yang berfungsi untuk menyambungkan Database dan tampilan kita. Kalau teman-teman buka, pasti sekarang Controller sudah berisi beberapa fungsi seperti index(), create(), store(), dll. Nah Fungsi ini lah yang akan kita gunakan untuk membuat Fungsi CRUD pada Laravel. Mulai dari fungsi pertama yaitu index().

Fungsi index() ini berguna untuk menampilkan Tampilan pertama dari Website kita. Jadi kita akan menampilkan Data yang ada pada Tabel Karyawan. Tulis Seperti ini di dalam Fungsi index().

return view('index', [
            'employees' => Employee::all()
        ]);

Nah, diatas ada syntax return view, nanti syntax ini akan menampilkan tampilan dari Folder view dengan nama index. Lalu setelah itu ada 'employees' => Employee::all() ini digunakan untuk mengambil semua data yang ada di tabel Employee.

Sebenarnya masih banyak fungsi yang bisa digunakan selain fungsi all(). kalian bisa lihat detailsnya di Database: Query Builder.

Buat Tampilan

Nah, setelah selesai setting Model, Controller dan Route. Sekarang kita akan setting View, Setting view ini merupakan salah satu bagian penting dalam Sistem CRUD pada Laravel karena View ini akan digunakan oleh User untuk memproses Crud pada Laravel nantinya.

Caranya sederhana, cukup buat File baru di dalam Folder view, lalu kita masukkan tabel. Nah disini kita aku akan menggunakan bootstrap. Sebagai catetan kita harus membuat nama tampilan ini sesuai dengan settingan di Controller kita. Jadi kita buat dengan nama index.blade.php

File index.blade.php

<!doctype html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    <title>CRUD Karyawan</title>
</head>

<body>
    <div class="container mt-5">
        <h1 class="display-4">Data Karyawan</h1>
        <table class="table">
            <thead>
                <tr>
                    <th scope="col">#</th>
                    <th scope="col">Nama</th>
                    <th scope="col">Email</th>
                    <th scope="col">Phone Number</th>
                </tr>
            </thead>
            <tbody>
                @foreach ($employees as $item)
                    <tr>
                        <th scope="row">{{ $loop->index + 1 }}</th>
                        <td>{{ $item->name }}</td>
                        <td>{{ $item->email }}</td>
                        <td>{{ $item->phone_number }}</td>
                    </tr>
                @endforeach
            </tbody>
        </table>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous">
    </script>
</body>

</html>

Nah, kalau dilihat di syntax diatas kita menggunakan Looping foreach, nah looping ini digunakan untuk menampilkan semua Data Karyawan yang di Looping satu-persatu. Didalam Looping itu kita juga menggunakan ($employees as $item), nah $employees ini menyesuaikan dengan yang ada di Controller kita tadi.

Selain itu didalam kolom tabel nya kita menuliskan {{ $item->name }} dan seterusnya. Nah ini menyesuaikan nama kolom kita di Database

Input Data Manual

Langkah terakhir agar kita bisa melihat settingan kita. Kita bisa input manual Data kita lewat phpmyadmin. Nanti ada yang kita inputkan akan terlihat saat kita menjalankan Laravel. Kurang lebih hasilnya seperti ini

Belajar Laravel 8 #8 : CRUD pada Laravel Part 1 Dunia Coding

Kesimpulan

Nah disini kita sudah membuat Fitur CRUD pada Laravel walaupun baru selesai Part 1 saja sampai Read. Pada Part 2 kita akan membahas lanjutan Fitur CRUD pada Laravel ini dengan Fitur lain yaitu Create, Update, dan Delete.

Sampai disini saja teman-teman Part 1 dari Artikel CRUD pada Laravel ini, Stay Tune ya untuk Part 2

Share

You may also like...

1 Response

  1. 01/02/2022

    […] Belajar Laravel 8 #8 : CRUD pada Laravel Part 1 […]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *