Anda di halaman 1dari 19

UNIFIED MODELING LANGUAGE

CLASS DIAGRAM BIRO PERJALANAN JAUH

Resume, Analyze, dan Design

Diajukan untuk memenuhi tugas


Mata Kuliah Analisis dan Perancangan Berorientasi Objek

Oleh :
Andri Kurnaedi 10507454

MI-10 2007
JURUSAN MANAJEMEN INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIKOM
BANDUNG
2009
RESUME, ANALYZE, DAN DESIGN

DAFTAR ISI

Daftar Isi .................................................................................................................... i


A. UNIFIED MODELING LANGUAGE ................................................................ 1
B. CLASS DIAGRAM ............................................................................................. 2
Atribut ........................................................................................................ 3
Method ....................................................................................................... 3
Multiplicity ................................................................................................. 3
Notes & Comment ...................................................................................... 4
Dependency ................................................................................................ 4
Generalization ............................................................................................ 4
Constraints .................................................................................................. 5
Abstract Class ............................................................................................. 5
Interface ...................................................................................................... 6
Enumeration ............................................................................................... 6
Associations ............................................................................................... 7
Bidirectional Associations .......................................................................... 7
Aggregation ................................................................................................ 7
Composition ............................................................................................... 8
Contoh Class Diagram ............................................................................... 9
C. MEMBUAT CLASS DIAGRAM ..................................................................... 11
Identify Generalizations ........................................................................... 11
Identify Aggregations ............................................................................... 11
Identify Assosiations ............................................................................... 12
Identify Clusters ...................................................................................... 12
Explore Patterns ....................................................................................... 12
D. CONTOH SOAL ............................................................................................... 13
E. PENYELESAIAN .............................................................................................. 14
Class & Object ......................................................................................... 14
Aggregations & Generalizations Biro Perjalanan JAUH ......................... 16
Class Diagram Biro Perjalanan JAUH ..................................................... 17

Class Diagram Biro Perjalanan | i


RESUME, ANALYZE, DAN DESIGN

A. UNIFIED MODELING LANGUAGE

Sebelum mempelajari Diagram Class, The Unified Modeling Language (UML)


haruslah dikenal terlebih dahulu. Hal ini dilakukan untuk menunjang dalam
mengartikan sebuah diagram class yang merupakan bagian dari UML.
The Unified Modeling Language (UML) adalah bahasa standar untuk
melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari komponen-
komponen perangkat lunak, dan digunakan untuk pemodelan bisnis. UML
menggunakan notasi grafis untuk menyatakan suatu desain. Pemodelan dengan UML
berarti menggambarkan yang ada dalam dunia nyata ke dalam bentuk yang dapat
dipahami dengan menggunakan notasi standar.
Pemodelan dengan UML terdiri dari 8 tipe diagram yang berbeda untuk
memodelkan sistem perangkat lunak. Masing-masing diagram UML didesain untuk
menunjukkan satu sisi dari bermacam-macam sudut pandang (perspektif) dan terdiri
dari tingkat abstraksi yang berbeda. UML mendefinisikan diagram-diagram berikut ini :
1. Use Case Diagram
2. Class Diagram
3. Behavior Diagram :
a. Statechart Diagram
b. Activity Diagram
4. Interaction Diagram :
a. Sequence Diagram
b. Collaboration Diagram
5. Component Diagram
6. Deployment Diagram
Dari beberapa sumber menyatakan Object Diagram merupakan salah satu
bagian UML. Dikarenakan Object Diagram memiliki sudut pandang yang hampir sama
dengan Class Diagram, maka banyak yang berpendapat bahwa Object Diagram tidak
begitu diperlukan dalam UML.

Class Diagram Biro Perjalanan | 1


RESUME, ANALYZE, DAN DESIGN

B. CLASS DIAGRAM

Class Diagram adalah diagram yang paling umum dijumpai pada pemodelan
berbasis UML. Didalam Class Diagram terdapat class dan interface beserta atribut dan
operasinya, relasi yang terjadi antar objek, constraint terhadap objek-objek yang saling
berhubungan, inheritance untuk organisasi class yang lebih baik. Selain itu Class
Diagram merupakan static view dari elemen pembangun sistem.
Class Diagram mampu membantu proses pembuatan sistem dengan
memanfaatkan konsep forward/reverse engineering. Class Diagram memiliki 2
komponen penting, yaitu :
1. Atribut – Ciri pembeda antar object
2. Method – Tingkah laku atau kegiatan yang mampu dilakukan object
Atribut dan method 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.

Contoh, Class Buku terdiri dari :


 Atribut : judul, pengarang
 Method : ambilJenis(), ambilHalaman();
Penggambaran dalam Class Diagram :

Class Diagram Biro Perjalanan | 2


RESUME, ANALYZE, DAN DESIGN

Atribut
Notasi dari atribut :
visibility name: type multiplicity = default {property-string}
Contoh :
- name: String [1] = "Untitled" {readOnly}
Ket :
+ berarti public, - berarti private, # berarti protected
“Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat
objek dibuat.
{readOnly} adalah properti tambahan dari atribut, dimana disini berarti tidak
bisa dimodifikasi.

Method
Notasi dari Method :
visibility name (parameter-list) : return-type {property-string}
Contoh :
+ balanceOn (date: Date) : Money
Ket :
+ berarti public, - berarti private, # berarti protected
direction name : type = default value
Direction bisa berupa : in, out, atau inout.

Multiplicity
Indikasi berapa banyak objek yang bisa mengisi properti.
 1 (pasti 1)
 0..1 (0 atau 1)
 * (Tidak ada batasan, bisa 0, 1, ..., n)
Multiplicity biasanya didefinisikan batas bawah dan atas, kecuali untuk yang
pasti bernilai 1, mirip dengan konsep one-to-one dan one-to-many pada relational
database.

Class Diagram Biro Perjalanan | 3


RESUME, ANALYZE, DAN DESIGN

Notes & Comment


Notes bertindak sebagai komentar dalam diagram. Standalone atau dihubungkan
dengan garis putus-putus. Untuk mengurangi ambiguitas, seringkali ditambahkan
lingkaran pada akhir garis penghubung. Contoh :

Dependency
Dependency adalah perubahan pada salah satu elemen yang mengakibatkan
perubahan pada elemen yang lain. Semakin kompleks sistem, maka dependency
menjadi sesuatu yang harus dipertimbangkan. Dependency hanya berlaku satu arah.
Bisa diperjelas dengan penggunaan keyword, seperti <<parameter>>, <<use>>,
<<call>> dengan notasi anak panah dan garis putus-putus. Aturan umum dependency
adalah kurangi dependency antar modul (low coupling).

Generalization
Generalization adalah inheritance pada UML dimana sub class mewarisi feature
dari super classnya. Sub class mampu overriding metode super classnya. Generalization
dinotasikan dengan anak panah mengacu ke super class.

Class Diagram Biro Perjalanan | 4


RESUME, ANALYZE, DAN DESIGN

Constraints
Constraints adalah aturan yang harus dipenuhi sebagai syarat yang bisa
disebutkan secara eksplisit dengan { }.

Dari gambar di atas sudah tergambar secara langsung bahwa Order hanya
dilakukan oleh satu Customer dan Corporate Customers memiliki credit limits tetapi
tidak bagi Personal Customers.

Abstract Class
Abstract Class digunakan pada class yang tidak bisa diinstantiasi, harus
diturunkan kedalam class non-abstract. Memiliki satu atau lebih metode abstract
Class Diagram Biro Perjalanan | 5
RESUME, ANALYZE, DAN DESIGN

sedangkan metode abstract tidak memiliki implementasi. Implementasi dilakukan oleh


class yang menurunkan. Dinotasikan italics pada nama.

Interface
Class yang tidak memiliki implementasi sama sekali, semua featurenya bersifat
abstract. Class yang menerapkan interface harus mengimplementasikan feature-feature
abstract sebagai kontrak untuk mendapatkan fungsi yang konsisten, meskipun
implementasinya bisa berbeda-beda. Dinotasikan dengan keyword: <<interface>>

Enumeration
Enumeration digunakan untuk menampilkan sekumpulan nilai yang bersifat
statik, misalnya warna. Ditandai dengan keyword <<enumeration>>

Class Diagram Biro Perjalanan | 6


RESUME, ANALYZE, DAN DESIGN

Associations
Associations menggambarkan hubungan antar class. Ditandai dengan anak
panah yang seringkali ditambahkan label dan multiplicity untuk memperjelas
hubungan.

Bidirectional Associations
Bidirectional Associations adalah sepasang properti yang dihubungkan sebagai
inverse. Mirip konsep primary/foreign key. Jika diketahui salah satu, maka bisa
didapatkan informasi pihak yang lain.
Contoh :
 Class Car : owner:Person[1]
 Class Person : cars:Car[*]

Aggregation
Part-of relationship (bagian dari | terdiri dari) dan jika dipisah tidak merubah
makna. Dinotasikan dengan diamond “kosong”. Contoh :
 Mobil memiliki mesin dan roda sebagai bagian dari mobil
 Klub terdiri dari banyak orang

Class Diagram Biro Perjalanan | 7


RESUME, ANALYZE, DAN DESIGN

 Komputer terdiri dari CPU, VGA, dan Sound Card, jika VGA dilepas, maka
komputer akan tetap berupa komputer

Composition
Whole-part relationship : Bagian yang tidak boleh dipisahkan
Contoh :
 Class Person dan Class Head
Menghapus person berarti juga menghapus kepalanya dan orang tidak bisa hidup tanpa
kepala. Dengan kata lain orang dan Kepala harus ada bersamaan.

Buku terdiri dari halaman, jika halaman diambil maka buku pun tidak akan berbentuk.

Class Diagram Biro Perjalanan | 8


RESUME, ANALYZE, DAN DESIGN

Contoh Class Diagram

Contoh 1.

Class Diagram Biro Perjalanan | 9


RESUME, ANALYZE, DAN DESIGN

Contoh 2.

Class Diagram Biro Perjalanan | 10


RESUME, ANALYZE, DAN DESIGN

C. MEMBUAT CLASS DIAGRAM

Identify Generalizations
 Pada pendekatan pertama, kita mencari class yang berpasangan, apakah
memiliki hubungan generalisasi atau tidak.
 Pada pendekatan kedua, kita memilih dan melihat dari class apakah memiliki
hubungan generalisasi. Jika ada dibuat subclass yang baru.
 Pada pendekatan ketiga, kita melihat dari class - class yang ada, apakah perlu
dibuat class yang baru.

Identify Aggregations
 Pada pendekatan pertama, kita memeriksa setiap pasang class untuk dilihat
apakah objek dari satu class tersebut merupakan bagian dari objek class yang
lain. Contoh class yang dimiliki A, B, C , D , E maka hubungannya
A C
| |
B D
 Pada pendekatan kedua kita menentukan apakah dari class yang berhubungan
tersebut bisa dibuat class yang baru. Hubungan yang terjadi : Z memiliki
subclass A dan B
 Pada pendekatan ketiga kita menentukan apakah dari class yang ada perlu
dibuat class turunan yang baru.

Aggregation structures ada 3 macam :


1. Assembly - Part
Hubungan antar class yang satu dengan class yang lain sangat erat,
apabila mengurangi atau menghilangkan salah satu bagian, maka class yang
behubungan tersebut tidak akan terbentuk.
Contoh: ban dengan mobil
2. Container - Content
Hubungan antar class yang satu dengan yang lain tidak terlalu erat
apabila salah satu class dihilangkan atau ditambahkan, maka class yang
berhubungan tersebut akan tetap ada.
Class Diagram Biro Perjalanan | 11
RESUME, ANALYZE, DAN DESIGN

Contoh : buku dengan chapter


3. Collection - Member
Class tersebut tidak akan berubah walaupun member didalamnya
ditambah atau dikurangi.
Contoh : class mahasiswa dengan mahasiswa yang terdapat didalamnya

Identify Assosiations :
Kita melihat hubungan antar class yang tersisa apakah mereka dapat
dihubungkan secara langsung

Identify Clusters :
Kita melihat apakah ada kemiripan sifat dan karakter dari satu class dengan
class yang lain, apabila ada maka dikelompokan di dalam satu cluster.

Explore Patterns
Penerapan pattern dapat digunakan dengan melihat hubungan antar class yang
ada. Dimana Objek Oriented menyediakan sumber dari inspirasi, yang mana
mengkomplemen kandidat dari sistematik generalisasi untuk hubungan strukturalnya.
Sebuah pattern merupakan gambaran generalisasi dari sebuah masalah dan solusinya.
The Role Pattern :
Kita melihat hubungan antar class yang ada, apakah peran yang ada bersifat
agregasi dan generalisasi
The Relation Pattern :
Kita melihat hubungan antar class yang ada, apakah peran yang ada bersifat
agregasi dan asosiasi
The Hierarchy Pattern :
Kita melihat hubungan antar class yang ada, apakah peran yang ada bersifat
agregasi dan agregasi
The Item-Descriptor Pattern :
Kita melihat hubungan antar class yang ada, apakah peran yang ada bersifat
agregasi.

Class Diagram Biro Perjalanan | 12


RESUME, ANALYZE, DAN DESIGN

D. CONTOH SOAL

Biro Perjalanan JAUH


Biro Perjalanan JAUH merupakan suatu biro jasa yang menjual tiket perjalanan,
baik itu perjalanan udara (pesawat terbang), dan perjalanan darat (kereta api dan travel).
Seseorang yang akan menggunakan jasa biro JAUH, akan ditanyakan data pribadi
berupa : nama pembeli (nama depan dan nama belakang/marga), alamat, telepon yang
dapat dihubungi serta harus menyerahkan fotocopy identitas (KTP, SIM, atau Paspor).
Setelah data pribadi dimasukkan, maka karyawan biro akan menanyakan masalah
pembelian tiket, apakah akan menggunakan jalan darat atau udara. Hal yang harus
diketahui biro adalah : kota tujuan, tanggal dan jam keberangkatan, kelas tempat duduk
dan jumlah tiket yang dipesan. Pengguna jasa akan mendapat tiket tersebut, bila telah
membayar lunas semua tagihan, jika menggunakan pesawat terbang, maka akan
tercantum data : tanggal pesan, nama depan, nama akhir, alamat, kota, negara, telepon,
tanggal keberangkatan, airport keberangkatan, jam keberangkatan, airport tujuan, jam
tiba serta nomor booking dan kode penerbangan (dua data terakhir merupakan data dari
maskapai penerbangan). Sedangkan jika menggunakan kereta api akan diberikan tiket
yang berisi data : nama pembeli, tanggal keberangkatan, jam keberangkatan, stasiun
keberangkatan, stasiun tujuan, jam tiba, kelas tempat duduk serta nomor gerbong,
nomor kursi, dan jalur penerbangan (tiga data terakhir merupakan data yang
dikeluarkan oleh Perumka). Adapun untuk perjalanan dengan travel akan mendapatkan
tiket keberangkatan yang berisi data : tanggal dan jam keberangkatan, kota asal, kota
tujuan serta kode mobil dan nomor polisi (dua data terakhir merupakan data dari biro
jasa). Pembayaran tiket dapat dilakukan melalui tunai di tempat, paling lambat dua hari
sebelum keberangkatan, sedangkan pembatalan tiket dapat dilakukan dengan mengacu
ketentuan dari tiket yang dibeli.

Class Diagram Biro Perjalanan | 13


RESUME, ANALYZE, DAN DESIGN

E. PENYELESAIAN

Class & Object

Class Diagram Biro Perjalanan | 14


RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 15


RESUME, ANALYZE, DAN DESIGN

Aggregations & Generalizations Biro Perjalanan JAUH

Class Diagram Biro Perjalanan | 16


RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan JAUH

Class Diagram Biro Perjalanan | 17