MIF_E31232094/database/seeders/DiseaseSeeder.php

140 lines
7.2 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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 (120130 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,
]);
}
}
}
}