Materi yang ada pada slide ini berisi :
Penjelasan Umum Relasi Kelas
Penjelasan Derajat Relasi Kelas
Konsep dan Simulasi Relasi Kelas Dependency
Konsep dan Simulasi Relasi Kelas Association
Konsep dan Simulasi Relasi Kelas Aggregation
Konsep dan Simulasi Relasi Kelas Composition
Konsep Relasi Kelas Generalisasi (Inheritance)
Penjelasan Konsep MVC
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Class Diagram
Hubungan OOAD dengan OOP
Konsep Objek dan Kelas
Konsep dan Simulasi Enkapsulasi
Konsep dan Simulasi Pewarisan
Konsep dan Simulasi Polimorphisme
Penjelasan Konsep Abstraksi Pada OOAD dan OOP
Penjelasan Konsep Generic
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Review OOP Concept
Latar belakang adanya abstrak
Definisi Kelas Abstrak
Format sintaks
Menurunkan kelas abstract
Method abstrak
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Package Diagram
Notasi, Semantik dan Stereotype pada Packages Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Class Diagram
Hubungan OOAD dengan OOP
Konsep Objek dan Kelas
Konsep dan Simulasi Enkapsulasi
Konsep dan Simulasi Pewarisan
Konsep dan Simulasi Polimorphisme
Penjelasan Konsep Abstraksi Pada OOAD dan OOP
Penjelasan Konsep Generic
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Review OOP Concept
Latar belakang adanya abstrak
Definisi Kelas Abstrak
Format sintaks
Menurunkan kelas abstract
Method abstrak
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Package Diagram
Notasi, Semantik dan Stereotype pada Packages Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Penjelasan Umum Sequence Diagram
Penjelasan Notasi, Semantic, dan Stereotype Umum Sequence Diagram
Konsep Time
Konsep Events, Sinyal, dan Pesan
Konsep Activation Bars
Konsep Nested Message
Hubungan Use Case Diagram, Kelas Diagram, dan Sequence Diagram
Konsep Sequence Fragment
Studi Kasus
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi untuk mata kuliah Pengujian Perangkat Lunak perihal Pengujian Perangkat Luak yang berfokus kepada Unit VS. Integration Testing dan White Box serta Black Box Testing
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Deployment Diagram
Notasi, Semantik dan Stereotype pada Deployment Diagram
Contoh Kasus Deployment Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan umum activity diagram
Notasi & semantic
Starting activity
Activity & action
Activity frame
Decisions & merge
Fork & join
Time event
Activity partition (swimlanes)
Subactivity
Objects
Signalconnector
Expansion regions
Interrupt
Ending activity
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
DEFINISI GUI
SWING
HIRARKI JAVA SWING CLASS
KOMPONEN SWING
CONTAINER CLASS
JAVA LAYOUT MANAGER
JAVA SWING COMPONENT
DRAG N DROP
TUGAS INDIVIDU
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Materi yang ada pada slide ini berisi :
Definisi Interface
Perbedaan interface dengan class
Format interface
Perancangan
Studi Kasus
Multiple interface
Latihan 6 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Penjelasan Umum Sequence Diagram
Penjelasan Notasi, Semantic, dan Stereotype Umum Sequence Diagram
Konsep Time
Konsep Events, Sinyal, dan Pesan
Konsep Activation Bars
Konsep Nested Message
Hubungan Use Case Diagram, Kelas Diagram, dan Sequence Diagram
Konsep Sequence Fragment
Studi Kasus
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi untuk mata kuliah Pengujian Perangkat Lunak perihal Pengujian Perangkat Luak yang berfokus kepada Unit VS. Integration Testing dan White Box serta Black Box Testing
Materi yang ada pada slide ini berisi :
Pengenalan Konsep Deployment Diagram
Notasi, Semantik dan Stereotype pada Deployment Diagram
Contoh Kasus Deployment Diagram
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan umum activity diagram
Notasi & semantic
Starting activity
Activity & action
Activity frame
Decisions & merge
Fork & join
Time event
Activity partition (swimlanes)
Subactivity
Objects
Signalconnector
Expansion regions
Interrupt
Ending activity
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
DEFINISI GUI
SWING
HIRARKI JAVA SWING CLASS
KOMPONEN SWING
CONTAINER CLASS
JAVA LAYOUT MANAGER
JAVA SWING COMPONENT
DRAG N DROP
TUGAS INDIVIDU
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Modul ini membahas tentang konsep pemrograman berorientasi objek dilengkapi dengan contoh source code untuk praktik. Membahas Class, Object, Pewarisan, Polimorfisme, Konstruktor
Materi yang ada pada slide ini berisi :
1.Why project fail
2.Boss vs Leader
3.Management SDM Proyek
4.Conflict Management
5.Hippocrates Galenus
6.DISC Model
7.PERMA Model
8.GAMES
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Background testing
Issue
Testing technique
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Asumsi & Validasi
Lingkup Growth Hacking
Engine of Growth #1: Stickiness / Retention
Engine of Growth #2: Viralty
Engine of Growth #3: Paid Acquisition
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Penjelasan Umum Bisnis Model
Bisnis Model Canvas
Komponen Pada Model Bisnis Canvas
Revenue Model
Market Analysis
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Error & Exception
Penanganan Exception
Penanganan Exception satu catch
Penanganan Exception banyak catch
Penanganan Exception finally
Membuat Exception Sendiri
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Apa itu generic programming
Konsep tipe object
Konsep Tag generic<E>
Collection
Iterator
Arraylist
LinkedList
Stack
PriorityQueue
HashMap
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
Materi yang ada pada slide ini berisi :
TEORI :
APA ITU JDBC
APA ITU API
GAMBARAN DB API
ARSITEKTUR JDBC
JDBC INTERFACE CLASS
PRAKTIK :
Akses full source code nya di link ini :
https://github.com/RizkiAdamKurniawan/JAVA-DAO-MVC
Akses video tutorial nya di link ini :
TAHAP 1. Membuat Project Baru & Package Baru : https://youtu.be/s-6IdMJKhuw
TAHAP 2. Membuat Database : https://youtu.be/W5lR4CBq81g
TAHAP 3. Mapping Database ke Entitas : https://youtu.be/3wdvh3yH3rY
TAHAP 4. Membuat Koneksi : https://youtu.be/if7LPrGMLRY
TAHAP 5. Membuat Service DAO : https://youtu.be/-jMaNzjolXc
TAHAP 6. Membuat Fungsi CRUD : https://youtu.be/R0NwAnUyHx4
TAHAP 7. Membuat Management Transaksi DAO : https://youtu.be/lBzE7G6GM2w
TAHAP 8. Membuat View : https://youtu.be/hgyoI3iW12I
TAHAP 9. Membuat Model : https://youtu.be/VvTiNQtmpDM
TAHAP 10. Membuat Controller : https://youtu.be/OC3Zi2G4fqc
TAHAP 11. Komunikasikan di View : https://youtu.be/k1BFJ3UEf7E
TAHAP 12. Testing Apps : https://youtu.be/cNo8prJlLmc
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Android version
Platform architecture
App Component
Kotlin
Struktur Project
Activity Lifecycle
Melempar Nilai
Layouting LinearLayout
Layouting RelativeLayout
Look And Feel
Custom Buttom
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
DDL
DML
LATIHAN
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
What is design sprint?
Sprint master
Sprint planning
Design Sprint method teory
Monday : Understand & Define
Tuesday : Diverge
Wednesday : Decide
Thursday : Prototype
Friday : Validate
Case Study
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
PERKENALAN & INSTALASI XAMPP
ABSTRAKSI DATA
TYPE DATA
KELOMPOK PERNYATAAN MYSQL
DDL
DML
LATIHAN
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Idea Validation
Product Documentation
Team Management
User Interface & Social Media
Asset & Warna
Tools Design
Usability Test Design
Coding Java Desktop
Coding Java Web
Coding Java Android
Evaluasi & Maintain Software
Pengembangan Bisnis Software
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
Materi yang ada pada slide ini berisi :
Implementasi Polimorphism
Overloading method VS Overriding Method
Ad Hoc & Subtyping Polimorphism
Latihan 5 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Inheritance (Pewarisan)
Hak akses protected
Override Method
Override Constructor
Kata kunci super
Kata kunci final
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Implementasi Konstruktor dan Destruktor
Overloading method
Latihan 4 & Upload ke github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Pengenalan UML Sebagai Alat Bantu Pemodelan Pada Pembangunan Perangkat Lunak Menggunakan Pendekatan Analisis dan Desain Berorientasi Objek
Notasi, Semantik, dan Stereotype Pada UML
Komponen pada UML (Use Case View, Logical View, Physical View, dan Process View)
Pengenalan Use Case Diagram sebagai Use Case View Pada UML
Penjelasan Aktor, Generalisasi Aktor, dan Use Case
Penjelasan Use Case Scenario
Use Case Refinement (Relasi Include, Extends, dan Generalisasi Use Case)
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Superhero
Unique value proposition
Value proposition canvas
Tahapan Inovasi
Fase Pengembangan Startup
Lean Startup
Validasi Ide - Javeline Board
Hands On !
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Perkenalan Diri
SuperHero
Contoh tugas besar
Rockstar Developers
Value Proposition Canvas
Rekayasa Kebutuhan
SAD vs OOAD
PBO
UML
Softwrae private vs public
Penjelasan Daftar Alat Bantu untuk Rekayasa Perangkat Lunak II
Buku Referensi
Penilaian perkuliahan
Silabus Perkuliahan
Informasi Tugas besar
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Hak akses private
Getter dan Setter
Kata kunci this
Manage trello & github
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
Materi yang ada pada slide ini berisi :
Netbeans Theme
Package (Teori & Praktik)
Implementasi Enkapsulasi & instansiasi Objek (Teori & Praktik)
----------------------------------------------------------------------
Keep in touch with me in :
Twitter : https://twitter.com/rizkiadam_1991
Email : rizkiadamunikom@gmail.com
Github : https://github.com/RizkiAdamKurniawan
IG : @rizkiadamkurniawan
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
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).