umum, relasi umum, dan semantic/kata yang umum. Sebuah class digambarkan seperti
sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi
nama menggunakankata benda sesuai dengan domain/bagian/kelompoknya
(Whitten L. Jeffery
et al, 2004).
Class
juga memiliki 3 area pokok (utama) yaitu
:
1. Nama
2. Atribut
3. Operasi.
Nama berfungsi untuk memberi identitas pada sebuah kelas
Atribut fungsinya adalah untuk memberi karakteristik pada data yang dimiliki suatu objek di dalam kelas
Operasi fungsinya adalah memberikan sebuah fungsi ke sebuah objek.
Atribut dan metoda dapat memiliki salah satu sifat berikut :
•Private, tidak dapat dipanggil dari luar class
yang bersangkutan
•Protected, hanya dapat dipanggil oleh class
yang bersangkutan dan anak-anak yang mewarisinya
•Public, dapat dipanggil oleh siapa saja
.
Modifier
Digunakan untuk memberikan batasan atau penanda bagaimana kelas
Digunakan untuk memberikan batasan atau penanda bagaimana kelas
lain menggunakan attribut,
constructor dan method dari suatu kelas.
Method
digunakan untuk menyimpan behaviour, pada bahasa pemrograman berupa
method
yang:
1. Mengembalikan nilai (non void method)
2. Method yang tidak mengembalikan nilai (void method).
1. Mengembalikan nilai (non void method)
2. Method yang tidak mengembalikan nilai (void method).
Contohnya
: getNama, getAlamat, getUsia, jalan, lari
Aturan Penggunaan :
Modifier nama_method([namaParameter : tipeParameter]) :nilai_kembalian
Contoh Penggunaan :
•+ getNama() :
String
Dibaca method getNama memiliki modifier public, tidak memiliki parameter (tidak
ditentukan sebelumnya) dan memiliki nilai kembalian String
.
•+ setNama(nama : String) : void
Dibaca method setNama memiliki modifier public, memiliki 1 buat parameter yaitu
nama dengan tipe parameter String dan tidak memiliki nilai kembalian karena
bertipe void.
Relasi Dalam Object
Semua sistem terdiri dari class-class dan object. Kelakuan sistem dicapai melalui
kerjasama antar object. Contohnya : seorang mahasiswa ditambahkan dalam daftar
kelas, jika daftar kelas memperoleh message
untuk menambahkan mahasiswa.
Interaksi antar object disebut object
relationship. Dua tipe relationship yang
ditemukan pada saat analisis adalah association
dan aggregation.
Association
Dapat diartikan sebagai relasi “.. has a..” atau MEMILIKI. Digambarkan sebagai garis
lurus antara Dua kelas. Namun tidak berarti bahwa kelas satu memiliki/dimiliki kelas
yang
lain, tetapi kelas lain dapat berelasi juga dengan kelas yang sama.
Derected Association
Relasi seperti asosiasi namun menggambarkan objek atau aliran kejadian berasal dari
salah satu kelas, sedang kelas yang lainnya bersifat pasif.
Aggregation
Dapat diartikan sebagai “..owns a ..”(“terdiri atas..”). Terdapat kelas sebagai part
class
(kelas bagian) yang merupakan bagian dari kelas
lain(whole class). Namun jika whole
class tidak ada, part class masih dapat berdiri sendiri.
Apabila
kelas
person dihilangkan, maka
alamat
rumah
masih
dapat berdiri sendiri.
Composition
Bisa disebut juga sebagai strong agregation, dapat diartikan “..is part of..”
(“..bagian
dari..”). Seperti halnya relasi agregasi, namun apabila whole class hilang, maka mustahil
part class untuk ada.
Apabila kelas mobil dihilangkan, maka tangki BBM
mobil ikut hilang.
Generalization
Dapat diartikan sebagai relasi “..is a..” Digunakan untuk merepresentasikan pewarisan.
Suatu kelas (child class) dapat diturunkan dari kelas lain dan mewarisi semua atribut dan
method induknya (parent class) dan dapat menambah method atau atribut baru.
Sebagai contoh kucing, srigala, singa, macan adalah hewan. Maka bisa dibuat relasi antar
kelas seperti berikut ini:
Dependency
Hubungan ketergantungan antar kelas. Suatu kelas memiliki ketergantungan terhadap
kelas lain, tetapi tidak berlaku sebaliknya. Perubahan pada salah satu elemen kelas
(pemasok) berdampak pada kelas lain (klien).
Realization
Sebuah relasi antar dua class yang mengharuskan class yang satu harus mengikuti aturan
dari class
yang lainnya. Biasanya terjadi antara kelas dengan antarmuka (interface).
Visibility
Untuk menentukan visibilitas (nilai yang diijinkan untuk dilihat atau di akses) anggota
kelas (yaitu, atribut atau method) terdapat notasi berikut yang harus ditempatkan
sebelum nama anggota kelas.
Sumber
--------------------------------------------------------------------------------------------------------------------------
Manfaat Class Diagram
Class diagram terdiri atas tiga bagian atau 3 area pokok, yaitu :
A) Bagian atas: Berisi Nama kelas, bagian ini selalu diperlukan, baik ketika berbicara tentang classifier atau objek.
Setiap class memiliki nama yang membedakan dengan class yang lain, nama dikenal sebagai simple name (nama sederhana) dan path name (nama path).
sumber
--------------------------------------------------------------------------------------------------------------------------
Pengertian Class Diagram (Konsep)
Class Diagram adalah salah satu jenis diagram yang paling berguna
di UML, hal ini karena dapat dengan jelas memetakan struktur sistem
tertentu dengan memodelkan kelas, atribut, operasi serta hubungan antar
objek.
Class Diagram menggambarkan serta deskripsi atau penggambaran dari
class, atribut, dan objek disamping itu juga hubungan satu sama lain
seperti pewarisan, containmet, asosiasi dan lainnya.
Class Diagram mampu memberikan kita pandangan yang lebih luas mengenai
suatu sistem dengan cara menunjukkan kelas serta hubungan-hubungannya.
Diagram class dapat dikatakan bersifat statis, alasannya karena diagram
kelas tidak menggambarkan apa yang terjadi jika mereka berhubungan
melainkan menggambar hubungan apa yang terjadi.
Manfaat Class Diagram
Class Diagram menawarkan banyak manfaat untuk siapapun, class diagram UML bermanfaat untuk
1. Menggambarkan suatu model data untuk sistem informasi, tidak peduli apakah model data tersebut sederhana maupun kompleks.
2. Dengan mempelajari class diagram maka akan meningkatkan pemahaman mengenai gambaran umum skema dari suatu aplikasi.
3. Mampu menyatakan secara visual akan kebutuhan spesifik suatu
informasi serta dapat menyebarkan informasi tersebut ke seluruh bisnis.
4. Dengan Class Diagram dapat dibuat bagan secara jelas dan terperinci
dengan cara memperhatikan kode spesifik apa saja yang dibutuhkan suatu
program sehingga mampu mengimplementasikannya ke struktur yang
digambarkan.
5. Class Diagram mampu memberikan penggambaran implementasi-independen
dari suatu jenis sistem yang digunakan, kemudian dilewatkan diatara
berbagai komponen-komponennya.
Komponen Dasar Class Diagram
Class diagram terdiri atas tiga bagian atau 3 area pokok, yaitu :
A) Bagian atas: Berisi Nama kelas, bagian ini selalu diperlukan, baik ketika berbicara tentang classifier atau objek.
Setiap class memiliki nama yang membedakan dengan class yang lain, nama dikenal sebagai simple name (nama sederhana) dan path name (nama path).
B) Bagian tengah: Berisi Atribut-atribut kelas, bagian ini
digunakan untuk menjelaskan kualitas kelas. Ini hanya diperlukan saat
menggambarkan contoh kelas tertentu. Secara singkat, Atribut dapat
menjelaskan rentang nilai sifat tersebut.
Sebagai contoh : Atribut menggambarkan beberapa sifat tertentu yang
sedang dimodelkan yang dapat dibagikan ke seluruh objek didalam kelas
tersebut, seperti setiap pohon memili tinggi, lebar, dan ketebalan
(jari-jari).
C) Bagian bawah: Termasuk Operasi kelas (metode). Ditampilkan
dalam format daftar, setiap operasi mengambil jalurnya sendiri. Operasi
menggambarkan bagaimana suatu kelas berinteraksi dengan data.
Objek dapat mewakili sesuatu yang real/nyata dalam domain problem kita,
sebagai contoh seorang konsumen, sebuah barang, seperangkat komputer,
dapat juga berupa sebuah konsep seperti pengembalian buku, pembayaran
dan lainnya. Dari object-object ini maka dapat kita abstraksikan
clandidate class yang bisa terlibat.
Pengubah Akses Anggota
Pada dasarnya semua kelas memiliki tingkat atau level akses yang
berbeda-beda, hal ini umumnya tergantung pada pengubah akses
(visibilitas). Berikut adalah daftar tingkat/level akses yang dilengkapi
dengan simbol yang sesuai :
Public (+)
Private (-)
Protected (#)
Package (~)
Derived (/)
Static (underlined)
Komponen Tambahan Class Diagram
Tergantung pada bahasannya, nama kelas dalam class diagram bisa
dikatakan mampu mewakili objek utama, interaksi atau hubungan dalam
aplikasi, maupun kelas yang akan diprogram.
Bagi Anda yang masih bingung atau kesulitan menjawab pertanyaan "Apa itu Class Diagram di UML ?" maka terlebih dahulu Anda wajib mengetahui konsepnya.
Class: bisa diartikan sebagai template yang berguna dalam membuat suatu
objek serta mengaplikasikan perilaku objek dalam suatu sistem. Dalam UML
sendiri, kelas dapat mewakili sekumpulan objek ataupun hanya satu objek
dengan catatan memiliki struktur serta perilaku yang sama.
Objek tersebut diwakili oleh persegi panjang yang terdiri dari baris
nama kelas, atributnya, dan operasinya. Ketika Anda mencoba menggambar
kelas pada Class Diagram, maka wajib untuk mengisi baris paling atas dan
baris dibawahnya opsional jika Anda ingin memberikan detail lebih
banyak.
Nama: Baris pertama dalam bentuk class.
Atribut: Baris kedua dalam bentuk class. Setiap atribut kelas akan ditampilkan pada baris terpisah.
Metode: Baris ketiga
dalam bentuk kelas. Juga dikenal sebagai operasi, metode/operasi
digambarkan ke dalam bentuk atau format daftar dengan setiap operasi
pada barisnya sendiri.
Sinyal: bisa diartikan sebagai simbol yang mewakili komunikasi asinkron satu arah antara objek yang aktif.
Jenis data: Klasifikasi yang menentukan nilai suatu data. Tipe data dapat memodelkan tipe primitif dan enumerasi.
Paket: Bentuk yang
disusun yang berguna dalam mengatur pengklasifikasi, pengklasifikasian
disini terkait dalam diagram. Paket dilambangkan dalam bentuk persegi
panjang tab besar.
Antarmuka: Mirip dengan
class, bedanya jika class dapat memiliki instance dari jenisnya
sedangkan antarmuka harus mempunyai setidaknya satu kelas untuk
mengimplementasikannya. Antarmuka dapat pula diartikan sebagai sebuah
kumpulan tanda tangan operasi.
Pencacahan: encacahan
merupakan bagian kelompok pengidentifikasi yang mewakili nilai-nilai
pencacahan. Pencacahan disebut pula sebagai representasi tipe data yang
ditentukan oleh pengguna.
Objek: Sebagai tambahan ke Class Diagram untuk mewakili prototipe atau contoh konkret .
Artefak: Elemen model
yang mewakili entitas nyata dalam sistem perangkat lunak, seperti
dokumen, komponen perangkat lunak, basis data, file yang dapat
dieksekusi, dll.
Hubungan Antar Kelas
1. Asosiasi, dapat diartikan sebagai hubungan statis antar class.
Umumnya Asosiasi menggambarkan class yang memiliki atribut seperti
class lain, ataupun jenis class yang memerlukan informasi mengenai
eksistensi class lain.
2. Agregasi, yakni dapat dairtikan hubungan yang menyatakan suatu bagian seperti ("terdiri atas...")
3. Pewarisan, yakni hubungan urutan jenjang (hirarkir)antar
class. Misalnya suatu class dapat mewarisi semua atribut dan metoda
class asalnya dengan cara menurunkannya ke class lain sehingga ia
disebut anak dari class yang diwarisinya.
4. Hubungan dinamis, berarti suatu message (rangkaian pesan) yg
dilalui satu class ke class lainnya. Adaapun hubungan dinamis dapat
digambarkan dengan menggunakan sequence diagram
Contoh Class Diagram
Contoh Class diagram untuk sistem manajemen hotel
Class diagram dapat menunjukkan hubungan antara setiap objek dalam
sistem manajemen hotel, termasuk didalamnya informasi tamu, tanggung
jawab staf, dan jumlah hunian kamar. Contoh di bawah ini memberikan
sebuah gambaran mengenai sistem manajemen hotel.
Contoh Class Diagram untuk sistem ATM
ATM jika dilihat memang tampak sederhana, bayangkan seorang pelanggan
hanya perlu menekan beberapa tombol untuk mengambil uang tunai. Tetapi,
ada banyak lapisan keamanan yang sebenarnya harus dilalui oleh uang di
ATM sehingga menjadi aman serta efektif dalam mencegah terjadinya tindak
penipuan dan memberikan nilai tambah bagi kepuasan pelanggan perbankan.
Berbagai bagian manusia dan benda mati dari sistem ATM diilustrasikan
oleh diagram berikut ini
sumber
-----------------------------------------------------------------------------------------------------------------------
Domain Class Diagram
Unified Modeling Language (UML) adalah satu set standar bahasa dalam teknik diagram pengembang untuk object-oriented system development.
Class Diagram? Apakah itu?
Class diagram merupakan salah satu diagram utama dari UML untuk menggambarkan class atau blueprint object pada sebuah sistem. Analisis pembentukan class diagram merupakan aktivitas inti yang sangat mempengaruhi arsitektur piranti lunak yang dirancang hingga ke tahap pengkodean.
Domain Modelling? Apakah itu?
Domain Modelling merupakan teknik pengidentifikasian object-object pada kata benda yang terdapat pada daftar requirement yang diklasifikasikan pada area (domain) permasalahan yang sama untuk dijadikan candidate class pada class diagram.
Notasi Class Diagram
Hubungan antar class
Pada class diagram juga digambarkan bagaimana interaksi hubungan antar class dalam sebuah konstruksi piranti lunak seperti hubungan asosiasi, agregasi, komposisi, dan inheritance dan generalization
1. Asosiasi
Asosiasi, yaitu 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:
Contoh diatas menunjukan domain model class yang simple dimana terdapat 3 class: Member, Sales Order, dan Product. Kita bisa lihat Member class dapat mempunyai minimal 1 dan maksimal banyak Sales Order class. Dan setiap Sales Order class dapat mempunyai minimal 1 dan maksimal 1 Member class. Sales Order class dapat mempunyai minimal 1 dan maksimal banyak Product class. Sedangkan Product class dapat mempunyai minimal 1 dan maksimal banyak Sales Order class.
Jika kita menemukan hubungan antar class seperti Sales Order dengan Product, yang disebut sebagai many-to-many asosiasi. Maka kita harus membuat Detail Class, seperti:
Mengapa harus dibuat Detail Class? Apabila kita tidak membuat Detail Class maka pada table database tampilannya akan seperti:
Pada ID Sales Order S002, Product dengan ID P002 dibeli dengan jumlah 2 buah. Tetapi pada table database, datanya tersimpan redudansi (double). Sehingga kita harus membuat Detail Class agar data tidak redudansi.
Sehingga Sales Order class mempunyai minimal 1 dan maksimal banyak Detail SO class. Dan Detail SO class hanya mempunyai 1 Sales Order class. Sedangkan, Product class mempunyai minimal 1 dan maksimal banyak Detail SO class. Dan Detail SO class hanya mempunyai 1 Product class.
Berikut ini tampilan table database pada Detail SO class:
Sehingga ID Sales Order dan ID Product pada Detail SO class akan sekaligus menjadi Primary Key dan Foreign Key. Dan terdapat atribut tambahan pada Detail SO class yaitu Quantity
2. Agregasi
Agregasi, yaitu hubungan antar class yang menyatakan hubungan “has-a.”
Contohnya: Mobil dengan kaca spion.
Bila kita memodelkan sebuah mobil, maka dapat dikatakan bahwa mobil mempunyai kaca spion. Secara logis dapat dikatakan sebuah mobil dapat berfungsi walaupun tanpa kaca spion. Mobil dapat dipisahkan dari kaca spion
3. Komposisi
Komposisi, yaitu hubungan antar class yang menyatakan hubungan “part-of.”
Contohnya: Mobil dengan mesin
Bila kita memodelkan sebuah mobil, maka dapat dikatakan bahwa mesin adalah bagian dari mobil. Secara logis dapat dikatakan bahwa mobil tidak dapat dipisahkan dari mesin. Bila mesin tidak ada disebuah mobil maka mobil itu tidak berfungsi sebagai mobil.
4. Inheritance dan Generalization
Inheritance adalah hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
.
References
John W. Satzinger, R. B. (2012). Systems Analysis and Design in a Changing World. Joe Sabatino.
----------------------------------------------------------------------------------------------------------------------------
Cara Bikin class diagram
Membuat Class Diagram pada StarUML
saya
akan membuat sebuah diagram yang menggunakan program apilkasi Star UML.
Diagram yang saya buat ini merupakan diagram yang akan menjelaskan
perhitungan gaji pada sebuah perusahaan. Langkah pertama yang harus
dilakukan adalah dengan membuka aplikasi Star UML, kemudian akan muncul
jendela seperti di bawah ini. Pilih Empty Project, klik OK.
Setelah
itu, klik kanan pada Untitled yang berada di sebelah kanan window.
Pilih Add Model, maka akan muncul model. Kemudian klik kanan pada Model,
pilih Add Diagram lalu klik Class Diagram.
Maka akan muncul jendela seperti ini.
Jika
sudah selesai, maka kita dapat memulai untuk merancang diagramnya.
Untuk memulai membuat sebuah class diagram, kita harus mengetahui
persoalan apa yang sedang dihadapi untuk merancang tabelnya. Langkah pertama adalah membuat sebuah class. Yaitu dengan mengklik Class yang berada pada toolbox di sebelah kiri layar.
Kemudian ketikkan nama class tersebut, misalnya Pegawai.
Buat juga class – class yang lainnya. Yaitu Departemen, Pelanggan, Transaksi, Produk, Makanan, Minuman, Perlengkapan Mandi.
Kemudian
berikan atribut – atribut pada class dengan cara mengklik kanan class,
lalu pilih Add, Attribute. Seperti gambar dibawah ini :
Untuk
class pegawai, memiliki atribut Nama, Alamat, Jabatan, NIP. Class
Departemen mempunyai atribut Nama Departemen dan Alamat. Class Pelanggan
memiliki atribut Nama Pelanggan, Jenis Transaksi, dan ID
Pelanggan. Untuk class Transaksi memiliki atribut No.Tansaksi, Jumlah
Transaksi, dan Tgl Transaksi. Class Produk memiliki atribut Nama Produk,
Harga Produk, dan Stok. Class Makanan memiliki atribut Nama Makanan,
Tanggal Produksi, Tanggal Kadaluarsa, Harga dan Stok. Untuk class
Minuman memiliki atribut Nama Minuman, Tgl Produksi, Tgl Kadaluarsa,
Harga dan Stok. Dan yang terakhir adalah class Perlengkapan mandi, class
ini memiliki atribut Tgl Produksi, Harga, dan Stok. Lihat gambar
dibawah ini :
Selanjutnya adalah membuat relasi dari class – class tersebut. Ada beberapa macam relasi, yaitu,
1. Association
: Sebuah asosiasi merupakan sebuah relationship paling umum antara 2
class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2
class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).
2. Composition:
Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian
dari class yang lain, maka class tersebut memiliki relasi Composition
terhadap class tempat dia bergantung tersebut. Sebuah relationship
composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
3. Dependency
: Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut
dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan
operasi pada suatu class yang menggunakan class yang lain. Sebuah
dependency dilambangkan sebagai sebuah panah bertitik-titik.
4. Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.
Untuk
class Pegai dan Departemen terdapat relasi Agregation, karena antara
Pegawai dan Departemen saling berketergantungan dan mereka dapat berdiri
sendiri. Class Departemen dan Produk diberikan relasi Composition
karena class – class ini saling berketergantungan dan tidak dapat
berdiri sendiri, jika tidak ada Departemen, maka tidak akan ada Produk.
Kemudian untuk class Pelanggan dan Transaksi, terdapat relasi
asosiation, yaitu dimana class Pelanggan tidak langsung berhubungan
dengan Class transaksi, dan mereka tidak saling berketergantungan.
Sedangkan pada class Produk dan Makanan, Minuman, Perlengkapan mandi
terdapat relasi Generalization. Karena Makanan, Minuman, dan
Perlengkapan mandi merupakan bagian dari produk yang lebih spesifik atau
bisa disebut juga kata khusus dari Produk.
Jika
sudah, berikan sebuah text yang berisi simbol dari relasi tersebut,
yaitu one to one, one to many, many to one, atau many to many.
OUTPUT
----------------------------------------------------------------------------------------------------------------------------
Class diagram adalah
diagam yang digunakan untuk menampilkan beberapa kelas serta
paket-paket yang ada dalam sistem/perangkat lunak yang sedang kita
gunakan.
Class diagram memberi kita gambaran (diagram statis) tentang sistem/perangkat lunak dan relas-relasi yang ada didalamnya.
Definisi Class DiagramClass adalah kumpulan objek-objek dengan dan yang mempunyai struktur umum, behavior umum, relasi umum, dan semantic/kata yang umum. Class-class ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Whitten L. Jeffery et al, 2004).
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut.
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).
Simbol-simbol class diagram
1. Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah clas.
2. Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).
3. Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
4. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
5. Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.
Keterangan:
• Class / table departemen memiliki ber-Agregasi dengan class / table pegawai,alasannya karena departemen dapat berdiri sendiri tanpa ada pegawai tetapi kinerjanya tidak sempurna. Banyak pegawai dapat bekerja pada satu departemen jadi many to 1.
• Class/table transaksi tidak dapat berdiri sendiri tanpa adanya class/table produk. Begitu juga dengan table produk tidak bisa berdiri sendiri tanpa adanya departemen.
• Banyak pelanggan dapat melakukan banyak tansaksi
• 1 transaksi dapat mencakup banyak produk.
Class diagram memberi kita gambaran (diagram statis) tentang sistem/perangkat lunak dan relas-relasi yang ada didalamnya.
Definisi Class DiagramClass adalah kumpulan objek-objek dengan dan yang mempunyai struktur umum, behavior umum, relasi umum, dan semantic/kata yang umum. Class-class ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Whitten L. Jeffery et al, 2004).
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut.
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).
Simbol-simbol class diagram
1. Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah clas.
2. Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).
3. Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
4. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
5. Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.
Keterangan:
• Class / table departemen memiliki ber-Agregasi dengan class / table pegawai,alasannya karena departemen dapat berdiri sendiri tanpa ada pegawai tetapi kinerjanya tidak sempurna. Banyak pegawai dapat bekerja pada satu departemen jadi many to 1.
• Class/table transaksi tidak dapat berdiri sendiri tanpa adanya class/table produk. Begitu juga dengan table produk tidak bisa berdiri sendiri tanpa adanya departemen.
• Banyak pelanggan dapat melakukan banyak tansaksi
• 1 transaksi dapat mencakup banyak produk.
Penamaan kelas
Masing-masing
kelas harus mempunyai nama yang unik. Sebagian besar organisasi
mempunyai konvensi penamaan sendiri untuk menamakan kelas-kelas yang
dibuatnya. Umumnya kelas-kelas dinamakan menggunakan kata benda tunggal.
Nama
kelas tidak menggunkan spasi. Ini dilakukan karena alasan praktis,
dimana beberapa bahasa pemrograman tidak membolehkan adanya spasi. Hal
lainnya yang perlu diperhatikan adalah bahwa nama kelas hendaknya
pendek, cukup untuk menjelaskan apa yang akan kelas lakukan.
Jadi
penamaan kelas sangat tergantung pada organisasi kita. Jika kita
mempunyai kelas yang digunakan dalam organisasi yang bersangkutan,
tetapi yang jelas bahwa hal tersebut harus konsisten digunakan untuk
keseluruhan kelas-kelas yang dibuatnya.
- Visibilitas kelas
Pilihan
visibilitas menentukan dapat tidaknya sebuah kelas dilihat dari luar
paket. Ada 3 pilihan visibilitas untuk sebuah kelas yaitu :
1. Public
2. Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas lainnya dalam system.
3. Protected atau private
4. Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas majemuk(nested), friends, atau dari kelas itu sendiri.
5. Package atau implementation.
6. Menyatakan bahwa sebuah kelas dapat dilihat hanya oleh kelas yang lain dalam paket yang sama.
- Multiplicity kelas
Multiplicity
memberikan gambaran ebuah instant yang akan ditampung dalam kelas.
Misalnya, dalam kelas pegawai, kita mungkin mempunyai beberapa instant,
satu untuk Ani, satu untuk Ina, satu untuk Nana dan seterusnya. Sehingga
Multiplicity untuk kelas pegawai diset n. Pada kelas control,
Multiplicity diset 1, karena pada saat aplikasi berjalan hanya satu
kelas.
Beberapa jenis Multiplicity kelas.
Table Multiplicity untuk kelas :
Multiplicity
|
Arti
|
n (default)
|
Banyak
|
0..0
|
Nol
|
0..1
|
Nol atau Satu
|
0..n
|
Nol atau Banyak
|
1..1
|
Tepat satu
|
1. .n
|
Satu atau banyak
|
Table Notasi Multiplicity menggunakan kustomisasi
Format
|
Arti
|
Tepat
| |
..
|
Antara
|
..
|
Atau nol
|
,
| |
, ..
|
Tepat atau antara dan
|
.. ,
..
|
Antara dan atau antara dan
|
- Paket
Paket digunakan unruk mengelompokkan kelas-kelas yang mempunyai kesamaan. Dalam UML, digambarkan sebagai berikut :
Ada
beberapa cara mengelompokkan kelas-kelas dalam paket, tetapi
bagaimanapun juga, kelas-kelas dapat dikelompokkan dalam paket yang
sama tergantung dari keinginan kita sendiri. Salah satu pendekatan yang
dapat digunakan adalah berdasarkan Stereotype-nya. Dengan pendekatan
ini, dapat dibuat satu paket untuk kelas-kelas entitas, dan satu kelas
untuk kelas-kelas control.
Pendekatan
lainnya yang dapat digunakan adalah dengan fungsionalitasnya. Misalnya,
kita punya paket security untuk kelas-kelas yang digunakan menangani
keamanan system.
Akhirnya,
dapat digunakan kombinasi dua pendekatan diatas. Paket dapat dibuat
bersarang, dimana satu paket mengandung paket lainnya. Pada level
tertinggi, dapat dikelompokkan berdasarkan fungsionalitasnya, kemudian
diikuti dengan sub fungsionalitasnya lainnya atau dengan stereotype-nya.
----------------------------------------------------------------------------------------------------------------------------
Sebelum kita membahas mengenai diagram kelas mari kita fahami mengenai
perbedaan antara kelas dan objek hal ini dimaksudkan agar menghindari
kesalahfahaman karena seringkali dalam beberapa materi lain kelas
disebutkan sebagai objek itu sendiri. Kelas merupakan blueprint dari
object, kelas adalah konsep yang membentuk sebuah object jika
dianalogikan maka relevan dengan pernyatan bahwa object “Mobil Ferrari”
pada dasarnya adalah termasuk kedalam kelas “mobil” perhatikan diagram
berikut:
dalam bahasa java jika kita ingin membangun sebuah objek berdasarkan kelas tertentu maka sebagai berikut :
NamaKelas object = new NamaKelas;
Atau jika disesuaikan dengan kasus diatas menjadi :
Mobil ferarri = new Mobil; // relevan dengan pernyataan buatlah sebuah objek baru dengan nama Ferarri dari kelas Mobil.
Dalam rekayasa perangkat lunak, diagram kelas didalam Unified Modeling
Language (UML) adalah jenis diagram struktur statis yang menggambarkan
struktur dari suatu sistem dengan menunjukkan kelas sistem, atribut,
operasi atau metode, dan hubungan antara kelas.
Sebuah kelas digambarkan sebagai kotak dengan tiga level yakni:
1. Pada bagian atas judul dicetak tebal dengan text rata tengah dengan huruf pertama kapital,
2. Pada bagian tengah atribut dicetak rata kiri dengan hurup pertama non kapital dilengkapi dengan tipe data;
3. Pada bagian bawah adalah metode yang digunakan dalam kelas diakhiri dengan kurung kurawal.
lambang (+/-/#) pada kelas menggambarkan aksesibilitas dari atribut atau metode hal ini senada dengan konsep enkapsulasi dimana:
· (+) bermakna public sehingga atribut/metode dapat diakses secara langsung dari luar kelas.
· (-) bermakna private dimana kelas/atribut hanya bisa diakses oleh metode didalam kelas itu sendiri dan
· (#)
bermakna protected dimana kelas/atribut hanya bisa diakses oleh kelas
yang berada dalam package yang sama atau subclass dari kelas itu
sendiri.
Ada berbagai macam jenis relasi dalam diagram kelas yakni:
1. Asosiasi ini
mewakili hubungan statis antara dua kelas bersama dengan multiplisitas.
Misalnya seorang karyawan dapat memiliki satu alamat utama, tetapi
dapat memiliki beberapa nomor ponsel.
Asosiasi bisa searah (ditunjukkan oleh panah di salah satu ujung) atau
dua arah (ditunjukkan oleh panah pada kedua ujung). Multiplisitas
mendefinisikan berapa banyak objek yang terlibat berikut ini merupakan
table dali jenis multiplisitas berikut contohnya:
· (0..1)tidak ada atau satu objek .Contoh : Sebuah kursi penerbangan dapat memiliki atau satu penumpang saja.
· (1) --Tepat satu objek .Contoh: satu order hanya dapat memiliki satu pelanggan.
· (0 .. *) atau (*) -- Nol atau lebih objek .Contoh:kelas A dapat memiliki nol atau lebih siswa.
· (1 .. *) Satu atau lebih objek (setidaknya satu). Contoh: pesawat dapat memiliki satu atau lebih penumpang.
2. Generalisasi Properti
ini merupakan fitur warisan dari konsep berorientasi objek. Dimana
child mewarisi atribut dan method dari parentnya namun disisi lain
mengalami penambahan atau modifikasi didalam java dikenal sebagai override.
3. Realisasi merupakan relasi yang terjadi antara class dan interface. Dimana interface merupakan media penghubung dianalogikan sebagai sebuah port .
4. Dependensi merupakan
relasi dimana sebuah class membutuhkan class lainnya untuk dapat
berjalan dalam hal ini dapat berbentuk parameter object yang dieksekusi
dalam method class lainnya
5. Agregasi merupakan
relasi dimana sebuah class merupakan bagian utuh dari class lainya
sering digambarkan dengan kata “has a” berarti memiliki contoh sekolah
memiliki murid .
6. Komposisi sama
halnya dengan agregasi dimana suatu class merupakan bagian utuh dari
class lainya namun pada hal ini satu bagian class tersebut akan sangat
bergantung pada keberadaan class lainya. Contoh Sebuah perusahaan
memiliki pekerja yang diikat dalam sebuah kontrak dan apabila perusahaan
tersebut bangkrut maka secara otomatis keberadaan pekerja tidak
dibutuhkan lagi.
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
Tidak ada komentar:
Posting Komentar