This commit is contained in:
ericko-cyber 2025-05-12 16:03:01 +07:00
parent 783d5361ae
commit b6f071cd4c
31 changed files with 507 additions and 38 deletions

View File

@ -11,7 +11,9 @@
"laravel/tinker": "^2.9"
},
"require-dev": {
"doctrine/dbal": "^4.2",
"fakerphp/faker": "^1.23",
"kitloong/laravel-migrations-generator": "^7.1",
"laravel/pail": "^1.1",
"laravel/pint": "^1.13",
"laravel/sail": "^1.26",

283
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "626b9e7ddd47fb7eff9aaa53cce0c9ad",
"content-hash": "f864784c78bab537f2b3426794daaf69",
"packages": [
{
"name": "brick/math",
@ -5800,6 +5800,160 @@
}
],
"packages-dev": [
{
"name": "doctrine/dbal",
"version": "4.2.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "33d2d7fe1269b2301640c44cf2896ea607b30e3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/33d2d7fe1269b2301640c44cf2896ea607b30e3e",
"reference": "33d2d7fe1269b2301640c44cf2896ea607b30e3e",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^0.5.3|^1",
"php": "^8.1",
"psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3"
},
"require-dev": {
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.2",
"phpstan/phpstan": "2.1.1",
"phpstan/phpstan-phpunit": "2.0.3",
"phpstan/phpstan-strict-rules": "^2",
"phpunit/phpunit": "10.5.39",
"slevomat/coding-standard": "8.13.1",
"squizlabs/php_codesniffer": "3.10.2",
"symfony/cache": "^6.3.8|^7.0",
"symfony/console": "^5.4|^6.3|^7.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\DBAL\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
}
],
"description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
"homepage": "https://www.doctrine-project.org/projects/dbal.html",
"keywords": [
"abstraction",
"database",
"db2",
"dbal",
"mariadb",
"mssql",
"mysql",
"oci8",
"oracle",
"pdo",
"pgsql",
"postgresql",
"queryobject",
"sasql",
"sql",
"sqlite",
"sqlserver",
"sqlsrv"
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/4.2.3"
},
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
"type": "custom"
},
{
"url": "https://www.patreon.com/phpdoctrine",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal",
"type": "tidelift"
}
],
"time": "2025-03-07T18:29:05+00:00"
},
{
"name": "doctrine/deprecations",
"version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
"phpunit/phpunit": "<=7.5 || >=13"
},
"require-dev": {
"doctrine/coding-standard": "^9 || ^12 || ^13",
"phpstan/phpstan": "1.4.10 || 2.1.11",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Deprecations\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/1.1.5"
},
"time": "2025-04-07T20:06:18+00:00"
},
{
"name": "fakerphp/faker",
"version": "v1.24.1",
@ -5985,6 +6139,84 @@
},
"time": "2020-07-09T08:09:16+00:00"
},
{
"name": "kitloong/laravel-migrations-generator",
"version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/kitloong/laravel-migrations-generator.git",
"reference": "e46bdbe9308c211fd896cdc834b28d6b9f0dce3f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kitloong/laravel-migrations-generator/zipball/e46bdbe9308c211fd896cdc834b28d6b9f0dce3f",
"reference": "e46bdbe9308c211fd896cdc834b28d6b9f0dce3f",
"shasum": ""
},
"require": {
"ext-pdo": "*",
"illuminate/support": "^11.0|^12.0",
"php": "^8.2"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^3.0",
"friendsofphp/php-cs-fixer": "^3.1",
"larastan/larastan": "^2.0|^3.0",
"mockery/mockery": "^1.0",
"orchestra/testbench": "^9.0|^10.0",
"phpmd/phpmd": "^2.10",
"phpstan/phpstan-mockery": "^1.0|^2.0",
"slevomat/coding-standard": "^8.0",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"KitLoong\\MigrationsGenerator\\MigrationsGeneratorServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"KitLoong\\MigrationsGenerator\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kit Loong",
"email": "kitloong1008@gmail.com"
}
],
"description": "Generates Laravel Migrations from an existing database",
"keywords": [
"artisan",
"generator",
"laravel",
"lumen",
"migration",
"migrations"
],
"support": {
"issues": "https://github.com/kitloong/laravel-migrations-generator/issues",
"source": "https://github.com/kitloong/laravel-migrations-generator/tree/v7.1.2"
},
"funding": [
{
"url": "https://www.buymeacoffee.com/kitloong",
"type": "buy_me_a_coffee"
},
{
"url": "https://github.com/kitloong",
"type": "github"
}
],
"time": "2025-02-27T12:06:46+00:00"
},
{
"name": "laravel/pail",
"version": "v1.2.2",
@ -6975,6 +7207,55 @@
],
"time": "2025-02-06T16:10:05+00:00"
},
{
"name": "psr/cache",
"version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
"shasum": ""
},
"require": {
"php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
"keywords": [
"cache",
"psr",
"psr-6"
],
"support": {
"source": "https://github.com/php-fig/cache/tree/3.0.0"
},
"time": "2021-02-03T23:26:27+00:00"
},
{
"name": "sebastian/cli-parser",
"version": "3.0.2",

View File

@ -1,25 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePenyakitGejalaTable extends Migration
{
public function up()
{
Schema::create('penyakit_gejala', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('penyakit_id');
$table->unsignedBigInteger('gejala_id');
$table->foreign('penyakit_id')->references('id')->on('penyakit')->onDelete('cascade');
$table->foreign('gejala_id')->references('id')->on('gejala')->onDelete('cascade');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('penyakit_gejala');
}
}

View File

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('accounts', function (Blueprint $table) {
$table->integer('id', true);
$table->string('username', 50);
$table->string('password');
$table->string('alamat', 99);
$table->string('email', 100);
$table->string('umur', 11);
$table->string('telp', 20);
$table->string('role', 11);
$table->dateTime('registered');
$table->string('otp_code', 20)->nullable();
$table->string('otp_expires_at', 20)->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('accounts');
}
};

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('gejala', function (Blueprint $table) {
$table->integer('id', true);
$table->string('kode_gejala', 99);
$table->string('nama_gejala', 99);
$table->string('gambar', 99);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('gejala');
}
};

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('penyakit', function (Blueprint $table) {
$table->integer('id', true);
$table->string('kode_penyakit', 11);
$table->string('nama_penyakit', 11);
$table->string('subjudul', 99);
$table->text('deskripsi');
$table->text('penanganan');
$table->string('gambar', 40);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('penyakit');
}
};

View File

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('riwayat', function (Blueprint $table) {
$table->integer('id_riwayat', true);
$table->integer('id_user')->index('id_user');
$table->timestamp('tanggal')->useCurrentOnUpdate()->useCurrent();
$table->integer('id_penyakit')->index('id_penyakit');
$table->string('nilai', 99);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('riwayat');
}
};

View File

@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('rules', function (Blueprint $table) {
$table->integer('id', true);
$table->integer('id_penyakit')->index('rules_ibfk_1');
$table->integer('id_gejala')->index('rules_ibfk_2');
$table->string('cf_pakar', 33);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('rules');
}
};

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('riwayat', function (Blueprint $table) {
$table->foreign(['Id_user'], 'riwayat_ibfk_1')->references(['id'])->on('accounts')->onUpdate('restrict')->onDelete('restrict');
$table->foreign(['id_penyakit'], 'riwayat_ibfk_2')->references(['id'])->on('penyakit')->onUpdate('restrict')->onDelete('restrict');
$table->foreign(['id_user'], 'riwayat_ibfk_3')->references(['id'])->on('accounts')->onUpdate('restrict')->onDelete('restrict');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('riwayat', function (Blueprint $table) {
$table->dropForeign('riwayat_ibfk_1');
$table->dropForeign('riwayat_ibfk_2');
$table->dropForeign('riwayat_ibfk_3');
});
}
};

View File

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('rules', function (Blueprint $table) {
$table->foreign(['id_penyakit'], 'rules_ibfk_1')->references(['id'])->on('penyakit')->onUpdate('restrict')->onDelete('cascade');
$table->foreign(['id_gejala'], 'rules_ibfk_2')->references(['id'])->on('gejala')->onUpdate('restrict')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('rules', function (Blueprint $table) {
$table->dropForeign('rules_ibfk_1');
$table->dropForeign('rules_ibfk_2');
});
}
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -143,7 +143,6 @@
<option value="0.8">Hampir Pasti (80%)</option>
<option value="0.6">Kemungkinan Besar (60%)</option>
<option value="0.4">Mungkin (40%)</option>
<option value="0">Tidak Tahu (0%)</option>
</select>
</div>
</div>
@ -156,7 +155,6 @@
<li><strong>Hampir Pasti (80%)</strong>: Anda cukup yakin gejala ini terjadi</li>
<li><strong>Kemungkinan Besar (60%)</strong>: Anda melihat gejala ini ada tapi tidak terlalu jelas</li>
<li><strong>Mungkin (40%)</strong>: Anda tidak yakin tapi ada kemungkinan gejala ini terjadi</li>
<li><strong>Tidak Tahu (0%)</strong>: Anda sama sekali tidak yakin/tidak tahu</li>
</ul>
</div>
@ -278,10 +276,6 @@ function updateDropdownOptions() {
value: '0.4',
label: 'Mungkin (40%)',
selected: currentValue === '0.4'
}, {
value: '0',
label: 'Tidak Tahu (0%)',
selected: currentValue === '0'
}],
'value',
'label',

View File

@ -200,7 +200,8 @@
position: relative;
z-index: 1;
}
p{
p {
font-size: 15px;
font-weight: 600;
}
@ -217,14 +218,12 @@
</div>
<div class="bottom-subcontainer">
<div class="left">
<img src="assets/images/foto_pakar.jpg" alt="Gallyndra Fatkhu Dinata">
<img src="assets/images/pakar.jpeg" alt="Gallyndra Fatkhu Dinata">
</div>
<div class="right">
<h2 class="mb-2"><span>Gallyndra Fatkhu Dinata, S.P., M.P.</span></h2>
<p>
Gallyndra Fatkhu Dinata, S.P., M.P. merupakan dosen di Jurusan Produksi Pertanian, Politeknik Negeri Jember.
Beliau memiliki keahlian dalam bidang budidaya pertanian dan pengelolaan tanaman hortikultura, serta aktif dalam berbagai kegiatan penelitian pada tanaman.
Sebagai pakar, beliau telah banyak membantu mahasiswa dalam mengembangkan penelitian yang aplikatif di bidang pertanian modern.
Gallyndra Fatkhu Dinata, S.P., M.P. adalah dosen tetap di Jurusan Produksi Pertanian, Politeknik Negeri Jember yang menekuni bidang fitopatologi, khususnya bakteriologi, mikologi, dan pengendalian hayati. Saat ini menjabat sebagai Kepala Laboratorium Perlindungan Tanaman dan mengampu mata kuliah terkait perlindungan tanaman. Beliau aktif dalam penelitian, pengabdian masyarakat, pengembangan bahan ajar, serta membimbing mahasiswa dalam kompetisi ilmiah seperti PKM dan Pimnas.
</p>
<table>
<tr>
@ -251,4 +250,4 @@
</div>
</div>
</div>
</div>
</div>