Tutorial Database Seeder dan Faker pada Laravel

Halo, Sob! Laravel memiliki fitur Seeder dan Faker untuk membantu mengisi database dengan data awal atau data palsu (dummy data) yang bisa sangat membantu kalau kamu ingin melakukan pengujian aplikasi yang membutuhkan data sampel yang banyak.

Seeder dan Faker memiliki fungsi yang sama, yaitu membuat data dummy pada database. Namun, keduanya memiliki perbedaan, simak selengkapnya di bawah ini.

Seeder dan Faker

Definisi Seeder: Seeder adalah fitur di Laravel yang digunakan untuk mengisi database daengan data uji coba secara otomatis menggunakan skrip.

Definisi Faker: Faker adalah library PHP yang digunakan untuk membuat data palsu (dummy) secara otomatis. Laravel mengintergrasikan Faker secara default melalui factory unutk memudahkan pembuatan data acak.

Perbedaan: Seeder adalah alat untuk mengatur apa yang akan diisi ke dalam database. Sedangkan Faker adalah alat untuk membuat data dummy yang akan digunakan dalam Seeder melalui Factory.

Persiapan

Sebelum, mempraktikkan bagaimana Seeder dan Faker bekerja. Buat database terlebih dahulu, misalnya bernama ‘db_laraveltutorial

1-buat-database-konsep-model-view-controller-laravel-mvc

Di dalam database ‘db_laraveltutorial’, buat tabel bernama ‘buku’ dengan kolom:

  • id: interger, primary key, auto increment
  • judul: varchar
  • penulis: varchar
  • tahun_terbit: integer
  • penerbit: varchar
1-buat-tabel-buku
2-isi-tabel-buku

ATAU kalau mau menggunakan query SQL:

				
					CREATE TABLE buku (
    id INT AUTO_INCREMENT PRIMARY KEY,
    judul VARCHAR(255),
    penulis VARCHAR(255),
    tahun_terbit INT,
    penerbit VARCHAR(255)
);

				
			

Setelah database dan tabel sudah siap, isi datanya menggunakan Seeder dan Faker.

Membuat Seeder

Di terminal, buat seeder menggunakan perintah:

				
					php artisan make:seeder BukuSeeder
				
			
3-output-make-seeder-laravel

Edit file database/seeders/BukuSeeder.php:

				
					<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class BukuSeeder extends Seeder
{
    public function run()
    {
        DB::table('buku')->insert([
            'judul' => 'Laravel untuk Pemula',
            'penulis' => 'Ahmad Ramadhan',
            'tahun_terbit' => 2022,
            'penerbit' => 'Informatika Bandung',
        ]);
    }
}

				
			
5-buat-seeder-database-laravel

Buka kembali terminal, lalu jalankan perintah berikut:

				
					php artisan db:seed --class=BukuSeeder
				
			
4-output-seeder-data

Periksa pada tabel buku untuk melihat data dummy yang sudah kamu buat menggunakan seeder.

6-hasil-seeder-database-laravel

Membuat Faker

Untuk membuat Faker, edit kembali BukuSeeder.php untuk membuat data acak:

				
					<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;

class BukuSeeder extends Seeder
{
    public function run()
    {
        $faker = Faker::create('id_ID');

        for ($i = 0; $i < 50; $i++) {
            DB::table('buku')->insert([
                'judul' => $faker->sentence(3),
                'penulis' => $faker->name,
                'tahun_terbit' => $faker->numberBetween(1990, 2025),
                'penerbit' => $faker->company,
            ]);
        }
    }
}

				
			
7-buat-faker-database-laravel

Kode ini akan membuat 50 baris data palsu di tabel buku, di mana setiap baris berisi judul, penulis, tahun terbit, dan penerbit yang dihasilkan secara acak oleh Faker.

Baris kode $faker = Faker::create(‘id_ID’); berfungsi membuat objek Faker dengan bahasa Indonesia (id_ID) supaya nama penulis dan perusahaan terlihat seperti data lokal Indonesia.

use Faker\Factory as Faker;  berperan untuk memanggil class Faker.

Jalankan kembali perintah seeder melalui terminal:

				
					php artisan db:seed --class=BukuSeeder
				
			

Periksa di tabel buku untuk melihat data yang sudah kamu generate menggunakan faker.

8-hasil-faker-database-laravel

Dengan Seeder dan Faker, kamu bisa mengisi tabel buku dengan data manual maupun data dummy secara otomatis. Ini sangat membantu saat kamu ingin menguji fitur seperti menampilkan daftar buku, pencarian, pagination, atau CRUD. Selamat mencoba, Sob!

Kalau ada yang masih bingung, jangan ragu hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket, Sob!

Simak terus tips-tips seputar domain dan hosting dari Jagoan Hosting di laman Pusat Tutorial Hosting & Domain.

Related Posts
Tutorial Upload Aplikasi Laravel ke Hosting Melalui cPanel

Pengantar Hai, Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, Read more

Tutorial Install Laravel di cPanel Jagoan Hosting

Hai Sob! Buat kamu semua para developer yang lagi kepo gimana sih cara Upload Aplikasi Laravel ke Hosting? Nah, tutorial Read more

Cara Install Laravel Dari Clone Git di cPanel

Halo Sob! Bagi developer handal seperti kamu, mendengar istilah laravel dan clone git adalah sesuatu yang familiar bukan? Nah, kali Read more

Cara Membuat Storage Link pada Laravel

Hai Sob! Sebagai seorang developer yang menggunakan laravel, kamu pasti tahu dong bahwa salah satu keuntungan menggunakan framework laravel adalah Read more