際際滷

際際滷Share a Scribd company logo
Solid Principle dan Design Pattern
OLEH :
ADITYA NOFRIANSYAH . L
F55117050
FAKULTAS TEKNIK
PRODI S-1 TEKNIK INFORMATIKA
JURUSAN TEKNOLOGI INFORMASI
UNIVERSITAS TADULAKO
2020
SOLID PRINCIPLE
Prinsip SOLID ini dicetuskan oleh Paman Bob sekitar
tahun 1995-an, yang mana kompilasi kita
diimplementasikan dalam pengembangan perangkat
lunak dengan pendekatan berbasis objek (berorientasi
objek), diharapkan akan membuat kode program
menjadi lebih adaptif demi memudahkan dalam
pemeliharaan.
1. Single Responsibility Principle
Sebuah class harus memiliki satu, dan hanya satu alasan untuk
berubah.Satu class hanya boleh mengerjakan satu tujuan. Anti multitasking-
multitasking club. Hindari menciptakan GOD Class yang mampu mengerjakan
banyak hal. Semua methods dan properties harus bekerja untuk mengerjakan
tujuan yang sama. Ketika sebuah class sudah mulai mengerjakan beberapa tujuan,
maka class tersebut harus dipecah menjadi class baru. Atau ketika
sebuah class memiliki lebih dari satu alasan untuk berubah, maka class tersebut
harus dipecah menjadi class baru.
2. Open/Closed Principle
Prinsip kedua ini adalah misalnya ada sebuah tim programmer yang sedang
mengerjakan sebuah aplikasi, suatu hari ada sebuah class yang ditulis oleh seorang
programmer , nah setelah seorang programmer selesai menulis class-nya ada
programmer/client lain yang ingin menggunakan class yang dibuat oleh seorang
programmer tersebut namun dia menginginkan ada beberapa perubahan pada class tersebut.
Nah, seharusnya programmer/client dapat dengan mudah meng-extend class yang dibuat
oleh seorang programmer. Tetapi dengan catatan bahwa programmer/client tidak perlu
merubah class yang ditulis oleh programmer.
Artinya, sebuah class harus terbuka (open) untuk di extends, tapi tertutup (close) untuk
modifikasi.
Kalau diterjemahkan secara harafiah, developer yang akan edit dikemudian hari, harus
tidak dapat mengubah system / class yang sudah ada / berjalan, tapi juga, dia harus dapat
dengan mudah meng-extend class itu. Keuntungannya dari Open Close ini adalah semakin
sedikit kemungkinan modifikasi yang dilakukan terhadap source utama, sehingga
kemungkinan terjadinya "Dulu parameternya A aja sudah jalan, sekarang harus A dan B"
dan "Karena ada fitur X ditambahkan, jadi hasil nya berubah dari {"a":[1,2,3]} jadi
{"ax":{"data":[1,2,3], "name":"abc"}} "
3. Liskov Substitution Principle
Class induk harus dapat dengan mudah digantikan dengan class
turunannya tanpa menghancurkan keseluruhan aplikasi. Liskov
Substitution Principle (LSP, biar gampang), berkata, Object yg
memiliki interface yang sama, harus dapat di-pertukarkan
(interchangeable), tanpa mempengaruhi cara / behaviour sebuah
program berjalan.
4. Interface Segregation Principle
Jika sudah mulai belajar PBO, pastinya tidak asing dengan yang namanya
interface. Yak, maksud dari prinsip yang ke empat ini sangatlah sederhana yaitu
banyak interface yang memiliki tujuan spesifik lebih baik daripada hanya satu
interface namun memiliki banyak tujuan.
5. Dependency Inversion
Pengertian dari prinsip ini adalah bahwa class yang
dikategorikan sebagai high-level class tidak boleh
bergantung pada low-level class tetapi harus bergantung
pada abstraksi.
DESIGN PATTERN
Design pattern adalah solusi (best practice) umum
untuk masalah yang sering terjadi dalam
pengembangan software. Setiap framework dibangun
dengan menggunakan konsep-konsep design pattern.
Konsep ini semakin berkembang karena konsep
Object Oriented Programming (OOP) dan sekaligus
OOP semakin berkembang karena adanya design
pattern.
KONSEP DESAIN PATTERN
1. Singleton
Singleton method pattern yaitu konsep yang membatasi instance class hanya satu,
atau dengan kata lain tidak boleh ada dua object untuk class tersebut.
KONSEP DESAIN PATTERN
2. Factory
Factory method pattern merupakan salah satu jenis desain pattern creational,
artinya pattern model ini menangani pembuatan sebuah object. Definisi dari desain
pattern factory method ini secara gampangnya adalah pola yang memungkinkan
sebuah method menghasilkan return values yang sama walapun inputnya berbeda.
KONSEP DESAIN PATTERN
3. Abstract Factory
Factory Method adalah salah satu contoh konsep design pattern
,yang dapat memisahkan pembuatan , pada objek produk dengan
objek client(Main Class). Secara konsep penggunaan pattern ini
adalah perubahan pada class produk tidak akan berpengaruh pada
class client class yang menggunakan pattern ini akan membuat suatu
method dengan tipe return value yang sama namun dengan input data
yang berbeda-beda serta dapat digunakan oleh banyak class. Jadi
analoginya sama seperti contoh pabrik pada umumnya pengguna atau
konsumen tidak harus tahu menahu tentang nama dan proses
pembuatan dari suatu produk yang diminta.
KONSEP DESAIN PATTERN
4. Builder
Builder adalah salah satu contoh konsep design pattern yang dapat
digunakan untuk membangun objek kompleks yang memiliki banyak
atribut. Suatu contoh kasus ketika kita ingin menampilkan semua
nilai dalam satu objek yang tidak bisa dilakukan oleh pattern lain ,
seperti factory pattern dan abstract factory ,karena keterbatasan
penggunaanya, kita bisa menggunakan pattern ini sebagai cara
alternatif. Untuk penerapanya juga tergolong sederhana , karena kita
hanya membuat 1 static class saja di dalam class utama ,kita buat
atribut dan method yang diperlukan di dalamnya. Lalu kita buat dan
panggil objek lewat class client(Main Class) setelah itu. Pada artikel
belajar java kali ini ,kita akan mencoba membuat contoh penggunaan
dari builder pattern ini di bahasa pemrograman java
KONSEP DESAIN PATTERN
5. Bridge
Bridge Pattern merupakan sebuah pola yang memisahkan antara desain interface
dengan implementasinya. Tujuan dari pola ini adalah sebagai pola/kontrak yang
harus dipenuhi oleh class yang akan meng-implements-nya. Contoh pada hewan,
tiap-tiap hewan memiliki ciri khas suara yang berbeda namun sama-sama memiliki
suara. Kita bisa saja membuat sebuah method dengan cara manual yaitu dengan
membuat method di tiap-tiap class hewan.
KONSEP DESAIN PATTERN
5. Bridge
Bridge Pattern merupakan sebuah pola yang memisahkan antara desain interface
dengan implementasinya. Tujuan dari pola ini adalah sebagai pola/kontrak yang
harus dipenuhi oleh class yang akan meng-implements-nya. Contoh pada hewan,
tiap-tiap hewan memiliki ciri khas suara yang berbeda namun sama-sama memiliki
suara. Kita bisa saja membuat sebuah method dengan cara manual yaitu dengan
membuat method di tiap-tiap class hewan.
KONSEP DESAIN PATTERN
6. Fa巽ade
Facade pattern adalah design pattern yang menyembunyikan kompleksitas sistem dan
menyediakan antarmuka yang telah disederhanakan kepada klient untuk mengakses sistem.
Pattern ini melibatkan satu kelas yang menyediakan function yang digunakan user untuk
mengakses function system. Facade pattern termasuk Structural Pattern.
Facade pattern memisahkan layer-layer yang terlibat sehingga layer-layer tersebut tidak
bergantung satu sama lain. Hal itu menjadikan masing-masing layer dapat dengan mudah
untuk dikembangkan.
KONSEP DESAIN PATTERN
7. Proxy
Proxy pattern adalah design pattern dimana ada sebuah class yang dimana class tersebut
mempresentasikan fungsionalitas class yang lain. Pattern ini mewakili fungsionalitas objek
lain yang seolah-olah class tersebut lah yang melakukannya. Proxy pattern ini termasuk ke
dalam Structural Pattern.
Ad

Recommended

Part 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
Rolly Yesputra
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
眼若鴻 ≪
Pemrogaman Visual Basic.NET (Modul 4)
Pemrogaman Visual Basic.NET (Modul 4)
Materi Kuliah Online
Pengenalan OOP
Pengenalan OOP
daffa12
Resume aplinet
Resume aplinet
Mais Weli Ropiah
Object oriented programming (oop)
Object oriented programming (oop)
MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
rahmantoyuri
Uts pemrograman berbasis obj
Uts pemrograman berbasis obj
JulianGultom2
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
ProdiTIPenusa
Tugas resume aplikasi internet
Tugas resume aplikasi internet
Reyan Yui
Interfaces & abstrack classes UNP Padang.pptx
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
DzulFadliRahman1
Modul oop with java application mauludin
Modul oop with java application mauludin
Mauludin Ahmad
Resume aplinet oop mvc
Resume aplinet oop mvc
Sam_Azzam
Pengenalan Java
Pengenalan Java
Laili Aidi
Abu yanto tugas resume aplinet
Abu yanto tugas resume aplinet
abuyanto
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
Materi delphi
Materi delphi
Rhendy Thanaya
Pengertian pemrograman terstruktur
Pengertian pemrograman terstruktur
Putri Sari
Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316
septianarul
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
#3 OOP.pptx
#3 OOP.pptx
GDSC2
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming Lanjutan
Rolly Yesputra
Second task bu okta 2 edit
Second task bu okta 2 edit
Fhaiz Al-Ghazaly
Resume tentang oop dalam php
Resume tentang oop dalam php
hendrajuniarto
Tugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman java
Ajat Sudrajat
Modul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan
4. K3 Forklift presentasi untuk umum.ppt
4. K3 Forklift presentasi untuk umum.ppt
IchankIchal
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
ReginaMardatillah1

More Related Content

Similar to 516206149-Solid-Principle-Dan-Design-Pattern.pptx (20)

Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
ProdiTIPenusa
Tugas resume aplikasi internet
Tugas resume aplikasi internet
Reyan Yui
Interfaces & abstrack classes UNP Padang.pptx
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
DzulFadliRahman1
Modul oop with java application mauludin
Modul oop with java application mauludin
Mauludin Ahmad
Resume aplinet oop mvc
Resume aplinet oop mvc
Sam_Azzam
Pengenalan Java
Pengenalan Java
Laili Aidi
Abu yanto tugas resume aplinet
Abu yanto tugas resume aplinet
abuyanto
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
Materi delphi
Materi delphi
Rhendy Thanaya
Pengertian pemrograman terstruktur
Pengertian pemrograman terstruktur
Putri Sari
Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316
septianarul
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
#3 OOP.pptx
#3 OOP.pptx
GDSC2
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming Lanjutan
Rolly Yesputra
Second task bu okta 2 edit
Second task bu okta 2 edit
Fhaiz Al-Ghazaly
Resume tentang oop dalam php
Resume tentang oop dalam php
hendrajuniarto
Tugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman java
Ajat Sudrajat
Modul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan
Pertemuan 2 Konsep Dasar Pemrograman OOP
Pertemuan 2 Konsep Dasar Pemrograman OOP
ProdiTIPenusa
Tugas resume aplikasi internet
Tugas resume aplikasi internet
Reyan Yui
Interfaces & abstrack classes UNP Padang.pptx
Interfaces & abstrack classes UNP Padang.pptx
RizalSitanggang1
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
DzulFadliRahman1
Modul oop with java application mauludin
Modul oop with java application mauludin
Mauludin Ahmad
Resume aplinet oop mvc
Resume aplinet oop mvc
Sam_Azzam
Pengenalan Java
Pengenalan Java
Laili Aidi
Abu yanto tugas resume aplinet
Abu yanto tugas resume aplinet
abuyanto
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
Pengertian pemrograman terstruktur
Pengertian pemrograman terstruktur
Putri Sari
Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316
septianarul
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
AliKhumaidi4
#3 OOP.pptx
#3 OOP.pptx
GDSC2
Part 9 - Object Oriented Programming Lanjutan
Part 9 - Object Oriented Programming Lanjutan
Rolly Yesputra
Second task bu okta 2 edit
Second task bu okta 2 edit
Fhaiz Al-Ghazaly
Resume tentang oop dalam php
Resume tentang oop dalam php
hendrajuniarto
Tugas Rekayasa Web instilah pada pemrograman java
Tugas Rekayasa Web instilah pada pemrograman java
Ajat Sudrajat
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan

Recently uploaded (14)

4. K3 Forklift presentasi untuk umum.ppt
4. K3 Forklift presentasi untuk umum.ppt
IchankIchal
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
ReginaMardatillah1
Bab 2_Kesetimbangan Gaya matakuliah mektek
Bab 2_Kesetimbangan Gaya matakuliah mektek
AhmadZubairSultanJur
Presentasi_Autopsy_Forensik_Digital.pptx
Presentasi_Autopsy_Forensik_Digital.pptx
christopernkunku25
Pertemuan 3-4#Kendali Industri Dasar.pdf
Pertemuan 3-4#Kendali Industri Dasar.pdf
adyapakaapatya2
mekanika tanah 1 tulisan dari hary christady
mekanika tanah 1 tulisan dari hary christady
MikeJoyful
rangkuman untuk Bahan Ajar Mekanika Tanah
rangkuman untuk Bahan Ajar Mekanika Tanah
MikeJoyful
persetasi, awal pekerjaan...............
persetasi, awal pekerjaan...............
teynomas
Johanes_KSOP%20Kelas%20II%20Cilacap_Talent%20Scouting%20DJPL%202024.pdf.pdf
Johanes_KSOP%20Kelas%20II%20Cilacap_Talent%20Scouting%20DJPL%202024.pdf.pdf
JohanesDenggan1
PCM BLK Kediri..........................
PCM BLK Kediri..........................
teynomas
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
AminMustofa16
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
Groupy -
kekuatan sambungan las teknik mesin d3.pdf
kekuatan sambungan las teknik mesin d3.pdf
setya1350
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
sasuken798
4. K3 Forklift presentasi untuk umum.ppt
4. K3 Forklift presentasi untuk umum.ppt
IchankIchal
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
693045089-4A-Penyusunan-DED-dan-RAB-Air-Unit-Air-baku.pptx
ReginaMardatillah1
Bab 2_Kesetimbangan Gaya matakuliah mektek
Bab 2_Kesetimbangan Gaya matakuliah mektek
AhmadZubairSultanJur
Presentasi_Autopsy_Forensik_Digital.pptx
Presentasi_Autopsy_Forensik_Digital.pptx
christopernkunku25
Pertemuan 3-4#Kendali Industri Dasar.pdf
Pertemuan 3-4#Kendali Industri Dasar.pdf
adyapakaapatya2
mekanika tanah 1 tulisan dari hary christady
mekanika tanah 1 tulisan dari hary christady
MikeJoyful
rangkuman untuk Bahan Ajar Mekanika Tanah
rangkuman untuk Bahan Ajar Mekanika Tanah
MikeJoyful
persetasi, awal pekerjaan...............
persetasi, awal pekerjaan...............
teynomas
Johanes_KSOP%20Kelas%20II%20Cilacap_Talent%20Scouting%20DJPL%202024.pdf.pdf
Johanes_KSOP%20Kelas%20II%20Cilacap_Talent%20Scouting%20DJPL%202024.pdf.pdf
JohanesDenggan1
PCM BLK Kediri..........................
PCM BLK Kediri..........................
teynomas
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
4 Instalasi Sistem Feeder Antenna & Propagasi.pdf
AminMustofa16
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
penggunaan-model-hidrologi-swat-soil-and-water-assessment-tn17a9m6td.pdf
Groupy -
kekuatan sambungan las teknik mesin d3.pdf
kekuatan sambungan las teknik mesin d3.pdf
setya1350
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
Sektor Industri dan Industrialisasi_20250602_094547_0000.pdf
sasuken798
Ad

516206149-Solid-Principle-Dan-Design-Pattern.pptx

  • 1. Solid Principle dan Design Pattern OLEH : ADITYA NOFRIANSYAH . L F55117050 FAKULTAS TEKNIK PRODI S-1 TEKNIK INFORMATIKA JURUSAN TEKNOLOGI INFORMASI UNIVERSITAS TADULAKO 2020
  • 2. SOLID PRINCIPLE Prinsip SOLID ini dicetuskan oleh Paman Bob sekitar tahun 1995-an, yang mana kompilasi kita diimplementasikan dalam pengembangan perangkat lunak dengan pendekatan berbasis objek (berorientasi objek), diharapkan akan membuat kode program menjadi lebih adaptif demi memudahkan dalam pemeliharaan.
  • 3. 1. Single Responsibility Principle Sebuah class harus memiliki satu, dan hanya satu alasan untuk berubah.Satu class hanya boleh mengerjakan satu tujuan. Anti multitasking- multitasking club. Hindari menciptakan GOD Class yang mampu mengerjakan banyak hal. Semua methods dan properties harus bekerja untuk mengerjakan tujuan yang sama. Ketika sebuah class sudah mulai mengerjakan beberapa tujuan, maka class tersebut harus dipecah menjadi class baru. Atau ketika sebuah class memiliki lebih dari satu alasan untuk berubah, maka class tersebut harus dipecah menjadi class baru.
  • 4. 2. Open/Closed Principle Prinsip kedua ini adalah misalnya ada sebuah tim programmer yang sedang mengerjakan sebuah aplikasi, suatu hari ada sebuah class yang ditulis oleh seorang programmer , nah setelah seorang programmer selesai menulis class-nya ada programmer/client lain yang ingin menggunakan class yang dibuat oleh seorang programmer tersebut namun dia menginginkan ada beberapa perubahan pada class tersebut. Nah, seharusnya programmer/client dapat dengan mudah meng-extend class yang dibuat oleh seorang programmer. Tetapi dengan catatan bahwa programmer/client tidak perlu merubah class yang ditulis oleh programmer. Artinya, sebuah class harus terbuka (open) untuk di extends, tapi tertutup (close) untuk modifikasi. Kalau diterjemahkan secara harafiah, developer yang akan edit dikemudian hari, harus tidak dapat mengubah system / class yang sudah ada / berjalan, tapi juga, dia harus dapat dengan mudah meng-extend class itu. Keuntungannya dari Open Close ini adalah semakin sedikit kemungkinan modifikasi yang dilakukan terhadap source utama, sehingga kemungkinan terjadinya "Dulu parameternya A aja sudah jalan, sekarang harus A dan B" dan "Karena ada fitur X ditambahkan, jadi hasil nya berubah dari {"a":[1,2,3]} jadi {"ax":{"data":[1,2,3], "name":"abc"}} "
  • 5. 3. Liskov Substitution Principle Class induk harus dapat dengan mudah digantikan dengan class turunannya tanpa menghancurkan keseluruhan aplikasi. Liskov Substitution Principle (LSP, biar gampang), berkata, Object yg memiliki interface yang sama, harus dapat di-pertukarkan (interchangeable), tanpa mempengaruhi cara / behaviour sebuah program berjalan.
  • 6. 4. Interface Segregation Principle Jika sudah mulai belajar PBO, pastinya tidak asing dengan yang namanya interface. Yak, maksud dari prinsip yang ke empat ini sangatlah sederhana yaitu banyak interface yang memiliki tujuan spesifik lebih baik daripada hanya satu interface namun memiliki banyak tujuan.
  • 7. 5. Dependency Inversion Pengertian dari prinsip ini adalah bahwa class yang dikategorikan sebagai high-level class tidak boleh bergantung pada low-level class tetapi harus bergantung pada abstraksi.
  • 8. DESIGN PATTERN Design pattern adalah solusi (best practice) umum untuk masalah yang sering terjadi dalam pengembangan software. Setiap framework dibangun dengan menggunakan konsep-konsep design pattern. Konsep ini semakin berkembang karena konsep Object Oriented Programming (OOP) dan sekaligus OOP semakin berkembang karena adanya design pattern.
  • 9. KONSEP DESAIN PATTERN 1. Singleton Singleton method pattern yaitu konsep yang membatasi instance class hanya satu, atau dengan kata lain tidak boleh ada dua object untuk class tersebut.
  • 10. KONSEP DESAIN PATTERN 2. Factory Factory method pattern merupakan salah satu jenis desain pattern creational, artinya pattern model ini menangani pembuatan sebuah object. Definisi dari desain pattern factory method ini secara gampangnya adalah pola yang memungkinkan sebuah method menghasilkan return values yang sama walapun inputnya berbeda.
  • 11. KONSEP DESAIN PATTERN 3. Abstract Factory Factory Method adalah salah satu contoh konsep design pattern ,yang dapat memisahkan pembuatan , pada objek produk dengan objek client(Main Class). Secara konsep penggunaan pattern ini adalah perubahan pada class produk tidak akan berpengaruh pada class client class yang menggunakan pattern ini akan membuat suatu method dengan tipe return value yang sama namun dengan input data yang berbeda-beda serta dapat digunakan oleh banyak class. Jadi analoginya sama seperti contoh pabrik pada umumnya pengguna atau konsumen tidak harus tahu menahu tentang nama dan proses pembuatan dari suatu produk yang diminta.
  • 12. KONSEP DESAIN PATTERN 4. Builder Builder adalah salah satu contoh konsep design pattern yang dapat digunakan untuk membangun objek kompleks yang memiliki banyak atribut. Suatu contoh kasus ketika kita ingin menampilkan semua nilai dalam satu objek yang tidak bisa dilakukan oleh pattern lain , seperti factory pattern dan abstract factory ,karena keterbatasan penggunaanya, kita bisa menggunakan pattern ini sebagai cara alternatif. Untuk penerapanya juga tergolong sederhana , karena kita hanya membuat 1 static class saja di dalam class utama ,kita buat atribut dan method yang diperlukan di dalamnya. Lalu kita buat dan panggil objek lewat class client(Main Class) setelah itu. Pada artikel belajar java kali ini ,kita akan mencoba membuat contoh penggunaan dari builder pattern ini di bahasa pemrograman java
  • 13. KONSEP DESAIN PATTERN 5. Bridge Bridge Pattern merupakan sebuah pola yang memisahkan antara desain interface dengan implementasinya. Tujuan dari pola ini adalah sebagai pola/kontrak yang harus dipenuhi oleh class yang akan meng-implements-nya. Contoh pada hewan, tiap-tiap hewan memiliki ciri khas suara yang berbeda namun sama-sama memiliki suara. Kita bisa saja membuat sebuah method dengan cara manual yaitu dengan membuat method di tiap-tiap class hewan.
  • 14. KONSEP DESAIN PATTERN 5. Bridge Bridge Pattern merupakan sebuah pola yang memisahkan antara desain interface dengan implementasinya. Tujuan dari pola ini adalah sebagai pola/kontrak yang harus dipenuhi oleh class yang akan meng-implements-nya. Contoh pada hewan, tiap-tiap hewan memiliki ciri khas suara yang berbeda namun sama-sama memiliki suara. Kita bisa saja membuat sebuah method dengan cara manual yaitu dengan membuat method di tiap-tiap class hewan.
  • 15. KONSEP DESAIN PATTERN 6. Fa巽ade Facade pattern adalah design pattern yang menyembunyikan kompleksitas sistem dan menyediakan antarmuka yang telah disederhanakan kepada klient untuk mengakses sistem. Pattern ini melibatkan satu kelas yang menyediakan function yang digunakan user untuk mengakses function system. Facade pattern termasuk Structural Pattern. Facade pattern memisahkan layer-layer yang terlibat sehingga layer-layer tersebut tidak bergantung satu sama lain. Hal itu menjadikan masing-masing layer dapat dengan mudah untuk dikembangkan.
  • 16. KONSEP DESAIN PATTERN 7. Proxy Proxy pattern adalah design pattern dimana ada sebuah class yang dimana class tersebut mempresentasikan fungsionalitas class yang lain. Pattern ini mewakili fungsionalitas objek lain yang seolah-olah class tersebut lah yang melakukannya. Proxy pattern ini termasuk ke dalam Structural Pattern.