Aplikasi CRUD (Create, Read, Update, Delete) Menggunakan Laravel


CRUD (Create, Read, Update, Delete) merupakan operasi yang hampir ada di setiap aplikasi perangkat lunak. Prosesnya pun bermacam-macam, mulai dari yang sederhana, sampai dengan yang kompleksitasnya tinggi. Umumnya, operasi CRUD adalah hal kedua yang dipelajari setelah instalasi sebuah bahasa pemrograman diinstal.

Selain untuk mempelajari komunikasi data lebih dalam di bahasa pemrograman, CRUD juga berpotensi mengembangkan pengetahuan akan fitur bahasa pemrograman yang digunakan.

***

Dalam tulisan seri kali ini, kita akan belajar bagaimana membuat operasi CRUD sederhana menggunakan framework Laravel. Contoh kasusnya pun sederhana, yaitu manajemen data user yang sudah disediakan oleh Laravel. Selain sebagai operasi CRUD, data user tersebut juga dapat digunakan untuk autentikasi aplikasi.

Hasil akhir dari aplikasi yang dibuat nantinya akan berupa seperti gambar di bawah. Di mana, selain operasi dasar CRUD, juga ditambahkan beberapa fitur pendukung, seperti pencarian, validasi data, sampai dengan bulk (tumpak) delete.

Namun, sebelum memasuki tutorial lebih jauh, kalian harus mempersiapkan terlebih dahulu Laravel sampai benar-benar siap digunakan.

Langkah rinci dalam persiapan framework Laravel sudah ditulis terpisah dalam blog ini. Khusus untuk langkah dalam pos ini, akan dibuat secara ringkas tanpa penjelasan rinci untuk setiap langkahnya.

LAMP Stack

Hal pertama yang perlu dipersiapkan adalah menginstal PHP dan MySQL/MariaDB. Pada dasarnya, Apache tidak terlalu dibutuhkan pada saat development, karena untuk menjalankan Laravel, kalian bisa menggunakan built-in web server yang disediakan PHP.

Tak kalah penting adalah Composer. Tool yang satu ini wajib diinstal, mengingat instalasi Laravel membutuhkan Composer.

$ composer create-project laravel/laravel -vvv

Konfigurasi Pangkalan Data

Langkah selanjutnya, mengatur konfigurasi pangkalan data (database) pada berkas .env. Pastikan kalian sudah membuat pangkalan data baru di MySQL/MariaDB, kemudian menyesuaikan pengaturannya pada konfigurasi.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

Migrasi

Jika pangkalan data sudah terhubung, langkah selanjutnya adalah menjalankan migrasi untuk membuat tabel users. Kebetulan, migrasi untuk tabel users sudah disediakan oleh Laravel yang dapat kalian temukan dalam direktori database/migrations.

Kalian cukup menjalankan perintah berikut melalui terminal untuk menjalankan migrasi.

$ php artisan migrate

Jika di Laravel versi 5.4 kalian mendapati pesan kesalahan Syntax error or access violation: 1071 Specified key was too long, ikuti tutorial di di tautan ini untuk menanganinya.

Silakan periksa pangkalan data yang digunakan, apakah terdapat tabel baru dengan nama users di dalamnya? Jika ya, sampai di sini framework Laravel sudah siap dikembangkan untuk aplikasi dasar operasi CRUD.

Struktur tabel users yang telah dibuat menggunakan migration adalah sebagai berikut.

+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| id             | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name           | varchar(191)     | NO   |     | NULL    |                |
| email          | varchar(191)     | NO   | UNI | NULL    |                |
| password       | varchar(191)     | NO   |     | NULL    |                |
| remember_token | varchar(100)     | YES  |     | NULL    |                |
| created_at     | timestamp        | YES  |     | NULL    |                |
| updated_at     | timestamp        | YES  |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+

Seeder (Opsional)

Tidak ada data sema sekali dalam tabel users. Untuk mengisinya dengan cara praktis untuk ujicoba, kalian bisa membuat sebuah seeder untuk mengisi data user menggunakan Faker dan model factory.

Buat seeder terlebih dahulu dengan perintah berikut.

$ php artisan make:seeder UserTableSeeder

Dalam direktori database/seeds, kalian akan menemui sebuah berkas baru dengan nama UserTableSeeder.php. Modifikasi isi berkas tersebut, sehingga menjadi seperti berikut.

<?php

use Illuminate\Database\Seeder;

class UserTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $users = factory(\App\User::class, 100)->create();
    }
}

Untuk menjalankan seeder di atas, kalian cukup menjalankan perintah berikut.

$ php artisan db:seed --class=UserTableSeeder

Seeder tersebut akan membuat 100 data dummy dan menyisipkannya ke dalam tabel users.

Tak Berkategori

Yugo Purwanto

Pemrogram PHP dan JavaScript yang sedang sibuk mengembangkan aplikasi Glosarium Bahasa Indonesia.

Tinggalkan Balasan