ETS PPL A
Nama : Timothy Hosia Budianto
NRP : 5025211098
Kelas : PPL A
Ujian : ETS
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
Soal dan Jawaban
1. Apakah perbedaan model analysis dengan model desain?
Model Analisis
Model analisis berfokus pada pemahaman masalah yang ada dan kebutuhan yang harus dipenuhi. Tahapan-tahapan dalam model analisis meliputi:
Identifikasi masalah: Menentukan masalah yang ingin dipecahkan dengan sistem yang akan dibangun.
Analisis kebutuhan: Mengidentifikasi kebutuhan pengguna dan pemangku kepentingan lainnya.
Analisis kelayakan: Menilai apakah sistem yang akan dibangun layak untuk diimplementasikan.
Analisis batasan: Menentukan batasan-batasan sistem yang akan dibangun.
Model Desain
Model desain berfokus pada merancang solusi untuk masalah yang telah diidentifikasi pada tahap analisis. Tahapan-tahapan dalam model desain meliputi:
Desain arsitektur: Menentukan arsitektur sistem yang akan dibangun, termasuk komponen-komponen sistem dan interaksinya.
Desain antarmuka: Merancang antarmuka pengguna yang mudah digunakan dan dipahami.
Desain database: Merancang struktur database untuk menyimpan data sistem.
Desain algoritma: Merancang algoritma untuk menyelesaikan tugas-tugas yang diperlukan oleh sistem.
Kesimpulan
Model analisis dan model desain adalah dua tahap yang penting dalam pengembangan sistem. Model analisis membantu untuk memahami masalah dan kebutuhan, sedangkan model desain membantu untuk merancang solusi yang tepat.
2. Jelaskan output proses Desain Aplikasi?
Desain aplikasi adalah proses perencanaan dan pembuatan tampilan serta fungsi dari sebuah aplikasi. Proses ini melibatkan berbagai disiplin ilmu, termasuk desain antarmuka pengguna (UI), pengalaman pengguna (UX), serta pengembangan fungsionalitas yang mendukung kebutuhan pengguna. Desain aplikasi bertujuan untuk memastikan aplikasi mudah digunakan, intuitif, dan memenuhi kebutuhan pengguna serta tujuan bisnis.
Dengan menerapkan prinsip prinsip perancangan perangkat lunak yaitu abstraction, coupling & cohesion, decomposition & modularisation, encapsulation, separation of interface and implementation, sufficiency, completeness, & primitiveness serta separation of concern Akan menghasilkan output yaitu sebagai berikut.
Output dari proses desain aplikasi parkir akan mencakup:
Desain Arsitektur sistem: Diagram yang menggambarkan struktur keseluruhan sistem, termasuk komponen utama, interaksi antara mereka, dan aliran data.
Desain Rancangan antarmuka pengguna / interface (UI): Desain tampilan aplikasi, termasuk tata letak halaman, kontrol, elemen-elemen grafis, dan opsional design guidelines.
Desain Rancangan basis data: Struktur basis data yang akan digunakan oleh aplikasi, termasuk tabel, relasi antara tabel, dan skema basis data.
Desain Rancangan algoritma: Rincian tentang cara implementasi fitur-fitur kritis seperti manajemen tempat parkir, manajemen kendaraan, dan manajemen pengguna.
Selain itu ada beberapa opsional output yang bisa dihasilkan yaitu :
Wireframes and Mockups: Representasi visual dari antarmuka pengguna untuk merancang tata letak dan desain elemen-elemen utama.
Prototipe Interaktif: Versi lebih lanjut dari wireframes dan mockups yang memungkinkan pengguna untuk berinteraksi dengan antarmuka pengguna untuk pengujian dan pemahaman lebih baik.
Spesifikasi Fungsional dan Teknis: Dokumen yang menjelaskan fitur dan fungsi yang diharapkan dari aplikasi (fungsional) serta persyaratan teknis dan arsitektur sistem (teknis).
3. Visualisasikan Deskripsi dari aplikasi parkir berikut (Studi Kasus)
LInk : https://www.figma.com/board/U1QuZX2N7OkSn98xENkW4C/ETS-PPL?node-id=0%3A1&t=i7IvKccwq7wlxCSj-1
Dengan visualisasi ini, diharapkan dapat memberikan gambaran yang jelas tentang bagaimana aplikasi sistem parkir beroperasi dan mengelola tempat parkir serta kendaraan yang ada.
4. Buat HLD dan LLD dari rancangan desain aplikasi parkir (Studi Kasus)
High Level Design (HLD)
High Level Design (HLD) atau Desain tingkat tinggi adalah gambaran umum dari suatu sistem atau aplikasi. HLD menjelaskan struktur dan arsitektur sistem secara keseluruhan, tanpa terpaku pada detail implementasi. HLD biasanya dibuat pada tahap awal pengembangan perangkat lunak, sebelum desain tingkat rendah (LLD) dibuat.
Ada 2 Service utama dalam High Level Design Nya
Admin Tempat Parkir Service :
Admin akan memiliki antarmuka khusus untuk mengelola sistem parkir. Mereka dapat menambah, menghapus, dan memodifikasi informasi tempat parkir, menentukan jenis tempat parkir dan tarifnya, serta melihat laporan pendapatan, penggunaan, dan pelanggaran parkir. Selain itu, admin juga dapat mengelola informasi pengguna dan menetapkan peran serta akses pengguna.
Client Service :
Pengguna akan memiliki antarmuka yang memungkinkan mereka mencari tempat parkir, melakukan pembayaran, dan mengakses fitur lainnya. Keuntungan yang didapatkan termasuk mendaftarkan kendaraan, membayar dan mendapatkan tiket parkir, melihat ketersediaan tempat parkir secara real-time, melakukan pembayaran elektronik, dan melihat riwayat transaksi parkir.
Komponen penting dalam aplikasi ini adalah :
Load Balancer: Membagi traffic yang masuk ke aplikasi untuk memastikan semua pengguna dapat mengakses aplikasi tanpa mengalami latency.
Database: Menyimpan data yang dimasukkan ke dalam aplikasi parkir.
API Services: Menghubungkan frontend dan backend aplikasi untuk memastikan semua fitur berfungsi dengan baik.
Payment Services: Mengelola semua data terkait pembayaran.
Manajemen Tempat Parkir: Memungkinkan admin untuk menambah, menghapus, dan mengubah informasi tempat parkir, termasuk ukuran area, jenis tempat (mobil, motor, VIP), dan tarif parkir.
Manajemen Kendaraan: Mengelola kendaraan yang masuk dan keluar area parkir, termasuk pendaftaran kendaraan, penerbitan tiket, pemrosesan pembayaran, dan penanganan pelanggaran.
Manajemen Pengguna: Memungkinkan admin untuk mengelola informasi pengguna, termasuk menambah, menghapus, dan mengubah data pengguna, menetapkan peran dan akses, serta melacak aktivitas pengguna untuk audit dan keamanan.
Pelaporan: Menghasilkan laporan terkait operasi parkir, seperti pendapatan, penggunaan slot parkir, dan pelanggaran parkir serta tindakan yang diambil.
Desain tingkat rendah (LLD)
Desain tingkat rendah (LLD) adalah tahap penting dalam pengembangan perangkat lunak yang berfokus pada merinci arsitektur sistem secara detail. Tahap ini menerjemahkan desain tingkat tinggi (HLD) yang abstrak menjadi spesifikasi teknis yang konkret, memungkinkan pengembang untuk mulai menulis kode.
Struktur Data:
Dalam aplikasi ini, diperlukan database dengan beberapa tabel, yaitu:
Tabel Tempat Parkir: Menyimpan informasi tentang setiap tempat parkir, termasuk jenis (mobil, motor, VIP), jumlah slot, dan tarif parkir.
Tabel Kendaraan: Menyimpan data kendaraan yang masuk dan keluar, seperti plat nomor, jenis kendaraan, waktu masuk/keluar, dan status pembayaran.
Tabel Pengguna: Berisi informasi pengguna aplikasi, termasuk nama, alamat, nomor telepon, informasi login, peran, dan hak akses.
Tabel Transaksi Parkir: Mencatat setiap transaksi parkir, mencakup informasi kendaraan, waktu masuk/keluar, tarif parkir, dan status pembayaran.
Tabel Laporan: Menyimpan data untuk pembuatan laporan, seperti pendapatan parkir, penggunaan slot, dan pelanggaran parkir, dengan kolom tanggal, jenis laporan, dan data relevan.
Tabel Log Aktivitas: Mencatat aktivitas pengguna dalam sistem, seperti login dan perubahan data, untuk pemantauan keamanan dan audit.
Tabel Tarif Parkir: Berisi informasi tarif parkir untuk setiap jenis tempat parkir, termasuk tarif per jam atau lainnya.
Antarmuka:
Antarmuka yang Diperlukan untuk Kebutuhan Fungsional:
Manajemen Tempat Parkir:
Formulir Tempat Parkir: Untuk menambah, menghapus, dan mengedit informasi tempat parkir.
Dropdown Jenis Tempat Parkir: Memilih jenis tempat parkir (mobil, motor, VIP).
Formulir Tarif Parkir: Untuk menetapkan tarif parkir per jenis tempat parkir.
Dashboard Ketersediaan: Menampilkan ketersediaan tempat parkir secara real-time.
Manajemen Kendaraan:
Formulir Pendaftaran Kendaraan: Untuk mendaftarkan kendaraan masuk dan keluar.
Tombol Penerbitan Tiket: Untuk menerbitkan tiket parkir.
Formulir Pembayaran: Untuk memproses pembayaran parkir.
Formulir Pelanggaran: Untuk menangani pelanggaran parkir.
Manajemen Pengguna:
Formulir Pengguna: Untuk menambah, menghapus, dan mengedit informasi pengguna.
Dropdown Peran Pengguna: Menetapkan peran dan akses pengguna.
Log Aktivitas: Untuk melacak aktivitas pengguna.
Pelaporan:
Laporan Pendapatan: Antarmuka untuk menghasilkan laporan pendapatan parkir.
Laporan Penggunaan: Antarmuka untuk menghasilkan laporan penggunaan parkir.
Laporan Pelanggaran: Antarmuka untuk menghasilkan laporan pelanggaran parkir.
Implementasi Detail:
Lingkungan Pengembangan:
Sistem Operasi: Linux (Ubuntu) atau Windows 10/11
IDE : Visual Studio Code
Bahasa Pemrograman:
Frontend : HTML, CSS, JavaScript (React.js), Java, Python, PHP, Node.js, dll
Backend : Laravel
UI/UX : Figma
Basis Data:
MySQL , PostgreSQL MongoDB, NoSQL
Server:
Apache HTTP Server , Express.js, Simple Web Server, dll
5. Gambarkan Arsitektur dari Aplikasi Parkir yang akan dibangun (Studi Kasus)
Lapisan Presentasi:
Aplikasi Web: Antarmuka pengguna berbasis web untuk pengendara dan admin parkir.
Aplikasi Mobile: Aplikasi seluler untuk pengendara dengan fungsionalitas mirip aplikasi web.
Antarmuka Kios: Antarmuka fisik di kios area parkir untuk pendaftaran kendaraan dan pembayaran.
Lapisan Aplikasi:
Layanan Manajemen Parkir: Mengelola tempat parkir, jenis tempat parkir, dan tarif.
Layanan Manajemen Kendaraan: Mengelola pendaftaran kendaraan, penerbitan tiket, dan pelanggaran parkir.
Layanan Manajemen Pengguna: Mengelola data pengguna, peran, dan akses.
Layanan Pembayaran: Memproses pembayaran parkir melalui integrasi dengan sistem pembayaran elektronik.
Layanan Pelaporan: Menghasilkan laporan pendapatan, penggunaan, dan pelanggaran parkir.
Lapisan Data:
Database: Menyimpan data tempat parkir, kendaraan, pengguna, transaksi pembayaran, dan laporan.
Penyimpanan Data Real-Time: Menyimpan informasi ketersediaan tempat parkir secara
real-time.
Lapisan Integrasi:
API Gateway: Menyediakan antarmuka terpusat untuk semua layanan backend.
Middleware Integrasi: Mengelola integrasi dengan sistem kontrol akses dan sistem pembayaran elektronik.
6. Dokumentasikan dan Demokan dalam Video Youtube dari rancangan aplikasi yang telah dibangun
Link Video : https://youtu.be/NqFTGfwC78c
Comments
Post a Comment