Anda di halaman 1dari 3

Nama :Wisnu Cahyo Utomo

Kelas :ILKOM 22 (B)

NIM :22157201052

A.Interface inheritance
Interface inheritance adalah konsep di dalam pemrograman berorientasi objek (OOP)
di mana sebuah kelas anak dapat mewarisi satu atau lebih interface dari kelas induknya.
Interface adalah sekumpulan metode yang tidak memiliki implementasi, tetapi hanya
menentukan tanda tangan (signature) dari metode tersebut.

Dalam interface inheritance, kelas anak menerima semua metode yang didefinisikan
dalam interface yang diwarisi dari kelas induk, dan kemudian kelas anak tersebut dapat
mengimplementasikan metode tersebut dengan cara yang berbeda-beda. Hal ini
memungkinkan untuk memisahkan antara bagaimana objek bekerja dengan apa yang objek
lakukan.

Interface inheritance sangat berguna ketika ingin membuat kelas yang memiliki
kemampuan untuk menggunakan berbagai jenis objek yang berbeda-beda, yang semuanya
memiliki setidaknya satu metode yang sama. Dengan menggunakan interface inheritance, kita
dapat menjamin bahwa semua objek yang digunakan dalam kelas tersebut memiliki metode
yang diperlukan, dan kita dapat memisahkan antara implementasi objek tersebut dengan kelas
yang menggunakannya.

Contoh:

Dalam contoh ini, kelas "Circle" mewarisi interface "Shape". Interface ini tidak
memiliki implementasi metode, hanya tanda tangan (signature) dari metode yang harus
diimplementasikan oleh kelas yang menerapkannya.Kelas "Circle" memiliki atribut "radius"
yang menunjukkan jari-jari lingkaran, serta implementasi dari metode "getArea()" dan
"getPerimeter()", yang didefinisikan dalam interface "Shape".

Kelas "Shape" memiliki atribut "x" dan "y" yang menunjukkan posisi dari bentuk
tersebut, dan tidak memiliki implementasi metode karena hanya berfungsi sebagai interface.
Dalam penggunaan sebenarnya, kelas "Circle" akan mengimplementasikan metode-metode
yang didefinisikan dalam interface "Shape" sesuai dengan kebutuhan.

Dengan menggunakan interface inheritance, kita dapat memisahkan antara apa yang
objek lakukan dengan bagaimana objek tersebut bekerja secara internal, sehingga
memudahkan pengembangan dan pemeliharaan kode.
B.Association
Association adalah hubungan yang menghubungkan dua atau lebih kelas sehingga
mereka dapat saling berinteraksi dan berkomunikasi satu sama lain. Association
merepresentasikan keterkaitan antara objek dari satu kelas dengan objek dari kelas lain dalam
sistem.

Dalam association, sebuah objek dari kelas satu menggunakan atau memiliki objek dari kelas
lain untuk menyelesaikan tugas atau untuk memperoleh informasi yang diperlukan.
Association juga dapat memiliki arah, yang menunjukkan apakah hubungan antara kelas
memiliki arah atau tidak. Jika hubungan memiliki arah, maka disebut juga dengan directional
association.

Contoh:

Dalam contoh ini, kelas "Order" memiliki atribut "orderId", "orderDate", dan
"totalAmount" yang merepresentasikan nomor pesanan, tanggal pesanan, dan jumlah total
pesanan, masing-masing. Kelas ini memiliki dua metode "addItem" dan "removeItem" yang
menerima objek dari kelas "Item" sebagai parameter.

Kelas "Customer" memiliki atribut "customerId", "name", dan "email" yang


merepresentasikan nomor pelanggan, nama pelanggan, dan alamat email pelanggan, masing-
masing. Kelas ini memiliki dua metode "placeOrder" dan "cancelOrder" yang digunakan
untuk menempatkan pesanan dan membatalkan pesanan.

Association antara kelas "Order" dan "Customer" menunjukkan bahwa setiap objek
dari kelas "Order" memiliki hubungan dengan satu objek dari kelas "Customer" yang
merepresentasikan pelanggan yang melakukan pesanan. Dalam hal ini, association adalah
bidirectional, yang berarti bahwa kelas "Order" dan "Customer" saling terkait satu sama lain.

C.Directed association
Directed association atau association directional adalah jenis asosiasi dalam
pemrograman berorientasi objek di mana arah hubungan antara dua kelas ditentukan. Hal ini
berarti bahwa hubungan antara dua kelas memiliki arah tertentu, sehingga informasi hanya
mengalir dalam satu arah.

Dalam directed association, kelas yang berada pada ujung panah disebut sebagai kelas
asal (source class) atau sumber, sedangkan kelas yang berada pada ujung tanpa panah disebut
sebagai kelas target atau tujuan (target class).
Contoh:

sederhana dari directed association adalah hubungan antara kelas "Customer" dan "Order".
Dalam hubungan ini, kelas "Customer" adalah kelas sumber dan kelas "Order" adalah kelas
tujuan. Ini berarti bahwa informasi hanya mengalir dari objek "Customer" ke objek "Order",
seperti ketika pelanggan melakukan pesanan.

Berikut adalah contoh diagram UML untuk directed association antara kelas "Customer" dan
"Order" dengan panah yang menunjukkan arah hubungan:

Anda mungkin juga menyukai