Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“„Laporan Design Pattern

Fellicia Devina

Singleton Pattern ๐Ÿงโ€โ™‚๏ธ

Singleton Pattern adalah pola desain yang memastikan hanya ada satu instance dari suatu kelas dan menyediakan akses global ke instance tersebut. Pada program ini, PendataanPenjualan menggunakan Singleton Pattern untuk menyimpan daftar handphone yang dijual. bentukUmum

Dengan ini:

  • Hanya ada satu objek yang menangani data penjualan.
  • Mencegah duplikasi data saat program dijalankan.
  • Memudahkan akses data ke daftar penjualan tanpa harus membuat banyak objek.

๐Ÿ—๏ธ Struktur Kelas (Class Diagram) Singleton Pattern

classSingleton

  • ๐Ÿ”น PendataanPenjualan โ†’ Singleton yang mengelola data handphone yang terjual dan menghitung total penjualan.
  • ๐Ÿ”น Handphone โ†’ Superclass dengan atribut umum untuk membuat objek handphone.
  • ๐Ÿ”น iPhone, Samsung, Xiaomi โ†’ Subclass Handphone dengan atribut khusus.

Use Case Diagram

usecase

๐Ÿงโ€โ™‚๏ธAktor utama:

Admin (pengguna sistem)

๐Ÿ—’๏ธUse Case:

  • Admin dapat memasukkan informasi handphone yang terjual dan melihat semua daftar penjualan handphone yang telah diinput.
  • Melihat total penjualan berdasarkan merek handphone dan total seluruh penjualan

๐Ÿ”„ Alur Kerja Program (Sequence Diagram) Singleton Pattern

sequenceSingleton

** 1. Admin Memasukkan Data**

Admin menginputkan tanggal penjualan handphone. Sistem meminta detail handphone (merk, model, harga, dll.).

2๏ธ. Menyimpanan Data ke Singleton

Data handphone dikirim ke PendataanPenjualan (Singleton). Singleton mengambil objek yang sudah dibuat pada kelas Handphone dan menyimpannya dalam daftar tunggal.

3๏ธ. Permintaan & Perhitungan Total Penjualan

Admin meminta daftar penjualan. Singleton menghitung total penjualan per merk dan keseluruhan.

4๏ธ. Menampilkan Laporan

Program utama menampilkan daftar handphone dan total penjualan. Admin dapat melihat hasil laporan penjualan.

Facade Pattern ๐ŸŽญ

facade

Facade Pattern adalah pola desain yang menyediakan antarmuka tunggal untuk berinteraksi dengan sistem yang kompleks.

Dengan menggunakan Facade Pattern:

  • Pengguna tidak perlu berinteraksi langsung dengan subsistem.
  • Kode menjadi lebih terstruktur dan mudah dipahami.

๐Ÿ—๏ธ Struktur Kelas (Class Diagram) Facade Pattern

facadeClass

  • ๐Ÿ”น Facade Class Manajemen_Penjualan โžœ Bertindak sebagai antarmuka yang berinteraksi dengan pengguna (Admin), mengakses dan mengelola subsistem Tambah_Data dan Hitung_Penjualan.

  • ๐Ÿ”น Subsystem 1 Tambah_Data โžœ Bertanggung jawab untuk menerima input dan menyimpan data handphone yang terjual.

  • ๐Ÿ”น Subsystem 2 Hitung_Penjualan โžœ Menghitung total penjualan berdasarkan daftar handphone yang telah dimasukkan.

  • ๐Ÿ”น Class Handphone dan Subclass โžœ Mewakili berbagai jenis handphone yang memiliki spesifikasi unik.

Use Case Diagram

usecase

๐Ÿ”„ Alur Kerja Program (Sequence Diagram) Facade Pattern

facadeSequence

๐Ÿ› ๏ธ Tahapan Proses Sesuai Sequence Diagram

  1. Admin menjalankan program dan memanggil mulai_proses().
  2. Facade Manajemen_Penjualan meminta input data handphone kepada Admin.
  3. Admin memasukkan data, dan Facade Manajemen_Penjualan memberikan inputan admin ke subsistem Tambah_Data dibuatkan objek handphone sesuai merk menggunakan subclass Handphone.
  4. Data handphone disimpan ke dalam daftar di sistem Tambah_Data
  5. Facade meminta sistem Hitung_Penjualan untuk menghitung total penjualan.
  6. Facade menampilkan semua data handphone dan hasil perhitungan ke Admin.

Mediator Pattern ๐Ÿ—ฃ๏ธ

mediator

Mediator Pattern adalah pola desain yang digunakan untuk mengelola komunikasi antara objek tanpa membuat mereka langsung saling berhubungan. Dengan ini:

  • Objek-objek tidak perlu tahu detail objek lain yang berinteraksi dengannya.

  • Mengurangi ketergantungan antar objek sehingga meningkatkan fleksibilitas dan skalabilitas kode.

  • Memusatkan logika komunikasi dalam satu mediator, mempermudah pemeliharaan kode.

๐Ÿ—๏ธ Struktur Kelas (Class Diagram) Mediator Pattern

mediator

  • ๐Ÿ”น Mediator (Interface): Mendefinisikan metode tambah_penjualan() dan tampilkan_penjualan() yang harus diimplementasikan setiap mediator konkret.

  • ๐Ÿ”น TokoMediator (Concrete Mediator): Mengelola daftar handphone yang terjual dan bertanggung jawab untuk menampilkan daftar handphone dan total penjualan.

  • ๐Ÿ”น Handphone (Abstract Class): Merupakan superclass dari berbagai merk handphone, dengan atribut seperti merk, model, harga, dan metode daftar_terjual() untuk menambahkan data penjualan.

  • ๐Ÿ”น iPhone, Samsung, Xiaomi (Concrete Classes): Subclass dari Handphone yang mewakili berbagai jenis handphone dengan atribut spesifik masing-masing.

Use Case Diagram

usecase

๐Ÿ”„ Alur Kerja Program (Sequence Diagram) Mediator Pattern

sequenceMediator

๐Ÿ” Penjelasan Alur Program

  1. Admin memasukkan tanggal penjualan handphone.
  2. Main Program meminta input data handphone (merk, model, harga, dll.).
  3. Data yang diinput ditambahkan ke daftar penjualan sesuai dengan merek handphone.
  4. TokoMediator membuat objek handphone berdasarkan merek.
  5. Handphone diinisialisasi dengan atribut yang diberikan.
  6. Objek handphone ditambahkan ke daftar penjualan dalam mediator.
  7. Main Program meminta mediator untuk menampilkan daftar penjualan.
  8. Mediator mengambil daftar handphone yang telah terjual.
  9. Data dikirimkan kembali ke Main Program.
  10. Total penjualan dihitung berdasarkan harga dan jumlah unit.
  11. Data dikembalikan ke Main Program untuk ditampilkan.
  12. Main Program menampilkan daftar penjualan dan total penjualan kepada admin.

CLI Apps

Meskipun kita menggunakan design pattern yang berbeda seperti Singleton Pattern, Facade Pattern, atau Mediator Pattern, hasil akhir dari program saat dijalankan akan tetap sama. Hal ini terjadi karena setiap design pattern hanya mengatur bagaimana komponen dalam sistem berinteraksi, bukan mengubah logika bisnis utama dari aplikasi.

Inputan Admin:

input

Hasil:

hasil

About

Singleton Pattern, Facade Pattern dan Mediator Pattern

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages