214 lines
14 KiB
PHP
214 lines
14 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class SistemPakarSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
// ── Users ─────────────────────────────────────────────
|
|
DB::table('users')->insert([
|
|
[
|
|
'name' => 'Administrator',
|
|
'email' => 'admin@sipakar.com',
|
|
'password' => Hash::make('admin123'),
|
|
'role' => 'admin',
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
],
|
|
[
|
|
'name' => 'User Demo',
|
|
'email' => 'user@sipakar.com',
|
|
'password' => Hash::make('user123'),
|
|
'role' => 'user',
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
],
|
|
]);
|
|
|
|
// ── Penyakit ──────────────────────────────────────────
|
|
$penyakit = [
|
|
['kode'=>'P01','nama'=>'Thrips','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Serangga kecil berwarna kuning kecoklatan yang menyerang bagian daun, bunga, dan pucuk tanaman. Serangan menyebabkan daun mengeriting, berubah warna, dan pertumbuhan tanaman terhambat.'],
|
|
['kode'=>'P02','nama'=>'Tungau Kuning','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Hama berukuran sangat kecil yang menyerang daun muda dan pucuk tanaman. Gejala berupa daun mengeriting, menebal, pertumbuhan terhambat, dan tanaman tampak kerdil.'],
|
|
['kode'=>'P03','nama'=>'Lalat Buah','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Serangga yang menyerang buah cabai dengan cara meletakkan telur di dalam buah. Larva yang menetas akan merusak daging buah sehingga buah membusuk dan gugur sebelum panen.'],
|
|
['kode'=>'P04','nama'=>'Kutu Daun Persik','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Hama kecil berwarna hijau atau hitam yang hidup berkelompok pada pucuk dan daun muda. Kutu daun juga dapat menjadi vektor penyakit virus.'],
|
|
['kode'=>'P05','nama'=>'Kutu Kebul Bemisia','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Serangga kecil berwarna putih yang hidup di bagian bawah daun. Menghasilkan embun madu yang memicu pertumbuhan jamur jelaga.'],
|
|
['kode'=>'P06','nama'=>'Kutu Kebul Parasitica','jenis'=>'Hama','penyebab'=>'-','deskripsi'=>'Hama berbentuk kecil berwarna putih yang hidup berkelompok di permukaan daun. Serangan menyebabkan daun menguning dan pertumbuhan tanaman terganggu.'],
|
|
['kode'=>'P07','nama'=>'Layu Bakteri','jenis'=>'Penyakit','penyebab'=>'Ralstonia solanacearum','deskripsi'=>'Penyakit yang menyebabkan tanaman layu secara tiba-tiba akibat infeksi bakteri pada jaringan pembuluh. Umumnya menyerang pada kondisi tanah lembap.'],
|
|
['kode'=>'P08','nama'=>'Layu Fusarium','jenis'=>'Penyakit','penyebab'=>'Fusarium oxysporum','deskripsi'=>'Penyakit jamur yang menyerang akar dan pembuluh tanaman sehingga aliran air terganggu. Gejala awal berupa daun menguning dari bagian bawah.'],
|
|
['kode'=>'P09','nama'=>'Antraknosa','jenis'=>'Penyakit','penyebab'=>'Colletotrichum capsici','deskripsi'=>'Penyakit yang menyerang buah cabai dengan gejala bercak cekung berwarna cokelat hingga kehitaman.'],
|
|
['kode'=>'P10','nama'=>'Virus Kuning (YLCV)','jenis'=>'Penyakit','penyebab'=>'Begomovirus','deskripsi'=>'Disebabkan oleh virus yang ditularkan oleh serangga vektor. Gejala berupa daun menguning, menggulung, dan pertumbuhan tanaman terhambat.'],
|
|
['kode'=>'P11','nama'=>'Penyakit Mosaik','jenis'=>'Penyakit','penyebab'=>'Cucumber Mosaic Virus','deskripsi'=>'Daun menunjukkan pola belang hijau muda dan tua (mosaik), pertumbuhan tidak normal, dan tanaman menjadi kerdil.'],
|
|
['kode'=>'P12','nama'=>'Virus Keriting','jenis'=>'Penyakit','penyebab'=>'Leaf Curl Virus','deskripsi'=>'Menimbulkan gejala daun keriting, menebal, dan menggulung ke atas atau ke bawah. Tanaman tumbuh tidak normal dan hasil panen menurun.'],
|
|
];
|
|
foreach ($penyakit as $p) {
|
|
DB::table('tbl_penyakit')->insert([...$p, 'created_at'=>now(), 'updated_at'=>now()]);
|
|
}
|
|
|
|
// ── Gejala ────────────────────────────────────────────
|
|
$gejala = [
|
|
'G01'=>'Daun muda mengeriting',
|
|
'G02'=>'Daun tampak kusam dan mengering di tepi',
|
|
'G03'=>'Terdapat bercak atau garis putih pada daun',
|
|
'G04'=>'Permukaan daun berwarna keperakan',
|
|
'G05'=>'Pertumbuhan tanaman terhambat',
|
|
'G06'=>'Daun bagian bawah terdapat tungau kecil',
|
|
'G07'=>'Daun menguning',
|
|
'G08'=>'Permukaan daun terasa kasar',
|
|
'G09'=>'Daun menebal dan menggulung',
|
|
'G10'=>'Tanaman tampak kerdil',
|
|
'G11'=>'Buah terdapat lubang kecil bekas tusukan',
|
|
'G12'=>'Terdapat larva atau belatung di dalam buah',
|
|
'G13'=>'Permukaan buah terdapat bercak hitam lunak',
|
|
'G14'=>'Buah membusuk sebelum matang',
|
|
'G15'=>'Buah rontok lebih cepat',
|
|
'G16'=>'Daun menggulung atau keriting',
|
|
'G17'=>'Terdapat koloni serangga kecil di pucuk',
|
|
'G18'=>'Permukaan daun lengket atau embun madu',
|
|
'G19'=>'Pertumbuhan pucuk terhambat',
|
|
'G20'=>'Tanaman tampak lemah dan kerdil',
|
|
'G21'=>'Terdapat serangga putih kecil di bawah daun',
|
|
'G22'=>'Permukaan daun lengket akibat embun madu',
|
|
'G23'=>'Muncul cendawan jelaga hitam pada daun',
|
|
'G24'=>'Serangga beterbangan saat daun digoyang',
|
|
'G25'=>'Daun bagian bawah penuh serangga putih',
|
|
'G26'=>'Daun layu perlahan',
|
|
'G27'=>'Serangga putih menempel di bawah daun',
|
|
'G28'=>'Pertumbuhan tanaman melambat',
|
|
'G29'=>'Tanaman tampak pucat',
|
|
'G30'=>'Daun rontok lebih awal',
|
|
'G31'=>'Tanaman layu mendadak',
|
|
'G32'=>'Batang mengeluarkan lendir putih atau keruh saat dipotong',
|
|
'G33'=>'Pembuluh batang berwarna kecoklatan',
|
|
'G34'=>'Daun tetap hijau tetapi layu',
|
|
'G35'=>'Tanaman mati dengan cepat',
|
|
'G36'=>'Tanaman layu secara perlahan',
|
|
'G37'=>'Daun menguning mulai dari bagian bawah',
|
|
'G38'=>'Pembuluh batang berwarna coklat gelap',
|
|
'G39'=>'Akar berwarna coklat dan membusuk',
|
|
'G40'=>'Tanaman mati bertahap dari bawah ke atas',
|
|
'G41'=>'Terdapat lingkaran konsentris pada bercak buah',
|
|
'G42'=>'Bercak berwarna coklat kehitaman pada buah',
|
|
'G43'=>'Buah terdapat bercak cekung',
|
|
'G44'=>'Buah membusuk akibat serangan jamur',
|
|
'G45'=>'Serangan sering muncul saat buah hampir matang',
|
|
'G46'=>'Daun berwarna kuning cerah merata',
|
|
'G47'=>'Daun menggulung ke atas',
|
|
'G48'=>'Tulang daun menebal dan menonjol',
|
|
'G49'=>'Tanaman tumbuh kerdil',
|
|
'G50'=>'Produksi buah sangat berkurang',
|
|
'G51'=>'Permukaan daun tidak rata dan bergelombang',
|
|
'G52'=>'Daun menyempit dan memanjang',
|
|
'G53'=>'Daun belang hijau muda dan hijau tua',
|
|
'G54'=>'Buah berukuran kecil dan cacat',
|
|
'G55'=>'Tanaman tidak berkembang normal',
|
|
'G56'=>'Daun keriting dan menggulung tidak beraturan',
|
|
'G57'=>'Tulang daun menebal berwarna lebih muda',
|
|
'G58'=>'Daun menjadi kecil dan kaku',
|
|
'G59'=>'Ruas batang memendek',
|
|
'G60'=>'Produksi buah menurun drastis',
|
|
];
|
|
foreach ($gejala as $kode => $nama) {
|
|
DB::table('tbl_gejala')->insert([
|
|
'kode' => $kode, 'nama' => $nama,
|
|
'created_at' => now(), 'updated_at' => now()
|
|
]);
|
|
}
|
|
|
|
// ── Rule ──────────────────────────────────────────────
|
|
$rules = [
|
|
// P01 Thrips
|
|
['R001','P01','G01',1,0.2],['R002','P01','G02',2,0.4],['R003','P01','G03',3,0.5],
|
|
['R004','P01','G04',4,0.6],['R005','P01','G05',5,0.8],
|
|
// P02 Tungau
|
|
['R006','P02','G06',1,0.2],['R007','P02','G07',2,0.4],['R008','P02','G08',3,0.5],
|
|
['R009','P02','G09',4,0.6],['R010','P02','G10',5,0.8],
|
|
// P03 Lalat Buah
|
|
['R011','P03','G11',1,0.2],['R012','P03','G12',2,0.4],['R013','P03','G13',3,0.5],
|
|
['R014','P03','G14',4,0.6],['R015','P03','G15',5,0.8],
|
|
// P04 Kutu Daun
|
|
['R016','P04','G16',1,0.2],['R017','P04','G17',2,0.4],['R018','P04','G18',3,0.5],
|
|
['R019','P04','G19',4,0.6],['R020','P04','G20',5,0.8],
|
|
// P05 Kutu Kebul Bemisia
|
|
['R021','P05','G21',1,0.2],['R022','P05','G22',2,0.4],['R023','P05','G23',3,0.5],
|
|
['R024','P05','G24',4,0.6],['R025','P05','G25',5,0.8],
|
|
// P06 Kutu Kebul Parasitica
|
|
['R026','P06','G26',1,0.2],['R027','P06','G27',2,0.4],['R028','P06','G28',3,0.5],
|
|
['R029','P06','G29',4,0.6],['R030','P06','G30',5,0.8],
|
|
// P07 Layu Bakteri
|
|
['R031','P07','G31',1,0.2],['R032','P07','G32',2,0.4],['R033','P07','G33',3,0.5],
|
|
['R034','P07','G34',4,0.6],['R035','P07','G35',5,0.8],
|
|
// P08 Layu Fusarium
|
|
['R036','P08','G36',1,0.2],['R037','P08','G37',2,0.4],['R038','P08','G38',3,0.5],
|
|
['R039','P08','G39',4,0.6],['R040','P08','G40',5,0.8],
|
|
// P09 Antraknosa
|
|
['R041','P09','G41',1,0.2],['R042','P09','G42',2,0.4],['R043','P09','G43',3,0.5],
|
|
['R044','P09','G44',4,0.6],['R045','P09','G45',5,0.8],
|
|
// P10 Virus Kuning
|
|
['R046','P10','G46',1,0.2],['R047','P10','G47',2,0.4],['R048','P10','G48',3,0.5],
|
|
['R049','P10','G49',4,0.6],['R050','P10','G50',5,0.8],
|
|
// P11 Mosaik
|
|
['R051','P11','G51',1,0.2],['R052','P11','G52',2,0.4],['R053','P11','G53',3,0.5],
|
|
['R054','P11','G54',4,0.6],['R055','P11','G55',5,0.8],
|
|
// P12 Virus Keriting
|
|
['R056','P12','G56',1,0.2],['R057','P12','G57',2,0.4],['R058','P12','G58',3,0.5],
|
|
['R059','P12','G59',4,0.6],['R060','P12','G60',5,0.8],
|
|
];
|
|
foreach ($rules as [$kodeRule, $kodePenyakit, $kodeGejala, $nilaiPakar, $nilaiCf]) {
|
|
DB::table('tbl_rule')->insert([
|
|
'kode_rule' => $kodeRule,
|
|
'id_penyakit' => DB::table('tbl_penyakit')->where('kode', $kodePenyakit)->value('id'),
|
|
'id_gejala' => DB::table('tbl_gejala')->where('kode', $kodeGejala)->value('id'),
|
|
'nilai_pakar' => $nilaiPakar,
|
|
'nilai_cf' => $nilaiCf,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
// ── Solusi ────────────────────────────────────────────
|
|
$solusi = [
|
|
'P01' => ['Semprot insektisida berbahan aktif abamektin atau spinosad. Lakukan penyemprotan pagi atau sore hari secara rutin.',
|
|
'Gunakan mulsa plastik untuk mengurangi populasi thrips. Tanam tanaman perangkap seperti jagung di sekitar kebun.'],
|
|
'P02' => ['Semprot akarisida seperti abamektin atau propargit. Fokus pada bagian bawah daun. Ulangi setiap 5-7 hari.',
|
|
'Jaga kelembapan kebun agar tidak terlalu kering. Bersihkan gulma di sekitar tanaman.'],
|
|
'P03' => ['Gunakan perangkap protein bait. Bungkus buah dengan plastik jika perlu untuk mencegah serangan.',
|
|
'Kumpulkan dan musnahkan buah yang terserang. Pasang perangkap lalat buah di sekitar kebun.'],
|
|
'P04' => ['Semprot insektisida berbahan aktif imidakloprid atau thiamethoxam. Fokus pada pucuk dan bagian bawah daun.',
|
|
'Pantau tanaman secara rutin. Gunakan musuh alami seperti kumbang coccinellid.'],
|
|
'P05' => ['Gunakan insektisida sistemik seperti imidakloprid atau buprofezin. Semprotkan pada bagian bawah daun.',
|
|
'Pasang perangkap kuning. Gunakan varietas tahan virus untuk musim berikutnya.'],
|
|
'P06' => ['Semprot insektisida sistemik secara rutin. Bersihkan gulma di sekitar tanaman.',
|
|
'Jaga kebersihan kebun dan sanitasi lingkungan. Rotasi tanaman secara berkala.'],
|
|
'P07' => ['Cabut dan bakar tanaman yang terinfeksi agar tidak menular ke tanaman lain.',
|
|
'Gunakan varietas tahan Ralstonia. Lakukan rotasi tanaman dengan non-solanaceae. Perbaiki drainase lahan.'],
|
|
'P08' => ['Rendam akar bibit dengan fungisida berbahan trichoderma sebelum tanam. Siram fungisida sistemik ke pangkal batang.',
|
|
'Gunakan benih sehat bersertifikat. Lakukan solarisasi tanah sebelum tanam.'],
|
|
'P09' => ['Semprot fungisida berbahan mankozeb atau azoksistrobin. Petik dan musnahkan buah yang terinfeksi.',
|
|
'Gunakan benih yang sudah direndam fungisida. Atur drainase agar tidak menggenang.'],
|
|
'P10' => ['Tidak ada obat langsung untuk virus. Cabut dan musnahkan tanaman terinfeksi. Kendalikan serangga vektor dengan insektisida.',
|
|
'Gunakan varietas tahan YLCV. Pasang mulsa perak untuk mengusir kutu kebul.'],
|
|
'P11' => ['Segera cabut tanaman bergejala. Kendalikan vektor kutu daun dan kutu kebul dengan insektisida sistemik.',
|
|
'Gunakan benih bebas virus. Desinfeksi tangan dan alat setelah menangani tanaman sakit.'],
|
|
'P12' => ['Cabut dan musnahkan tanaman terinfeksi. Kendalikan serangga vektor secara intensif.',
|
|
'Gunakan varietas tahan Leaf Curl Virus. Pasang screen atau jaring pada persemaian.'],
|
|
];
|
|
foreach ($solusi as $kodePenyakit => [$sol, $cegah]) {
|
|
DB::table('tbl_solusi')->insert([
|
|
'id_penyakit' => DB::table('tbl_penyakit')->where('kode', $kodePenyakit)->value('id'),
|
|
'solusi' => $sol,
|
|
'pencegahan' => $cegah,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
$this->command->info('✅ Seeder berhasil!');
|
|
$this->command->info(' Admin : admin@sipakar.com / admin123');
|
|
$this->command->info(' User : user@sipakar.com / user123');
|
|
}
|
|
} |