TKK_E32230206/laporan_usecase_diagram.md

6.6 KiB

Dokumentasi Diagram Use Case Sistem JTA (Jamur Tiram Antirogo)

Dokumen ini berisi rancangan Diagram Use Case beserta penjelasannya untuk digunakan dalam laporan akhir proyek/tugas akhir Anda. Anda dapat menyalin teks dan diagram di bawah ini langsung ke laporan Anda.


1. Diagram Use Case (Mermaid)

Berikut adalah visualisasi diagram use case untuk aplikasi mobile JTA. Jika laporan Anda mendukung rendering Mermaid (seperti Markdown/GitHub), diagram akan ter-render otomatis. Anda juga dapat mengekspor diagram ini ke format PNG/SVG.

graph TD
    %% Define Actors
    Petani["Petani (Pengguna)"]
    ESP32["Perangkat IoT (ESP32)"]

    subgraph Batasan_Sistem_JTA ["Batasan Sistem JTA"]
        UC1(("UC-01: Registrasi Akun"))
        UC2(("UC-02: Login Akun"))
        UC3(("UC-03: Hubungkan Perangkat via Claim Code"))
        UC4(("UC-04: Pantau Suhu & Kelembapan Real-Time"))
        UC5(("UC-05: Lihat Riwayat Grafik"))
        UC6(("UC-06: Pilih Mode Operasi: Manual / Otomatis"))
        UC7(("UC-07: Atur Threshold Limit"))
        UC8(("UC-08: Kendalikan Pompa Air"))
        UC9(("UC-09: Atur Jadwal Penyiraman"))
        UC10(("UC-10: Terima Notifikasi"))
        UC11(("UC-11: Logout Akun"))
    end

    %% Actor Relationships
    Petani --> UC1
    Petani --> UC2
    Petani --> UC3
    Petani --> UC4
    Petani --> UC5
    Petani --> UC6
    Petani --> UC7
    Petani --> UC8
    Petani --> UC9
    Petani --> UC11

    ESP32 --> UC4
    ESP32 --> UC8
    ESP32 --> UC10

    %% Use Case Relationships
    UC3 -.->|include| UC2
    UC4 -.->|include| UC3
    UC5 -.->|include| UC3
    UC6 -.->|include| UC3
    UC9 -.->|include| UC3
    UC7 -.->|extend| UC6
    UC8 -.->|extend| UC6
    UC10 -.->|extend| UC4

💡 Cara Cepat Mengimpor ke Diagrams.net (Draw.io)

Draw.io mendukung pembuatan diagram otomatis dari kode Mermaid. Ikuti langkah mudah berikut:

  1. Salin seluruh kode blok di dalam tanda ```mermaid diatas.
  2. Buka app.diagrams.net.
  3. Di dalam editor Diagrams.net, klik menu Arrange di bagian atas -> Insert -> Advanced -> Mermaid... (atau klik ikon + (Plus) pada toolbar atas -> Advanced -> Mermaid).
  4. Tempel (paste) kode Mermaid yang sudah disalin ke dalam kotak teks yang muncul.
  5. Klik tombol Insert (Sisipkan).
  6. Diagrams.net akan otomatis menggambarkan aktor, elips usecase, garis panah, dan teks penjelas. Anda tinggal merapikan posisi atau mengganti gaya warna agar sesuai selera.

2. Deskripsi Aktor (Actors)

Berikut adalah penjelasan mengenai aktor-aktor yang terlibat di dalam sistem JTA:

No Nama Aktor Jenis Deskripsi
1 Petani (Pengguna) Utama (Primary) Pengguna akhir aplikasi yang melakukan monitoring suhu/kelembapan kumbung dan mengendalikan pompa penyiraman secara manual maupun otomatis melalui aplikasi mobile.
2 Perangkat IoT (ESP32) Pendukung (Supporting) Perangkat keras yang mengirimkan data sensor DHT22 ke sistem dan menerima perintah kontrol (on/off relay pompa) serta mengirimkan data status aktual pompa.

3. Definisi Use Case

Berikut adalah tabel fungsionalitas sistem berdasarkan Diagram Use Case di atas:

Kode UC Nama Use Case Aktor Terlibat Deskripsi
UC-01 Registrasi Akun Petani Pengguna membuat akun baru dengan memasukkan nama, email, dan password agar terdaftar di sistem.
UC-02 Login Akun Petani Pengguna masuk ke sistem menggunakan email dan password terdaftar untuk memvalidasi akses sesi.
UC-03 Hubungkan Perangkat Petani Pengguna memasukkan Claim Code alat ESP32 untuk menghubungkan perangkat fisik dengan akun di aplikasi.
UC-04 Pantau Suhu & Kelembapan Petani, ESP32 Sistem menampilkan data suhu (°C) dan kelembapan (%) secara real-time yang dikirimkan oleh sensor dari alat ESP32.
UC-05 Lihat Riwayat Grafik Petani Pengguna melihat visualisasi data sensor historis (grafik harian, mingguan, bulanan) untuk analisis kondisi kumbung.
UC-06 Pilih Mode Operasi Petani Pengguna mengganti mode kerja alat antara Mode Manual (kontrol pengguna) atau Mode Otomatis (kontrol threshold).
UC-07 Atur Threshold Limit Petani Pengguna menentukan batas maksimum suhu dan batas minimum kelembapan sebagai acuan penyiraman otomatis.
UC-08 Kendalikan Pompa Air Petani, ESP32 Pengguna menyalakan/mematikan pompa air secara instan berdasarkan durasi waktu pilihan pada Mode Manual.
UC-09 Atur Jadwal Penyiraman Petani Pengguna menjadwalkan jam dan hari penyiraman otomatis untuk menjaga kelembapan kumbung secara berkala.
UC-10 Terima Notifikasi Petani, ESP32 Sistem mengirim notifikasi peringatan push melalui OneSignal ke smartphone ketika suhu/kelembapan kumbung melewati batas aman.
UC-11 Logout Akun Petani Pengguna keluar dari sesi akun aplikasi secara aman.

4. Spesifikasi Use Case Utama (Skenario Utama & Alternatif)

UC-03: Hubungkan Perangkat (Claim Perangkat)

  • Aktor Utama: Petani
  • Kondisi Awal (Pre-condition): Pengguna sudah berhasil login dan belum menghubungkan perangkat apapun (terdeteksi kartu "Belum Ada Alat Terhubung").
  • Alur Skenario Utama:
    1. Pengguna mengetuk tombol tambah (+) pada kartu kosong halaman Monitoring.
    2. Sistem menampilkan dialog "Hubungkan Alat" dan meminta input Claim Code.
    3. Pengguna memasukkan Claim Code yang tertera pada alat.
    4. Pengguna mengetuk tombol "Hubungkan".
    5. Sistem memvalidasi kode di database Supabase dan menautkan device_id ke profil akun pengguna.
    6. Sistem menampilkan pesan sukses dan halaman dimuat ulang menampilkan indikator monitoring aktif.
  • Kondisi Akhir (Post-condition): Perangkat IoT berhasil terhubung ke akun pengguna secara permanen.

UC-06: Pilih Mode Operasi & UC-07: Atur Threshold Limit

  • Aktor Utama: Petani
  • Kondisi Awal (Pre-condition): Pengguna sudah login dan status alat dalam keadaan terhubung.
  • Alur Skenario Utama (Mode Otomatis):
    1. Pengguna membuka tab Control.
    2. Pengguna mengaktifkan Switch "Mode Otomatis".
    3. Sistem mengunci opsi tombol penyiraman manual dan menampilkan slider pengaturan batas threshold.
    4. Pengguna menentukan batas maksimal suhu (misal: 30°C) dan batas minimal kelembapan (misal: 70%).
    5. Pengguna mengetuk tombol "Simpan Batas".
    6. Sistem mengirimkan nilai threshold ke database backend. Perangkat ESP32 membaca batas ini dan akan menyalakan pompa secara mandiri jika kondisi dilewati.
  • Kondisi Akhir (Post-condition): Nilai threshold terupdate di backend dan mode otomatis aktif pada perangkat.