140 lines
7.2 KiB
PHP
140 lines
7.2 KiB
PHP
<?php
|
||
namespace Database\Seeders;
|
||
use App\Models\Disease;
|
||
use App\Models\Symptom;
|
||
use App\Models\Treatment;
|
||
use Illuminate\Database\Seeder;
|
||
|
||
class DiseaseSeeder extends Seeder
|
||
{
|
||
public function run(): void
|
||
{
|
||
$data = [
|
||
[
|
||
'code' => 'P01', 'name' => 'Luka Api (Leaf Scald)',
|
||
'latin_name' => 'Xanthomonas albilineans',
|
||
'description' => 'Penyakit bakteri yang menyebabkan garis putih memanjang pada daun tebu',
|
||
'symptoms' => [
|
||
['code'=>'G01','name'=>'Garis putih memanjang pada daun (stripe putih)','cf'=>0.90],
|
||
['code'=>'G02','name'=>'Daun layu dan mengering','cf'=>0.70],
|
||
['code'=>'G03','name'=>'Tanaman kerdil / tumbuh tidak normal','cf'=>0.60],
|
||
['code'=>'G15','name'=>'Daun terlihat kusam / tidak segar','cf'=>0.50],
|
||
['code'=>'G18','name'=>'Warna daun pucat kekuningan','cf'=>0.60],
|
||
['code'=>'G20','name'=>'Mata tunas mati','cf'=>0.70],
|
||
],
|
||
'treatments' => [
|
||
'Gunakan bibit sehat dan bebas penyakit',
|
||
'Sterilisasi alat potong dengan larutan formalin 2%',
|
||
'Tanam varietas tahan seperti PS 881, BL',
|
||
'Buang dan bakar tanaman yang terinfeksi',
|
||
'Rotasi tanaman dengan palawija',
|
||
],
|
||
],
|
||
[
|
||
'code' => 'P02', 'name' => 'Pokahbung',
|
||
'latin_name' => 'Fusarium moniliforme',
|
||
'description' => 'Penyakit jamur yang menyebabkan busuk pada batang tebu dan munculnya tunas abnormal',
|
||
'symptoms' => [
|
||
['code'=>'G04','name'=>'Batang busuk dari dalam','cf'=>0.90],
|
||
['code'=>'G05','name'=>'Bau busuk pada batang','cf'=>0.80],
|
||
['code'=>'G06','name'=>'Munculnya tunas-tunas kecil abnormal (pokah)','cf'=>0.90],
|
||
['code'=>'G16','name'=>'Tanaman mudah rebah','cf'=>0.70],
|
||
['code'=>'G19','name'=>'Luka memanjang pada batang','cf'=>0.60],
|
||
['code'=>'G20','name'=>'Mata tunas mati','cf'=>0.70],
|
||
],
|
||
'treatments' => [
|
||
'Gunakan bibit dari bagian pangkal batang',
|
||
'Rendam bibit dengan fungisida (Benlate 2g/liter selama 30 menit)',
|
||
'Hindari luka mekanis pada batang saat penanaman',
|
||
'Perbaiki sistem drainase lahan agar tidak tergenang',
|
||
'Tanam varietas tahan seperti PS 862, PS 881',
|
||
],
|
||
],
|
||
[
|
||
'code' => 'P03', 'name' => 'Karat Daun (Leaf Rust)',
|
||
'latin_name' => 'Puccinia melanocephala',
|
||
'description' => 'Penyakit jamur yang menyebabkan bercak karat kemerahan pada permukaan daun',
|
||
'symptoms' => [
|
||
['code'=>'G07','name'=>'Bercak coklat kemerahan pada daun','cf'=>0.90],
|
||
['code'=>'G08','name'=>'Bercak berkembang menjadi pustula karat','cf'=>0.95],
|
||
['code'=>'G09','name'=>'Daun mengering dimulai dari ujung','cf'=>0.70],
|
||
['code'=>'G15','name'=>'Daun terlihat kusam / tidak segar','cf'=>0.60],
|
||
['code'=>'G17','name'=>'Produksi turun drastis','cf'=>0.60],
|
||
],
|
||
'treatments' => [
|
||
'Semprot dengan fungisida berbahan aktif Mancozeb',
|
||
'Tanam varietas tahan seperti PS 862, PSJT 941',
|
||
'Jaga jarak tanam yang optimal (120–130 cm)',
|
||
'Bersihkan gulma secara rutin di sekitar tanaman',
|
||
'Pangkas dan musnahkan daun yang terinfeksi berat',
|
||
],
|
||
],
|
||
[
|
||
'code' => 'P04', 'name' => 'Mozaik',
|
||
'latin_name' => 'Sugarcane Mosaic Virus (SCMV)',
|
||
'description' => 'Penyakit virus yang menyebabkan pola belang hijau tua dan hijau muda pada daun',
|
||
'symptoms' => [
|
||
['code'=>'G10','name'=>'Belang hijau tua dan hijau muda pada daun (mozaik)','cf'=>0.95],
|
||
['code'=>'G11','name'=>'Pertumbuhan tanaman terhambat','cf'=>0.70],
|
||
['code'=>'G15','name'=>'Daun terlihat kusam / tidak segar','cf'=>0.60],
|
||
['code'=>'G17','name'=>'Produksi turun drastis','cf'=>0.70],
|
||
['code'=>'G18','name'=>'Warna daun pucat kekuningan','cf'=>0.50],
|
||
],
|
||
'treatments' => [
|
||
'Gunakan bibit sehat yang bebas virus',
|
||
'Kendalikan vektor kutu daun dengan insektisida sistemik',
|
||
'Cabut dan musnahkan tanaman yang terinfeksi virus',
|
||
'Tanam varietas tahan terhadap SCMV',
|
||
'Rotasi dengan tanaman non-inang virus selama 1 musim',
|
||
],
|
||
],
|
||
[
|
||
'code' => 'P05', 'name' => 'Ratoon Stunting Disease (RSD)',
|
||
'latin_name' => 'Leifsonia xyli subsp. xyli',
|
||
'description' => 'Penyakit bakteri sistemik yang menghambat pertumbuhan dan menurunkan produksi gula',
|
||
'symptoms' => [
|
||
['code'=>'G03','name'=>'Tanaman kerdil / tumbuh tidak normal','cf'=>0.80],
|
||
['code'=>'G11','name'=>'Pertumbuhan tanaman terhambat','cf'=>0.90],
|
||
['code'=>'G12','name'=>'Ruas batang memendek','cf'=>0.85],
|
||
['code'=>'G13','name'=>'Pembentukan gula terhambat','cf'=>0.80],
|
||
['code'=>'G14','name'=>'Pembuluh batang berwarna merah kecoklatan','cf'=>0.90],
|
||
['code'=>'G17','name'=>'Produksi turun drastis','cf'=>0.80],
|
||
],
|
||
'treatments' => [
|
||
'Perlakuan air panas pada bibit (suhu 50°C selama 2 jam)',
|
||
'Sterilisasi alat potong sebelum dan sesudah digunakan',
|
||
'Gunakan bibit dari hasil kultur jaringan yang bersertifikat',
|
||
'Tanam varietas toleran RSD yang direkomendasikan',
|
||
'Hindari penggunaan bibit dari kebun yang terindikasi terinfeksi',
|
||
],
|
||
],
|
||
];
|
||
|
||
$treatmentCounter = 1;
|
||
foreach ($data as $d) {
|
||
$disease = Disease::create([
|
||
'code' => $d['code'],
|
||
'name' => $d['name'],
|
||
'latin_name' => $d['latin_name'],
|
||
'description' => $d['description'],
|
||
]);
|
||
|
||
foreach ($d['symptoms'] as $s) {
|
||
$symptom = Symptom::firstOrCreate(
|
||
['code' => $s['code']],
|
||
['name' => $s['name']]
|
||
);
|
||
$disease->symptoms()->attach($symptom->id, ['cf_value' => $s['cf']]);
|
||
}
|
||
|
||
foreach ($d['treatments'] as $t) {
|
||
Treatment::create([
|
||
'code' => 'S' . str_pad($treatmentCounter++, 2, '0', STR_PAD_LEFT),
|
||
'disease_id' => $disease->id,
|
||
'description' => $t,
|
||
'order' => array_search($t, $d['treatments']) + 1,
|
||
]);
|
||
}
|
||
}
|
||
}
|
||
} |