Skip to content

Sistem pakar deteksi penyakit tanaman cabai menggunakan algoritma forward chaining dengan laravel

License

Unknown, WTFPL licenses found

Licenses found

Unknown
COPYING
WTFPL
COPYING.WTFPL
Notifications You must be signed in to change notification settings

rizkyilhampra/spdhtc

Repository files navigation

SPDHTC

Deskripsi

Sistem pakar (web based) dengan forward chaining algorithm sebagai inference engine untuk diagnosis penyakit pada tanaman cabai. Menerima masukan berupa gejala-gejala yang dapat di amati dan memberikan hasil diagnosis penyakit beserta penyebab dan solusinya.

Daftar Isi

Dataset

A data set (or dataset) is a collection of data it can also consist of a collection of documents or files1.

Dataset yang digunakan dalam aplikasi atau sistem ini dapat dilihat di sini

Teknologi yang digunakan

  • Laravel 11
  • JQuery
  • Bootstrap 5
  • dan library pre-existing lainnya

Fitur

  • ✅ Login dan Register (termasuk penggunaan OAuth Google)
  • ✅ Email Verification
  • ✅ Forgot Password
  • ✅ Manajemen dataset
  • ✅ Integrasi dengan API pihak ketiga
  • ✅ Riwayat diagnosis
  • ✅ Manajemen profil
  • ✅ Login sebagai Tamu (New 🎉)

Cara menjalankan aplikasi

Menjalankan dengan XAMPP/Laragon

Persyaratan

  • Git (opsional)
  • PHP 8.2 (minimal)
  • Composer
  • MySQL atau MariaDB
  • Web server

Langkah-langkah

Note

Tanda i ii dan seterusnya menunjukkan opsi yang dapat dipilih, bukan untuk dijalankan satu per satu.

  1. Masuk ke direktori root dari web server atau local development environment

    Misalnya, untuk XAMPP di Windows, direktori root biasanya berada di C:\xampp\htdocs dan untuk Laragon, biasanya berada di C:\laragon\www

  2. Clone repositori atau download ZIP di sini kemudian ekstraksi

    1. Clone menggunakan Git

      Abaikan langkah ini, jika memilih download ZIP

      git clone https://github.com/rizkyilhampra/spdhtc.git spdhtc
  3. Masuk ke direktori/folder spdhtc

    1. Menggunakan CLI berbasis Unix
      cd spdhtc
    2. Melalui file manager
      • Buka file manager dan arahkan ke direktori/folder spdhtc
  4. Install dependensi

    Pastikan PHP dan Composer sudah terinstall!

    composer install
  5. Copy file .env.example kemudian paste di tempat yang sama, lalu ubah nama file menjadi .env

    1. Menggunakan CLI berbasis Unix
      cp .env.example .env
  6. Buat database baru

    1. Menggunakan CLI
      mysql -u root -p
      CREATE DATABASE spdhtc;
      exit;
    2. Menggunakan database management tool seperti PHPMyAdmin
      • Buka PHPMyAdmin
      • Buat database baru dengan nama spdhtc
  7. Konfigurasi database pada file .env

    Buka file .env menggunakan text editor (Visual Studio Code, Notepad/Notepad++, VIM/Neovim, atau lainnya) kemudian ubah konfigurasi database sesuai dengan konfigurasi database yang telah dibuat sebelumnya

    DB_CONNECTION=mysql
    DB_HOST=128.0.0.1
    DB_PORT=3307
    - DB_DATABASE=laravel
    + DB_DATABASE=spdhtc
    DB_USERNAME=root #sesuaikan dengan username MySQL
    DB_PASSWORD= #sesuaikan dengan password MySQL (kosongkan jika tidak ada)
  8. Tambahkan Google kredensial (Opsional)

    Ini berhubungan dengan Login/Register via OAuth Google. Mengabaikan ini maka login/register dengan akun Google tidak akan berfungsi.

    # NOTE: dapatkan dari https://console.cloud.google.com
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
  9. Tambahkan Rajaongkir kredensial (Opsional dengan catatan)

    # NOTE: dapatkan dari https://rajaongkir.com/dokumentasi
    RAJAONGKIR_API_KEY=
  10. Generate key aplikasi

    Jalankan melalui terminal

    php artisan key:generate
  11. Migrasi database dan seed data

    php artisan migrate:fresh --seed
  12. Link storage

    Ini berfungsi untuk mengakses file yang ada di direktori storage/app/public atau dalam kata lain untuk menampilkan gambar penyakit

    php artisan storage:link
  13. Buka browser dan akses http://localhost/spdhtc/public atau http://spdhtc.test

Menjalankan dengan php artisan serve

Klik disini untuk melihat

Persyaratan

  • Git
  • PHP 8.2 (minimal)
  • Composer
  • MySQL atau MariaDB

Langkah-langkah

  1. Clone repositori
    git clone https://github.com/rizkyilhampra/spdhtc.git spdhtc
  2. Masuk ke direktori/folder spdhtc
    cd spdhtc
  3. Install dependensi
    composer install
  4. Copy file .env.example menjadi .env
    cp .env.example .env
  5. Konfigurasi database pada file .env
    DB_CONNECTION=mysql
    DB_HOST=128.0.0.1
    DB_PORT=3307
    - DB_DATABASE=laravel
    + DB_DATABASE=spdhtc
    DB_USERNAME=root #sesuaikan dengan username MySQL
    DB_PASSWORD= #sesuaikan dengan password MySQL (kosongkan jika tidak ada)
  6. Tambahkan Google kredensial pada file .env (Opsional)

    Ini berhubungan dengan Login/Register via OAuth Google. Mengabaikan ini maka login/register dengan akun Google tidak akan berfungsi.

    # NOTE: dapatkan dari https://console.cloud.google.com
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
  7. Tambahkan Rajaongkir kredensial pada file .env (Opsional dengan catatan)
    # NOTE: dapatkan dari https://rajaongkir.com/dokumentasi
    RAJAONGKIR_API_KEY=
  8. Generate key aplikasi
    php artisan key:generate
  9. Migrasi database dan seed data

    Pada umumnya, perintah ini akan membuat datatabase secara otomatis tanpa perlu membuat terlebih dahulu, jika mengalami kendala, buat database manual

    php artisan migrate:fresh --seed
  10. Link storage
    php artisan storage:link
  11. Jalankan aplikasi
    php artisan serve
  12. Buka browser dan akses http://localhost:8000

Menjalankan dengan Docker/Sail

Klik disini untuk melihat

Persyaratan

  • Git
  • Docker Desktop (Windows/Mac) atau Docker Engine (Linux)

Langkah-langkah

  1. Clone repositori
    git clone https://github.com/rizkyilhampra/spdhtc.git spdhtc
  2. Masuk ke direktori/folder spdhtc
    cd spdhtc
  3. Install dependensi dengan docker, copy file .env.example menjadi .env, dan generate key
    docker run --rm \
        -u "$(id -u):$(id -g)" \
        -v "$(pwd):/var/www/html" \
        -w /var/www/html \
        laravelsail/php81-composer:latest \
        composer install --ignore-platform-reqs; \
        cp .env.example .env; \
        php artisan key:generate
  4. Konfigurasi host database pada file .env
    DB_CONNECTION=mysql
    - DB_HOST=127.0.0.1
    + DB_HOST=mysql
    DB_PORT=3306
  5. Tambahkan Google kredensial pada file .env (Opsional)

    Ini berhubungan dengan Login/Register via OAuth Google. Mengabaikan ini maka login/register dengan akun Google tidak akan berfungsi.

    # NOTE: dapatkan dari https://console.cloud.google.com
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
  6. Tambahkan Rajaongkir kredensial pada file .env (Opsional dengan catatan)
    # NOTE: dapatkan dari https://rajaongkir.com/dokumentasi
    RAJAONGKIR_API_KEY=
  7. Jalankan container
    ./vendor/bin/sail up -d
  8. Migrasi database dan seed data
    ./vendor/bin/sail artisan migrate:fresh --seed
  9. Link storage
    ./vendor/bin/sail artisan storage:link
  10. Buka browser dan akses http://localhost

Setelah aplikasi berjalan

Akun Pengguna

Secara default saat seeding data, akan dibuatkan 2 akun pengguna. Sehingga untuk dapat login ke dalam aplikasi, dapat menggunakan data berikut.

[
'name' => 'admin',
'email' => '[email protected]',
],
[
'name' => 'user',
'email' => '[email protected]',
],

Note

Password untuk masing-masing akun adalah password. Lihat di UserFactory.php

Email Verification

Saat melakukan registrasi manual dengan pergi ke /register, aplikasi akan mengirimkan email yang berisi link/url untuk verifikasi. Secara default ketika meng-copy environment file dari .env.example, Mailer yang digunakan adalah log yang berarti email tidak akan terkirim ke alamat email yang didaftarkan, atau hanya dikirim ke dalam log aplikasi saja yaitu di ./storage/logs/laravel.log. Jika ingin mengubah behavior ini atau ingin email terkirim ke alamat email yang didaftarkan, kita perlu mengubah nilai environment variable pada file .env, mulai dari konfigurasi MAIL_MAILER= kemudian diikuti dengan konfigurasi lainnya menyesuaikan opsi Mailer yang dipilih. Untuk informasi lebih lengkap beserta Mailer apa saja yang tersedia, dapat di lihat pada dokumentasi Laravel terkait Mail.

Note

SPDHTC per versi v2.2-beta telah membawa Resend SDK sebagai opsi Mailer di production menggantikan SMTP, dengan ini kami dapat mengirimkan email yang berisi Email Verification ke seluruh alamat email yang mendaftar di SPDHTC. Per rilis v2.2-beta, kami juga mengubah nilai default pada .env.example untuk Mailer menjadi log menggantikan SMTP dengan host Mailhog untuk Development phase.

Bantuan & Kontak

Jika Anda menghadapi masalah atau memiliki pertanyaan, Anda dapat:

  • Memeriksa diskusi yang sudah ada atau membuat diskusi baru di sini
  • Menghubungi kami melalui Instagram atau Email

Roadmap

  • Implement scheduled command for RajaOngkir API re-caching
  • Allow guests to access Admin Panel

Next

Coming soon: SPDPTC - the next evolution and rebrand of SPDHTC.

SPDPTC brings you:

  • Decoupled architecture
  • SaaS-based platform
  • Modern UI design
  • Enhanced performance
  • SPA with reactive components
  • Comprehensive testing
  • Open source licensed

If you appreciate SPDHTC and want to support our next development, please consider becoming a sponsor. For roadmap and more details, check the SPDPTC README file.

Lisensi

Lisensi dari proyek/aplikasi ini di bawah WTFPL.

Star History

Star History Chart

Footnotes

  1. https://en.wikipedia.org/wiki/Data_set#cite_ref-Editorial_2-0