SlideShare a Scribd company logo
1 of 65
Download to read offline
Miles, Russ & Hamilton, Kim,
2006,
Oreilly Publisher ,
Learning UML 2.0
286 Page
Mukharil Bachtiar, Adam dan
Nizamudin Fakhrul, Firman,
2018,
Penerbit Informatika,
Pemrograman berorientasi
objek menggunakan java,
262 Halaman
1. Penjelasan Umum Relasi Kelas
2. Penjelasan Derajat Relasi Kelas
3. Konsep dan Simulasi Relasi Kelas Dependency
4. Konsep dan Simulasi Relasi Kelas Association
5. Konsep dan Simulasi Relasi Kelas Aggregation
6. Konsep dan Simulasi Relasi Kelas Composition
7. Konsep Relasi Kelas Generalisasi (Inheritance)
8. Penjelasan Konsep MVC
Buatlah program sesuaidengan gambar class diagram dibawah ini
dan implementasi coding nya dengan konsep pendekatan
berbasis objek sehingga menghasilkan output seperti berikut:
Buatlah program sesuaidengan gambar class
diagram dan implementasi coding nya
dengan konsep pendekatan berbasis
objek untuk menyelesaikan studi kasus dengan
ketentuan sebagai berikut:
• Inputan didalam coding, (tidak dari keyboard user)
Output :
Simak baik-baik gambar berikut :
Buatlah sebuah program
yang berisikan karakter
akatsuki dari serial
anime naruto disamping
dengan pendekatan
berbasis objek. Silahkan
eksplorasi Syarat nya :
1. Harus
mengimplementasi
konsep inheritance
2. Harus
mengimplementasi
konsep
polimorphism
3. Buatlah Gambar
Class diagram
4. Buatlah codingan &
konsep output
sesuai eksplorasi
yang kamu buat
• Class adalah sebuah spesifikasi yang jika di-instansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi class, package dan objek
beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan
lain-lain.
• Class diagram mirip ER-Diagram pada perancangan database, bedanya pada ER-
diagram tdk terdapat operasi/methode tapi hanya atribut. Class terdiri dari
nama kelas, atribut dan operasi/methode.
• PBO mengambil realita dari kehidupan di dunia nyata
• Objek-objek didunia nyata memiliki relasi tertentu
• Relasi adalah koneksi logis, hubungan antar objek / kelas
• Tidak semua relasi kelas menggunakan relasi IS A.
Dibeberapa kasus dapat juga menggunakan konsep HAS A
sebagai relasi.
• Terlihat dari gambar, hubungan HAS A yakni antara papan
tulis dan ruang kelas.
• Ada juga yang menggunakan konsep USES seperti Montir
dan Kunci Inggris.
• Kelas tidak bekerja sendiri. Kelas bekerja sama dengan masing-masing
jenis relasinya
• Kekuatan relasi kelas didasarkan pada seberapa tergantung kelas yang
terlibat dalam relasi itu satu sama lain.
• Dua kelas yang sangat tergantung satu sama lain dikatakan saling terkait
erat; perubahan pada satu kelas kemungkinan besar akan
mempengaruhi kelas lainnya.
• Semakin kuat relasi nya, semakin Anda harus berhati-hati.
• Relasi kelas memiliki derajat relasi.
• Derajat relasi menyatakan sebarapa banyak
objek dari suatu kelas akan berelasi dengan
kelas lain
• Konsep Entity Relationship di konsep basis
data adalah konsep berlainan dengan relasi
pada class diagram
• Relasi pada class = pertamuan objek pada
suatu kelas ke kelas lain. Dibanding ER yang
konsepnya menamukan kunci tamu.
• Level relasi
• Instance level (tingkat objek)
• Class level (tingkat kelas)
• General level
• Menunjukkan apakah relasi tersebut
merupakan opsional atau mandatory (wajib)
• Contoh Depedency :
UserInterface tergantung pada kelas BlogEntry karena akan perlu membaca konten entri
blog untuk menampilkannya kepada pengguna
• Depedency sering digunakan ketika Anda memiliki kelas yang menyediakan satu set fungsi
utilitas tujuan umum, seperti dalam paket reguler ekspresi Java (java.util.regex) dan
matematika (java.math). Kelas bergantung pada kelas java.util.regex dan java.math untuk
menggunakan utilitas yang ditawarkan kelas-kelas itu.
• Menggambarkan relasi USES
• Depedency hanya menyiratkan bahwa objek kelas dapat bekerja
bersama; oleh karena itu, depedency dianggap sebagai
hubungan langsung terlemah yang dapat ada di antara dua kelas
• Kunci : objek yang berelasi hanya bertamu di method-method
yang ada di kelas yang berelasi
• Contoh Asosiasi :
Kelas BlogAccount secara opsional dikaitkan dengan nol atau lebih objek
dari kelas BlogEntry; BlogEntry juga dikaitkan dengan satu dan hanya satu
BlogAccount
• Depedency hanya memungkinkan satu
kelas untuk menggunakan objek dari
kelas lain,
• Asosiasi berarti bahwa suatu kelas akan
benar-benar berisi referensi ke objek,
atau objek, dari kelas lain dalam bentuk
atribut.
• Jika Anda mendapati diri Anda
mengatakan bahwa suatu kelas bekerja
dengan objek dari kelas lain, maka
hubungan antara kelas-kelas tersebut
adalah kandidat yang bagus untuk
asosiasi daripada hanya depedency.
• NAVIGABILITY
Navigabilitas sering diterapkan pada hubungan asosiasi untuk
menggambarkan kelas mana yang berisi atribut yang mendukung
hubungan.
Kelas BlogAccount dan BlogEntry tanpa kemampuan navigasi
yang diterapkan pada hubungan asosiasi mereka
• NAVIGABILITY
Dengan kemampuan navigasi yang diterapkan, hanya kelas
BlogAccount yang mengandung atribut perkenalan
• Relasi assosiasi menyatakan relasi antar dua kelas terpisah
yang relasinya terjadi melalui pertamuan objek dari masing-
masing kelas di bagian atributnya.
• Relasi ini menjadikan instace dari class lainnya sebagai
atribut dirinya
• Jenis assosiasi ada dua, yaitu
1. Bidirectional(dua arah) -> Relasi dimana objek masing-
masing kelas akan dimiliki oleh masing-masing kelas
lainnya yang saling berelasi
2. Unidirectional (Satu arah) -> Relasi yang hanya satu
kelas saja yang memiliki objek kelas lainnya yang
berelasi dengan dirinya.
• Pada relasi ini, tidak dikenal kepemilikan atas objek yang
saling berelasi. Kedua jenis objek hanya akan berelasi ketika
method yang memasangkannya di panggil
BlogEntry dikaitkan dengan seorang Penulis berdasarkan fakta
bahwa itu terkait dengan BlogAccount tertentu
• Dalam kasus banyak ke banyak, akan ada beberapa objek saling berasosiasi
• Kita memerlukan konsep kelas association
• Kelas ini muncul karena adanya relasi degnan multiplicity banyak ke banyak
di mana kelas ini akan menyimipan objek dari kedua kelas yang saling
berelasi
Contoh Agregasi :
Agregasi sebenarnya hanya versi asosiasi yang lebih kuat dan digunakan untuk menunjukkan
bahwa suatu kelas benar-benar memiliki tetapi dapat berbagi objek dari kelas lain.
Sebenarnya, implementasi kode Java untuk hubungan agregasi persis sama dengan
implementasi untuk hubungan asosiasi; itu menghasilkan pengenalan atribut.
• Hubungan agregasi dapat menunjukkan bahwa seorang Penulis memiliki koleksi blog.
Hubungan antara seorang penulis dan blog-nya, jauh lebih kuat dari sekadar asosiasi.
• Seorang penulis memiliki blognya, dan meskipun ia mungkin membaginya dengan penulis lain,
• Pada akhirnya, blognya adalah miliknya sendiri, dan jika ia memutuskan untuk menghapus salah
satu blognya, maka ia tetap bisa!
• Relasi aggregation = spesialisasi relasi Association
• Menggambarkan hubungan HAS A
• Jenis aggregation = relasi Unidirectional
• Memiliki Konsep kepemilikan
• Objek dari masing-masing kelas memiliki dan menentukan siklus hidupnya
masing-masing
• Kapan sebuah objek harus diinstansiasi atau dihancurkan dan keduanya tidak
mengadakan atau meniadakan objek dari kelas lain
• Memiliki konsep child & parent = menggambarkan hubungan pemanggilan
dimana objek child class akan dipanggil dan digunakan pada parent class
• Aggregasi memiliki konsep relasi yang lemah dibanding composition
• Objek child class tidak diinstansiasi di parent class sehingga keberadaan parent
class tidak adakan memberikan pengaruh terhadap objek dari child class
• Contoh : ProgramStudi dengan dosen.
• ProgramStudi punya beberapa dosen tapi tidak mutlak
sifatnya, artinya ketika objek dari program studi dihancurkan
maka objek dari dosen akan tetap ada.
Contoh Composisi :
• Komposisi adalah hubungan yang bahkan lebih kuat daripada agregasi, meskipun mereka
bekerja dengan cara yang sangat mirip. Komposisi ditampilkan menggunakan panah
berlian tertutup, atau diisi
• Mirip dengan agregasi, implementasi kode Java untuk hubungan komposisi hanya
menghasilkan pengenalan atribut.
• BlogEntry terdiri dari Introduction dan
MainBody
• Class entri blog introduction dan bagian
mainBody sebenarnya adalah bagian dari entri
blog itu sendiri dan biasanya tidak akan
dibagikan dengan bagian lain dari sistem.
• Jika entri blog dihapus, maka bagian yang
terkait juga dihapus. Inilah komposisi
sebenarnya: Anda memodelkan bagian internal
yang membentuk kelas.
• Spesialisasi dari relasi aggregation
• Menggambarkan hubungan PART OP
dimana Child akan menjadi bagian dari
parent class
• DEATH RELATIONSHIP : Objek dari child
class akan diinstansiasi didalam parent
class sehingga apabila parent class tidak
diinstansiasi maka child class juga akan
ikut tidak terinstansiasi
• Contoh komposisi : hubungan kelas PC
dan komponen penyusunnya
(Motherboard, RAM, VGA, dll)
• Relasi Association lebih menjelaskan
konsep relasi yag terjadi antar kelas
dengan pertukaran objek
• Relasi Aggregation menjelaskan konsep
kepemilikan HAS A tanpa
mempengaruhi sikus hidup dari objek
yang direalisasikan
• Relasi Composition menjelaskan konsep
tentang objek yang berelasi merupakan
bagian dari kelas lainnya PART-OP
• Relasi aggregation digunakan apabila dua kelas
yang akan direlasikan tidak saling mengadakan
atau mendiadakan, sedangkan composition
sebaliknya
GENERALISASI :
• Generalisasi dan pewarisan digunakan untuk
menggambarkan kelas yang merupakan jenis
kelas lain.
• Contoh disamping, Menunjukkan bahwa
BlogEntry dan WikiPage adalah kedua jenis
Artikel
• Kelas yang lebih umum yang diwarisi dari
ujung panah dari hubungan generalisasi, Kelas
yang lebih khusus yang melakukan pewarisan
BlogEntry dan WikiPage dalam hal ini sering
disebut sebagai kelas turunan.
• Kelas khusus mewarisi semua atribut dan
metode yang dideklarasikan dalam kelas
umum dan dapat menambahkan operasi dan
atribut yang hanya berlaku dalam kasus
khusus.
• Istilah HAS A dan IS A telah menjadi cara yang diterima untuk
memutuskan apakah hubungan antara dua kelas adalah agregasi
atau generalisasi.
• Jika Anda menyatakan bahwa suatu kelas memiliki bagian yang
merupakan objek dari kelas lain, maka hubungannya mungkin adalah
hubungan, agregasi, atau komposisi.
• Jika Anda mengatakan bahwa suatu kelas adalah jenis kelas lain,
maka Anda mungkin ingin mempertimbangkan untuk menggunakan
generalisasi.
1. Kebutuhan yang akan datang sering tidak bisa dipahami dan merupakan sebuah
hal yang sering sekali berubah.
2. Usaha untuk menggunakan kembali (reuse) sering kali berujung melibatkan
komponen-komponen yang sebenarnya tidak bisa digunakan kembali (not
reusable) dan sering kali gagal untuk dilakukan.
3. Sering sekali terjadi, programer dan sistem analis kehilangan gambaran secara
umum tentang apa yang dimaksud dengan kebutuhan yang akan datang.
4. Para pengembang cenderung melihat permasalahan ke arah permasalahan
coding. Pengembang gagal melihat bahwa penyelesaian masalah melalui
kekuatan perancangan/desain adalah sesuatu yang patut dipertimbangkan dan
merupakan jalur yang tepat.
5. Style coding soerang programmer dengan programmer lain berbeda.
DESIGN PATTERN merupakan penjelasan atau template yang
menunjukkan bagaimana cara menyelesaikan sebuah masalah yang
kemudian dapat digunakan di berbagai situasi yang berbeda-beda.
Pola desain untuk object-oriented biasanya menunjukkan relasi dan
interaksi antar kelas dan objek, tanpa menjelaskan kelas dan objek
akhir yang terlibat dalam sebuah aplikasi.
DESIGN PATTERN ADALAH suatu solusi yang umum dilakukan untuk
menangani masalah perancangan software. Design Pattern yang cukup
populer diperkenalkan oleh GOF(Gang Of Four). Dewanya Design
diantaranya adalah Erich Gamma, Richard Helm, Ralph Johnson dan John
Vlissides.
Dalam penjelasan dari Gang Of Four(GoF) terdapat 23 Pattern yang di bagi
menjadi 3 kelompok besar.
yakni diantaranya
1. Creation Patterns(cara Class/object di inisialisasi)
2. Structural Patterns (Struktur/ relasi antar object/class)
3. Behavior Patterns (Tingkah laku atau fungsi dari class/object)
1. Design yang berulang, lebih effisien dari hanya penggunaan code yang
berulang.
2. Menangani permasalahan yang umum dihadapi oleh system designer.
3. Dengan menggunakan Design Pattern akan lebih mudah bagi orang lain
memahami apa yang anda lakukan dan mengapa.
4. Design Patter membantu anda untuk refactoring code anda dengan
mudah
Konsep MVC (Model-View-Controller) merupakan
salah satu penerapan compound design pattern
dalam pemrograman berorientasi objek, dimana
konsep ini membedakan kelas-kelas
yang merepresentasikan data (Model) dengan
kelas-kelas yang mengatur tampilan
program (View) dan kelas-
kelas pengaturan data (Controller).
https://www.youtube.com/watch?v=0YXwbVuSICU
https://www.youtube.com/watch?v=w7jGcv2-eaM
https://www.youtube.com/watch?v=WgF04DZew7s&t=220s
https://www.youtube.com/watch?v=MWFlrxC5Fzg
https://www.youtube.com/watch?v=IthT8yWBaBA

More Related Content

What's hot

5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRSSeptian Rico Hernawan
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Farichah Riha
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3SMK Nurul Jadid
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objekrizki adam kurniawan
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi GraphZaldy Eka Putra
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktoprizki adam kurniawan
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur DataMade Aditya
 

What's hot (20)

Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Bab III Class Diagram
Bab III Class DiagramBab III Class Diagram
Bab III Class Diagram
 
Data Management (Relational Database)
Data Management (Relational Database)Data Management (Relational Database)
Data Management (Relational Database)
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRS
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3Minggu 1 - Using Alice 3
Minggu 1 - Using Alice 3
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur Data
 

Similar to Relasi Kelas

04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeansAgust Gustavo
 
04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeansSamir Nasir
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat LunakUML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat Lunakraissazivana
 
Pengenalan OOP
Pengenalan OOPPengenalan OOP
Pengenalan OOPdaffa12
 
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...gdscuniversitassafin
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxDzulFadliRahman1
 
RPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfRPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfErlangga22
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJurnal IT
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
P6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptP6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptskripsifidyabaru
 

Similar to Relasi Kelas (20)

04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeans
 
04 class diagram-uml-netbeans
04 class diagram-uml-netbeans04 class diagram-uml-netbeans
04 class diagram-uml-netbeans
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat LunakUML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
 
Pengenalan OOP
Pengenalan OOPPengenalan OOP
Pengenalan OOP
 
4_Class Diagram.pdf
4_Class Diagram.pdf4_Class Diagram.pdf
4_Class Diagram.pdf
 
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...
Study Jam Andorid #3 Building Object-Oriented Programming Foundations with Ko...
 
08 model oo
08 model oo08 model oo
08 model oo
 
10 Model Statis
10 Model Statis10 Model Statis
10 Model Statis
 
Tugas resum
Tugas resumTugas resum
Tugas resum
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptxPengantar Pengembangan Sistem Berorientasi Objek.pptx
Pengantar Pengembangan Sistem Berorientasi Objek.pptx
 
Class diagram
Class diagramClass diagram
Class diagram
 
Class diagram
Class diagramClass diagram
Class diagram
 
Class diagram
Class diagramClass diagram
Class diagram
 
RPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdfRPL-5.OOAD UML(2).pdf
RPL-5.OOAD UML(2).pdf
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
Pbo10
Pbo10Pbo10
Pbo10
 
Pbo
PboPbo
Pbo
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
P6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .pptP6_Class-Diagram yang diperlukan untuk merancang .ppt
P6_Class-Diagram yang diperlukan untuk merancang .ppt
 

More from rizki adam kurniawan

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusiarizki adam kurniawan
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysisrizki adam kurniawan
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collectionrizki adam kurniawan
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Androidrizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)rizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)rizki adam kurniawan
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)rizki adam kurniawan
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktorrizki adam kurniawan
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEWrizki adam kurniawan
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2rizki adam kurniawan
 

More from rizki adam kurniawan (20)

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia
 
[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak
 
[RPL2] Growth Hacking
[RPL2] Growth Hacking[RPL2] Growth Hacking
[RPL2] Growth Hacking
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis
 
[RPL2] Deployment Diagram
[RPL2] Deployment Diagram[RPL2] Deployment Diagram
[RPL2] Deployment Diagram
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android
 
[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)
 
[RPL2] Design Sprint
[RPL2] Design Sprint[RPL2] Design Sprint
[RPL2] Design Sprint
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor[PBO] Pertemuan 4 - Kontruktor Destruktor
[PBO] Pertemuan 4 - Kontruktor Destruktor
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW[RPL2] Pertemuan 3 - UML dan USECASE VIEW
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
 
[RPL2] Pertemuan 2 - Validasi Ide
[RPL2] Pertemuan 2 - Validasi Ide[RPL2] Pertemuan 2 - Validasi Ide
[RPL2] Pertemuan 2 - Validasi Ide
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
 
[PBO] Pertemuan 4 - Getter Setter
[PBO] Pertemuan 4 - Getter Setter[PBO] Pertemuan 4 - Getter Setter
[PBO] Pertemuan 4 - Getter Setter
 

Relasi Kelas

  • 1.
  • 2. Miles, Russ & Hamilton, Kim, 2006, Oreilly Publisher , Learning UML 2.0 286 Page Mukharil Bachtiar, Adam dan Nizamudin Fakhrul, Firman, 2018, Penerbit Informatika, Pemrograman berorientasi objek menggunakan java, 262 Halaman
  • 3. 1. Penjelasan Umum Relasi Kelas 2. Penjelasan Derajat Relasi Kelas 3. Konsep dan Simulasi Relasi Kelas Dependency 4. Konsep dan Simulasi Relasi Kelas Association 5. Konsep dan Simulasi Relasi Kelas Aggregation 6. Konsep dan Simulasi Relasi Kelas Composition 7. Konsep Relasi Kelas Generalisasi (Inheritance) 8. Penjelasan Konsep MVC
  • 4.
  • 5. Buatlah program sesuaidengan gambar class diagram dibawah ini dan implementasi coding nya dengan konsep pendekatan berbasis objek sehingga menghasilkan output seperti berikut:
  • 6. Buatlah program sesuaidengan gambar class diagram dan implementasi coding nya dengan konsep pendekatan berbasis objek untuk menyelesaikan studi kasus dengan ketentuan sebagai berikut: • Inputan didalam coding, (tidak dari keyboard user) Output :
  • 7. Simak baik-baik gambar berikut : Buatlah sebuah program yang berisikan karakter akatsuki dari serial anime naruto disamping dengan pendekatan berbasis objek. Silahkan eksplorasi Syarat nya : 1. Harus mengimplementasi konsep inheritance 2. Harus mengimplementasi konsep polimorphism 3. Buatlah Gambar Class diagram 4. Buatlah codingan & konsep output sesuai eksplorasi yang kamu buat
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. • Class adalah sebuah spesifikasi yang jika di-instansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). • Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. • Class diagram mirip ER-Diagram pada perancangan database, bedanya pada ER- diagram tdk terdapat operasi/methode tapi hanya atribut. Class terdiri dari nama kelas, atribut dan operasi/methode.
  • 13. • PBO mengambil realita dari kehidupan di dunia nyata • Objek-objek didunia nyata memiliki relasi tertentu • Relasi adalah koneksi logis, hubungan antar objek / kelas • Tidak semua relasi kelas menggunakan relasi IS A. Dibeberapa kasus dapat juga menggunakan konsep HAS A sebagai relasi. • Terlihat dari gambar, hubungan HAS A yakni antara papan tulis dan ruang kelas. • Ada juga yang menggunakan konsep USES seperti Montir dan Kunci Inggris.
  • 14.
  • 15. • Kelas tidak bekerja sendiri. Kelas bekerja sama dengan masing-masing jenis relasinya • Kekuatan relasi kelas didasarkan pada seberapa tergantung kelas yang terlibat dalam relasi itu satu sama lain. • Dua kelas yang sangat tergantung satu sama lain dikatakan saling terkait erat; perubahan pada satu kelas kemungkinan besar akan mempengaruhi kelas lainnya. • Semakin kuat relasi nya, semakin Anda harus berhati-hati.
  • 16. • Relasi kelas memiliki derajat relasi. • Derajat relasi menyatakan sebarapa banyak objek dari suatu kelas akan berelasi dengan kelas lain • Konsep Entity Relationship di konsep basis data adalah konsep berlainan dengan relasi pada class diagram • Relasi pada class = pertamuan objek pada suatu kelas ke kelas lain. Dibanding ER yang konsepnya menamukan kunci tamu. • Level relasi • Instance level (tingkat objek) • Class level (tingkat kelas) • General level • Menunjukkan apakah relasi tersebut merupakan opsional atau mandatory (wajib)
  • 17.
  • 18. • Contoh Depedency : UserInterface tergantung pada kelas BlogEntry karena akan perlu membaca konten entri blog untuk menampilkannya kepada pengguna • Depedency sering digunakan ketika Anda memiliki kelas yang menyediakan satu set fungsi utilitas tujuan umum, seperti dalam paket reguler ekspresi Java (java.util.regex) dan matematika (java.math). Kelas bergantung pada kelas java.util.regex dan java.math untuk menggunakan utilitas yang ditawarkan kelas-kelas itu.
  • 19. • Menggambarkan relasi USES • Depedency hanya menyiratkan bahwa objek kelas dapat bekerja bersama; oleh karena itu, depedency dianggap sebagai hubungan langsung terlemah yang dapat ada di antara dua kelas • Kunci : objek yang berelasi hanya bertamu di method-method yang ada di kelas yang berelasi
  • 20.
  • 21.
  • 22.
  • 23. • Contoh Asosiasi : Kelas BlogAccount secara opsional dikaitkan dengan nol atau lebih objek dari kelas BlogEntry; BlogEntry juga dikaitkan dengan satu dan hanya satu BlogAccount • Depedency hanya memungkinkan satu kelas untuk menggunakan objek dari kelas lain, • Asosiasi berarti bahwa suatu kelas akan benar-benar berisi referensi ke objek, atau objek, dari kelas lain dalam bentuk atribut. • Jika Anda mendapati diri Anda mengatakan bahwa suatu kelas bekerja dengan objek dari kelas lain, maka hubungan antara kelas-kelas tersebut adalah kandidat yang bagus untuk asosiasi daripada hanya depedency.
  • 24. • NAVIGABILITY Navigabilitas sering diterapkan pada hubungan asosiasi untuk menggambarkan kelas mana yang berisi atribut yang mendukung hubungan. Kelas BlogAccount dan BlogEntry tanpa kemampuan navigasi yang diterapkan pada hubungan asosiasi mereka
  • 25. • NAVIGABILITY Dengan kemampuan navigasi yang diterapkan, hanya kelas BlogAccount yang mengandung atribut perkenalan
  • 26. • Relasi assosiasi menyatakan relasi antar dua kelas terpisah yang relasinya terjadi melalui pertamuan objek dari masing- masing kelas di bagian atributnya. • Relasi ini menjadikan instace dari class lainnya sebagai atribut dirinya • Jenis assosiasi ada dua, yaitu 1. Bidirectional(dua arah) -> Relasi dimana objek masing- masing kelas akan dimiliki oleh masing-masing kelas lainnya yang saling berelasi 2. Unidirectional (Satu arah) -> Relasi yang hanya satu kelas saja yang memiliki objek kelas lainnya yang berelasi dengan dirinya. • Pada relasi ini, tidak dikenal kepemilikan atas objek yang saling berelasi. Kedua jenis objek hanya akan berelasi ketika method yang memasangkannya di panggil
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. BlogEntry dikaitkan dengan seorang Penulis berdasarkan fakta bahwa itu terkait dengan BlogAccount tertentu
  • 33.
  • 34. • Dalam kasus banyak ke banyak, akan ada beberapa objek saling berasosiasi • Kita memerlukan konsep kelas association • Kelas ini muncul karena adanya relasi degnan multiplicity banyak ke banyak di mana kelas ini akan menyimipan objek dari kedua kelas yang saling berelasi
  • 35.
  • 36.
  • 37.
  • 38. Contoh Agregasi : Agregasi sebenarnya hanya versi asosiasi yang lebih kuat dan digunakan untuk menunjukkan bahwa suatu kelas benar-benar memiliki tetapi dapat berbagi objek dari kelas lain. Sebenarnya, implementasi kode Java untuk hubungan agregasi persis sama dengan implementasi untuk hubungan asosiasi; itu menghasilkan pengenalan atribut. • Hubungan agregasi dapat menunjukkan bahwa seorang Penulis memiliki koleksi blog. Hubungan antara seorang penulis dan blog-nya, jauh lebih kuat dari sekadar asosiasi. • Seorang penulis memiliki blognya, dan meskipun ia mungkin membaginya dengan penulis lain, • Pada akhirnya, blognya adalah miliknya sendiri, dan jika ia memutuskan untuk menghapus salah satu blognya, maka ia tetap bisa!
  • 39. • Relasi aggregation = spesialisasi relasi Association • Menggambarkan hubungan HAS A • Jenis aggregation = relasi Unidirectional • Memiliki Konsep kepemilikan • Objek dari masing-masing kelas memiliki dan menentukan siklus hidupnya masing-masing • Kapan sebuah objek harus diinstansiasi atau dihancurkan dan keduanya tidak mengadakan atau meniadakan objek dari kelas lain • Memiliki konsep child & parent = menggambarkan hubungan pemanggilan dimana objek child class akan dipanggil dan digunakan pada parent class • Aggregasi memiliki konsep relasi yang lemah dibanding composition • Objek child class tidak diinstansiasi di parent class sehingga keberadaan parent class tidak adakan memberikan pengaruh terhadap objek dari child class
  • 40. • Contoh : ProgramStudi dengan dosen. • ProgramStudi punya beberapa dosen tapi tidak mutlak sifatnya, artinya ketika objek dari program studi dihancurkan maka objek dari dosen akan tetap ada.
  • 41.
  • 42.
  • 43. Contoh Composisi : • Komposisi adalah hubungan yang bahkan lebih kuat daripada agregasi, meskipun mereka bekerja dengan cara yang sangat mirip. Komposisi ditampilkan menggunakan panah berlian tertutup, atau diisi • Mirip dengan agregasi, implementasi kode Java untuk hubungan komposisi hanya menghasilkan pengenalan atribut. • BlogEntry terdiri dari Introduction dan MainBody • Class entri blog introduction dan bagian mainBody sebenarnya adalah bagian dari entri blog itu sendiri dan biasanya tidak akan dibagikan dengan bagian lain dari sistem. • Jika entri blog dihapus, maka bagian yang terkait juga dihapus. Inilah komposisi sebenarnya: Anda memodelkan bagian internal yang membentuk kelas.
  • 44. • Spesialisasi dari relasi aggregation • Menggambarkan hubungan PART OP dimana Child akan menjadi bagian dari parent class • DEATH RELATIONSHIP : Objek dari child class akan diinstansiasi didalam parent class sehingga apabila parent class tidak diinstansiasi maka child class juga akan ikut tidak terinstansiasi • Contoh komposisi : hubungan kelas PC dan komponen penyusunnya (Motherboard, RAM, VGA, dll)
  • 45.
  • 46.
  • 47.
  • 48. • Relasi Association lebih menjelaskan konsep relasi yag terjadi antar kelas dengan pertukaran objek • Relasi Aggregation menjelaskan konsep kepemilikan HAS A tanpa mempengaruhi sikus hidup dari objek yang direalisasikan • Relasi Composition menjelaskan konsep tentang objek yang berelasi merupakan bagian dari kelas lainnya PART-OP
  • 49. • Relasi aggregation digunakan apabila dua kelas yang akan direlasikan tidak saling mengadakan atau mendiadakan, sedangkan composition sebaliknya
  • 50.
  • 51. GENERALISASI : • Generalisasi dan pewarisan digunakan untuk menggambarkan kelas yang merupakan jenis kelas lain. • Contoh disamping, Menunjukkan bahwa BlogEntry dan WikiPage adalah kedua jenis Artikel • Kelas yang lebih umum yang diwarisi dari ujung panah dari hubungan generalisasi, Kelas yang lebih khusus yang melakukan pewarisan BlogEntry dan WikiPage dalam hal ini sering disebut sebagai kelas turunan. • Kelas khusus mewarisi semua atribut dan metode yang dideklarasikan dalam kelas umum dan dapat menambahkan operasi dan atribut yang hanya berlaku dalam kasus khusus.
  • 52. • Istilah HAS A dan IS A telah menjadi cara yang diterima untuk memutuskan apakah hubungan antara dua kelas adalah agregasi atau generalisasi. • Jika Anda menyatakan bahwa suatu kelas memiliki bagian yang merupakan objek dari kelas lain, maka hubungannya mungkin adalah hubungan, agregasi, atau komposisi. • Jika Anda mengatakan bahwa suatu kelas adalah jenis kelas lain, maka Anda mungkin ingin mempertimbangkan untuk menggunakan generalisasi.
  • 53.
  • 54. 1. Kebutuhan yang akan datang sering tidak bisa dipahami dan merupakan sebuah hal yang sering sekali berubah. 2. Usaha untuk menggunakan kembali (reuse) sering kali berujung melibatkan komponen-komponen yang sebenarnya tidak bisa digunakan kembali (not reusable) dan sering kali gagal untuk dilakukan. 3. Sering sekali terjadi, programer dan sistem analis kehilangan gambaran secara umum tentang apa yang dimaksud dengan kebutuhan yang akan datang. 4. Para pengembang cenderung melihat permasalahan ke arah permasalahan coding. Pengembang gagal melihat bahwa penyelesaian masalah melalui kekuatan perancangan/desain adalah sesuatu yang patut dipertimbangkan dan merupakan jalur yang tepat. 5. Style coding soerang programmer dengan programmer lain berbeda.
  • 55. DESIGN PATTERN merupakan penjelasan atau template yang menunjukkan bagaimana cara menyelesaikan sebuah masalah yang kemudian dapat digunakan di berbagai situasi yang berbeda-beda. Pola desain untuk object-oriented biasanya menunjukkan relasi dan interaksi antar kelas dan objek, tanpa menjelaskan kelas dan objek akhir yang terlibat dalam sebuah aplikasi.
  • 56. DESIGN PATTERN ADALAH suatu solusi yang umum dilakukan untuk menangani masalah perancangan software. Design Pattern yang cukup populer diperkenalkan oleh GOF(Gang Of Four). Dewanya Design diantaranya adalah Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides. Dalam penjelasan dari Gang Of Four(GoF) terdapat 23 Pattern yang di bagi menjadi 3 kelompok besar. yakni diantaranya 1. Creation Patterns(cara Class/object di inisialisasi) 2. Structural Patterns (Struktur/ relasi antar object/class) 3. Behavior Patterns (Tingkah laku atau fungsi dari class/object)
  • 57. 1. Design yang berulang, lebih effisien dari hanya penggunaan code yang berulang. 2. Menangani permasalahan yang umum dihadapi oleh system designer. 3. Dengan menggunakan Design Pattern akan lebih mudah bagi orang lain memahami apa yang anda lakukan dan mengapa. 4. Design Patter membantu anda untuk refactoring code anda dengan mudah
  • 58. Konsep MVC (Model-View-Controller) merupakan salah satu penerapan compound design pattern dalam pemrograman berorientasi objek, dimana konsep ini membedakan kelas-kelas yang merepresentasikan data (Model) dengan kelas-kelas yang mengatur tampilan program (View) dan kelas- kelas pengaturan data (Controller).
  • 59.
  • 60.