• Tidak ada hasil yang ditemukan

BAB II TINJAUAN PUSTAKA

2.5 Perancangan Sistem

2.5.3 Pengenalan Diagram dalam UML

2.5.3.4 Class Diagram

Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket

di dalam sistem. Class diagram memberikan gambaran sistem secara statis dan

relasi anatar mereka. Biasanya, dibuat beberapa class diagram untuk sistem

tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan

relasinya. Dpaat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap sistem yang dibangun.

Class diagram adalah alat perancangan terbaik untuk tim pengembang. Diagram tersebut membantu pengembang mendapatkan struktur sistem sebelum kode ditulis, membantu untuk memastikan bahwa sistem adalah desain terbaik.

Kelas

Kelas adalah sesuatu yang membungkus informasi dan perilaku. Secara tradisional, sistem dibangun dengan ide dasar bahwa akan meyimpan

informasi pada sisi basis data dan data perilaku pengolahnya pada sisi aplikasi. Salah satu perbedaan terstruktur dengan pendekatan berorientasi obyek adalah pada berorientasi obyek menggabungkan informasi dan perilaku pengolah informasi dan menyembunyikan semuanya ke dalam sesuatu yang disebut kelas. Dalam UML, kelas ditunjukkan menggunakan notasi sebagai berikut :

Class

Atribute Operati on()

Gambar 2.7 Notasi Class

Bagian paling atas pada notasi Class digunakan sebagai nama kelas,

dan secara opsional juga digunakan stereotype-nya. Bagian tengah

digunakan untuk menyimpan atribut, dan bagian paling bawah digunakan menyimpan operasi.

Menemukan Kelas

Cara yang baik untuk menemukan kelas-kelas adalah dimulai dari

memperhatikan aliran kejadian (flow of event) dari suatu use case.

Perhatikan kata benda di dalam aliran kejadian, mungkin merupakan salah satu dari empat hal berikut:

• Aktor

• Kelas

• Ekspresi, bukan aktor, bukan kelas, dan bukan attribut.

Dengan melakukan seleksi kata benda dalam aliran kejadian, dapat ditemukan kelas-kelas dalam sistem. Alternatif lainnya, dapat diuji

obyek-obyek dalam sequence diagram atau collaboration diagram.

Ada dua cara yang biasa dilakukan berkaitan dengan urutan

pendefinisian antar kelas-kelas dalam class diagram dan sequence

diagram atau collaboration diagram. Yang pertama, dengan membuat

sequence diagram atau collaboration diagram lebih dulu kemudian

melanjutkannya dengan membuat class diagram. Sebaliknya, yang kedua,

yaitu dengan menemukan kelas-kelas dan membuat class diagram terlebih

dulu, kemudian menggunakan kelas-kelas tersebut sebagai ”kamus”

obyek-obyek dan relasinya untuk membuat sequence diagram atau

collaboration diagram.

Stereotype pada Kelas

Stereotype adalah sebuah mekanisme yang digunakan untuk

mengkategorikan kelas-kelas. Misalnya, dapat dibuat stereotype form lebih

dulu, kemudian menentukan kelas-kelas di langkah selanjutnya. Fitur ini membantu untuk lebih memahami tanggung jawab terhadap masing-masing

kelas dalam model. Kelas-kelas dengan stereotype ’form’ bertanggung

jawab menampilkan informasi ke pemakai dan menerima informasi dari pemakai.

Bounda ryClass

Stereotype juga membantu dalam proses pembangkkitan kode. Ketika

proses pembangkitan kode, stereotype kelas menentukan tipe kelas yang

akan dibawa ke bahasa pemrograman.

Beberapa stereotype dapat digunakan sejak pada tahap proses analisis,

pada saat belum ditentukan bahasa pemrograman tertentu untuk

membangkitkan kode. Stereotype juga bisa tergantung pada bahasa

pemrograman yang dipilih dan digunakan pada tahap proses desain.

Ketika analisis, kelas-kelas dapat dikategorikan menurut fungsi yang

mereka lakukan. Ada 3 tipe stereotype kelas dalam UML yang digunakan

pada analisis, yaitu : pembatas (boundary), entitas (entity), dan kontrol.

a. Kelas-kelas pembatas

Kelas-kelas pembatas adalah kelas-kelas yang teletak di antara sistem dengan dunia sekelilingnya. Semua form, laporan-laporan, antar muka (interfaces) ke perangkat lunak seperti printer atau scanner, dan antar muka (interfaces) ke sistem lainnya adalah termasuk dalam kategori ini. UML mepresentasikan kelas pembatas sebagai berikut :

Gambar 2.8 Notasi Kelas Pembatas

Untuk menemukan dan mengidentifikasi kelas-kelas pembatas dapat

Ent ity Clas s

pembatas untuk setiap interaksi antara actor-use case. Kelas pembatas

adalah apa saja yang memungkinkan aktor berinteraksi dengan sistem.

Tidak perlu membuat kelas pembatas untuk setiap pasangan actor-use

case. Sebagai contoh, bila mempunyai dua aktor yang sama-sama

menginisialisasi use case yang sama untuk berkomunikasi dengan sistem.

a. Kelas-kelas entitas

Kelas-kelas entitas menangai informasi yang disimpan dalam peyimpanan tetap. Kelas entitas biasanya ditemukan dalam aliran

kejadian (flow of event) pada diagram interaksi. Mereka adalah

kelas-kelas yang sebagian besar bermakna terhadap pemakai dan secara tipikal diberikan nama menggunakan termonologi domain bisnisnya. Perhatikan kata benda dalam aliran kejadian. Beberapa kata benda akan menjadi kelas entitas dalam sistem. Cara lainnya adalah dengan memperhatikan struktur basis data. Jika rancangan basis data telah dibuat, perhatikan nama-nama tabel. Tabel-tabel

menangani beberapa record informasi secara permanen, sementara

kelas entitas, menangani informasi di dalam memori komputer saat komputer sedang dihidupkan. Dalam UML, notasi kelas entitas digambarkan sebagai berikut :

Control Cl ass

Dari rancangan basis data, dapat ditelusuri balik beberapa field pada basis data ke kebutuhan sistem. Kebutuhan sistem menentukan aliran kejadian (flow of event), dan aliran kejadian menentukan obyek-obyek, kelas-kelas, dan attribut-attribut dalam kelas. Masing-masing attribut dalam kelas entitas mungkin akan menjadi field dalam basis data.

b. Kelas-kelas Kontrol

Kelas kontrol bertanggung jawab untuk mengkoordinasikan kegiatan-kegiatan terhadap kelas lainnya. Kelas ini bersifat opsional, tetapi jika kelas kontrol ini digunakan, maka secara tipikal satu kelas kontrol untuk satu use case tersebut. Ada

kelas-kelas kontrol yang digunakan bersama oleh beberapa use case.

Dalam UML, notasi kelas entitas digambarkan sebagai berikut :

Gambar 2.10 Notasi Kelas Kontrol

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

Nama kelas tidak menggunakan 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 :

Public

Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas lainnya dalam sistem.

Protected atau Private

Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas majemuk (nested), friends, atau dari kelas itu sendiri.

Package atau Implementation

Menyatakan bahwa sebuah kelas dapat dilihat hanya oleh kelas yang lain dalam paket yang sama.

Multiplicity Kelas

Multiplicity memberikan gambaran sejumlah instan yang akan ditampung dalam keas. Misalnya, dalam kelas Pegawai, kita mungkin mempunyai beberapa instan, satu untuk Ani, satu untuk Ina, satu untuk

Nana, dan seterusnya. Sehingga multiplicity untuk kelas Pegawai diset n.

Pada kelas kontrol, multiplicity diset 1 , karena pada saat aplikasi berjalan

hanya satu kelas.

Beberapa jenis multiplicity 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

Atau dapat digunakan format tertentu sebagai berikut :

Format Arti

<Number> Tepat

<Number1>.. <Number2> Antara

<Numbern> .. Atau Nol

<Number1> , <Number2>

<Number1> , <Number2> .. <Number3>

Tepat <Number1> atau antara

<Number2> dan <Number3>

<Number1>.. <Number2> ,

<Number3>.. <Number4>

Antara <Number1> dan <Number2>

atau antara <Number1> dan

<Number2>

Tabel 2.12 Notasi multiplicity menggunakan kustomisasi

Paket

Paket digunakan untuk mengelompokkan kelas-kelas yang

mempunyai kesamaan. Dalam UML, digambarkan sebagai berikut :

Package

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 entitas, dan satu kelas untuk kelas-kelas kontrol.

Pendekatan lainnya yang dapat digunakan adalah dengan

fungsionalitasnya. Misalnya, kita punya paket Security untuk kelas-kelas

yang digunakan menangani keamanan sistem.

Akhirnya, dapat digunakan kombinasi dua pendekatan di atas. Paket dapat dibuat bersarang, dimana satu paket mengandung beberapa paket lainnya. Pada level tertinggi, dapat dikelompokkan berdasarkan fungsionalitasnya, kemudian diikuti dengan sub fungsionalitas lainnya atau

dengan stereotype-nya

1. Untuk menambahkan attribute, klik kanan pada Class, lalu

2. Untuk menambahkan attribute , bisa juga dengan membuka

Specification, dengan cara klik kanan, Open Specification lalu pilih tab Attributes. Pada tab Attributes, klik kanan, lalu pilih insert.

3. Kemudian masukkan attribute dengan klik kanan, insert lalu

Dokumen terkait