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:
Ionic untuk membangun antarmuka aplikasi.
HTML, CSS, dan TypeScript untuk mengembangkan tampilan dan interaksi pengguna.
Capacitor untuk mengemas aplikasi agar dapat dijalankan sebagai aplikasi mobile.
PHP untuk menangani logika bisnis dan menyediakan REST API.
MySQL untuk menyimpan serta mengelola data aplikasi.
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.
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.