class diagram biro perjalanan

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

Upload: andri-kurnaedi

Post on 18-Jun-2015

370 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Class Diagram Biro Perjalanan

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

Page 2: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | i

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

Page 3: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 1

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.

Page 4: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 2

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 :

Page 5: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 3

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.

Page 6: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 4

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.

Page 7: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 5

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

Page 8: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 6

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>>

Page 9: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 7

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

Page 10: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 8

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.

Page 11: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 9

Contoh Class Diagram

Contoh 1.

Page 12: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 10

Contoh 2.

Page 13: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 11

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.

Page 14: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 12

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.

Page 15: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 13

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.

Page 16: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 14

E. PENYELESAIAN

Class & Object

Page 17: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 15

Page 18: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 16

Aggregations & Generalizations Biro Perjalanan JAUH

Page 19: Class Diagram Biro Perjalanan

RESUME, ANALYZE, DAN DESIGN

Class Diagram Biro Perjalanan | 17

Class Diagram Biro Perjalanan JAUH