100% menganggap dokumen ini bermanfaat (1 suara)
282 tayangan

Design Pattern (Builder Pattern)

Builder Pattern digunakan untuk membangun objek kompleks dengan langkah demi langkah. Terdiri dari interface Builder, ConcreteBuilder, Director, dan Product. ConcreteBuilder membangun representasi Product dan Director mengatur urutan pembangunan menggunakan ConcreteBuilder. Builder Pattern memisahkan proses konstruksi dari representasi objek.

Diunggah oleh

Dian Senjaya
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
282 tayangan

Design Pattern (Builder Pattern)

Builder Pattern digunakan untuk membangun objek kompleks dengan langkah demi langkah. Terdiri dari interface Builder, ConcreteBuilder, Director, dan Product. ConcreteBuilder membangun representasi Product dan Director mengatur urutan pembangunan menggunakan ConcreteBuilder. Builder Pattern memisahkan proses konstruksi dari representasi objek.

Diunggah oleh

Dian Senjaya
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 4

1.

Builder Pattern
Builder Pattern adalah sebuah software design pattern. Tujuannya adalah sebagai langkah-
langkah abstract kerangka (kontruksi) object, jika suatu implementasi menggunakan langkah-
langkah yang berbeda, maka akan membuat representasi object yang berbeda juga.
Builder Pattern sering digunakan untuk membangun produk sesuai dengan sebuah
pola struktur Composite Pattern, dengan cara memisahkan pembangunan
kompleks object dari representation, sehingga proses konstruksi yang sama dapat
membuat representation yang berbeda.
Builder Pattern dipakai saat aplikasi memerlukan sebuah mekanisme untuk
membangun objek yang kompleks yang independen dari konten-konten yang membentuk
objek (tidak terpaku pada detail pembangun objek).
Builder Pattern membuat sistem yang kompleks dengan objek yang sederhana dan
dengan pendekatan langkah demi langkah. Pola ini memisahkan konstruksi objek kompleks
dari representasinya sehingga proses konstruksi yang sama dapat menciptakan representasi
yang berbeda.

Builder
 interface abstract untuk membuat object (product). (menetapkan sebuah interface abstract
untuk membuat bagian dari sebuah object (product))
ConcreteBuilder
 menyediakan implementasi untuk Builder.
 mendefinisikan dan melacak yang mewakili ciptaanya (kreasinya)
 menyediakan interface untuk mengambil product
Director
 Class Director bertanggung jawab untuk mengatur urutan object kreasi yang benar.
 Menerima Concrete Builder sebagai sebuah parameter dan menjalankan operasi yang
diperlukan di atasnya.
Product
 object terakhir yang akan diciptakan oleh Director menggunakan Builder.
 mewakili kompleks object dalam proses pembangunan. ConcreteBuilder membangun
representasi product internal dan mendefinisikan proses yang menyebabkannya terkumpul
 termasuk kelas yang menentukan bagian-bagian penyusunnya, juga interface untuk
merakit bagian-bagian ke dalam hasil akhir.

https://nchy22.wordpress.com/2012/05/14/1-buil/

https://dicodein.blogspot.com/2017/09/java-builder-pattern_27.html
Deskripsi Buider Pattern
Builder Pattern adalah sebuah software design pattern. Tujuannya adalah sebagai
langkah-langkah abstract kerangka (kontruksi) object, jika suatu implementasi menggunakan
langkah-langkah yang berbeda, maka akan membuat representasi object yang berbeda juga.
Builder Pattern sering digunakan untuk membangun produk sesuai dengan sebuah pola
struktur Composite Pattern, dengan cara memisahkan pembangunan kompleks object dari
representation, sehingga proses konstruksi yang sama dapat membuat representation yang
berbeda. Sebenarnya builder ini hampir sama dengan abstrack factory namun memiliki
pengatur pembuat output yang bertugas mengambil urutan dari director dan
mengkombinasikan dengan parameter yang ada di concrete builder. Dalam Builder terapat
beberapa istilah yaitu:

 Builder : Iinterface abstract untuk membuat object /product (menetapkan sebuah


interface abstract untuk membuat bagian dari sebuah object (product)).
 ConcreteBuilder
1. Menyediakan implementasi untuk Builder.
2. Membangun dan merakit bagian-bagian dari produk dengan menerapkan
interface Builder untuk membangun banyak object.
3. Mendefinisikan dan melacak yang mewakili ciptaannya(kreasinya).
4. Menyediakan interface untuk mengambil product.

 Director
1. Class director bertanggung jawab untuk mengatur urutan untuk mengatur
object kreasi yang benar
2. Menerima concrete builder sebagai sebuah parameter dan menjalankan operasi
yang diperlukan diatasnya.
 Product
1. Object terakhir yang akan diciptakan oleh Director menggunakan Builder.
2. Mewakili kompleks object dalam proses pembangunan. ConcreteBuilder
membangun representasi prodeuct internal dan mendefinisikan proses yang
menyebabkan terkumpul.
3. Termasuk kelas yang menentukan bagian-bagian penyusunnya, juga interface
untuk merakit bagian-bagian ke dalam hasil akhir.

Tips :
1. Buider fokus pada membangun sebuah kompleks object setahap demi setahap.
Abstract Factory menekankan suatu produk keluarga object (baik sederhana
atau kompleks). Builder akan mengembalikan produk sebagai langkah
terakhir, tetapi sejauh menyangkut Abstract Factory, produk akan kembali
segera.
2. Builder sering membangun sebuah Composite.
3. Sering kali, desain awal dengan menggunakan Factory Method (sedikit rumit,
lebih mudah disesuaikan, subclass berkembang banyak) dan berkembang ke
arah Abstract Factory, Prototype, atau Builder (lebih fleksibel, lebih
kompleks) sebagai perancang menemukan di mana fleksibilitas lebih
dibutuhkan.
4. Kadang-kadang saling melengkapi pola penciptaan: Builder dapat
menggunakan salah satu pola-pola (patterns) lain untuk menerapkan
komponen yang dibangun. Abstract Factory, Builder, dan Prototype dapat
menggunakan Singleton dalam implementasinya.

http://coretantian.blogspot.com/2012/04/modul-1-abstract-factory-builder.html

Pengertian Design Pattern

Design Pattern adalah sebuah solusi untuk menyelesaikan masalah umum yang sering
di temui dan dihadapi, yang membentuk sebuah pola (pattern) tertentu dalam membuat
sebuah program. Pattern adalah bagaimana mendesain kelas dan bagaimana interaksi yang
terjadi antar kelas tersebut sehingga kelas yang kita bangun bisa lebih elegan dan reusable.
Ada beberapa pattern yang populer saat ini yang diciptakan oleh GoF (Gang of Four)
yaitu Abstract Factory, Builder, Factory Method, Prototype, Singleton, Adapter, Bridge,
Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responbility, Command,
Interpreter, Iterator, Mediator, Mementto, Observer, State, Strategy, Template Method,
Visitor.
Secara singkat, design pattern adalah sebuah solusi untuk mengulang masalah design.
Solusi ini telah dikembangkan, dikompile, dan disaring oleh programmer yang
sebelumnya telah menghadapi masalah ini. Sebuah design pattern adalah salah satu jenis
petunjuk yang menggunakan tipe "Jika Anda memiliki masalah ini, maka lakukan ini." Hal
tersebut serupa dengan sebuah algoritma : sebagai contoh, jika Anda ingin melakukan
sebuah operasi pencarian pada sebuah daftar, Anda tidak perlu menyelesaikan dengan
solusi Anda sendiri, terdapat beberapa algoritma yang menyediakan fungsi sorting ini
seperti pencarian biner. Perbedaan antara sebuah Design pattern dan sebuah algoritma
adalah bahwa algoritma fokus pada implementasi solusi, sebuah algoritma biasanya
mendaftar dari atas ke bawah menuju ke tahap akhir dari action-action yang terurut
dimana yang dibutuhkan untuk menghasilkan sebuah solusi. Sebuah pattern memusatkan
untuk menghasilkan beberapa Design.
Hal tersebut memberitahu kepada pengembang apa yang harus diperbuat sebagai
lawan dari bagaimana cara melakukannya. Mungkin tidak terlihat langsung hasilnya,
tetapi kita telah siap menggunakan beberapa Design pattern dalam pembahasan Kita
sebelumnya. Satu, Kita telah belajar secara detail pattern dari Model-View-Controller :
diberikan sebuah masalah interaksi gabungan yang begitu kompleks antara presentasi dan
layer business, Hal itu menentukan pemisahan kode menjadi tiga layer terpisah seperti
interaksi-interaksi mereka. Ingat, pattern itu sendiri tidak mendikte implementasi, hanya
dijelaskan sebuah solusi Design. Kita harus melaksanakan pattern MVC manapun untuk
untuk menggunakan framework third-party.

Design pattern dapat dibagi menjadi 3 kelompok yaitu:


1. Creational design pattern
Pattern ini hanya berbicara tentang bagaimana meng-instance sebuah kelas.
Secara teori memang mudah untuk membuat object tetapi cara yang mudah
tersebut belum tentu efektif. Adapun jenis-jenis dari creational design
pattern adalah Abstract Factory, Builder, Factory Method, Object Pool,
Prototype,Singleton. Dari sekian banyak jenis-jenis tersebut ada yang
memiliki fungsi yang sama dan saling melengkapi.
2. Structural design patterns
Tujuan pattern ini untuk membuat class composite atau object composite.
Tujuan utamanya adalam mempermudah dalam mendefinisi kan cara untuk
meng-compose object untuk fungsionalitas yang baru. Adapun contoh dari
pattern ini adalah : Adapter pattern, bridge pattern, composite pattern,
Decorator, Facede, Flyweight, Proxy.
3. Behavioral design patterns
Pattern ini adalah bertujuan untuk menangani kominikasi antar kelas atau
object. Adapun contoh dari pattern ini adalah : Chain of responsibility,
Command, Interpreter, Iterator, Mediator, Observer, strategy.

Keuntungan Design pattern:


Pengetahuan dalam design pattern mempunyai beberapa manfaat yaitu :
a. Memberikan komunikasi yang lebih baik antar
programmer. Mempunyai pengetahuan design pattern memberikan
programmer sebuah kosa kata baru yang dapat untuk mengekspresikan
mereka sendiri kepada programmer. Sebagai ganti menguraikan sebuah
masalah atau solusi secara detail, programmer dapat menyebutkan
dengan mudah design pattern yang relevan.
b. Menambah pengetahuan yang telah ada. Mempunyai pengetahuan
tentang Design pattern membiarkan Kita untuk menggunakan solusi
dari programmer berbakat sebelumnya. Terdapat sangat banyak Design
pattern yang telah didokumentasikan dimana Kita siap menambah
gudang ilmu pengetahuan Kita. Pada pembahasan ini, Kita akan fokus
pada Design pattern yang telah terbukti bermanfaat dalam pembuatan
aplikasi web.

Anda mungkin juga menyukai