FACTORY METHOD PATTERN Gita Indah Marthasari FACTORY METHOD PATTERN
Tujuan Belajar Mampu menjelaskan Factory Method pattern Mampu menjelaskan diagram kelas dari Factory Method pattern. Mampu mengimplementasikan Factory Method pattern untuk menyelesaikan persoalan tertentu menggunakan Java.
Latar Belakang Contoh persoalan : Aplikasi Document Generator Jika anda diminta membuat sebuah aplikasi Document Generator Word Applications Spreadsheet Drawing Presentation
(lanjutan) Kelas Applications dan Document berupa kelas abstract tidak dapat diinstansiasi Kelas Applications dapat meng-create dokumen tetapi belum tahu jenis dokumen yang nantinya harus dibuat FACTORY METHOD
Factory Method FACTORY METHOD menyediakan satu metode tunggal untuk membuat dokumen Kelas abstrak Applications akan dibuat sub-class nya dan sub-class nya yang akan menentukan dokumen yang dibuat.
(lanjutan) Setelah menerapkan Factory Method pattern : factory method kelas abstrak inheritance kelas konkrit
Applicability Kapan menggunakan Factory Method ? Sebuah kelas belum tahu jenis objek yang harus dibuat Sebuah kelas ingin agar sub-class nya yang menentukan jenis objek yang dibuat Sebuah kelas ingin mendelegasikan kemampuannya ke beberapa sub-class dan kelas tsb ingin melokalisasi kemampuan tsb
Diagram Kelas Factory Method Pattern bisa berupa kelas abstrak Meng-override metode abstrak dari superclass
Partisipan Product Concrete Product Mendefinisikan produk yang akan dibuat oleh factory, contoh : Document Concrete Product Diturunkan dari Product, contoh : MyDocument
(lanjutan) Creator Concrete Creator Mendefinisikan metode factory yang akan mengembalikan objek bertipe Product. Metode factory dapat dibuat default mengembalikan objek bertipe ConcreteProduct tertentu Dapat memanggil metode factory utk membuat objek bertipe Product Concrete Creator Diturunkan dari Creator dan meng-override metode factory
Program : Kelas Applications
Program : Kelas Document
Program : Kelas MyApplications
Program : Kelas MyWordDocs
Program : Kelas MyDrawingDocs
Program : Kelas TestDocument
Latihan 1 Jika ingin ditambahkan kelas WinApplications yang dapat membuat objek dokumen bertipe WinWordDoc dan WinDrawingDoc, bagaimanakah perubahan diagram kelasnya?
Problem 2 : Computer Store Orenz merupakan pabrik perakit komputer dan saat ini mereka ingin menjual komputer di internet. Seri komputer yang disediakan a.l : OrenzPro OrenzBookPro
(lanjutan) Tiap komputer terdiri atas : memory, harddisk, dan processor tertentu. Tiap komponen dari setiap seri dapat bervariasi jenisnya yaitu tipe Beginner & Advanced. Anda diminta membuat software untuk mengelola pengaturan Orenz computer
(lanjutan) Seri Beginner Advanced OrenzPro Processor : Pentium i3 RAM : 2 GB Harddisk : 16 GB RAM : 4 GB Harddisk : 32 GB OrenzBookPro Processor : Pentium i5 RAM : 2GB Harddisk : 64 GB
Solusi dg Factory Pattern
Kode Program
Latihan Jika ditambahkan satu jenis produk OrenzBookAir yang juga memiliki tipe Advanced dan Beginner, bagaimana perubahan diagram kelasnya?
PR Vega merupakan sebuah perusahaan mobil yang memiliki 2 pabrik utama yang memproduksi mobil masing-masing untuk negara Jerman dan Indonesia. Ada 2 seri mobil yang disediakan yaitu Vega MPV dan Vega Adventure. Masing-masing seri berbeda bergantung lokasi pabrik. Spesifikasi tiap seri untuk seluruh standar dapat dilihat pada tabel berikut : Seri Vega MPV Vega Adventure Jerman Factory Posisi kemudi : Kiri Tipe AC : Dual CC : 1300 BB : Premium CC : 2500 BB : Solar Indonesia Factory Tipe AC : Single
Buat class diagram untuk menyelesaikan persoalan di atas dengan menerapkan factory method pattern. Implementasikan dalam program.