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:


  1. Desain Arsitektur sistem: Diagram yang menggambarkan struktur keseluruhan sistem, termasuk komponen utama, interaksi antara mereka, dan aliran data.

  2. Desain Rancangan antarmuka pengguna / interface (UI): Desain tampilan aplikasi, termasuk tata letak halaman, kontrol, elemen-elemen grafis, dan opsional design guidelines.

  3. Desain Rancangan basis data: Struktur basis data yang akan digunakan oleh aplikasi, termasuk tabel, relasi antara tabel, dan skema basis data.

  4. 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 : 


  1. Wireframes and Mockups: Representasi visual dari antarmuka pengguna untuk merancang tata letak dan desain elemen-elemen utama.

  2. Prototipe Interaktif: Versi lebih lanjut dari wireframes dan mockups yang memungkinkan pengguna untuk berinteraksi dengan antarmuka pengguna untuk pengujian dan pemahaman lebih baik.

  3. 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


  1. 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.


  1. 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:


  1. 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.


  1. 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.


  1. 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.


  1. 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:


  1. Lingkungan Pengembangan:

  • Sistem Operasi: Linux (Ubuntu) atau Windows 10/11

  • IDE : Visual Studio Code


  1. Bahasa Pemrograman:

  • Frontend : HTML, CSS, JavaScript (React.js), Java, Python, PHP, Node.js, dll

  • Backend : Laravel

  • UI/UX : Figma

  1. Basis Data:

  • MySQL , PostgreSQL  MongoDB, NoSQL 

  1. 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

Popular posts from this blog

Pemrograman Perangkat Beregerak - ETS - - Timothy Hosia

EAS PPL A - Perancangan Perangkat Lunak Hotel