Professional Documents
Culture Documents
Specification
for
SMARTFARMERS
Beta Version 0.0.1
Prepared by
Contents
Software Requirements Specification for <Project> Page 2
Revisions
Version Primary Author(s) Description of Version Date Completed
Beta 0.0.1 Zidan Irfan Zaky Inisisasi Pembuatan Dokumen Software 00/00/00
Software Requirements Specification for <Project> Page 3
1 Introduction
1.1 Document Purpose
Tujuan Dokumen Spesifikasi Persyaratan Perangkat Lunak (SRS) adalah untuk
menyediakan deskripsi yang komprehensif dan tidak ambigu tentang persyaratan fungsional
dan non-fungsional untuk pengembangan sistem perangkat lunak. Dokumen ini berfungsi
sebagai alat komunikasi kunci antara pemangku kepentingan, termasuk pengembang,
manajer proyek, tim jaminan kualitas, dan pengguna akhir, untuk memastikan pemahaman
bersama tentang solusi perangkat lunak yang diinginkan.
Manfaat dari aplikasi SmartFarmers ini sendiri adalah dapat mengeksplorasi dan
meningkatkan kualitas hidup petani, sekaligus mengarahkan investor ke sektor pertanian.
Melakukan integrasi sistem dengan Dinas Pertanian dan Ketahanan Pangan untuk
mempermudah petani dalam menemukan solusi dari hama atau penyakit yang ditemukan
selama melaksanakan kegiatan tani. Mempermudah komunikasi dan hubungan antara agen
penjual, petani, dan investor melalui aplikasi SmartFarmers.
1. Petani
Petani dapat melakukan kegiatan tani dengan menerima modal yang lebih mudah,
melakukan laporan pada setiap perkembangan pada kegiatan tani, melakukan laporan akhir
untuk merangkum kegiatan, melakukan penjualan hasil tani dengan rekomendasi harga jual
yang telah diberikan.
2. Investor
Investor diberikan saran oleh aplikasi untuk melakukan investasi ke kegiatan tani yang ada
sesuai dengan modal yang akan diberikan, investor dapat melihat alur kegiatan melalui laporan
bulanan yang dilakukan petani.
3. Agen Penjual
Agen Penjual merupakan pihak yang akan membeli hasil tani dari Petani sesuai dengan
harga yang telah direkomendasikan dan diterima oleh kedua belah pihak, kemudian menjual
kembali hasil tani tersebut.
Dinas Pertanian dan Ketahanan Pangan dapat memberikan informasi yang konkrit
mengenai harga pangan yang beredar dalam daerah tersebut dengan berbagai pertimbangan, dan
juga memberikan informasi lengkap mengenai hama, penyakit tumbuhan dan cara mengatasi
kedua masalah tersebut untuk mempermudah petani dalam melangsungkan kegiatan tani
Dokumen ini akan memberikan deskripsi lengkap mengenai aplikasi dan juga berbagai cara untuk
mengatasi masalah yang telah diidentifikasi sebelumnya. Disarankan membaca dimulai dengan
masalah, solusi yang diberikan, dan bagaimana cara untuk mengimplementasikannya dalam
aplikasi.
6. Project Team
Definisi
Akronim
Singkatan
Software Requirements Specification for <Project> Page 3
1. Simpandes: Simpan Pinjam Desa, lembaga keuangan mikro yang memberikan pinjaman
kredit kepada masyarakat yang menjadi anggotanya.
2 Overall Description
2.1 Product Overview
Tujuan dari SRS SmartFarmers ini adalah menjembatani kesenjangan komunikasi
antara klien dan pengembang sistem dan juga antara pengembang sistem dan pengembang
sistem yang lainnya, sehingga mereka memiliki visi yang sama tentang perangkat lunak yang
di bangun, dan batasan batasan apa saja yang terpenting dari sistem ini. dengan adanya srs
ini diharapkan software yang akan dibuat lebih mudah dipahami oleh orang teknologi maupun
orang non teknologi
SmartFarmers adalah aplikasi mobile yang dirancang untuk membantu petani dalam
mengelola pertanian mereka, Investor dalam melakukan investasi pada dunia tani, Simpandes
dalam melakukan pencatatan dan komunikasi dengan petani, Agen penjual untuk
mempermudah mengetahui harga dan kesediaan barang dari tani yang akan dijual, dan Dinas
Pertanian dan ketahanan Pangan untuk memberikan wawasannya tentang hama dan
penyakit. Aplikasi ini menyediakan berbagai fitur untuk membantu seluruh pengguna
SmartFarmers, termasuk:
SmartFarmers adalah aplikasi yang bermanfaat bagi petani. Aplikasi ini dapat membantu petani
meningkatkan produktivitas dan keuntungan mereka.
Software Requirements Specification for <Project> Page 6
Perspective Diagram
Software Requirements Specification for <Project> Page 7
Identifikasi Fungsi
Standarisasi Harga Tani dan Ternak fitur untuk menjadi standar harga jual dalam
transaksi jual beli tani sebagai acuan dalam
penjualan yang dilakukan oleh petani
Manage Data Penyakit dan obat fitur untuk memanage data mengenai peyakit
beserta obatnya untuk mempermudah petani
dalam menjaga tani
Berbagai Fitur diatas dapat menyelesaikan problematika yang ada, dan fitur yang lebih lengkap
akan dijelaskan pada bagian selanjutnya
Software Requirements Specification for <Project> Page 8
Aspek Jenis
nama penggunaan
Database Mysql
Tools VS code
Ketersediaan Jaringan:
Bergantung pada ketersediaan jaringan seluler di lokasi pertanian untuk memastikan konektivitas
aplikasi untuk menampilkan data dengan secara langsung (real-time).
Partisipasi Investor:
Bergantung kepada ketersediaan investor untuk melakukan kegiatan
Perizinan Lokasi:
Menyertakan asumsi terkait perizinan lokasi yang mungkin diperlukan untuk mengoperasikan
aplikasi.
Ketergantungan Pembayaran:
aplikasi ini memiliki ketergantungan pada transaksi keuangan pembayaran yang mungkin terjadi
sebagai bagian dari aplikasi untuk cash-flow.
Portabilitas:
Memperhitungkan tingkat portabilitas aplikasi, baik dari sisi teknis maupun integrasi dengan
perangkat atau sistem lainnya.
Payment Gateaway:
Aplikasi ini Bergantung kepada third party atau payment gateaway, Ketika ada maintanance atau
sedang offline akan berpengaruh kepada sistem top up pada aplikasi.
Software Requirements Specification for <Project> Page 10
3 Specific Requirements
3.1 External Interface Requirements
All Actors:
1. Login
2. Registrasi
Software Requirements Specification for <Project> Page 11
3. Lupa Password
Software Requirements Specification for <Project> Page 12
Software Requirements Specification for <Project> Page 13
4. Show Profile
Petani:
1. Menuliskan Asset Pertanian
Software Requirements Specification for <Project> Page 14
Investor:
1. List Investasi
2. Melakukan Top Up
3. Rekomendasi Investasi
4. Melihat Kegiatan
5. Melakukan Investasi
6. Melihat Laporan Bulanan dan Akhir
Simpandes:
1. Catatan Peminjaman
2. Manage Data Simpandes
3. Melihat Pengajuan Peminjaman
4. Menerima atau Menolak Peminjaman
5. Melihat List Permodalan
Dinas:
Software Requirements Specification for <Project> Page 16
Agen:
1. Melihat List Harga Jual Tani
Software Requirements Specification for <Project> Page 20
<Describe the logical characteristics of each interface between the software product and the users.
For your project, you only need to be concerned with the main thermostat (not the mobile app) and
can use the graphic from the project description as the basis for your user interface..
TO DO: Provide the graphic for the thermostat user interface and provide a basic description as to
how users will interact (e.g. tough screen, menus, etc.).>
Aktor Admin/System
Forgot Password User memilih opsi lupa sistem mengirim link untuk
password mengganti password
kepada nomor telepon yang
dituju sesuai dengan
akunnya
Manage data harga jual Dinas dapat memanage data sistem menyimpan data
tani penjualan harga tani penjualan harga tani
3.4 Robustness
Petani Robustness
1. Login
Software Requirements Specification for <Project> Page 28
2. register
Software Requirements Specification for <Project> Page 29
3. forgot password
Software Requirements Specification for <Project> Page 30
7. history peminjaman

11. menerima modal
Software Requirements Specification for <Project> Page 37
Investor Robustness
Software Requirements Specification for <Project> Page 44
SIMPANDES Robustness
3.5 Sequence
Petani
1. Sequence Login
Software Requirements Specification for <Project> Page 66
2. Sequence Register
Software Requirements Specification for <Project> Page 67
4. Sequence Lahan
Software Requirements Specification for <Project> Page 69
7. history peminjaman
Software Requirements Specification for <Project> Page 71
INVESTOR
18. Investor melihat list rekomendasi kegiatan tani
Software Requirements Specification for <Project> Page 77
SIMPANDES Sequence
26. Mempersiapkan ketersediaan pinjaman
Agen Penjualan
36. Topup saldo
Software Requirements Specification for <Project> Page 89
1. AKTOR PETANI
1.1. LOGIN
Use Case Skenario Login
Aktor Petani
Normal Flow
Software Requirements Specification for <Project> Page 94
Alternate Flow
1.2. REGISTRASI
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Alternate Flow
Alternate Flow 2
“Peminjaman Simpandes”
Aktor Petani
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Alternate Flow
Software Requirements Specification for <Project> Page 107
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Aktor Petani
Normal Flow
Alternate Flow
Aktor Petani
Normal Flow
Alternate Flow
2. AKTOR INVESTOR
2.1. LOGIN
Use Case Skenario Login
Aktor Investor
Normal Flow
Alternate Flow
2.2. REGISTRASI
Use Case Skenario Registrasi
Aktor Investor
Normal Flow
Aktor Investor
Kondisi Awal
Kondisi Akhir
Normal Flow
rekomendasi
Aktor Investor
Kondisi Awal
Kondisi Akhir
Normal Flow
Aktor Investor
Kondisi Awal
Kondisi Akhir
Normal Flow
Deskripsi Investor
Aktor Investor
Kondisi Awal
Kondisi Akhir
Normal Flow
tidak valid
Aktor Investor
Normal Flow
Alternate Flow
Aktor Investor
Normal Flow
Alternate Flow
Aktor Investor
Kondisi Awal
Kondisi Akhir
Software Requirements Specification for <Project> Page 119
Normal Flow
Aktor Investor
Laman Dashboard
Normal Flow
Alternate Flow
3. AKTOR SIMPANDES
3.1. LOGIN
Use Case Skenario Login
Aktor Simpandes
Normal Flow
password petani
Alternate Flow
3.2. REGISTRASI
Use Case Skenario Registrasi
Aktor Simpedes
Normal Flow
Aktor Simpandes
Normal Flow
Aktor Simpandes
Normal Flow
Software Requirements Specification for <Project> Page 124
Alternate Flow
Aktor Simpandes
Normal Flow
Alternate Flow
Aktor Simpandes
Normal Flow
Aktor Simpandes
Normal Flow
Alternate Flow
Aktor Simpandes
Normal Flow
Alternate Flow
Aktor Simpandes
Normal Flow
Alternate Flow
Software Requirements Specification for <Project> Page 129
Aktor Simpandes
Normal Flow
Alternate Flow
Aktor Simpandes
Software Requirements Specification for <Project> Page 130
Normal Flow
Alternate Flow
4. AKTOR DINAS
4.1. LOGIN
Use Case Skenario Login
Aktor Dinas
Normal Flow
Alternate Flow
4.2. REGISTRASI
Aktor Dinas
Normal Flow
password User
Aktor Dinas
Normal Flow
Aktor Dinas
Normal Flow
Alternate Flow
Normal Flow
Alternate Flow
5.2. REGISTRASI
Use Case Skenario Registrasi
Normal Flow
Normal Flow
Alternate Flow
Petani
Normal Flow
Normal Flow
Security Requirements
1. Enkripsi Data Pengguna: Data login pengguna, termasuk informasi akun dan kata
sandi, harus dienkripsi untuk mencegah akses tidak sah.
Software Requirements Specification for <Project> Page 141
2. Enkripsi Data Transaksi: Data transaksi, seperti informasi pembayaran dan top-up,
harus dienkripsi selama pengiriman dan penyimpanan untuk melindungi integritas
dan kerahasiaan data.
3. Kontrol Akses Pengguna: Sistem harus menyediakan kontrol akses yang ketat,
memastikan bahwa setiap pengguna hanya memiliki akses ke data yang relevan
dengan peran dan tanggung jawab mereka.
4. Perlindungan Terhadap Serangan: Sistem harus dilengkapi dengan perlindungan
terhadap serangan keamanan umum seperti serangan SQL injection dan serangan
berbasis web lainnya.
Safety Requirements:
1. Recovery Data Otomatis: Jika terjadi kerusakan data atau kegagalan sistem,
aplikasi harus memiliki mekanisme recovery otomatis untuk memulihkan data ke
keadaan sebelumnya.
2. Pemulihan Sistem Cepat: Sistem harus dirancang untuk pemulihan cepat setelah
kegagalan, meminimalkan waktu downtime dan memastikan ketersediaan aplikasi.
3. Backup Data Otomatis: Sistem harus menyediakan fitur backup data otomatis untuk
mengamankan data secara berkala dan memastikan bahwa versi terbaru dapat
dipulihkan dengan mudah.
1. Adaptability:
a. User Interface Flexibility: Antarmuka pengguna dirancang agar mudah
diadaptasi oleh berbagai kelompok pengguna, termasuk petani dengan
tingkat keterampilan teknologi yang berbeda.
b. Bahasa Pengguna yang Mudah Dimengerti: Penggunaan bahasa Indonesia
dalam aplikasi untuk memastikan pemahaman yang mudah bagi pengguna
dari berbagai latar belakang.
c. User Guide: Memudahkan pengguna untuk pertama kali Menginstall aplikasi
2. Maintainability:
a. Pemeliharaan Berkala: Dilakukan pemeliharaan dan pengecekan berkala
terhadap program yang berjalan, termasuk pengecekan terhadap perangkat
lunak dan hardware yang digunakan.
b. Sistem Keamanan dan Pembaruan: Terdapat pembaruan keamanan secara
teratur untuk mengatasi potensi kerentanan keamanan. Sistem dilengkapi
dengan fitur pembaruan otomatis.
3. Portability:
a. Kemudahan Pengoperasian: Antarmuka sistem dibuat user-friendly untuk
memudahkan pengguna dalam mengoperasikan aplikasi.
4. Reliability:
a. Ketahanan terhadap Gangguan: Sistem dirancang untuk memiliki ketahanan
terhadap gangguan dan dapat dengan cepat pulih dari kegagalan,
memastikan ketersediaan aplikasi yang tinggi.
Software Requirements Specification for <Project> Page 142
b. Keandalan Data: Sistem menyediakan backup data otomatis untuk
memastikan keandalan dan ketersediaan data.
5. Reusability:
a. Kode yang Bersih dan Terdokumentasi: Kode program yang bersih dan
terdokumentasi dengan baik untuk memudahkan pemeliharaan dan
pengembangan oleh tim pengembang.
6. Testability:
a. Kemampuan Pengujian: Aplikasi ini dapat diuji dengan melihat dokumen srs
7. Usability:
a. Navigasi yang Intuitif: Aplikasi menawarkan navigasi yang intuitif untuk
memastikan pengguna dapat dengan mudah menjelajahi fitur-fitur yang ada.
5 Other Requirements
<This section is Optional. Define any other requirements not covered elsewhere in the SRS. This
might include database requirements, internationalization requirements, legal requirements, reuse
objectives for the project, and so on. Add any new sections that are pertinent to the project.>
Software Requirements Specification for <Project> Page 143
<Data dictionary is used to track all the different variables, states and functional requirements that
you described in your document. Make sure to include the complete list of all constants, state
variables (and their possible states), inputs and outputs in a table. In the table, include the
description of these items as well as all related operations and requirements.>
Software Requirements Specification for <Project> Page 144