ETS PPL

 Nama : M. Armand Giovani

NRP : 5025211054

Kelas : PPL A

ETS PPL

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



Jawaban : 

1. Model analisis dan model desain adalah dua tahap yang berbeda dalam pengembangan suatu sistem atau aplikasi.

  • Model Analisis: Tahap analisis berkaitan dengan memahami kebutuhan dan persyaratan sistem yang akan dikembangkan. Pada tahap ini, fokus utamanya adalah untuk mengidentifikasi masalah yang ada, mengumpulkan kebutuhan pengguna, menganalisis proses bisnis, dan menyusun spesifikasi sistem. Model analisis bertujuan untuk memahami apa yang harus dibangun.
  • Model Desain: Setelah kebutuhan sistem dipahami dengan baik melalui model analisis, langkah berikutnya adalah merancang solusi atau aplikasi yang memenuhi kebutuhan tersebut. Tahap desain ini mencakup pemilihan arsitektur sistem, perancangan struktur data, antarmuka pengguna, algoritma, dan semua detail teknis lainnya yang diperlukan untuk mengimplementasikan sistem. Model desain bertujuan untuk merancang bagaimana sistem akan dibangun.

2. Output dari proses desain aplikasi dapat berupa berbagai hal, tergantung pada kompleksitas dan ruang lingkup proyek. Namun, beberapa output umum yang dihasilkan dari proses desain aplikasi termasuk:

  • 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


Langkah 1: Mendaftar di situs web parkir pintar. Pengguna pertama-tama harus mendaftar di situs web parkir pintar. Ini melibatkan mengisi formulir pendaftaran dengan informasi pribadi seperti nama, alamat email, dan nomor telepon.
Langkah 2: Masuk ke situs web parkir pintar menggunakan username dan password yang valid. Setelah mendaftar, pengguna menggunakan detail login yang valid (username dan password) untuk masuk ke situs web parkir pintar.
Langkah 3: Mencari area parkir di sekitar tujuan. Setelah masuk, pengguna mencari area parkir di sekitar tujuan mereka menggunakan fitur pencarian yang disediakan oleh situs web parkir pintar.
Langkah 4: Memilih area parkir tertentu. Pengguna memilih area parkir tertentu dari daftar yang ditampilkan berdasarkan hasil pencarian mereka.
Langkah 5: Melihat berbagai slot parkir yang tersedia di area parkir tersebut. Setelah memilih area parkir, pengguna dapat melihat berbagai slot parkir yang tersedia di area tersebut.
Langkah 6: Memilih slot parkir tertentu. Pengguna memilih slot parkir tertentu dari daftar yang tersedia sesuai dengan preferensi mereka.
Langkah 7: Memilih jumlah waktu (dalam jam) untuk parkir. Pengguna memilih jumlah waktu dalam jam untuk parkir mobil mereka. Ini mungkin dilakukan dengan memilih dari opsi waktu yang tersedia atau memasukkan jumlah waktu secara manual.
Langkah 8: Membayar biaya parkir menggunakan dompet elektronik atau kartu kredit. Setelah memilih waktu parkir, pengguna membayar biaya parkir menggunakan dompet elektronik atau kartu kredit mereka yang terdaftar.
Langkah 9: Setelah berhasil memarkir mobil di slot yang dipilih, konfirmasikan okupansi menggunakan aplikasi seluler. Setelah mobil berhasil diparkir di slot yang dipilih, pengguna mengkonfirmasi okupansi mereka menggunakan aplikasi seluler. Ini mungkin melibatkan memasukkan nomor slot parkir atau menekan tombol konfirmasi di aplikasi.

4. Buat HLD dan LLD dari rancangan desain aplikasi parkir

High-Level Design (HLD) dari Aplikasi Sistem Parkir:
  • Arsitektur Sistem: Aplikasi akan menggunakan arsitektur berbasis web untuk memungkinkan akses dari berbagai perangkat. Aplikasi akan terdiri dari frontend untuk antarmuka pengguna dan backend untuk pemrosesan data. Backend akan menggunakan teknologi server-side seperti Node.js atau Python Django. Database akan digunakan untuk menyimpan informasi tentang tempat parkir, pengguna, kendaraan, dan transaksi parkir.
  • 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.
Low-Level Design (LLD) dari Aplikasi Sistem Parkir :
  • Database Design: Tabel Tempat Parkir: ID Tempat Parkir, Jenis Kendaraan, Status Ketersediaan, Tarif Parkir. Tabel Tarif Parkir: ID Tarif, Jenis Kendaraan, Tarif Per Jam, Maksimum Durasi, Tarif Pelanggaran. Tabel Transaksi Parkir: ID Transaksi, ID Tempat Parkir, ID Pengguna, Tanggal dan Waktu Masuk, Tanggal dan Waktu Keluar, Total Pembayaran.

  • 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.
Teknologi yang digunakan
  • Backend Development: Node.js: Platform JavaScript yang berbasis pada Chrome's V8 Engine untuk membangun aplikasi backend yang cepat dan skalabel. Python dengan Flask atau Django: Python adalah bahasa pemrograman yang populer dan mudah dipelajari, sementara Flask atau Django adalah framework web yang kuat untuk membangun aplikasi backend. Express.js: Framework Node.js yang ringan dan fleksibel untuk membangun aplikasi web dan API.
  • Frontend Development: React.js: Library JavaScript yang populer untuk membangun antarmuka pengguna yang interaktif dan dinamis. Vue.js: Framework JavaScript progresif untuk membangun antarmuka pengguna yang modern dan responsif. Angular: Framework JavaScript yang komprehensif untuk membangun aplikasi web dan mobile.
  • Database: MySQL atau PostgreSQL: Sistem manajemen basis data relasional (RDBMS) yang kuat dan umum digunakan untuk menyimpan data aplikasi. MongoDB: Basis data NoSQL yang fleksibel dan skemanya agnostik, cocok untuk menyimpan data yang berubah dengan cepat dan tidak terstruktur.
  • Authentication and Authorization: JSON Web Tokens (JWT): Standar terbuka untuk mengamankan pertukaran informasi yang memungkinkan otentikasi antar dua pihak berbeda. OAuth: Protokol otentikasi terbuka yang memungkinkan aplikasi untuk memberikan akses terbatas kepada pihak ketiga.
  • Security: HTTPS: Protokol yang mengamankan komunikasi di internet dengan mengenkripsi data yang dikirimkan antara browser pengguna dan server web. Helmet: Middleware Node.js yang membantu melindungi aplikasi dari berbagai serangan web dengan menetapkan berbagai header HTTP yang tepat.
  • Cloud Services: Amazon Web Services (AWS): Platform cloud computing yang menyediakan berbagai layanan termasuk komputasi, penyimpanan, database, dan lainnya. Google Cloud Platform (GCP): Infrastruktur cloud yang menyediakan layanan seperti komputasi, penyimpanan, dan analisis data. Microsoft Azure: Platform cloud yang menawarkan berbagai layanan untuk mengembangkan, menguji, dan menerapkan aplikasi.
  • Version Control: Git: Sistem kontrol versi yang populer yang memungkinkan pengembang untuk melacak perubahan dalam kode sumber selama pengembangan aplikasi.
User Interface

  • Iuran Member per hari ataupun per bulan


  • Mengenerate Tiket Parkir Hilang


  • Memperbesar Foto Kendaraan Saat Masuk ke Area Parkir


5. Gambarkan Arsitektur dari Aplikasi Parkir yang akan dibangun


  • Tahap Awal HLD: Tahap HLD dimulai dengan mendefinisikan arsitektur sistem secara keseluruhan. Ini berarti merencanakan struktur dasar dari seluruh sistem yang akan dikembangkan.
  • Lapisan Presentasi (Presentation Layer): Lapisan ini bertanggung jawab untuk menampilkan antarmuka pengguna (UI) kepada pengguna akhir. Ini termasuk elemen-elemen seperti halaman web, tombol, formulir, dan elemen visual lainnya yang digunakan oleh pengguna untuk berinteraksi dengan sistem.
  • Lapisan Logika Bisnis (Business Logic Layer): Lapisan ini berisi logika aplikasi atau "otak" dari sistem. Ini memproses permintaan dari pengguna, mengambil data dari lapisan data, dan memberikan respon yang sesuai kembali ke pengguna. Di sinilah aturan bisnis, validasi data, dan operasi pemrosesan lainnya terjadi.
  • Lapisan Data (Data Layer): Lapisan ini bertanggung jawab untuk menyimpan dan mengambil data yang diperlukan oleh sistem. Ini dapat mencakup basis data, sistem penyimpanan file, atau sistem penyimpanan data lainnya. Fungsinya adalah untuk menyediakan akses yang efisien dan andal ke data yang diperlukan oleh aplikasi.
  • Hubungan dan Interaksi Antar Lapisan: Penting untuk mendefinisikan hubungan dan interaksi antara setiap lapisan secara jelas. Misalnya, lapisan presentasi harus dapat mengirim permintaan ke lapisan logika bisnis, yang kemudian mengambil atau memodifikasi data melalui lapisan data. Ini memastikan bahwa sistem berjalan secara koheren dan efisien.
  • Koherensi dan Efisiensi: Tujuan utama dari merancang arsitektur sistem adalah untuk menciptakan sistem yang koheren dan efisien. Artinya, arsitektur harus memastikan bahwa setiap lapisan bekerja bersama dengan baik, dan setiap operasi dilakukan dengan cara yang paling efisien mungkin.
6. Dokumentasikan dan Demokan dalam Video Youtube dari rancangan aplikasi yang telah dibangun



Komentar