Anda di halaman 1dari 8

BAB I

PENDAHULUAN
1.1

Latar Belakang
Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dan sistem

(sistem perangkat lunak. Sistem informasi, atau sistem lainnya). Pendekatan berorientasi
objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang
berkorespondensi dengan objek-objek dunia nyata. Ada banyak cara untuk mengabstraksikan
dan memodelkan objek-objek tersebut, mulai dan abstraksi objek. kelas. Hubungan antar
kelas sampai abstraksi sistem. (Hanafi, 2012)
Saat mengabstraksikan dan memodelkan objek ini, data dan proses-proses yang
dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. Dalam rekayasa
perangkat lunak. konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis.
perancangan. pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat
digunakan pada masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan
tertentu. (Hanafi, 2012)
Tanpa adanya hubungan dengan kelas lain, kita tidak mampu melihat mekanisme
suatu system. UML menyediakan beragam cara menggambarkan hubungan antar kelas.tiap
hubungan memiliki tipe yang berbeda sesuai dengan kebutuhan dengan harapan saat kita
memodelkan suatu system, pembaca akan memahami hubungan yang kita buat.
Didasari oleh uraian latar belakang diatas maka paper ini akan membahas tentang
beberapa hubungan antar kelas yang umumnya digunakan.
1.2

Perumusan Masalah
Berikut adalah rumusan masalah yang akan dibahas pada pembuatan paper ini, yaitu
apa saja hubungan antar kelas yang dapat digunakan dalam memodelkan objek-objek?

1.3

Batasan Masalah
Adapun batasan-batasan masalah dalam pembahasan paper ini adalah sebagai berikut:
- Pembahasan ditujukan pada penjelasan umum terhadap hubungan antar kelas objek.
- Hubungan antar kelas yang akan dibahas terdiri dari 6 jenis, yaitu Asosiasi,
Depedency, Agregasi, Komposisi, Generalitation dan Inheritance (Pewarisan).

BAB II
PEMBAHASAN
1

Menurut Roliawati(2013) pada dasarnya semua benda yang ada di dunia nyata dapat
dianggapsebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua
karakteristik yang utama pada sebuah objek , yaitu :
Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour. Dalam
pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan
menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku (behaviour)
dalam method-method atau fungsi-fungsi/prosedur.
Menurut Rohmat Nur Ibrahim(2008) Class adalah sebuah spesifikasi yang jika
diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan
desain berorientasi objek. Class menggambarkan keadaan (atribut/property) suatu system,
sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda atau fungsi).
Class diagram merupakan gambaran grafis dari struktur objek, yang menunjukkan
kelas objek yang ada pada suatu sistem dan hubungan antara kelas-kelas objek tersebut.
(Whitten dan Bentley, 2007). Setiap kelas objek dibagi menjadi 3 bagian, yaitu:
1. Nama Kelas
Nama kelas harus unik atau dapat dibedakan antara kelas yang satu dengan kelas yang lain
karena nama kelas merupakan identitas yang dimiliki oleh setiap kelas.
2. Atribut Kelas
Atribut menunjukkan informasi yang dimiliki oleh suatu kelas atau informasi yang
berhubungan dengan suatu kelas.
3. Operasi Kelas
Operasi digunakan untuk menunjukkan fungsi yang dapat dilakukan oleh suatu kelas.
Class diagram terdiri dari beberapa relationship, diantaranya (Munawar, 2005).
2.1

Generalization
Generalisasi adalah hubungan antara suatu kelas secara umum dengan suatu kelas
yang lebih spesifik. Generalisasi adalah suatu yang dipertunjukan sebagai suatu garis berarah
dengan tertutup juga merupakan hubungan dimana kelas yang satu merupakan bagian dari
kelas yang lain, namun kedua kelas ini bisa berdiri sendiri. Merupakan hubungan yang lebih
kuat dari hubungan asosiasi. UML membiarkan suatu label diskrimninator untuk
dihubungkan dengan suatu Generalization superclass. Sebagai contoh, kelas boeing-airplane
mempunyai kejadian-kejadian dari kelas boeing 737, boeing 747, boeing 757 dan boeing 767
2

yang merupakan subclass dari kelas boeing-airplane. Elipsis tunjukkan bahwa Generalization
itu adalah tidak lengkap dan lebih banyak subclass yang tidak ditunjukkan. Pembangun
melengkapi dan menunjukkan bahwa Generalization itu sudah lengkao dan tidak memerlukan
lagi subclass.
Jika suatu label teks ditempatkan di segi tiga yang berongga yang dibagi dengan
beberapa alur gerneralization kepada subclass, label berlaku bagi semua alur. Dengan kata
lain, semua subclass berbagi property yang diberi.

2.2

Agregation
Agregasi merupakan hubungan bagian dari atau bagian-ke-keseluruhan. Suatu
objek mungkin memiliki/bias dibagi menjadi kelas/objek tertentu dimana kelas/objek yang
disebut kemudian merupakan bagian dari kelas/objek yang terdahulu. Agregasi adalah suatu
bentuk khusus dari suatu asosiasi. Contohnya adalah pada kelas Mahasiswa dengan kelas
Jurusan, dimana Mahasiswa merupakan bagian dari Jurusan. Pada diagram kelas, hubungan
agregasi digambarkan dengan garis penghubung dengan simbol hollow diamond di
ujungnya. Agregasi pada Java direalisasikan dengan menggunakan atribut dengan tipe data
class lain.

2.3

Asosiasi
Asiosiasi merupakan hubungan statis antar class. Umumnya menggambarkan class
yang memiliki atribut berupa class lain atau class yang harus mengetahui eksistensi class lain.
Panah navigability menunjukkan arah query antar class. Contoh: antara kelas Dosen dan
kelas Mahasiswa (terdapat hubungan Dosen mengajar Mahasiswa). Pada diagram kelas,
hubungan asosiasi digambarkan dengan garis penghubung biasa. Asosiasi pada Java
direalisasikan dengan menggunakan link atribut class lain.

2.3.1

Navigavbility
Asosiasi memiliki notasi untuk menyatakan navigability. Jika arah asosiasi antar dua

kelas bisa dari atau ke, maka dalam UML tidak perlu ditulis anak panah di ujungnya. Tetapi
dalam asosiasi dua arah kita jarang membuat hubungan nonnavigable. Kita dapat
menggambarkan asosiasi yang nonnavigable dengan membuat tanda silang pada asosiasi
tersebut. Misalnya, paa gambar dibawah ini. Window menggunakan Cursor untuk emubah
bentuknya dan todak sebalinya (Cursor menggunakan Window untuk mengubah bentuk
kursor).

2.3.2

Penamaan Asosiasi
Biasanya asosiasi diberi nama dengan frasa pendek sepanjang garis. Frasa yang ada

tidak di-generate menjadi kode, murni sebagai pelengkap model.

2.3.3

Multiplicity
Karena asosiasi biasanya merepresentasikan hubungan akhir, maka ada hubungan

atribut dalam kelas-kelas yang berasosiasi itu. Jadi kita harus menerangkan berapa jumlah
instance yang terlibat dalam hubungan asosiasi itu. Untuk menyatakan jumlah itu, kta
meletakkan multiplicity dekat kelas. Jangan menggunakan

kotak dalam menuliskan

multiplicity.

2.3.4

Asosiasi Antar Kelas


Terkadang hubungan antara dua elemen tidak sederhana. Misalnya, suatu tim pemain

bola (football player) berasosiasi dengan liga (league) lewat suatu regu. Jika hubungannya
4

terlalu rumit, bisa dibuatkan hubungan asosiasi antar kelas. Suatu asosiasi kelas memiliki
nama dan atribut seperti kelas biasa. Notasi untuk kelas asosiasi adalah dengan garis putusputus mengenai garis asosiasi utama. Ketika ditranslasikan menjadi kode, biasanya kelas
asosiasi dianggap sebagai kelas biasa, sehingga ada tiga kelas yang terbentuk. Yang perlu
diperhatikan dari gambar diatas adalah FootballPlayer tidak memiliki referensi langsung
kepada FootballLeague tapi memiliki referensi terhadap FootballTeam. footballTeam akan
memiliki referensi terhadap FootballLeague.
2.3.5

Pengkualifikasi Asosiasi (Association Qualifiers)


Hubungan antar elemen bisa saja memiliki kunci dan indeks dengan nilai tertentu.

Sebagai contoh dalam perbankan, nasabah diidentifikasi oleh nomor rekening atau nomor
KTP. UML menyediakan pengkualifikasi asosiasi untuk mengakap informasi itu.
Pengkualifikasi dinyatakan dengan cara membuat persegi panjang kecil antara asosiasi
dengan sumber elemen. Tulis namanya (biasanya nama atribut) dalam persegi panjang kecil
itu.
2.4

Pewarisan (Inheritance)
Pewarisan adalah hubungan hirarkis antar class. Class dapat diturunkan dari class lain
dan mewarisi semua atribur dan metoda class asalnya dan menambahkan fungsionalitas baru,
sehingga ia disebut anak dari class yang diwarisinya. Pada diagram kelas, hubungan
inheritance digambarkan dengan panah segitiga ke atas, dimana kelas induk digambarkan di
atas kelas turunan.

2.5

Ketergantungan (dependency)
Ketergantungan (dependency) adalah hubungan antar elemen independent dan elemen
dependen, Perubahan pada elemen independent akan mengakibatkan perubahan pula pada
elemen yang denden terhadapnya. Hubungan terlemah antar kelas adalah hubungan
ketergantungan (dependency relationship). Ketergantungan antar kelas bermakna suatu kelas

menggunakan atau memiliki pengetahuan terhadap kelas lainnya. Hubugan ketergantungan


hanya sesaat (transient) dan tidak ada batas waktu yang jelas. Ketergantungan biasanya bisa
dibaca sebagai menggunakan . Misalnya kita memiliki kelas WindowClosingevent
saat akan ditutup. Kita bisa menyatakan bahwa Window menggunakan suatu kelas
WindowClosingEvent. Ketergantungan digambarkan dengan garis berpanah.

2.6

Komposisi
Komposisi Merupakan teknik desain untuk mengimplementasikan hubungan has a
pada kelas. Artinya, kelas yang lebih kompleks tersusun atas kelas-kelas lainnya yang lebih
sederhana. Merupakan hubungan yang lebih kuat dari hubungan agregasi.
Contoh: kelas Mobil tersusun atas kelas Roda, kelas Setir, dll
Pada diagram kelas, hubungan komposisi digambarkan dengan garis penghubung
dengan bentuk diamond berwarna hitam di ujungnya.

BAB III
PENUTUP

3.1 Kesimpulan

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah
objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

Class diagram merupakan gambaran grafis dari struktur objek, yang menunjukkan kelas
objek yang ada pada suatu sistem dan hubungan antara kelas-kelas objek tersebut yang terdiri
dari Nama Kelas, Atribut Kelas dan Metode Kelas.

Generalisasi adalah suatu yang dipertunjukan sebagai suatu garis berarah dengan
tertutup juga merupakan hubungan dimana kelas yang satu merupakan bagian dari
kelas yang lain,

Agregasi merupakan hubungan bagian dari atau bagian-ke-keseluruhan. Suatu


objek mungkin memiliki/bias dibagi menjadi kelas/objek tertentu dimana kelas/objek
yang disebut kemudian merupakan bagian dari kelas/objek yang terdahulu.

Asiosiasi merupakan hubungan statis antar class. Umumnya menggambarkan class


yang memiliki atribut berupa class lain atau class yang harus mengetahui eksistensi
class lain. Panah navigability menunjukkan arah query antar class.

Pewarisan adalah hubungan hirarkis antar class yang dapat diturunkan dari class lain
dan mewarisi semua atribur dan metoda class asalnya dan menambahkan
fungsionalitas baru,

Ketergantungan (dependency) adalah hubungan antar elemen independent dan elemen


dependen,

Komposisi Merupakan teknik desain untuk mengimplementasikan hubungan has a


pada kelas yang artinya, kelas yang lebih kompleks tersusun atas kelas-kelas lainnya
yang lebih sederhana.

DAFTAR PUSTAKA

Hanafi, Y, 2012. Studi Konversi Sintaks Object Modeling Technique (OMT) ke Sintaks
Structure Query Languange (SQL). Jurnal Sistem Informasi 1-10, (Online), Volume
5,No.2,
(http://journal.uinjkt.ac.id/index.php/sisteminformasi/article/viewFile/286/2390),
diakses 8 Oktober 2016).
Ibrahim, N. R, 2008. Sistem Penerjemah Kata Bahasa Inggris ke Bahasa Indonesia Media
Handphone berbasais Mobile Application. Jurnal Computect & Bisnis, (Online),
Volume 2,No.1,( http://download.portalgaruda.org), diakses 8 Oktober 2016).
Rolliawati. 2013. Pemograman Berorientasi Objek. Jakarta : Universitas Narotama.
Munawar. Pemodelan Visual dengan UML. Graha Ilmu. Yogyakarta : 2005.
Nuryani, N. 2010. Laporan kerja praktik Analisis Sistem Informasi Pembayaran Permohonan
Peralihan Hak-pewarisan di Badan Pertanahan Nasional (BPN) Kabupaten Garut.
(https://www.scribd.com/doc/116915458/34), (Online) diakses 8 Oktober 2016.
Bentley, Lonnie D, dan Jeffrey L Whitten. (2007). Systems Analysis and Design for the
Global Enterprise Seventh Edition, New York : McGraw-Hill.

Telah di publish secara online di (https://id.scribd.com/document/324736495/Cover)

Anda mungkin juga menyukai