Professional Documents
Culture Documents
Nim : 6301130149
Kelas : SDV-13-01
Singletion
Composible
Decoration
Iteration
Template Method
Startegi
Observer
Dll
Design pattern adalah deskripsi tentang kelas dan objek yang berkomunikasi dan dapat
dimodofikasi untuk menyelesaikan persoalan perancangan yang umum dan pada konteks
tertentu.
Design pattern adalah Abstraksi dari solusi spesifik untuk persoalan umum agar menghasiklkan
solusi umum dan bisa diubah sesuai keingininan.
Design pattern adalah petunjuk solusi dari permasalahan menyangkut kapan, bagaimana dan
konsekuensi pengaplikasianya.
Dari beberapa definisi diatas kita bisa mendapatkan kesimpulan bahwa design pattern itu sangat
berkaitan erat dengan masalah persoalan, solusi dan konsekuensi, oleh karna itulah cara
pengdokumentasianya juga sebagai berikut.
Nama
Persoalan
Solusi
Konsekuensi
Disini ada kata konsekuensi, loh kenapa ada konsekuensinya padahal kita kan mau menyelesaikan
masalah??, sebagai analoginya jika kalian suka main game sepak bola seperti PES dan FIFA kalin pasti
mengerti, kenapa bisa gituh??, yahkan setiap kita mau melakukan pertandingan kita akan melakukan
perencanaan strategi terlebih dulu yang nantinya kita kan memilih formasi, pemain mana saja yang
bakal diturunkan langsung dll, setiap kita memilih suatu keputusan pasti aka nada konsekuensinya, disini
say punya persoalan masalah defense maka saya akan menurunkan 5 pemain belakang dan 4 pemain
tengah dan 1 pemain depan , karna saya mengatasi permasalahn defense maka attack pada timsaya
akan berkurang karna kuota yang ada dipakai untuk pemain belakang.
Setidaknya seperti diataslah contoh design pattern mungkin.
Design pattern dapat di klasifikasikan menjadi dua bagian yaitu berdasarkan purpose(tujuan) dan
Scope(cakupan).
Purpose(tujuan)
-
Scope (cakupan)
Kelas
Objek
Ada beberapa hal yang harus di perhatikan saat memilih design pattern, yaitu :
-
Arsitektur
Design Pattern
Idioms/pengkodean
Anti-Pattern
Penjelasan :
-
Pada gambar pertama terdapat Arsitektur kenapa, karna disinilah kita merencanakan atau
menggambarkan aplikasi apa yang akan kita bikin.
Pada tahap ini kita masih belum melakukan pengkodean, tapi kita melakukan analisis, untuk
bagian kedua ini bersifat optional, kenapaa optional karnakebanyakan orang itu lebih suka
langsung melakukan pengkodean tanpa harus membuat design programnya terlebih dulu. Tahap
ini masih berada pada level abstraksi.
Dibagian ketiga ini kita melakukan pengkodean atau bisa disebut juga teknik membangun
perangkat lunak dengan sifat kode spesifik.
Dan terakhir adalah anti pattern hampir sama dengan design pattern disini juga membahas
tentang analisis, namun bedanya dengan design pattern adalah jika design pattern mencari
solusi yang terbaik sedangkan anti pattern mencari solusi yang tidak buruk.
Ada beberapa hal yang berkaitan dengan arsitektur pattern yaitu framework, apa sih yang dimaksud
edngan framework???, framework itu merupakan sebuah aturan atau kerangka kerja untuk melakukan
sesuatu.
Perancangan Arsitektur, disini biasanya digunakan oleh orang orang yang memiliki spesialis di
bidang Sistem Informasi yang tentu saja framework ini berada dilevel abstrak dan berada di
tahap Arsitektur.
Pengkodean Arsitektur, disini biasanya di pakai oleh orang orang dari programing yang berada
pada tahap idioms dan berada pada level abstrak pula.
Contoh framework yang berasal dari perancangan arsitektur yaitu Zachman Frimework dll, dan Contoh
dari programing yaitu Hibernate.
Didalam pengkodean itu sendiri membahas tentang peletakan Class atau File,nama Folder, database Dll.
Usecase diagram
Class diagram
Sequence diagram
Activity diagram
Scenario diagram
Dll.
Actor
Actor menggambarkan orang, system atau external entitas yang menyediakan atau menerima
informasi dari system.
o
o
o
o
Use case
Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan
actor.
Usecase dinotasikan dengan gambar (horizontal ellipse).
Use case biasanya menggunakan verb.
Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2 use case yang
memiliki nama yang sama.
o Use case berelasi sedikitnya 1 actor.
Association
o Ada 4 jenis relasi yang bisa timbul pada use case diagram
Association antara actor dan use case
Association antara use case
Generalization/Inheritance antara use case
Generalization/Inheritance antara actors
o Associations bukan menggambarkan aliran data/informasi
o Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case
o Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa
yang meminta interaksi dan bukannya mengindikasikan aliran data
o Sebaiknya gunakan garis tanpa panah untuk association antara actor dan use case
o Association antara actor dan use case yang menggunakan panah terbuka untuk
mengindikasikan bila actor berinteraksi secara pasif dengan system.
<<include>> : yaitu menspesifikasikan bahwa Use-case yang ini terlaksana ataupun otomatis
dilakukan dengan Use-Case lainnya.
<<extends>> : yaitu menspesifikasikan kondisi tertentu, dimana Use-Case yang satu
kemungkinan akan dilakukan kepada Use-Case yang lain.
Generalisation : yaitu menspesifikasikan turunan karakteristikdari Super-Use case dengan SubUse Case dibawahnya.
Package merupakan sebuah notasi yang biasanya digunakan untuk mengelompokan kelas-kelas
yang memilki kesamaan.selain itu juga dapat digunakan untuk membedakan 2 kelas atau lebih
yang memilki nama sama namun memiliki fungsionalitas yang berbeda.
Atribut disini menunjukan informasi yang dimiliki oleh suatu class, bisa juga disebut informasi
yang berhubungan dengan suatu class. Cara penulisan Atribut sebagai berikut :
o Visibility name : type = value
o
o
o
Ada dua jenis type Atribute final dan static untuk penulisanya final nama attribute ditulis
menggunkan Capital sedangkan static tidak.
-
Operasi atau method, merupakan kebiasaan yang bisa dilakukan oleh suatu kelas. Untuk
penulisanya sebagai berikut :
Visibility name(parameter_list) : return_type {Property_String/Element Property}
Parameter_list berisi kind name:type=default_value.
Class, merupakan subuah blueprint yang dirancang untuk membuat sebuah Aplikasi atau
perangkat lunak. Ada 3 jenis class dalam pembuatanya di UML, sebagai berikut :
o Detail Suppresed class yang hanya memilki nama kelasnya saja tanda ada detail
tentang informasi maupun behavior nya.
o Analysis Level Detail class yang memilki semua nama baik itu nama kelasnya, nama
informasinya, maupun nama behaviornya, akan tetapi tidak memilki detail dari namanama tersebut.
o Implementation Level Detail Class yang memilki nama classnya, informasinya dan
behaviornya sekaligus dengan detail yang dimilki oleh kelas tersebut.
NOTE digunakan untuk memberikan penjelasan terhadap suatu hal yang memang perlu
untuk dijelaskan.
Objek (Robustness/ Colaboration Diagram), berikut adalah symbol yang ada di diagram
robustness :
o
Aktor = adalah konsep yang sama sebagai aktor pada diagram use case UML.
Boundary objek = mewakili unsur-unsur perangkat lunak seperti layar, laporan, halaman
HTML, atau antarmuka sistem yang berinteraksi dengan aktor. Juga disebut elemen
antarmuka.
control elementt = berfungsi sebagai perekat antara boundary elemen dan entity
element, menerapkan logika yang diperlukan untuk mengelola berbagai unsur dan
interaksinya. Juga dikenal sebagai elemen proses atau hanya sebagai pengendali. Hal
ini penting untuk memahami bahwa kita mungkin memutuskan untuk
mengimplementasikan pengendali dalam desain sebagai sesuatu selain objek. Banyak
controller cukup sederhana untuk diimplementasikan sebagai sebuah metode dari suatu
entitas atau boundary class misalnya.
Entity object = adalah jenis entitas yang biasanya ditemukan dalam model konseptual,
seperti tabel Mahasiswa dan Seminar.
Symbol relasi
Dan ada satu lagi yaitu komposisi symbolnya hampir sama dengan agregasi namun bagian
kupatnya berwarna hitam bukan putih, pengertian dari komposisi itu sendiri adalah relasi
antar kelas yang memilki makna bagian dari / semua bagian namun dengan context yang
lebih terikat dibandingkan dengan agregasi.