BantuBelajar

Bab 5 dari 10 · Fitur & Arsitektur

Gambaran Arsitektur Aplikasi

BantuBelajar dirancang menggunakan pendekatan mobile-hybrid, yaitu pendekatan pengembangan aplikasi yang memanfaatkan teknologi web dan memungkinkan aplikasi dijalankan pada perangkat mobile melalui runtime atau lapisan pembungkus yang sesuai.

5.1 Teknologi yang Digunakan

Teknologi yang diusulkan untuk pengembangan BantuBelajar adalah:

  1. Ionic untuk membangun antarmuka aplikasi.

  2. HTML, CSS, dan TypeScript untuk mengembangkan tampilan dan interaksi pengguna.

  3. Capacitor untuk mengemas aplikasi agar dapat dijalankan sebagai aplikasi mobile.

  4. PHP untuk menangani logika bisnis dan menyediakan REST API.

  5. MySQL untuk menyimpan serta mengelola data aplikasi.

  6. HTTPS untuk melindungi komunikasi antara aplikasi dan server.

Pemilihan teknologi tersebut merupakan usulan awal yang dapat disesuaikan dengan kemampuan tim dan kebutuhan implementasi.

5.2 Lapisan Arsitektur

a. Presentation Layer

Lapisan ini merupakan bagian yang berinteraksi langsung dengan pengguna. Antarmuka dibuat menggunakan Ionic, HTML, CSS, dan TypeScript.

Halaman yang tersedia meliputi login, profil relawan, profil mitra, daftar kebutuhan tutor, detail kegiatan, pengajuan relawan, jadwal, laporan, dan panel admin sesuai hak akses masing-masing.

b. Application Layer

Lapisan ini dijalankan melalui backend PHP yang menyediakan REST API. Backend bertanggung jawab memproses autentikasi, memvalidasi data, memeriksa hak akses, mengelola kebutuhan tutor, memproses pengajuan, dan menyimpan laporan kegiatan.

Pemisahan logika bisnis dari antarmuka membantu memudahkan pemeliharaan dan pengembangan fitur.

c. Data Layer

Lapisan ini menggunakan MySQL untuk menyimpan data pengguna, profil lembaga, kebutuhan tutor, pengajuan relawan, jadwal, kehadiran, laporan, dan pengaduan.

Database dirancang dengan relasi yang jelas dan pembatasan akses agar data hanya dapat digunakan oleh pihak yang memiliki kewenangan.

5.3 Diagram Arsitektur

Diagram berikut menggambarkan tiga lapisan arsitektur yang dijelaskan pada bagian 5.2: presentation layer, application layer, dan data layer.

Diagram arsitektur BantuBelajar Empat lapisan dari atas ke bawah: pengguna, aplikasi mobile Flutter, backend Firebase, dan layanan eksternal. Panah menunjukkan aliran permintaan data dari atas ke bawah. PENGGUNA Relawan Tutor Android atau iOS Mitra Belajar pengurus lembaga Admin panel web verifikasi APLIKASI MOBILE HYBRID (FLUTTER) Presentation Screen dan widget Navigator dengan argumen ListView.builder Business logic Provider atau Riverpod Pencocokan peluang Validasi formulir Data layer Repository SQLite untuk cache dan draf SharedPreferences Fitur perangkat GPS: peluang terdekat dan jarak Kamera: foto bukti sesi dan foto profil Notifikasi lokal dan push Monetisasi Google AdMob: banner dan native Filter konten ramah anak Hanya di sisi relawan BACKEND CLOUD (FIREBASE) Firebase Auth login dan peran Cloud Firestore pengguna, peluang, sesi Cloud Storage foto dan dokumen FCM notifikasi push Cloud Functions pencocokan dan aturan LAYANAN EKSTERNAL Open-Meteo (cuaca) Peta dan jarak Server iklan AdMob Payment gateway HTTPS dan SDK Firebase
Gambar 1. Arsitektur BantuBelajar: dari pengguna, aplikasi Flutter, Firebase, sampai layanan eksternal.

5.4 Alur Kerja Sistem

Sebagai contoh, ketika pengurus panti asuhan membutuhkan relawan tutor, pengurus masuk ke aplikasi dan membuat pengumuman kebutuhan pengajar. Data tersebut dikirim ke backend melalui REST API, divalidasi, lalu disimpan dalam database MySQL.

Relawan yang masuk ke aplikasi dapat melihat pengumuman tersebut dan mengajukan diri. Backend memeriksa validitas pengajuan dan menyimpan statusnya. Pengurus kemudian meninjau calon relawan dan memberikan persetujuan atau penolakan.

Jika pengajuan disetujui, jadwal kegiatan ditampilkan kepada pihak terkait. Setelah kegiatan selesai, penanggung jawab lembaga memverifikasi kehadiran dan relawan mengisi laporan kegiatan.

Dengan alur ini, seluruh proses utama dari publikasi kebutuhan tutor hingga pencatatan pelaksanaan dapat dikelola melalui satu sistem.

5.5 Alasan Pemilihan Arsitektur

Pendekatan mobile-hybrid dipilih karena memungkinkan penggunaan teknologi web untuk membangun aplikasi mobile secara efisien. Pendekatan ini sesuai untuk pengembangan bertahap dan dapat mengurangi kebutuhan pemeliharaan antarmuka yang sepenuhnya terpisah pada tahap awal.

PHP dan MySQL digunakan sebagai usulan teknologi backend dan database karena mendukung pengembangan sistem berbasis web serta pengelolaan data terstruktur. REST API memisahkan antarmuka dengan proses bisnis sehingga sistem lebih mudah dipelihara.

Arsitektur ini dapat dikembangkan lebih lanjut dengan penambahan notifikasi, peta lokasi, dan fitur pendukung lainnya setelah kebutuhan pengguna serta kesiapan teknis dipastikan.