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
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).