Evaluasi Tengah Semester Perancangan Perangkat Lunak

Nama : Cindi Dwi Pramudita
NRP : 5025201042
Kelas : Perancangan Perangkat Lunak A

Soal

1. Apakah perbedaan model analysis dengan model desain?
2. Jelaskan output proses Desain Aplikasi?
3. Visualisasikan Deskripsi dari apclikasi 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

Jawaban :

1. Perbedaan Model Analysis dengan Model Desain:

  • Model Analysis adalah langkah awal dalam proses perancangan sistem yang berfokus pada analisis kebutuhan dan identifikasi masalah. Tujuan dari model analysis adalah untuk mengidentifikasi kebutuhan sistem dan mengembangkan konsep sistem yang sesuai dengan kebutuhan tersebut.
  • Model Desain adalah langkah berikutnya dalam proses perancangan sistem yang berfokus pada pengembangan rancangan sistem yang sesuai dengan kebutuhan yang telah diidentifikasi. Tujuan dari model desain adalah untuk mengembangkan rancangan sistem yang dapat memenuhi kebutuhan dan memperbaiki masalah yang telah diidentifikasi. 
2. Output Proses Desain Aplikasi:
  • Rancangan Antarmuka Pengguna (User Interface Design):Rancangan antarmuka pengguna adalah bagian dari proses desain aplikasi yang berfokus pada bagaimana pengguna akan berinteraksi dengan aplikasi. Rancangan antarmuka pengguna meliputi:
  • Rancangan Algoritma (Algorithm Design):Rancangan algoritma adalah bagian dari proses desain aplikasi yang berfokus pada bagaimana aplikasi akan mengelola data dan menghasilkan output. Rancangan algoritma meliputi:
  • Rancangan Struktur Data (Data Structure Design):Rancangan struktur data adalah bagian dari proses desain aplikasi yang berfokus pada bagaimana aplikasi akan menyimpan dan mengelola data. Rancangan struktur data meliputi:
  • Rancangan Sistem (System Design):Rancangan sistem adalah bagian dari proses desain aplikasi yang berfokus pada bagaimana aplikasi akan berinteraksi dengan sistem lain dan bagaimana aplikasi akan dijalankan. Rancangan sistem meliputi:
  • Rancangan Dokumentasi (Documentation Design):Rancangan dokumentasi adalah bagian dari proses desain aplikasi yang berfokus pada bagaimana aplikasi akan di dokumentasikan. Rancangan dokumentasi meliputi:
Dengan demikian, output dari proses desain aplikasi adalah rancangan aplikasi yang sesuai dengan kebutuhan dan spesifikasi yang telah diidentifikasi, serta memperhatikan faktor-faktor seperti keamanan, keterbacaan, dan keterjangkauan.

3. Deskripsi Visualisasi:
  • Dashboard Utama: Menampilkan ikhtisar ketersediaan tempat parkir, laporan pendapatan, penggunaan, dan pelanggaran parkir.
  • Manajemen Tempat Parkir: Memungkinkan admin untuk menambahkan, menghapus, dan memodifikasi informasi tempat parkir. Admin juga dapat menentukan jenis tempat parkir dan tarif parkir untuk setiap jenis.
  • Manajemen Kendaraan: Fitur untuk mendaftarkan kendaraan yang masuk dan keluar dari area parkir, menerbitkan tiket parkir, memproses pembayaran, dan menangani pelanggaran.
  • Manajemen Pengguna: Admin dapat mengelola informasi pengguna, menetapkan peran dan akses, serta melacak aktivitas pengguna.
  • Pelaporan: Menghasilkan laporan pendapatan, penggunaan, dan pelanggaran parkir untuk analisis.
  • Keamanan: Fitur keamanan untuk melindungi data pengguna dari akses tidak sah dan mencegah penipuan serta pencurian.
  • Ketersediaan dan Skalabilitas: Sistem yang dapat diakses 24/7 dari berbagai perangkat dan mampu menampung jumlah pengguna dan kendaraan yang besar.
  • Kinerja: Sistem yang responsif dan efisien, dapat menangani beban puncak dengan baik.
  • Integrasi dengan Sistem Lain: Dapat terhubung dengan sistem kontrol akses dan pembayaran elektronik.
  • Dukungan Multi-bahasa dan Aksesibilitas: Mendukung beberapa bahasa dan dapat diakses oleh penyandang disabilitas.

4. HLD 

a. Arsitektur

Aplikasi ini akan memiliki arsitektur tiga lapis:

  • Lapisan Presentasi: Lapisan ini bertanggung jawab untuk menampilkan antarmuka pengguna kepada pengguna. Ini akan diimplementasikan menggunakan HTML, CSS, dan JavaScript untuk aplikasi web dan Java atau Kotlin untuk aplikasi seluler.
  • Lapisan Bisnis: Lapisan ini bertanggung jawab untuk logika aplikasi, seperti memvalidasi input pengguna, memproses pembayaran, dan mengelola data parkir. Ini akan diimplementasikan menggunakan Java atau Python.
  • Lapisan Data: Lapisan ini bertanggung jawab untuk menyimpan dan mengambil data dari database. Ini akan diimplementasikan menggunakan database relasional, seperti MySQL atau PostgreSQL.

b. Komponen Utama

Aplikasi ini akan terdiri dari komponen utama berikut:

  • Modul Manajemen Tempat Parkir: Modul ini bertanggung jawab untuk mengelola informasi tempat parkir, seperti lokasi, jenis, dan ketersediaan.
  • Modul Manajemen Kendaraan: Modul ini bertanggung jawab untuk mengelola informasi kendaraan, seperti nomor plat, jenis, dan waktu masuk.
  • Modul Manajemen Pengguna: Modul ini bertanggung jawab untuk mengelola informasi pengguna, seperti nama, alamat email, dan metode pembayaran.
  • Modul Pembayaran: Modul ini bertanggung jawab untuk memproses pembayaran parkir.
  • Modul Pelaporan: Modul ini bertanggung jawab untuk menghasilkan laporan tentang pendapatan parkir, penggunaan parkir, dan pelanggaran parkir.

c. Interaksi

Pengguna akan berinteraksi dengan aplikasi melalui aplikasi seluler atau sistem web. Aplikasi akan berkomunikasi dengan server pusat yang menjalankan logika aplikasi dan mengakses database.

d. Keamanan

Aplikasi ini akan menerapkan berbagai langkah keamanan untuk melindungi data pengguna dan mencegah penipuan. Langkah-langkah keamanan ini mungkin termasuk:

  • Otentikasi pengguna
  • Enkripsi data
  • Otorisasi akses

e. Skalabilitas

Aplikasi ini dirancang untuk skalabel untuk mengakomodasi jumlah pengguna dan kendaraan yang besar. Ini dapat dicapai dengan menggunakan arsitektur microservices dan cloud computing.

LLD 

a. Modul Manajemen Tempat Parkir

  • Kelas:
    • TempatParkir
      • Atribut:
        • id: Pengenal unik tempat parkir
        • lokasi: Lokasi tempat parkir
        • jenis: Jenis tempat parkir (misalnya, mobil, motor, VIP)
        • tarif: Tarif parkir per jam
        • ketersediaan: Status ketersediaan tempat parkir (tersedia, ditempati, dipesan)
      • Metode:
        • getLokasi(): Mengembalikan lokasi tempat parkir
        • getJenis(): Mengembalikan jenis tempat parkir
        • getTarif(): Mengembalikan tarif parkir per jam
        • getKetersediaan(): Mengembalikan status ketersediaan tempat parkir
        • setKetersediaan(boolean tersedia): Mengubah status ketersediaan tempat parkir
  • Database:
    • Tabel tempat_parkir
      • Kolom:
        • id: INT (primary key)
        • lokasi: VARCHAR(255)
        • jenis: VARCHAR(255)
        • tarif: DECIMAL(10,2)
        • ketersediaan: TINYINT(1)

b. Modul Manajemen Kendaraan

  • Kelas:
    • Kendaraan
      • Atribut:
        • id: Pengenal unik kendaraan
        • nomorPlat: Nomor plat kendaraan
        • jenis: Jenis kendaraan (misalnya, mobil, motor)
        • waktuMasuk: Waktu kendaraan masuk area parkir
        • waktuKeluar: Waktu kendaraan keluar area parkir (jika sudah keluar)
        • biayaParkir: Biaya parkir kendaraan (dihitung berdasarkan waktu masuk dan keluar)
      • Metode:
        • getNomorPlat(): Mengembalikan nomor plat kendaraan
        • getJenis(): Mengembalikan jenis kendaraan
        • getWaktuMasuk(): Mengembalikan waktu kendaraan masuk area parkir
        • getWaktuKeluar(): Mengembalikan waktu kendaraan keluar area parkir (jika sudah keluar)
        • setWaktuKeluar(DateTime waktuKeluar): Mengatur waktu kendaraan keluar area parkir
        • hitungBiayaParkir(): Menghitung biaya parkir kendaraan berdasarkan waktu masuk dan keluar
  • Database:
    • Tabel kendaraan
      • Kolom:
        • id: INT (primary key)
        • nomor_plat: VARCHAR(255)
        • jenis: VARCHAR(255)
        • waktu_masuk: DATETIME
        • waktu_keluar: DATETIME
        • biaya_parkir: DECIMAL(10,2)

c. Modul Manajemen Pengguna

  • Kelas:
    • Pengguna
      • Atribut:
        • id: Pengenal unik pengguna
        • nama: Nama pengguna
        • alamatEmail: Alamat email pengguna
        • kataSandi: Kata sandi pengguna
        • metodePembayaran: Metode pembayaran pengguna (misalnya, kartu kredit, dompet digital)
      • Metode:
        • getNama(): Mengembalikan nama pengguna
        • getAlamatEmail(): Mengembalikan alamat email pengguna
        • getKataSandi(): Mengembalikan kata sandi pengguna
        • getMetodePembayaran(): Mengembalikan metode pembayaran pengguna
        • setMetodePembayaran(String metodePembayaran): Mengatur metode pembayaran pengguna
  • Database:
    • Tabel pengguna
      • Kolom:
        • id: INT (primary key)
        • nama: VARCHAR(255)
        • alamat_email: VARCHAR(255)
        • kata_sandi: VARCHAR(255)
        • metode_pembayaran: VARCHAR(255)

d. Modul Pembayaran

  • Kelas:
    • Pembayaran
      • Atribut:
        • id: Pengenal unik pembayaran
        • idPengguna: Pengenal pengguna yang melakukan pembayaran
        • idKendaraan: Pengenal kendaraan yang dibayar
        • metodePembayaran: Metode pembayaran yang digunakan
        • jumlah: Jumlah pembayaran
        • waktuPembayaran: Waktu pembayaran dilakukan
      • Metode:
        • getIdPengguna(): Mengembalikan pengenal pengguna yang melakukan pembayaran

a. Diagram Konteks 


b. Data Flow Diagram


c. PDM 



d. Use Case Diagram


e. Diagram Sequence





5. Arsitektur Diagram 


Rancangan UI 





6. Link Video : Klik Disini 
7. Link Dokumen : Klik Disini 

















Comments

Popular posts from this blog

PPL Pertemuan 7 - Desain Sistem Restaurant

PPL Pertemuan 10 - Komponen Desain Sistem