Seeding atau sering dikenal juga dengan sebutan database seeder di laravel adalah fitur untuk membuat atau mengisi data di database dengan data contoh atau sifatnya random. Biasanya data hasil seeding ini digunakan sebagai data testing atau ujicoba saat pengembangan aplikasi.
Faker adalah pustaka library open-source yang dibuat oleh Francois Zaninotto, merupakan kerangka yang digunakan untuk mengisi data di database dalam rangka kebutuhan pengujiannya.
Misalnya pada saat kita membuat sistem informasi dimana databasenya membutuhkan tabel kontak, sehingga kita memerlukan beberapa data contoh yang harus kita inputkan ke dalam tabel “kontaks” sebagai data uji coba.
Nah, di Laravel sudah disiapkan fitur database seeding, dengan perintah php artisan Laravel seeding kita bisa menginputkan data acak atau data random ke database dengan cepat tanpa harus repot-repot menginputkan satu per satu.
Bagiamana? sudah terbayang kan kegunaan dari fitur seeding database atau database seeder dan faker di Laravel ini?
Oke, langsung saja kita praktekkan disini, bagaimana cara kerja database seeder dan faker di Laravel.
Seeding Database Laravel Dan Cara Penggunaannya
Untuk menggunakan fitur seeding di Laravel, pertama kita harus membuat class seeder nya dulu dengan perintah php artisan.
Oke langsung saja kita gunakan project Laravel 6.x yang kita buat pada tutorial sebelumnya.
Karena tutorial ini merupakan rangkaian dari tutorial Laravel 6.x sebelumnya, maka kita masih menggunakan database sebelumnya dan disini saya menggunakan tabel kontak.
Membuat Database Seeder di Laravel
Untuk membuat seeder di Laravel, pertama buka jendela Terminal/Command Prompt, kemudian gunakan perintah change directory (cd) dan arahkan ke folder project Laravel.
Kemudian ketikkan perintah artisan berikut:
php artisan make:seeder KontakSeeder
Maka akan dibuat sebuah file seeder “KontakSeeder.php” pada folder “database/seeds/KontakSeeder.php”, seperti pada gambar berikut.

Kemudian buka file seeder, untuk menginput data ke tabel kontak maka ketikkan kode berikut pada function run().
<?php
use Illuminate\Database\Seeder;
class KontakSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('kontaks')->insert([
'nama_lengkap' => 'Jogjatech',
'email' => 'info.jogjatech@gmail.com',
'pekerjaan' => 'tutorial',
'alamat' => 'abcd'
]);
}
}
Maksud dari kode pada function run() tersebut adalah kita akan menambahkan satu record data ke tabel “kontaks”.
Kemudian jalankan perintah artisan berikut untuk mengeksekusi baris perintah yang telah kita buat diatas.
php artisan db:seed --class=KontakSeeder
Maka data diatas akan terinput ke tabel, jika kita cek ke tabel kontak maka akan tampak seperti berikut.

Sampai disini pasti teman-teman sudah paham akan kegunaan fitur database seeding pada Laravel.
Lalu bagaimana jika kita ingin menambahkan data lebih dari satu record pada seeder? Nah caranya kita bisa gunakan perulangan for untuk menghasilkan record lebih dari satu.
Menggunakan Faker Pada Laravel
Seperti apa yang dimaksud pada judul dari tutorial ini bahwa kita membahas bagaimana menggunakan Seeding Database Dan Faker Pada Laravel. Nah, setalah kita berhasil mempraktikkan penggunaan database seeder atau seeding database di Laravel, maka selanjutnya kita akan praktikkan penggunaan Faker pada Laravel.
Nah sebelumnya saya jelaskan kembali disini apa itu Faker? Ya, Faker adalah library open-source yang dibuat oleh Francois Zaninotto, yang berguna untuk membuat data palsu, atau data acak, atau data random untuk kepentingan ujicoba atau testing aplikasi. Faker mampu meng-generate ratusan bahkan ribuan data palsu untuk kegunaan data testing.
Nah, bagaimana teman-teman, sudah paham akan kegunaan Faker kan?
Nah, disini saya akan mencoba meng-generate 10 data palsu dan kita insert kan ke dalam tabel “kontaks”.
Oke, langsung saja kita eksekusi caranya seperti berikut.
Cara Menggunakan Faker
Buka file KontakSeeder.php yang ada pada folder “database/seeds/KontakSeeder.php”, dan ketikkan kode berikut.
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class KontakSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
/* perintah disini saya komen
public function run()
{
DB::table('kontaks')->insert([
'nama_lengkap' => 'Jogjatech',
'email' => 'info.jogjatech@gmail.com',
'pekerjaan' => 'tutorial',
'alamat' => 'abcd'
]);
}
*/
/* kemudian saya buat fungsi baru */
public function run()
{
$faker = Faker::create('id_ID');
for($i=1; $i <= 10; $i++){
DB::table('kontaks')->insert([
'nama_lengkap' => $faker->name,
'email' => $faker->email,
'pekerjaan' => $faker->jobTitle,
'alamat' => $faker->address
]);
}
}
}
Mari kita perhatikan perintah kode diatas, untuk menggunakan Faker, pertama kita harus memanggil class Faker seperti berikut.
use Faker\Factory as Faker;
Kemudian kita simpan perintahnya kedalam variabel $faker, seperti berikut.
$faker = Faker::create('id_ID');
Perhatikan dalam parameter create() diatas saya menggunakan kode ‘id_ID’ yang berarti menandakan id negara Indonesia, sehingga nantinya data-data yang diberikan Faker adalah data-data dari negara Indonesia. Mungkin teman-teman bisa mencoba dengan berbeda simbol negara.
Kemudian disini saya menggunakan perulangan for sebanyak 10 kali, agar si Faker meng-generate 10 data random untuk diinputkan ke tabel “kontaks”.
Oke, sekarang kita jalankan lagi seeder KontakSeeder.php dengan perintah artisan seperti berikut.
php artisan db:seed --class=KontakSeeder
Maka Faker akan membuatkan data tambahan sebanyak 10 record, sesuai perintah perulangan for pada baris perintah kode yang kita buat. Jika kita cek di database tabel “kontaks” maka akan kita jumpai data seperti contoh berikut.

Nah demikianlah pembahasan tutorial Laravel bagiamana penggunaan Seeding Database Dan Faker Pada Laravel. Semoga tutorial ini dapat membantu dan memberi manfaat bagi yang memerlukan. Terimakasih…
Selesai.