Anda di halaman 1dari 29

10/21/2015

Gita Indah Marthasari

10/21/2015

Mampu menjelaskan Factory Method


pattern
Mampu menjelaskan diagram kelas dari
Factory Method pattern.
Mampu mengimplementasikan Factory
Method pattern untuk menyelesaikan
persoalan tertentu menggunakan Java.

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

Provides a simple decision making class that


returns one of several possible subclasses of
an abstract base class depending on the data
that are provided.
Tujuan : define an interface for creating an
object, but let subclasses decide which class
to instantiate. Factory Method lets a class
defer instantiation to subclasses

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

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
Jurusan Teknik Informatika
Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

Contoh persoalan :
Aplikasi Document Generator

Jika anda diminta membuat sebuah aplikasi


Document Generator
Word
Spreadsheet
Applications
Drawing
Presentation

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

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

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

FACTORY METHOD menyediakan satu


metode tunggal untuk membuat dokumen

Kelas abstrak Applications akan dibuat subclass nya dan sub-class nya yang akan
menentukan dokumen yang dibuat.

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

10/21/2015

Setelah menerapkan Factory Method pattern :

factory method

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

kelas abstrak

inheritance

kelas konkrit
9

10/21/2015

bisa berupa
kelas abstrak

Meng-override metode
abstrak dari superclass
Jurusan Teknik Informatika
Fakultas Teknik
Univ. Muhammadiyah Malang

10

10

10/21/2015

Product
Mendefinisikan produk yang akan dibuat oleh

factory, contoh : Document

Concrete Product
Diturunkan dari Product, contoh : MyDocument

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

11

11

10/21/2015

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

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

12

12

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

13

13

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

14

14

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

15

15

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

16

16

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

17

17

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

18

18

10/21/2015

Jika ingin ditambahkan kelas WinApplications


yang dapat membuat objek dokumen bertipe
WinWordDoc dan WinDrawingDoc,
bagaimanakah perubahan diagram kelasnya?

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

19

19

10/21/2015

Sebuah pabrik perakit komputer, Orenz,


menyediakan 2 seri komputer yaitu OrenzPro
dan OrenzBookPro. Tiap seri terdapat 2 model
yaitu : beginner dan advanced. Properti tiap
komputer yaitu harddisk, RAM, dan processor.
Seri

Beginner

Advanced

OrenzPro

Processor : Pentium i3
RAM : 2 GB
Harddisk : 16 GB

Processor : Pentium i3
RAM : 4 GB
Harddisk : 32 GB

OrenzBookPro

Processor : Pentium i5
RAM : 2GB
Harddisk : 32 GB

Processor : Pentium i5
RAM : 4 GB
Harddisk : 64 GB

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

20

20

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

21

21

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

22

22

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

23

23

10/21/2015

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

24

24

10/21/2015

1.

Jika ditambahkan satu seri baru yaitu


OrenzBookAir yang juga memiliki tipe
Advanced dan Beginner, bagaimana
perubahan diagram kelasnya?

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

25

25

10/21/2015

2.

Sebuah pabrik baju memproduksi 3 jenis


baju yaitu kemeja, jas, dan jaket. Tiap baju
memiliki properti yang sama yaitu bahan,
warna, lingkar dada, panjang baju, dan
panjang lengan. Dengan menerapkan
factory method pattern, bagaimanakah
class diagram yang menggambarkan
persoalan di atas? Jika sudah, buatlah
prototype programnya (termasuk main).

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

26

26

10/21/2015

1.

Sebuah pabrik mebel memproduksi 2 jenis


mebel yaitu meja dan kursi. Terdapat 2 jenis
kayu yang digunakan untuk tiap jenis mebel
yaitu jati dan meranti. Properti tiap mebel
yaitu warna dan model. Dengan
menggunakan factory method pattern,
buatlah class diagramnya. Jika sudah, buat
prototype programnya.

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

27

27

10/21/2015

2.

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

Posisi kemudi : Kiri


Tipe AC : Dual
CC : 2500
BB : Solar

Indonesia Factory

Posisi kemudi : Kiri


Tipe AC : Single
CC : 1300
BB : Premium

Posisi kemudi : Kiri


Tipe AC : Single
CC : 2500
BB : Solar

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

28

28

10/21/2015

Buat class diagram untuk menyelesaikan


persoalan di atas dengan menerapkan factory
method pattern.

Implementasikan dalam program.

Jurusan Teknik Informatika


Fakultas Teknik
Univ. Muhammadiyah Malang

29

29

Anda mungkin juga menyukai