- Get link
- X
- Other Apps
Nama : Ken Anargya Alkausar
NRP : 5025211168
Kelas : A
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
JAWAB
1.
Dalam konteks pengembangan perangkat lunak, model analisis dan model desain memiliki peran yang berbeda tetapi saling terkait:
Model Analisis: Model analisis fokus pada pemahaman dan dokumentasi kebutuhan bisnis dan pengguna. Ini adalah tahap dimana tim pengembangan mengumpulkan informasi tentang apa yang sistem ingin lakukan dan bagaimana sistem harus berinteraksi dengan pengguna atau sistem lain. Model analisis seringkali mencakup:
Pengumpulan Kebutuhan: Mendefinisikan apa yang harus dicapai oleh sistem.
Use Case Diagrams: Menggambarkan interaksi antara pengguna (aktor) dan sistem.
Entity Relationship Diagrams (ERD): Menunjukkan hubungan antara data dalam sistem.
Model desain: Model desain mengambil persyaratan yang diidentifikasi selama analisis dan mengubahnya menjadi cetak biru untuk membangun sistem. Ini mencakup struktur sistem, komponen-komponennya, dan cara mereka berinteraksi. Model desain sering kali mencakup:
Desain arsitektur: mendefinisikan keseluruhan struktur sistem.
Desain terperinci: Mendefinisikan logika untuk setiap bagian sistem.
Diagram UML: Bahasa Pemodelan Terpadu digunakan untuk membakukan desain sistem.
Perbedaan utama antara keduanya adalah:
Fokus: Model analisis fokus pada apa yang harus dilakukan sistem, sedangkan model desain fokus pada bagaimana sistem harus melakukannya.
Output: Model analisis menghasilkan spesifikasi kebutuhan, sedangkan model desain menghasilkan spesifikasi arsitektur dan komponen.
Kegunaan: Model analisis digunakan untuk memahami masalah dan kebutuhan, dan model desain digunakan untuk merencanakan solusi dan membangun sistem.
Kedua model ini sangat penting dalam proses pengembangan perangkat lunak dan biasanya diikuti dalam metodologi seperti Waterfall atau Agile12. Model analisis membantu menentukan kebutuhan pengguna, sedangkan model desain membantu menciptakan solusi teknis untuk memenuhi kebutuhan tersebut.
2.
Output desain aplikasi ini akan mencakup berbagai aspek yang diperlukan untuk membangun sistem parkir yang efisien dan efektif. Berikut adalah beberapa output utama yang dihasilkan dari proses desain:
Dokumen Spesifikasi Kebutuhan: Ini akan mencakup daftar kebutuhan fungsional dan non-fungsional yang telah diidentifikasi, yang akan menjadi acuan untuk desain sistem.
Diagram Aliran Data (DFD): Diagram ini akan menunjukkan bagaimana data mengalir melalui sistem, dari pendaftaran kendaraan hingga pembayaran dan pelaporan.
Diagram Entitas Hubungan (ERD): ERD akan menggambarkan hubungan antara berbagai entitas dalam basis data, seperti tempat parkir, kendaraan, dan pengguna.
Desain Antarmuka Pengguna (UI Design): Ini akan mencakup wireframes dan mockups yang menunjukkan tampilan antarmuka pengguna, termasuk layar untuk pendaftaran kendaraan, pembayaran, dan pelaporan.
Prototipe: Versi awal dari aplikasi yang dapat digunakan untuk demonstrasi dan pengujian konsep desain.
Dokumen Arsitektur Sistem: Ini akan menjelaskan struktur keseluruhan sistem, termasuk arsitektur perangkat keras dan perangkat lunak, serta bagaimana komponen-komponen sistem berinteraksi.
Spesifikasi Teknis: Detail teknis tentang implementasi fitur, termasuk stack teknologi, framework, dan integrasi API.
Panduan Gaya: Manual yang menggambarkan bagaimana elemen desain harus digunakan secara konsisten di seluruh aplikasi.
Rencana Pengujian: Strategi untuk menguji aplikasi, termasuk pengujian unit, pengujian integrasi, dan pengujian sistem.
Dokumen Desain: Kumpulan semua dokumen desain, termasuk DFD, ERD, wireframes, mockups, dan spesifikasi teknis.
3.
Use case diagram
Diagram use case menggambarkan interaksi antara pengguna dan sistem, menampilkan berbagai use case dan aktor yang terlibat dalam sistem garasi parkir. Berikut penjelasan dari diagram di atas:
Pengguna Terdaftar: Pengguna terdaftar adalah mereka yang telah membuat akun sendiri di sistem garasi parkir. Mereka dapat masuk ke sistem, memesan tempat parkir, melihat riwayat reservasi, dll.
Pengguna Tidak Terdaftar: Pengguna tidak terdaftar adalah mereka yang memiliki akses ke sistem garasi parkir tanpa membuat akun. Mereka dapat memeriksa ketersediaan tempat parkir, mengakses informasi umum, melihat harga, dll.
Sistem: Sistem mewakili sistem garasi parkir itu sendiri, dan berfungsi sebagai komponen pusat yang menangani semua permintaan pengguna. Ini berisi tanggung jawab berikut seperti otentikasi pengguna, pemrosesan pembayaran, manajemen reservasi tempat parkir, dll.
Diagram Alur Kerja Sistem Parkir
Mulai
Mobil Masuk
- Sensor mendeteksi kendaraan.
- Pintu masuk terbuka.
Pendaftaran Kendaraan
- Pengemudi memasukkan informasi kendaraan di terminal.
- Sistem mencetak tiket parkir dengan informasi waktu masuk dan nomor tempat parkir.
Penunjukan Tempat Parkir
- Sistem menunjukkan tempat parkir yang tersedia.
- Pengemudi mengarahkan kendaraan ke tempat parkir yang ditunjuk.
Pengawasan
- Kamera dan sensor memantau area parkir.
- Sistem mencatat waktu parkir kendaraan.
Mobil Keluar
- Pengemudi memasukkan tiket parkir ke terminal keluar.
- Sistem menghitung biaya berdasarkan durasi parkir.
Pembayaran
- Pengemudi melakukan pembayaran (tunai, kartu, atau pembayaran elektronik).
- Pintu keluar terbuka setelah pembayaran dikonfirmasi.
Laporan
- Sistem menghasilkan laporan pendapatan dan penggunaan parkir secara periodik.
Selesai
Wireframe Antarmuka Pengguna
Wireframe ini akan menampilkan tata letak komponen UI aplikasi parkir, seperti halaman utama, halaman pencari parkir, halaman pembayaran, dll.
4.
Low Level Design untuk Aplikasi Sistem Parkir
Skema data
Pada tahap LLD, hal krusial utama adalah definisi grafik statistik. Hal ini mencakup penataan database dan pendefinisian hubungan antara entitas data eksklusif. Tujuannya adalah untuk menciptakan landasan yang kuat untuk penyimpanan, pengambilan, dan kontrol data yang efisien.
Desain basis data
Mengikuti skema statistik, desain database akan menjadi penting. Ini melibatkan penyajian skema database tertentu, termasuk tabel, kolom, dan batasan. Fase LLD menggali rincian tentang bagaimana data harus disimpan, diambil, dan diperbarui, memastikan kinerja dan integritas data terbaik.
Algoritma
Untuk menangani fungsi utama sistem, algoritma berbeda telah dikembangkan. Algoritme ini mencakup proses digital, serta memproses permintaan HTTP, menganalisis input pengguna, merutekan log, dan merespons berbagai aktivitas sistem. Penekanan khusus ditempatkan pada algoritma yang mengatur kemampuan inti seperti pemrosesan pembayaran, otentikasi, dan pengambilan statistik.
Diagram aliran data
Untuk memvisualisasikan aliran informasi dalam suatu sistem, diagram aliran data dibuat. Diagram ini menunjukkan bagaimana data berpindah antar komponen dan modul yang berbeda. Taktik utama, faktor pergeseran dan penyimpanan diidentifikasi, menyampaikan pengetahuan lengkap tentang cara kerja sistem.
High Level Design untuk Aplikasi Sistem Parkir
Sistem arsitektur
Fase HLD dimulai dengan mendefinisikan arsitektur sistem secara keseluruhan. Ini terdiri dari lapisan presentasi untuk antarmuka pengguna, lapisan logika bisnis untuk memproses permintaan konsumen, dan lapisan data untuk penyimpanan dan pengambilan. Hubungan dan interaksi antara lapisan-lapisan ini dilakukan secara tepat untuk memastikan sistem yang kohesif dan efektif.
Interaksi unit
Elemen penting dari HLD adalah memperjelas bagaimana modul dan komponen yang berbeda berinteraksi satu sama lain. Hal ini mencakup menguraikan alur manajemen antara fungsi-fungsi utama, dan memastikan proses yang berkesinambungan dan terkoordinasi. Komunikasi antarmuka pengguna dengan server, pemrosesan data, dan respons sistem dipantau dengan cermat.
Desain antarmuka pengguna
HLD mencakup desain antarmuka pengguna, yang berspesialisasi dalam tata letak, interaksi, dan pengalaman pengguna. Ini mendefinisikan fungsi dan fungsi utama yang dapat dilihat oleh pengguna akhir, memastikan desain ramah pengguna yang sesuai dengan maksud dan persyaratan sistem.
Antarmuka eksternal
Untuk memastikan interoperabilitas sistem dengan entitas eksternal, perencanaan menentukan bagaimana sistem akan berinteraksi dengan sistem, layanan, atau API eksternal. Ini termasuk menentukan protokol, format data, dan mekanisme otentikasi untuk kemudahan komunikasi.
5.
Arsitektur dari Aplikasi Parkir
Pada diagram di atas, Sistem ini mampu mengalokasikan tempat parkir gratis kepada pengemudi berdasarkan permintaan melalui ponsel cerdas mereka. Inilah prosesnya:
Prosesnya meliputi pendaftaran awal akun pengguna oleh pengemudi melalui aplikasi seluler.
Kemudian, untuk memesan tempat parkir yang tersedia secara optimal, pengemudi mencari tempat parkir gratis yang paling dekat dengan tujuan yang diinginkan hanya dengan memasukkan tujuan dan gerbang masuknya di aplikasi seluler.
Permintaan tersebut dikirim ke layanan web back-end yang mencari tempat parkir gratis berdasarkan informasi sensor yang diterima dan mengirimkan pesan instruksi yang diminta kepada pengemudi, yang menunjukkan tempat parkir serta rute yang disarankan.
Microservice yang digunakan untuk Sistem Parkir
Layanan Mikro Manajemen Pengguna:
Registrasi Pengguna: Mengelola sistem registrasi konsumen, dan menyimpan informasi penting secara aman termasuk data nama pengguna, email, kata sandi, dan nomor registrasi.
Otentikasi: Validasi kredensial konsumen selama prosedur login menggunakan strategi stabil.
Manajemen Profil: Memungkinkan pengguna memperbarui dan mengelola profil dan nomor kontak mereka.
Layanan Microservice:
Penanganan reservasi: Kelola cara pembuatan reservasi zona parkir, serta pemeriksaan ketersediaan dan alokasi area.
Detail Reservasi: Menyimpan informasi yang mencakup waktu dan durasi reservasi serta pengguna yang terkait dengannya.
Pengambilan Riwayat: Menyediakan kemampuan untuk mengambil riwayat reservasi pengguna.
Layanan Microtransaction:
Pemrosesan Pembayaran: Memulai dan memproses pembayaran untuk layanan parkir terutama berdasarkan reservasi.
Catatan transaksi: Menyimpan informasi transaksi pembayaran, termasuk jumlah, pengguna, dan reservasi terkait.
Pemrosesan Pengembalian Dana: Menyediakan fungsionalitas untuk memproses pengembalian dana bila memungkinkan.
Database design
User Table
User_id: Pengidentifikasi unik untuk setiap pengguna.
Username: Nama pengguna untuk identitas.
Email_address: Alamat email pengguna untuk komunikasi.
Password: Kata sandi pengguna yang di-hash dengan aman.
License_plate: Data STNK pengguna.
Created_date: Tanggal pendaftaran pengguna.
Reservation Table
Reservation_id: Pengidentifikasi unik untuk setiap reservasi.
User_id: ID pengguna yang melakukan reservasi.
Parking_space_id: Pengidentifikasi tempat parkir yang dipesan.
Reservation_time:Tanggal dan waktu reservasi.
Duration: Durasi reservasi (waktu mulai dan berakhir).
Parking Space Table
Parking_space_id: Pengidentifikasi unik untuk setiap tempat parkir.
Availability_status: Menunjukkan apakah tempat parkir tersedia atau terisi.
Location: Lokasi sebenarnya dari area parkir garasi.
Type: Jenis tempat parkir (misalnya reguler, khusus).
Rate: Biaya terkait parkir di area ini.
Payment Table
Payment_id: Pengidentifikasi unik untuk setiap transaksi biaya.
User_id: Pengidentifikasi detail pembayaran pengguna.
Reservation_id: Pengidentifikasi reservasi terkait (jika berlaku).
Amount: Jumlah yang dibayarkan oleh pengguna.
Payment_date: Tanggal dan waktu pembayaran.
Feedback Table
Feedback_id: Pengidentifikasi unik untuk setiap komentar.
User_id: ID pengguna yang memberikan komentar.
Reservation_id: Pengidentifikasi reservasi terkait.
Rating: Skor numerik yang diberikan oleh pelanggan.
Comments: Komentar atau tanggapan tambahan dari konsumen.
Kesimpulan
Kesimpulannya, merancang sistem garasi parkir adalah proses multifaset yang memerlukan pertimbangan cermat terhadap interaksi pengguna, fungsionalitas sistem, dan skalabilitas. Mengintegrasikan layanan mikro, API, dan arsitektur database yang kuat memastikan arsitektur modular dan efisien. Dengan mengadopsi teknologi dan pola arsitektur yang telah terbukti, Garasi Parkir siap untuk memberikan pengalaman yang berkelanjutan dan responsif kepada pengguna sambil mengatasi tantangan yang terkait dengan reservasi parkir, pembayaran, dan masukan pelanggan.
6.
Referensi
https://www.geeksforgeeks.org/designing-parking-lot-garage-system-system-design/
https://kuliahppl.blogspot.com/2024/05/evaluasi-tengah-semester.html
- Get link
- X
- Other Apps
Comments
Post a Comment