PPL : ETS

Nama: Hanafi Satriyo Utomo Setiawan
NRP: 5025211195

1. Apakah perbedaan model analysis dengan model desain?

Model Analisis:
  • Model analisis adalah tahap di mana masalah atau kebutuhan dipelajari secara mendalam. Ini melibatkan pemahaman yang mendalam tentang apa yang ingin dicapai dengan produk atau proyek tersebut.
  • Memahami persyaratan, kendala, dan tujuan proyek secara menyeluruh. Ini termasuk memahami kebutuhan pengguna, batasan teknis, dan lingkungan di mana produk akan digunakan.
  • Menentukan ruang lingkup proyek dan menetapkan dasar untuk model desain yang akan datang. 
  • Mengidentifikasi risiko dan tantangan yang mungkin dihadapi selama proses pengembangan.
  • Analisis kebutuhan, analisis SWOT (strengths, weaknesses, opportunities, threats), analisis pemangku kepentingan, dan lain-lain.
Model Desain:
  • Representasi konseptual dari bagaimana produk atau proyek akan dibangun untuk memenuhi kebutuhan dan memecahkan masalah yang diidentifikasi dalam tahap analisis.
  • Model desain merinci solusi teknis yang akan diimplementasikan, termasuk arsitektur sistem, antarmuka pengguna, aliran kerja, dan fitur-fitur fungsional.
  • Tujuan utama dari model desain adalah untuk menghasilkan rencana yang jelas tentang bagaimana produk atau proyek akan diimplementasikan. Ini melibatkan pemilihan teknologi, pemodelan data, dan perencanaan fitur.
  • Model desain sering kali melibatkan pembuatan dokumentasi teknis yang lengkap, seperti spesifikasi desain teknis dan diagram aliran kerja.
2. Jelaskan output proses Desain Aplikasi?
  • Arsitektur sistem: Dokumentasi tentang struktur sistem secara keseluruhan, termasuk komponen-komponen utama dan hubungan antar mereka.
  • Desain antarmuka pengguna (UI): Rancangan visual dari bagaimana aplikasi akan terlihat dan berinteraksi dengan pengguna, termasuk tata letak halaman, ikon, dan elemen-elemen desain lainnya.
  • Desain antarmuka pengguna (UX): Rancangan pengalaman pengguna secara keseluruhan, termasuk alur kerja, navigasi, dan interaksi pengguna.
  • Diagram database: Struktur data yang direncanakan untuk digunakan dalam aplikasi, termasuk tabel, relasi, dan skema database lainnya.
  • Algoritma dan logika bisnis: Detail tentang cara aplikasi akan menjalankan operasi-operasi yang diperlukan untuk mencapai fungsionalitas yang diinginkan.
  • Dokumentasi teknis: Catatan detail tentang bagaimana aplikasi akan dibangun, termasuk spesifikasi teknis, panduan pengembangan, dan petunjuk instalasi.
3. Visualisasikan Deskripsi dari aplikasi parkir berikut (Studi Kasus)


  • Pengguna Parkir:
    • Mulai: Pengguna parkir memulai proses dengan memasuki area parkir.
    • Parkir: Pengguna memarkir kendaraannya.
    • Pembayaran: Pengguna kemudian melakukan pembayaran parkir.
    • Selesai: Setelah pembayaran, proses untuk pengguna parkir selesai.
  • Petugas:
    • Login: Petugas masuk ke sistem dengan login.
    • Validasi: Sistem memeriksa validitas login. Jika tidak valid, proses berhenti. Jika valid, proses berlanjut.
    • Kelola Data Pengguna: Petugas dapat mengelola data pengguna parkir (menambahkan, menghapus, atau memodifikasi data).
    • Cek Transaksi Pembayaran: Petugas memeriksa transaksi pembayaran yang telah dilakukan oleh pengguna parkir.
    • Laporan: Petugas menghasilkan laporan berdasarkan data transaksi dan pengguna.
    • Selesai: Proses untuk petugas selesai setelah laporan dibuat.
  • Admin:
    • Login: Admin masuk ke sistem dengan login.
    • Validasi: Sistem memeriksa validitas login. Jika tidak valid, proses berhenti. Jika valid, proses berlanjut.
    • Kelola Data Petugas: Admin dapat mengelola data petugas (menambahkan, menghapus, atau memodifikasi data).
    • Retribusi Parkir: Admin mengelola retribusi atau tarif parkir.
    • Kelola Data Lahan Parkir: Admin mengelola data tempat parkir (menambahkan, menghapus, atau memodifikasi informasi tempat parkir).
    • Monitoring Jumlah Kendaraan: Admin memonitor jumlah kendaraan yang terparkir di area parkir.

4. Buat HLD dan LLD dari rancangan desain aplikasi parkir (Studi Kasus)

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
Komponen Utama:
  • Antarmuka Pengguna: 
    • Berfungsi untuk menampilkan informasi tempat parkir yang tersedia, memproses pembayaran, dan menyediakan fitur manajemen pengguna.
  • Manajemen Tempat Parkir: 
    • Komponen untuk menambah, menghapus, dan memodifikasi informasi tempat parkir, serta menentukan tarif parkir.
  • Manajemen Kendaraan: 
    • Bertanggung jawab atas pendaftaran kendaraan, penerbitan tiket parkir, pemrosesan pembayaran, dan penanganan pelanggaran parkir.
  • Manajemen Pengguna: 
    • Komponen untuk mengelola informasi pengguna, menetapkan peran dan akses, serta melacak aktivitas pengguna.
Keamanan:
  • Pengguna akan melakukan otentikasi sebelum mengakses fitur-fitur tertentu.
  • Penggunaan protokol HTTPS untuk melindungi data pengguna saat berkomunikasi dengan server.
  • Enkripsi data sensitif seperti informasi pengguna dan transaksi parkir.
Ketersediaan dan Skalabilitas:
  • Pengguna akan dapat mengakses aplikasi 24/7 melalui internet.
  • Aplikasi akan menggunakan teknologi cloud untuk skalabilitas dan ketersediaan yang lebih baik.
  • Sistem akan dirancang untuk menangani beban puncak dengan mengadopsi praktik skalabilitas horizontal.
Backend Implementation:
  • API untuk menambah, menghapus, dan memodifikasi informasi tempat parkir.
  • Algoritma untuk melacak ketersediaan tempat parkir secara real-time.
  • Fungsi untuk menghitung total pembayaran berdasarkan durasi parkir dan tarif yang berlaku.
Frontend Design:
  • Halaman untuk menampilkan informasi tempat parkir yang tersedia.
  • Formulir untuk memasukkan informasi kendaraan dan memilih tempat parkir.
  • Halaman pembayaran untuk menampilkan total pembayaran dan proses pembayaran.
Security Implementation:
  • Pengguna akan melakukan login dengan menggunakan token sesi untuk otentikasi.
  • Input dari pengguna akan divalidasi untuk mencegah serangan injeksi SQL atau XSS.
  • Akses ke fitur-fitur tertentu akan ditentukan berdasarkan peran pengguna yang terotentikasi.
Database Design


TempatParkir:
  • Tabel ini menyimpan informasi tentang tempat parkir.
  • Kolom idParkir adalah kunci primer (Primary Key) yang unik untuk setiap tempat parkir.
  • Kolom jenisParkir menyimpan jenis tempat parkir (misalnya, mobil, motor, VIP).
  • Kolom tarif menyimpan tarif parkir untuk setiap jenis tempat parkir.
  • Kolom status menunjukkan apakah tempat parkir tersedia atau tidak.


Kendaraan:
  • Tabel ini menyimpan informasi tentang kendaraan yang masuk dan keluar dari area parkir.
  • Kolom idKendaraan adalah kunci primer yang unik untuk setiap kendaraan.
  • Kolom jenisKendaraan menyimpan jenis kendaraan (misalnya, mobil, motor).
  • Kolom nomorPolisi menyimpan nomor polisi kendaraan.
  • Kolom waktuMasuk dan waktuKeluar menyimpan waktu masuk dan keluar kendaraan.


Pengguna:
  • Tabel ini menyimpan informasi tentang pengguna atau pelanggan sistem parkir.
  • Kolom idPengguna adalah kunci primer yang unik untuk setiap pengguna.
  • Kolom namaPengguna menyimpan nama pengguna.
  • Kolom alamatEmail menyimpan alamat email pengguna.
  • Kolom password menyimpan kata sandi pengguna.


Transaksi:
  • Tabel ini menyimpan informasi tentang transaksi parkir, termasuk pembayaran.
  • Kolom idTransaksi adalah kunci primer yang unik untuk setiap transaksi.
  • Kolom idKendaraan adalah kunci asing yang mengacu pada idKendaraan dari tabel Kendaraan.
  • Kolom idParkir adalah kunci asing yang mengacu pada idParkir dari tabel TempatParkir.
  • Kolom waktuMasuk dan waktuKeluar menyimpan waktu masuk dan keluar kendaraan.
  • Kolom biaya menyimpan biaya parkir yang harus dibayar.

Estimasi Kapasitas Perancangan Sistem

Traffic is 50,000 vehicles per month
Traffic per second = 50000/30*24*60*60 = 0.019
Assumption: 30% of users reserve parking spaces in advance
10% of users pay for parking without a reservation

TPS: 30+10 = 40
Storage required (approx 200kb/reservation): 40*200 = 8000 KB/S = 8 MB/S

Storage required per year = 8*60*60*24*365:= 250 TB

Dengan demikian, kita memerlukan penyimpanan sekitar 250 TB untuk menampung semua data yang diperlukan. Perhitungan ini memberikan gambaran tentang skala dan kapasitas yang diperlukan untuk infrastruktur penyimpanan yang akan digunakan dalam proyek ini.

User Interface






5. Gambarkan Arsitektur dari Aplikasi Parkir yang akan dibangun (Studi Kasus)


  1. Kendaraan masuk ke area parkir dan sistem mencatat detail parkir melalui Parking Service.
  2. Ticketing Service mengeluarkan tiket dan menyimpan detail kendaraan di Vehicle Parking Details.
  3. Ketika kendaraan akan keluar, Exit Service memproses keluarnya kendaraan.
  4. Payment Service mengelola pembayaran yang melibatkan layanan pembayaran pihak ketiga.
  5. Setelah pembayaran berhasil, konfirmasi diterima melalui Web Hooks Confirmation.
  6. Auditing Services memverifikasi dan mengaudit data parkir dan pembayaran, menyimpan hasilnya di Auditing Warehouse.


6. Dokumentasikan dan Demokan dalam Video Youtube dari rancangan aplikasi yang telah dibangun





Comments

Popular posts from this blog

PPL : Pertemuan 2

PPL : Pertemuan 7

Final Project : Pemrograman Berbasis Kerangka Kerja A