Final Project PBKK
Nama : Adrian Ismu Arifianto
NRP : 5025211116
Kelas : PBKK A
Paper Referensi : APLIKASI MANAJEMEN IURAN PERUMAHAN
Ketentuan Final Project
Cari paper yang berhubungan dengan aktivitas pembuatan perangkat lunak/
aplikasi menggunakan framework.
Berdasarkan referensi yang sudah didapatkan,
-
Buatlah deskripsi studi kasus aplikasi ditinjau dari MVC
nya(individu)
-
Buatlah rancangan umum arsitektur atau fitur yang ada dalam
aplikasi (individu)
-
Rancang desain databasenya (individu)
-
Buat desain front end (individu)
-
Tentukan Control yang akan mengandle logika back end.
(individu)
-
Implementasikan rancangan yang sudah dibuat menggunakan Framework
NET, CI ataupun Framework Google (pilih salah satu - bisa kelompok maks
3)
-
Buat video presentasinya, upload di youtube, dan didokumentasikan di
blog.
-
Pengumpulan terakhir 16 Des 2023 pukul 08.00 , di dokumentasi di blog
masing-masing, dan mengisi lembar monitoring dengan judul "Final Project
Pemrograman Berbasis Kerangka Kerja". Tidak lupa membuat koment link
pekerjaan di halaman post ini.
Penyelesaian
Deskripsi Studi Kasus Aplikasi Ditinjau dari MVC (Model-View-Controller)
Model:
-
Pemilik Perumahan dan Data Penghuni:
-
Model ini menyimpan informasi tentang pemilik perumahan (atau manajemen
perumahan) beserta daftar penghuni yang tinggal di sana.
-
Data yang terkait mungkin meliputi informasi pribadi, detail kontak,
informasi pembayaran, dan status tinggal penghuni.
-
Tagihan dan Pembayaran:
-
Model ini mencakup informasi mengenai tagihan iuran perumahan untuk
setiap penghuni.
-
Menyimpan detail pembayaran yang dilakukan oleh penghuni serta status
pembayaran untuk setiap bulannya.
View:
-
Halaman Informasi Perumahan:
-
Menampilkan detail perumahan, informasi pemilik, fasilitas yang
tersedia, dan kontak untuk manajemen.
-
Menampilkan informasi mengenai iuran perumahan, jadwal pembayaran, dan
metode pembayaran yang dapat digunakan.
-
Halaman Tagihan dan Pembayaran:
-
Menampilkan tagihan iuran perumahan untuk setiap penghuni.
-
Memberikan opsi kepada penghuni untuk melakukan pembayaran, baik
melalui transfer bank, kartu kredit, atau metode pembayaran lainnya.
-
Menyediakan riwayat pembayaran dan status pembayaran yang terkait
dengan setiap penghuni.
Controller:
-
Manajemen Pengguna:
-
Memproses informasi yang berkaitan dengan pendaftaran pengguna baru,
pembaruan informasi pengguna, dan penghapusan akun.
-
Mengelola otentikasi dan otorisasi pengguna agar hanya penghuni yang
berhak mengakses informasi tagihan dan melakukan pembayaran.
-
Pengelolaan Tagihan dan Pembayaran:
-
Memproses pembuatan tagihan untuk setiap penghuni berdasarkan tarif
iuran yang berlaku.
-
Memvalidasi pembayaran yang diterima dan mengubah status pembayaran
sesuai dengan informasi yang diterima dari sistem pembayaran.
-
Interaksi antara Model dan View:
-
Mengatur hubungan antara tampilan dengan data yang disajikan,
memastikan informasi yang ditampilkan di view berasal dari model yang
benar dan terkini.
-
Menangani permintaan dari pengguna untuk melihat informasi tagihan,
pembayaran, dan detail perumahan.
Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi (individu)
-
Autentikasi dan Otorisasi:
-
Sistem login untuk penghuni perumahan dan manajemen perumahan.
-
Otorisasi untuk memastikan hak akses yang sesuai berdasarkan peran
pengguna.
-
Manajemen Pengguna:
-
Fasilitas untuk mendaftarkan penghuni baru dan mengelola informasi
pengguna yang ada.
-
Kemampuan untuk mengubah detail kontak, informasi keuangan, atau
informasi lainnya terkait penghuni.
-
Informasi Perumahan:
-
Fitur untuk menampilkan detail perumahan, informasi tentang pemilik
atau manajemen perumahan, fasilitas yang tersedia, dan kebijakan yang
berlaku.
-
Tagihan dan Pembayaran:
-
Pembuatan dan penyimpanan tagihan iuran perumahan untuk setiap
penghuni.
-
Riwayat pembayaran yang mencatat setiap transaksi yang dilakukan oleh
penghuni.
-
Notifikasi kepada penghuni tentang jadwal pembayaran yang akan datang
atau tagihan yang belum dibayar.
-
Metode Pembayaran:
-
Integrasi dengan berbagai metode pembayaran seperti transfer bank,
kartu kredit, e-wallet, atau metode pembayaran lainnya.
-
Pengelolaan keamanan transaksi untuk memastikan keamanan informasi
keuangan pengguna.
-
Notifikasi dan Pengingat:
-
Sistem notifikasi untuk mengirimkan pengingat kepada penghuni tentang
jadwal pembayaran yang akan datang atau tagihan yang belum terbayar.
-
Kemampuan untuk memberikan pemberitahuan kepada pengguna mengenai
informasi penting terkait perumahan atau perubahan dalam kebijakan
pembayaran.
-
Manajemen Admin/Manajemen Perumahan:
-
Fasilitas khusus untuk manajemen perumahan untuk mengelola informasi
penghuni, tagihan, laporan keuangan, dan pengelolaan keseluruhan
aplikasi.
-
Pemantauan dan Pelaporan:
-
Fitur untuk membuat laporan pembayaran, status tagihan, dan informasi
keuangan perumahan.
-
Pemantauan untuk mengawasi status pembayaran secara keseluruhan.
-
Pengaturan Profil Pengguna:
-
Kemampuan bagi pengguna untuk mengatur preferensi pemberitahuan,
mengelola metode pembayaran, dan melihat riwayat transaksi.
Rancang desain databasenya
Berikut
merupakan database yang digunakan.
-
Tabel Pengguna (Users):
-
Columns:
-
user_id
(Primary Key)
-
username
-
password
-
role
(seperti 'penghuni' atau 'manajemen')
-
Tabel Perumahan (Housing):
-
Columns:
-
housing_id
(Primary Key)
-
housing_name
-
owner_id
(Foreign Key ke Tabel Pengguna)
-
Tabel Penghuni (Residents):
-
Columns:
-
resident_id
(Primary Key)
-
user_id
(Foreign Key ke Tabel Pengguna)
- housing_id (Foreign Key ke Tabel Perumahan)
-
Tabel Tagihan (Bills):
-
Columns:
-
bill_id
(Primary Key)
-
resident_id
(Foreign Key ke Tabel Penghuni)
-
billing_month
-
billing_amount
-
payment_status
(status pembayaran: misalnya 'dibayar' atau 'belum dibayar')
-
Tabel Riwayat Pembayaran (Payment History):
-
Columns:
-
payment_id
(Primary Key)
-
bill_id
(Foreign Key ke Tabel Tagihan)
-
payment_date
-
payment_amount
-
payment_method
-
Tabel Metode Pembayaran (Payment Methods):
-
Columns:
-
method_id
(Primary Key)
-
user_id
(Foreign Key ke Tabel Pengguna)
- method_type (seperti 'transfer bank', 'kartu kredit', dll.)
Di bawah ini adalah kode SQL untuk membuat struktur tabel yang telah
dijelaskan
-- Tabel Pengguna (Users) | |
CREATE TABLE Users ( | |
user_id INT AUTO_INCREMENT PRIMARY KEY, | |
username VARCHAR(50) NOT NULL, | |
password VARCHAR(100) NOT NULL, | |
role ENUM('penghuni', 'manajemen') NOT NULL | |
); | |
-- Tabel Perumahan (Housing) | |
CREATE TABLE Housing ( | |
housing_id INT AUTO_INCREMENT PRIMARY KEY, | |
housing_name VARCHAR(100) NOT NULL, | |
owner_id INT, | |
FOREIGN KEY (owner_id) REFERENCES Users(user_id) | |
); | |
-- Tabel Penghuni (Residents) | |
CREATE TABLE Residents ( | |
resident_id INT AUTO_INCREMENT PRIMARY KEY, | |
user_id INT, | |
housing_id INT, | |
FOREIGN KEY (user_id) REFERENCES Users(user_id), | |
FOREIGN KEY (housing_id) REFERENCES Housing(housing_id) | |
-- Tambahkan kolom-kolom informasi tambahan tentang penghuni di sini | |
); | |
-- Tabel Tagihan (Bills) | |
CREATE TABLE Bills ( | |
bill_id INT AUTO_INCREMENT PRIMARY KEY, | |
resident_id INT, | |
billing_month DATE, | |
billing_amount DECIMAL(10, 2), | |
payment_status ENUM('dibayar', 'belum dibayar') DEFAULT 'belum dibayar', | |
FOREIGN KEY (resident_id) REFERENCES Residents(resident_id) | |
); | |
-- Tabel Riwayat Pembayaran (Payment History) | |
CREATE TABLE PaymentHistory ( | |
payment_id INT AUTO_INCREMENT PRIMARY KEY, | |
bill_id INT, | |
payment_date DATE, | |
payment_amount DECIMAL(10, 2), | |
payment_method VARCHAR(50), | |
FOREIGN KEY (bill_id) REFERENCES Bills(bill_id) | |
); | |
-- Tabel Metode Pembayaran (Payment Methods) | |
CREATE TABLE PaymentMethods ( | |
method_id INT AUTO_INCREMENT PRIMARY KEY, | |
user_id INT, | |
method_type VARCHAR(50), | |
FOREIGN KEY (user_id) REFERENCES Users(user_id) | |
); |
Buat desain front end
Halaman login dan register


Profil pengguna
Halaman pembayaran
Riwayat pembayaran
Halaman administrasi (Dashboard admin)
Halaman data pemasukan admin
Halaman data penghuni
Halaman data laporan admin
Tentukan Control yang akan mengandle logika back end
Dalam arsitektur MVC (Model-View-Controller), bagian yang bertanggung jawab
atas logika bisnis dan interaksi antara model dan view adalah bagian
Controller. berikut adalah controller yang ada:
-
UserController:
-
Menangani autentikasi pengguna.
-
Mengelola pendaftaran, login, logout, dan manajemen akun pengguna.
-
Mengelola informasi profil pengguna.
-
ResidentController:
-
Mengelola data penghuni perumahan.
-
Menyediakan akses ke informasi tagihan dan pembayaran bagi penghuni
tertentu.
-
Memproses pembayaran yang dilakukan oleh penghuni.
-
BillController:
-
Bertanggung jawab atas pembuatan tagihan berdasarkan jadwal yang
ditetapkan.
-
Menyediakan informasi tagihan dan status pembayaran kepada
penghuni.
-
Memungkinkan pengelolaan tagihan oleh manajemen perumahan.
-
PaymentController:
-
Menangani logika terkait proses pembayaran.
-
Memvalidasi pembayaran yang diterima, mengubah status pembayaran, dan
merekam riwayat pembayaran.
-
HousingController:
-
Menyediakan informasi tentang perumahan seperti detail perumahan,
fasilitas, dan kebijakan.
-
Memungkinkan manajemen perumahan untuk mengelola informasi
perumahan.
-
AdminDashboardController:
-
Menangani interaksi antara manajemen perumahan dengan informasi yang
melibatkan tagihan, riwayat pembayaran, dan laporan keuangan.
Implementasikan rancangan yang sudah dibuat menggunakan Framework NET, CI ataupun Framework Google
Berikut merupakan link implementasi rancangan yang telah dibuat menggunakan CodeIgniter.
https://github.com/Dafarelcky/FP_PBKK_A
Buat video presentasinya, upload di
youtube, dan didokumentasikan di blog.
Komentar
Posting Komentar