This commit is contained in:
BimaSatriaBuana 2026-07-15 05:40:20 +07:00
parent c13fe20bbb
commit 9ce1292267
1 changed files with 0 additions and 125 deletions

View File

@ -1,125 +0,0 @@
# 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.
```mermaid
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](https://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 SHT31 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.