ETS PPL

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



Jawaban

 

1.     Perbedaan antara Model Analisis dan Model Desain:

·        Model Analisis: Ini adalah tahap awal dalam pengembangan perangkat lunak di mana kebutuhan dan masalah domain dianalisis. Tujuannya adalah untuk memahami apa yang harus dilakukan oleh sistem, mengidentifikasi kebutuhan fungsional dan non-fungsional, serta menganalisis arsitektur sistem secara umum.

·        Model Desain: Ini adalah langkah selanjutnya setelah model analisis. Model desain mengambil kebutuhan dan spesifikasi dari model analisis dan mengembangkannya menjadi desain teknis yang spesifik. Ini mencakup pemilihan teknologi, arsitektur perangkat lunak, desain database, antarmuka pengguna, dan komponen-komponen lain yang diperlukan untuk membangun system.

 

2.     Output dari Proses Desain Aplikasi

Output dari proses desain aplikasi dapat berupa dokumen teknis seperti:

·        Diagram arsitektur perangkat lunak

·        Rancangan antarmuka pengguna (UI/UX)

·        Rancangan basis data

·        Spesifikasi teknis

·        Desain kelas dan modul

·        Rancangan algoritma dan logika aplikasi

3.     Visualisasikan Deskripsi dari aplikasi parkir berikut (Studi Kasus)

·        Diagram Alur Kerja Parkir:

a.     Pengguna membuka aplikasi parkir.

b.     Aplikasi menampilkan pilihan untuk mencari tempat parkir.

c.      Pengguna memilih kriteria pencarian (lokasi, jenis kendaraan, dll).

d.     Aplikasi melakukan pencarian dan menampilkan tempat parkir yang tersedia berdasarkan kriteria.

e.     Pengguna memilih tempat parkir yang diinginkan.

f.       Aplikasi memberikan petunjuk arah ke tempat parkir tersebut.

g.     Pengguna parkir di tempat yang dipilih.

h.     Aplikasi mencatat waktu masuk kendaraan.

i.       Ketika pengguna meninggalkan tempat parkir, aplikasi mencatat waktu keluar kendaraan.

j.       Aplikasi menghitung biaya parkir berdasarkan durasi parkir dan tarif yang telah ditetapkan.

k.      Pengguna membayar biaya parkir (opsional jika menggunakan sistem pembayaran elektronik).

l.       Aplikasi memperbarui status tempat parkir.

 

·        Wireframe Antarmuka Pengguna: Wireframe ini akan menunjukkan tata letak elemen-elemen antarmuka pengguna aplikasi parkir, seperti halaman utama, halaman pencarian tempat parkir, halaman pembayaran, dll.


·        Diagram Model Entitas Hubungan (ERD): ERD ini akan menggambarkan entitas-entitas utama dalam aplikasi parkir beserta hubungan antara mereka, misalnya entitas tempat parkir, entitas kendaraan, entitas pengguna, dll.


4.     HLD (High-Level Design) untuk Aplikasi Parkir:

Arsitektur Sistem:

·        Tahap HLD dimulai dengan definisi arsitektur sistem secara keseluruhan.

·        Ini terdiri dari lapisan presentasi untuk antarmuka pengguna, lapisan logika bisnis untuk pemrosesan permintaan konsumen, dan lapisan data untuk penyimpanan dan pengambilan data.

·        Hubungan dan interaksi antara lapisan-lapisan tersebut dijelaskan untuk memastikan sistem yang kohesif dan efisien.

Interaksi Modul:

·        Elemen penting dari HLD adalah ilustrasi bagaimana modul dan komponen yang berbeda berinteraksi satu sama lain.

·        Ini termasuk menjabarkan aliran kontrol antara fungsionalitas utama, memastikan operasi yang lancar dan terkoordinasi.

·        Komunikasi antarmuka pengguna dengan server, pemrosesan data, dan tanggapan sistem diperhatikan dengan seksama.

Desain Antarmuka Pengguna:

·        HLD mencakup desain antarmuka pengguna, fokus pada tata letak, interaksi, dan pengalaman pengguna.

·        Ini mengidentifikasi fungsi dan fungsionalitas kunci yang terlihat oleh pengguna akhir, memastikan desain yang ramah pengguna yang sejalan dengan tujuan dan persyaratan sistem.

Antarmuka Eksternal:

·        Untuk memastikan interoperabilitas sistem dengan entitas eksternal, desain tersebut menentukan bagaimana sistem berinteraksi dengan sistem, layanan, atau API eksternal.

·        Ini termasuk menentukan protokol, format data, dan mekanisme autentikasi untuk komunikasi yang mudah.

 

Low-Level Design (LLD) untuk Aplikasi Parkir:

Skema Data:

·        Dalam fase LLD, aspek penting adalah definisi skema data.

·        Ini termasuk struktur basis data dan menentukan hubungan antara entitas data yang berbeda.

·        Tujuannya adalah menciptakan dasar yang kuat untuk penyimpanan, pengambilan, dan pengelolaan data yang efisien.

Desain Basis Data:

·        Setelah skema data, desain basis data menjadi penting.

·        Ini mencakup pembuatan skema basis data yang spesifik, termasuk tabel, kolom, dan constraint.

·        Fase LLD mengeksplorasi detail tentang bagaimana data harus disimpan, diambil, dan diperbarui, memastikan kinerja dan integritas data yang optimal.

Algoritma:

·        Untuk menangani fungsionalitas inti sistem, dikembangkan algoritma yang berbeda.

·        Algoritma ini mencakup berbagai proses, termasuk penanganan permintaan HTTP, parsing input pengguna, routing data, dan menanggapi berbagai kegiatan sistem.

·        Penekanan khusus diberikan pada algoritma yang mengatur fungsi-fungsi penting seperti pemrosesan pembayaran, autentikasi, dan pengambilan data.

Diagram Aliran Data:

·        Untuk memvisualisasikan aliran informasi dalam sistem, dibuatlah diagram aliran data.

·        Diagram ini mengilustrasikan bagaimana data bergerak di antara komponen dan modul yang berbeda.

·        Proses kunci, transformasi, dan titik penyimpanan diidentifikasi, memberikan pemahaman menyeluruh tentang cara kerja internal sistem.

 

5.     Arsitektur Aplikasi Parkir:

·        Frontend (Antarmuka Pengguna):



·        Backend:

Microservice yang digunakan

o   Mikroservis Manajemen Pengguna:

§  Pendaftaran Pengguna: Bertanggung jawab atas proses pendaftaran pengguna baru dalam sistem, menyimpan informasi kritis seperti nama pengguna, email, kata sandi, dan nomor registrasi dengan aman.

§  Autentikasi: Memvalidasi kredensial pengguna saat proses login menggunakan metode yang aman.

§  Manajemen Profil: Memungkinkan pengguna untuk memperbarui dan mengelola profil mereka, termasuk nomor kontak.

o   Mikroservis Reservasi:

§  Penanganan Reservasi: Mengelola proses pembuatan reservasi tempat parkir, termasuk pemeriksaan ketersediaan dan penugasan tempat.

§  Detail Reservasi: Menyimpan informasi seperti waktu reservasi, durasi, dan pengguna yang terkait.

§  Pengambilan Riwayat: Memberikan kemampuan untuk mengambil riwayat reservasi pengguna.

o   Mikroservis Pembayaran:

§  Pemrosesan Pembayaran: Memulai dan memproses pembayaran untuk layanan parkir berdasarkan reservasi.

§  Catatan Transaksi: Menyimpan informasi transaksi pembayaran, termasuk jumlah, pengguna, dan reservasi terkait.

§  Penanganan Pengembalian Dana: Memberikan fungsionalitas untuk memproses pengembalian dana jika diperlukan.

·        Databases:

o   Tabel Pengguna (User Table):

§  User_id: Identifikasi unik untuk setiap pengguna.

§  Username: Nama pengguna untuk identitas.

§  Email_address: Alamat email pengguna untuk komunikasi.

§  Password: Kata sandi pengguna yang di-hash secara aman.

§  License_plate: Data registrasi mobil pengguna.

§  Created_date: Tanggal registrasi pengguna.

o   Tabel Reservasi (Reservation Table):

§  Reservation_id: Identifikasi unik untuk setiap reservasi.

§  User_id: ID pengguna yang membuat reservasi.

§  Parking_space_id: ID tempat parkir yang dipesan.

§  Reservation_time: Tanggal dan waktu reservasi.

§  Duration: Durasi reservasi (waktu mulai dan selesai).

o   Tabel Tempat Parkir (Parking Space Table):

§  Parking_space_id: Identifikasi unik untuk setiap tempat parkir.

§  Availability_status: Menunjukkan apakah tempat parkir tersedia atau terisi.

§  Location: Lokasi fisik tempat parkir di garasi.

§  Type: Jenis tempat parkir (mis. reguler, reservasi).

§  Rate: Biaya yang terkait dengan parkir di area ini.

o   Tabel Pembayaran (Payment Table):

§  Payment_id: Identifikasi unik untuk setiap transaksi pembayaran.

§  User_id: ID pengguna yang melakukan pembayaran.

§  Reservation_id: ID reservasi terkait (jika berlaku).

§  Amount: Jumlah yang dibayarkan oleh pengguna.

§  Payment_date: Tanggal dan waktu pembayaran.

o   Tabel Umpan Balik (Feedback Table):

§  Feedback_id: Identifikasi unik untuk setiap umpan balik.

§  User_id: ID pengguna yang memberikan umpan balik.

§  Reservation_id: ID reservasi terkait.

§  Rating: Skor numerik yang diberikan oleh pelanggan.

§  Comments: Komentar atau umpan balik tambahan dari pelanggan.





Komentar