Skip to content

AgriAsk is a website that provides a discussion forum for agricultural communities, with MVC architecture backend model and Bootstrap + Javascript frontend

Notifications You must be signed in to change notification settings

dewasemadi/AgriAsk

 
 

Repository files navigation

AgriAsk

ss

AgriAsk merupakan aplikasi berbasis web yang menyediakan fasilitas forum diskusi tanya jawab antar petani atau masyarakat umum agar dapat saling bertukar pikiran dan informasi.

Laporan Akhir Projek Rekayasa Perangkat Lunak (KOM331)

  • Pararel : P1
  • Kelompok : 5

Asisten Praktikum :

Nama NIM
Indah Puspita G64170035
Qoriatul Khairunnisa G64170014

Developer AgriAsk

Nama NIM ROLE
Muhamad Ilham Fadillah G64190028 Project Manager & Back-End Developer
I Dewa Putu Semadi G64190021 Front-End Developer
Nisma Karmiahtun Fadilah G64190036 UI Designer
Fryda Lucyana Permatasari G64190015 UX Researcher

A. Latar Belakang

Sejak awal pandemi Covid-19, sektor pertanian diklaim menjadi penopang utama perekonomian nasional. Data Badan Pusat Statistik (BPS) menunjukkan, selama kuartal II/2020, pertanian tumbuh sebesar 16,24%. Peneliti dari Center of Food, Energy and Sustainable Development dari Indef, Rusli Abdullah, juga menyatakan bahwa pertumbuhan tersebut masih akan terus terjadi selama pandemi sampai pasca pandemi covid-19. Sebab, penerapan kebijakan karantina wilayah mengakibatkan masyarakat beralih profesi menjadi petani. Dengan demikian, Kami berinisiatif membangun sebuah wadah untuk menfasilitasi para petani yang masih amatir tersebut. Hadirlah AgriAsk, sebuah aplikasi berbasis web yang menyediakan forum diskusi tanya jawab untuk para petani atau masyarakat umum agar dapat saling bertukar pikiran dan informasi. Juga bertujuan untuk menggaungkan sektor pertanian secara luas.

B. Tujuan

  1. Mewadahi para petani atau masyarakat Indonesia untuk saling bertukar pikiran dan informasi di bidang pertanian
  2. Menambah relasi antar petani dalam melangsungkan kegiatan pertaniannya.
  3. Menguatkan sektor pertanian

C. User Analisis

C.1 User Profile

Target user aplikasi AgriAsk adalah masyarakat umum tanpa batasan usia dan latar belakang pendidikan tertentu, serta tertarik untuk menambah wawasan seputar pertanian.

C.2 User Story

  • Sebagai seorang petani, saya ingin berdiskusi dan bertanya mengenai pertanian dan teknologinya agar dapat menemukan solusi dari permasalahan saya.
  • Sebagai seorang pengguna, saya ingin membuat akun dengan mendaftar menggunakan alamat email agar bisa mengakses website.
  • Sebagai pengguna yang telah mendaftar, saya bisa memasukkan alamat email dan password untuk masuk ke website.
  • Sebagai pengguna yang lupa dengan password, saya dapat memberikan informasi alamat email yang terdaftar pada website agar akun saya dapat digunakan kembali.
  • Sebagai seorang masyarakat umum, saya ingin membantu petani dalam menunjang kegiatan pertanian berkelanjutan.
  • Sebagai pengguna, saya ingin mendapatkan poin pada setiap jawaban yang saya jawab, agar mendapatkan reputasi dalam website.
  • Sebagai seorang pengguna, saya ingin melihat statistik pengguna lain dalam penggunaan website, agar mengetahui sejauh mana saya telah menelusuri website.
  • Sebagai seorang petani, saya ingin membantu menjawab pertanyaan agar petani lain dapat menemukan solusi dari permasalahan mereka.
  • Sebagai seorang petani, saya ingin membuat postingan/artikel untuk membantu memberikan informasi terkait dengan pertanian dalam membantu petani lain melangsungkan kegiatan pertaniannya.
  • Sebagai seorang masyarakat umum, saya dapat mencari informasi seputar pertanian agar menambah wawasan saya.

D. Spesifikasi Teknis Lingkungan Pengembangan

D.1 Software

Komponen Teknologi
Database MySQL
Server Apache
Text Editor Visual Studio Code
UI Design Figma

D.2 Hardware

Komponen Teknologi
Prosesor Acer Intel Core i3-8130U 2.20GHz
Memori 8 GB DDR4
Graphic card NVIDIA GeForce MX150 2GB VRAM
Storage HDD 1 TB

D.3 Tech Stack

Komponen Teknologi
Front-end HTML, CSS/SCSS/SASS, Bootstrap, Vanilla Javascript
Back-end PHP, Laravel, NodeJS

D.4 Lainnya

Komponen Teknologi
Task Management Trello
Software documentation Google Sites
Version control dan collaboration platform Github

E. Hasil dan Pembahasan

Pada mata kuliah ini, 7 minggu pertama Kami berfokus pada analisis sistem. Mulai dari menganalisis user flow, use case diagram, activity diagram, dan sebagainya. Setelah UTS, 7 minggu berikutnya Kami fokus pada pengembangan aplikasi AgriAsk. Di sisi front-end, Kami sangat memperhatikan design aplikasi web yang responsive pada semua ukuran layar, lebih tepatnya menggunakan pendekatan Mobile First. Karena tidak dipungkiri bahwa, dari 272,1 juta penduduk Indonesia sebanyak 175.4 juta adalah pengguna aktif internet yang mayoritas mengakses web menggunakan perangkat mobile (Survey dari We Are Social). Selanjutnya, karena Kita mengoleksi data pengguna (email dan password), Kita turut memperhatikan aspek keamanan dari pengguna AgriAsk. Pada bagian back-end, Kami menerapkan beberapa metode pengamanan salah satunya adalah password hashing.

E.1 Use Case Diagram

use_case

E.2 Activity Diagram

Mendaftar akun

activity_diagram_register

Login

activity_diagram_login

Update password

activity_diagram_lupaPassword

Membuat pertanyaan

activity_diagram_create_questions

Membuat artikel

activity_diagram_create_article

E.3 Class Diagram

Posting Pertanyaan dan Artikel

image

Vote Pertanyaan

image

E.4 Entity Relationship Diagram (ERD)

erdBaru2

E.5 Software Architecture

Kami memilih arsitektur MVC karena MVC adalah pola yang bagus untuk memulai pengembangan aplikasi web yang rapi secara kode, memiliki skalabilitas, dan kemampuan dalam memperbaiki kode secara cepat dengan usaha yang sedikit. Arsitektur_agriask

E.6 Fungsi Utama yang Dikembangkan

  • User dapat mendaftar terlebih dahulu menggunakan alamat email di website AgriAsk untuk menggunakan fasilitas yang ada.
  • User dapat membuat, mengedit, dan menghapus pertanyaa
  • Satu postingan dapat memiliki banyak komentar/jawaban oleh user lain.
  • Setiap user memiliki poin kredibilitas tergantung seberapa sering user membantu menjawab pertanyaan-pertanyaan dan poin pada permulaan dimulai dari 0.
  • Jika komentar/jawaban dari user lain sekiranya membantu menjawab pertanyaan dari user yang mengajukan pertanyaan, maka user-user yang terdaftar di website dapat menambahkan skor kepada user yang menjawab dengan menekan tombol commend. Tombol commend akan menambah 10 poin kepada user yang menjawab. Jika jawaban tidak membantu, user lain dapat menekan tombol uncommend yang akan mengakibatkan pengurangan poin sebesar 5 kepada user yang menjawab.

E.7 Fungsi CRUD

CREATE

  • Membuat akun pada aplikasi web AgriAsk
  • Membuat dan menjawab pertanyaan
  • Membuat dan berkomentar pada artikel (*)

READ

  • Membaca user input (email dan password) pada akun pengguna saat login
  • Menampilkan daftar pertanyaan
  • Menampilkan daftar pengguna AgriAsk
  • Pada dashboard user, menampilkan total mengajukan dan menjawab pertanyaan, serta total artikel (*)

UPDATE

  • Mengedit pertanyaan
  • Mengubah kata sandi (*)
  • Mengedit artikel (*)
  • Menambah poin kredibilitas sebagai reputasi pengguna
  • Mengganti nama dan username (*)
  • Menambahkan foto profil pada pengguna (*)
  • Menambah atau mengurangi total upvote atau downvote pada pertanyaan

DELETE

  • Menghapus pertanyaan
  • Menghapus komentar pada pertanyaan
  • Menghapus artikel (*)

Keterangan: Tanda (*) berarti fitur belum diimplementasikan.

F. Hasil Implementasi

F.1 Versi Mobile

1. Landing Page

2. Komunitas

3. Detail Pertanyaan

4. Frequently Ask Questions (FAQ)

5. Login, Register, Forgot Password

6. Dashboard User : Overview

7. Dashboard User : Daftar Pertanyaan & Daftar Artikel

8. Dashboard User : Pengaturan Akun

F.2 Versi Desktop

1. Landing Page

ss image

2. Komunitas

image image image image

3. Detail Pertanyaan

image image

4. Frequently Ask Questions (FAQ)

image

5. Login

image

6. Register

image

7. Forgot Password

image

8. Dashboard User

image image image

9. Dashboard User : Pengaturan Akun

image image

F.3 Link Aplikasi

Demo frontend aplikasi dapat diakses pada tautan berikut demo-agriAsk

Prototipe website (backend + half-frontend) dapat diakses di http://damp-coast-26039.herokuapp.com/home

G. Testing (Test Cases)

Kami melakukan pengujian secara manual (manual testing) tanpa menggunakan bantuan tools atau scripts, tujuannya adalah untuk memastikan aplikasi bebas dari bugs/error dan memastikan dapat bekerja sesuai dengan yang diharapkan.

G.1 Positive Case

Pengujian Positif merupakan jenis pengujian yang dilakukan pada aplikasi perangkat lunak dengan memberikan kumpulan data yang valid sebagai input.

No Scenario Pre-requisites Steps Expected Results Actual Result Status
1 User login dengan akun yang valid User mengakses web AgriAsk Pergi ke halaman login, masukkan email dan password, klik login Login berhasil dan user diarahkan ke home As expected Pass ✔
2 User mendaftar username, alamat email, dan password yang valid User mengakses web AgriAsk Pergi ke halaman daftar, masukkan nama, username, alamat email, password, dan konfirmasi password, lalu klik daftar Daftar berhasil As expected Pass ✔
3 Reset password dengan alamat email yang valid User mengakses web AgriAsk Pergi ke halaman lupa password, masukkan alamat email, klik submit Berhasil mengirim link reset password ke email user Not as expected Fail ❌
4 Buat pertanyaan dengan mamasukkan judul, deskripsi, tag, dan gambar (opsional) dengan input yang valid User mengakses web AgriAsk Pergi ke halaman komunitas, klik button buat pertanyaan, masukkan input yang diminta, klik submit Berhasil membuat pertanyaan As expected Pass ✔
5 Menjawab pertanyaan dengan mamasukkan input yang valid User mengakses web AgriAsk Pergi ke halaman komunitas, klik pertanyaan yang ingin dijawab, masukkan input yang diminta, klik submit Berhasil publish jawaban As expected Pass ✔

G.2 Negative Case

Pengujian Negatif adalah metode pengujian yang dilakukan pada aplikasi perangkat lunak dengan memberikan kumpulan data yang tidak valid atau tidak tepat sebagai input.

No Scenario Pre-requisites Steps Expected Results Actual Result Status
1 User login dengan akun yang tidak valid User mengakses web AgriAsk Pergi ke halaman login, masukkan email dan password, klik login Munculkan pesan error As expected Pass ✔
2 User mendaftar username, alamat email, dan password yang tidak valid User mengakses web AgriAsk Pergi ke halaman daftar, masukkan nama, username, alamat email, password, dan konfirmasi password, lalu klik daftar Daftar gagal, tampilkan pesan error As expected Pass ✔
3 Reset password dengan alamat email yang tidak valid User mengakses web AgriAsk Pergi ke halaman lupa password, masukkan alamat email, klik submit Tampilkan pesan error As expected Pass ✔
4 Buat pertanyaan dengan mamasukkan judul, deskripsi, tag, dan gambar (opsional) dengan input yang tidak valid User mengakses web AgriAsk Pergi ke halaman komunitas, klik button buat pertanyaan, masukkan input yang diminta, klik submit Tampilkan pesan error As expected Pass ✔
5 Menjawab pertanyaan dengan mamasukkan input yang tidak valid User mengakses web AgriAsk Pergi ke halaman komunitas, klik pertanyaan yang ingin dijawab, masukkan input yang diminta, klik submit Tampilkan pesan error As expected Pass ✔

H. Kesimpulan

Dengan rentang waktu pengembangan aplikasi yang terbatas, tim Kami berhasil membangun sistem yang diharapkan walaupun masih jauh dari kata sempurna. Fitur-fitur mayor seperti autentikasi, membuat dan menjawab pertanyaan, memberi komentar pada peranyaan, serta menambah poin kredibilitas berhasil diimplementasikan dengan baik. Namun, fitur-fitur minor seperti membuat artikel belum berhasil diimplementasikan

I. Saran untuk Pengembangan Berikutnya

  1. Sebaiknya, gunakan domain (beli) agriask.com saat sudah di tahap production.
  2. Untuk pengembangan berikutnya, dapat mempertimbangkan fitur Progressive Web Apps (PWA), sehingga aplikasi web seolah-olah menjadi native dan dapat di install pada perangkat mobile.
  3. Kedepannya, AgriAsk diharapkan tidak hanya menjadi forum diskusi, tetapi wadah bertemunya investor dengan para petani. Sehingga, AgriAsk akan memiliki value di masyarakat.

J. Ucapan Terima Kasih

Selama pengembangan aplikasi AgriAsk ini, tim Kami banyak mempelajari hal-hal baru dalam bidang software engineering, mulai dari task management, user analisis, stakeholder, dan sebagainya. Maka dari itu, Kami ingin mengucapkan rasa terima kasih kepada:

  1. IPB University sebagai kampus tercinta
  2. Para dosen Ilmu Komputer IPB University karena telah membagikan ilmu dan pengalamannya kepada Kami
  3. Kak Indah Puspita dan Qoriatul Khairunnisa selaku asisten praktikum karena telah memberikan masukan dan saran terhadap pengembangan aplikasi AgriAsk

K. Credits

Beberapa ilustrasi dan gambar berasal dari internet, berikut akan kami lampirkan sumbernya.

storyset

pixabay

unsplash

L. Project Documentation

trello

google_sites

M. Cara Menjalankan Aplikasi AgriAsk Pada Localhost

Repositori ini dibangun dengan Laravel versi 6.02 dan php versi 7 ke atas. Lakukanlah langkah-langkah di bawah ini untuk menjalankan project.

  • masuk ke direktori AgriAsk
$ cd AgriAsk
  • jalankan perintah composer install untuk mendownload direktori vendor
$ composer install
  • buat file .env lalu isi file tersebut dengan seluruh isi dari file .env.example (copy isi dari .env.example lalu paste di file .env)

  • jalankan perintah php artisan key generate

$ php artisan key:generate
  • install node modules (pastikan nodejs sudah terinstall)
npm install
  • buat database baru di mysql dan jalankan perintah php artisan migrate
php artisan migrate
  • Sesuaikan nama database, username dan password nya di file .env dengan database kalian.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=<NAMA_DATABASE>
DB_USERNAME=root
DB_PASSWORD=

Jangan lupa untuk menjalankan server laravel

$ php artisan serve

Pastikan server Apache dan MySQL berjalan di XAMPP

License

The Laravel framework is open-sourced software licensed under the MIT license.

Kembali Keatas ^

About

AgriAsk is a website that provides a discussion forum for agricultural communities, with MVC architecture backend model and Bootstrap + Javascript frontend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Blade 79.4%
  • PHP 20.4%
  • Other 0.2%