ETS PPL
Soal
1. Apakah perbedaan model analysis dengan model
desain?
2. Jelaskan output proses Desain Aplikasi?
3. Visualisasikan Deskripsi dari aplikasi parkir
berikut (Studi Kasus)
4. Buat HLD dan LLD dari rancangan desain aplikasi
parkir (Studi Kasus)
5. Gambarkan Arsitektur dari Aplikasi Parkir yang
akan dibangun (Studi Kasus)
6. Dokumentasikan dan Demokan dalam Video Youtube
dari rancangan aplikasi yang telah dibangun
STUDI KASUS
Aplikasi Sistem Parkir
Aplikasi
sistem parkir adalah perangkat lunak yang dirancang untuk mengelola tempat
parkir dan pergerakan kendaraan di area tertentu. Sistem ini dapat digunakan di
berbagai tempat, seperti:
- Mal
- Gedung perkantoran
- Rumah sakit
- Bandara
- Tempat wisata
- Universitas
Aplikasi
sistem parkir menawarkan berbagai fitur dan manfaat, antara lain:
- Memudahkan pengendara
untuk menemukan tempat parkir yang tersedia
- Mempercepat proses pembayaran parkir
- Meningkatkan keamanan kendaraan
- Menganalisis data penggunaan parkir
- Meningkatkan pendapatan dari parkir
Spesifikasi Kebutuhan Perangkat Lunak Sistem Parkir
Kebutuhan
Fungsional
- Manajemen tempat
parkir:
- Menambahkan, menghapus, dan memodifikasi informasi tempat parkir
- Menentukan jenis tempat parkir (misalnya, mobil, motor, VIP)
- Menentukan tarif parkir untuk setiap jenis tempat parkir
- Melacak ketersediaan tempat parkir secara real-time
- Manajemen kendaraan:
- Mendaftarkan kendaraan yang masuk dan keluar area parkir
- Menerbitkan tiket parkir
- Memproses pembayaran parkir
- Menangani pelanggaran parkir
- Manajemen pengguna:
- Menambahkan, menghapus, dan memodifikasi informasi pengguna
- Menetapkan peran dan akses pengguna
- Melacak aktivitas pengguna
- Pelaporan:
- Menghasilkan laporan pendapatan parkir
- Menghasilkan laporan penggunaan parkir
- Menghasilkan laporan pelanggaran parkir
Kebutuhan
Non-fungsional
- Keamanan:
- Melindungi data pengguna dari akses yang tidak sah
- Mencegah penipuan dan pencurian
- Ketersediaan:
- Sistem harus tersedia 24/7
- Sistem harus dapat diakses dari berbagai perangkat
- Skalabilitas:
- Sistem harus dapat menampung jumlah pengguna dan kendaraan yang
besar
- Sistem harus dapat diubah untuk memenuhi kebutuhan yang berubah
- Kinerja:
- Sistem harus responsif dan efisien
- Sistem harus dapat menangani beban puncak
Persyaratan
Tambahan
- Integrasi dengan sistem
lain:
- Sistem harus dapat diintegrasikan dengan sistem kontrol akses
- Sistem harus dapat diintegrasikan dengan sistem pembayaran
elektronik
- Dukungan multi-bahasa:
- Sistem harus mendukung beberapa bahasa
- Aksesibilitas:
- Sistem harus dapat diakses oleh penyandang disabilitas
Jawaban
1.
Perbedaan antara Model Analisis dan Model Desain:
·
Model Analisis: Ini adalah tahap awal dalam
pengembangan perangkat lunak di mana kebutuhan dan masalah domain dianalisis.
Tujuannya adalah untuk memahami apa yang harus dilakukan oleh sistem,
mengidentifikasi kebutuhan fungsional dan non-fungsional, serta menganalisis
arsitektur sistem secara umum.
·
Model Desain: Ini adalah langkah selanjutnya
setelah model analisis. Model desain mengambil kebutuhan dan spesifikasi dari
model analisis dan mengembangkannya menjadi desain teknis yang spesifik. Ini
mencakup pemilihan teknologi, arsitektur perangkat lunak, desain database,
antarmuka pengguna, dan komponen-komponen lain yang diperlukan untuk membangun system.
2.
Output dari Proses Desain Aplikasi
Output dari proses desain aplikasi dapat berupa
dokumen teknis seperti:
·
Diagram arsitektur perangkat lunak
·
Rancangan antarmuka pengguna (UI/UX)
·
Rancangan basis data
·
Spesifikasi teknis
·
Desain kelas dan modul
·
Rancangan algoritma dan logika aplikasi
3.
Visualisasikan Deskripsi dari aplikasi parkir
berikut (Studi Kasus)
·
Diagram Alur Kerja Parkir:
a.
Pengguna membuka aplikasi parkir.
b.
Aplikasi menampilkan pilihan untuk mencari tempat
parkir.
c.
Pengguna memilih kriteria pencarian (lokasi, jenis
kendaraan, dll).
d.
Aplikasi melakukan pencarian dan menampilkan tempat
parkir yang tersedia berdasarkan kriteria.
e.
Pengguna memilih tempat parkir yang diinginkan.
f.
Aplikasi memberikan petunjuk arah ke tempat parkir
tersebut.
g.
Pengguna parkir di tempat yang dipilih.
h.
Aplikasi mencatat waktu masuk kendaraan.
i.
Ketika pengguna meninggalkan tempat parkir,
aplikasi mencatat waktu keluar kendaraan.
j.
Aplikasi menghitung biaya parkir berdasarkan durasi
parkir dan tarif yang telah ditetapkan.
k.
Pengguna membayar biaya parkir (opsional jika
menggunakan sistem pembayaran elektronik).
l.
Aplikasi memperbarui status tempat parkir.
· Wireframe Antarmuka Pengguna: Wireframe ini akan menunjukkan tata letak elemen-elemen antarmuka pengguna aplikasi parkir, seperti halaman utama, halaman pencarian tempat parkir, halaman pembayaran, dll.
4.
HLD (High-Level Design) untuk Aplikasi Parkir:
Arsitektur Sistem:
·
Tahap HLD dimulai dengan definisi arsitektur sistem
secara keseluruhan.
·
Ini terdiri dari lapisan presentasi untuk antarmuka
pengguna, lapisan logika bisnis untuk pemrosesan permintaan konsumen, dan
lapisan data untuk penyimpanan dan pengambilan data.
·
Hubungan dan interaksi antara lapisan-lapisan
tersebut dijelaskan untuk memastikan sistem yang kohesif dan efisien.
Interaksi Modul:
·
Elemen penting dari HLD adalah ilustrasi bagaimana
modul dan komponen yang berbeda berinteraksi satu sama lain.
·
Ini termasuk menjabarkan aliran kontrol antara
fungsionalitas utama, memastikan operasi yang lancar dan terkoordinasi.
·
Komunikasi antarmuka pengguna dengan server,
pemrosesan data, dan tanggapan sistem diperhatikan dengan seksama.
Desain Antarmuka Pengguna:
·
HLD mencakup desain antarmuka pengguna, fokus pada
tata letak, interaksi, dan pengalaman pengguna.
·
Ini mengidentifikasi fungsi dan fungsionalitas
kunci yang terlihat oleh pengguna akhir, memastikan desain yang ramah pengguna
yang sejalan dengan tujuan dan persyaratan sistem.
Antarmuka Eksternal:
·
Untuk memastikan interoperabilitas sistem dengan
entitas eksternal, desain tersebut menentukan bagaimana sistem berinteraksi
dengan sistem, layanan, atau API eksternal.
·
Ini termasuk menentukan protokol, format data, dan
mekanisme autentikasi untuk komunikasi yang mudah.
Low-Level Design (LLD) untuk Aplikasi Parkir:
Skema Data:
·
Dalam fase LLD, aspek penting adalah definisi skema
data.
·
Ini termasuk struktur basis data dan menentukan
hubungan antara entitas data yang berbeda.
·
Tujuannya adalah menciptakan dasar yang kuat untuk
penyimpanan, pengambilan, dan pengelolaan data yang efisien.
Desain Basis Data:
·
Setelah skema data, desain basis data menjadi
penting.
·
Ini mencakup pembuatan skema basis data yang
spesifik, termasuk tabel, kolom, dan constraint.
·
Fase LLD mengeksplorasi detail tentang bagaimana
data harus disimpan, diambil, dan diperbarui, memastikan kinerja dan integritas
data yang optimal.
Algoritma:
·
Untuk menangani fungsionalitas inti sistem,
dikembangkan algoritma yang berbeda.
·
Algoritma ini mencakup berbagai proses, termasuk
penanganan permintaan HTTP, parsing input pengguna, routing data, dan
menanggapi berbagai kegiatan sistem.
·
Penekanan khusus diberikan pada algoritma yang
mengatur fungsi-fungsi penting seperti pemrosesan pembayaran, autentikasi, dan
pengambilan data.
Diagram Aliran Data:
·
Untuk memvisualisasikan aliran informasi dalam
sistem, dibuatlah diagram aliran data.
·
Diagram ini mengilustrasikan bagaimana data
bergerak di antara komponen dan modul yang berbeda.
·
Proses kunci, transformasi, dan titik penyimpanan
diidentifikasi, memberikan pemahaman menyeluruh tentang cara kerja internal
sistem.
5.
Arsitektur Aplikasi Parkir:
·
Frontend (Antarmuka Pengguna):
·
Backend:
Microservice
yang digunakan
o Mikroservis
Manajemen Pengguna:
§ Pendaftaran
Pengguna: Bertanggung jawab atas proses pendaftaran pengguna baru dalam sistem,
menyimpan informasi kritis seperti nama pengguna, email, kata sandi, dan nomor
registrasi dengan aman.
§ Autentikasi:
Memvalidasi kredensial pengguna saat proses login menggunakan metode yang aman.
§ Manajemen
Profil: Memungkinkan pengguna untuk memperbarui dan mengelola profil mereka,
termasuk nomor kontak.
o Mikroservis
Reservasi:
§ Penanganan
Reservasi: Mengelola proses pembuatan reservasi tempat parkir, termasuk
pemeriksaan ketersediaan dan penugasan tempat.
§ Detail
Reservasi: Menyimpan informasi seperti waktu reservasi, durasi, dan pengguna
yang terkait.
§ Pengambilan
Riwayat: Memberikan kemampuan untuk mengambil riwayat reservasi pengguna.
o Mikroservis
Pembayaran:
§ Pemrosesan
Pembayaran: Memulai dan memproses pembayaran untuk layanan parkir berdasarkan
reservasi.
§ Catatan
Transaksi: Menyimpan informasi transaksi pembayaran, termasuk jumlah, pengguna,
dan reservasi terkait.
§ Penanganan
Pengembalian Dana: Memberikan fungsionalitas untuk memproses pengembalian dana
jika diperlukan.
·
Databases:
o Tabel
Pengguna (User Table):
§ User_id:
Identifikasi unik untuk setiap pengguna.
§ Username:
Nama pengguna untuk identitas.
§ Email_address:
Alamat email pengguna untuk komunikasi.
§ Password:
Kata sandi pengguna yang di-hash secara aman.
§ License_plate:
Data registrasi mobil pengguna.
§ Created_date:
Tanggal registrasi pengguna.
o Tabel
Reservasi (Reservation Table):
§ Reservation_id:
Identifikasi unik untuk setiap reservasi.
§ User_id:
ID pengguna yang membuat reservasi.
§ Parking_space_id:
ID tempat parkir yang dipesan.
§ Reservation_time:
Tanggal dan waktu reservasi.
§ Duration:
Durasi reservasi (waktu mulai dan selesai).
o Tabel
Tempat Parkir (Parking Space Table):
§ Parking_space_id:
Identifikasi unik untuk setiap tempat parkir.
§ Availability_status:
Menunjukkan apakah tempat parkir tersedia atau terisi.
§ Location:
Lokasi fisik tempat parkir di garasi.
§ Type:
Jenis tempat parkir (mis. reguler, reservasi).
§ Rate:
Biaya yang terkait dengan parkir di area ini.
o Tabel
Pembayaran (Payment Table):
§ Payment_id:
Identifikasi unik untuk setiap transaksi pembayaran.
§ User_id:
ID pengguna yang melakukan pembayaran.
§ Reservation_id:
ID reservasi terkait (jika berlaku).
§ Amount:
Jumlah yang dibayarkan oleh pengguna.
§ Payment_date:
Tanggal dan waktu pembayaran.
o Tabel
Umpan Balik (Feedback Table):
§ Feedback_id:
Identifikasi unik untuk setiap umpan balik.
§ User_id:
ID pengguna yang memberikan umpan balik.
§ Reservation_id:
ID reservasi terkait.
§ Rating:
Skor numerik yang diberikan oleh pelanggan.
§ Comments:
Komentar atau umpan balik tambahan dari pelanggan.





.jpg)
.jpg)
Komentar
Posting Komentar