Anda di halaman 1dari 232

Pertemuan I

Object Oriented
Pendahuluan Pemodelan Sistem Berbasis
Objek
• Sejarah Object Oriented

 Konsep awal programming (Basic) dengan kekuatan GOTO


statement, ini merupakan Non Procedural Language

 Procedural Language / Bahasa pemograman terstruktur


menghilangkan kelemahan GOTO konsep non procedural
language
Contoh : Pascal, COBOL, FORTRAN, BASIC dll

 Object Oriented Programming, mengarah pada konsep


object. Akhir tahun 1960 diperkenalkan pertama kali dengan
bahasa SIMULA. Tahun 1970 dikembangkan Smaltalk.
Bahasa pemrograman lainnya : Clipper 5.2 Java, Prolog dll
Pendahuluan Pemodelan Sistem Berbasis
Objek
 Visual Object Oriented Programming, tahun 1991
diperkenalkan pertama kali dengan bahasa Visual Basic oleh
Microsoft
Bahasa pemograman lainnya : Visual C++, Visual Foxpro 3.0,
CORBA (Common Object Request Broker Architecture), dll

• Pengembangan berorientasi objek merupakan cara berpikir


baru tentang perangkat lunak berdasarkan abstraksi yang
terdapat dalam dunia nyata. Dalam konteks pengembangan
menunjuk pada bagian awal dari siklus hidup pengembangan
sistem, yaitu survei, analis, desain, implementasi dan
pemeliharaan sistem. Hal yang lebih penting dalam
pengembangan berorientasi objek adalah konsep
mengidentifikasi dan mengorganisasi domain aplikasi
dari pada penggunaan bahasa pemrograman, berorientasi
objek atau tidak.
Konsep Pemodelan

 Berorientasi objek dalam proses konseptual terpisah


dengan bahasa pemrograman sampai tahap terakhir.
 Pengembangan berorientasi objek secara mendasar
merupakan cara berpikir baru dan bukan suatu teknik
pemrograman.
 Dapat melayani sebagai media spesifikasi, analisa,
dokumentasi dan interface seperti halnya
pemrograman.
 Bahkan sebagai alat pemrograman, dapat memiliki
berbagai sasaran, termasuk bahasa pemrograman dan
basis data sebaik dengan bahasa pemrograman
berorientasi obyek.
Metodologi Object Oriented

• Fokus utama metodologi ini pada objek, dapat


digambarkan sebagai benda, orang, tempat dan
sebagainya yang memiliki atribut dan metode.

• Diperkenalkan tahun 1980 menggunakan perangkat


kerja dan teknik-teknik yang dibutuhkan dalam
pengembangan sistem, yaitu dynamic dan static object
oriented model, state transition diagram dan case
scenario.
Model Object Oriented
Objek dan kelas

 Objek didefinisikan sebagai konsep, abstraksi atau benda


dengan batasan dan arti untuk suatu masalah.
 Semua objek mempunyai identitas yang berbeda dengan
lainnya.
 Kadang-kadang objek berarti suatu barang, maka digunakan
istilah object instance, dan object class untuk menunjukkan
satu grup dari barang yang sama.
 Sebuah objek merupakan sebuah entitas yang mencakup
data dan metode.
 Kelas merupakan satu atau lebih objek dengan persamaan
atribut dan metode, sedangkan kelas-&-objek adalah kelas
dengan satu atau lebih objek di dalamnya.
 Nama kelas adalah kata benda tunggal, atau kata sifat dan
kata benda.
Model Object Oriented

Istilah-istilah Objek

• Atribut : Data item yang menegaskan Objek


• Operasi : Fungsi di dalam kelas yang
dikombinasikan bentuk tingkah laku kelas
• Metode : Pelaksanaan prosedur (badan dari
kode yang mengeksekusi respon terhadap
permintaan objek lain di dalam sistem).
Struktur Objek dan Hirarki Kelas
1. Whole-Part Structure memperlihatkan hirarki dari suatu
kelas sebagai komponen dari kelas lain yang disebut
juga sub objek.
Contohnya, kelas Mobil adalah Whole dan
komponennya Mesin, Rangka, dll merupakan Part1,
Part 2, …, Partn.
Struktur Objek dan Hirarki Kelas
2. Gen-Spec memperlihatkan kelas sebagai spesialisasi dari
kelas diatasnya
 Kelas yang mempunyai sifat umum disebut Generalization,
Superclass atau Topclass.
 Kelas yang mempunyai sifat khusus disebut Specialization.
Contohnya, kelas Mobil adalah Generalization, sedangkan
Sedan, Truk, Minibus, dll merupakan Specizlization1,
Specialization2, dst
Tahap-tahap metodologi berdasarkan Sistem
Development Life Cycle (SDLC), dengan
berorientasi objek dapat dijelaskan sebagai
berikut :
1. Analisa
Model analisa adalah abstraksi yang ringkas dan tepat dari
apa yang harus dilakukan oleh sistem, dan bagaimana
melakukannya. Objek dalam model harus merupakan konsep
domain dari aplikasi, bukan merupakan implementasi
komputer seperti struktur data.

2. Design
Fokus object design adalah perencanaan struktur data dan
algoritma yang diperlukan untuk implementasi setiap kelas.
Objek domain aplikasi dan objek domain komputer dijelaskan
dengan menggunakan konsep dan notasi berorientasi objek
yang sama.
Tahap-tahap metodologi berdasarkan Sistem
Development Life Cycle (SDLC), dengan
berorientasi objek dapat dijelaskan sebagai
berikut :
3. Implementasi
 Kelas, objek dan relasinya dikembangkan dalam tahap
object design, akhirnya diterjemahkan ke dalam bahasa
pemrograman, basis data, dan implementasi perangkat
keras.

 Dalam tahap implementasi hal yang penting adalah


mengikuti penggunaan perangkat lunak yang baik.
Object

Objek adalah kombinasi antara struktur data dan perilaku dalam


satu entitas dan mempunyai nilai tertentu yang membedakan
entitas. Bisa berupa:
• obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.
• obyek abstrak : mata kuliah, penjadwalan, dll.

Karakteristiknya adalah:
 Memiliki Identity (identitas)
 Memiliki klasisfikasi
 Memiliki state (kondisi/keadaan)
State sebuah objek dinyatakan dalam attribute/properties
 Memiliki behavior (perilaku/method)
Perilaku suatu objek dinyatakan dalam operation.
Perilaku suatu objek adalah mendefinisikan bagaimana objek
tersebut bertindak dan memberikan reaksi.
CONTOH OBYEK

Atribut :
• Nomor Polisi
• Ban, Stir, Pedal Kopling/Gas/Rem,
• Warna, Tahun Produks

Behavior/Tingkah Laku :
• Cara Menghidupkan Mesin
• Cara Manjalankan Mobil
• Cara Memundurkan Mobil
Object : Mobil
Karakteristik Berorientasi Objek
Berorientasi objek mempunyai karakteristik sebagai berikut:

1. Encapsulation (pembungkusan)
• Pengkapsulan merupakan dasar untuk pembatasan ruang
lingkup program terhadap data yang diproses. Dengan
demikian objek atau prosedur dari luar tidak dapat
mengaksesnya. Data terlindung dari prosedur atau objek lain
kecuali prosedur yang berada dalam objek itu sendiri.
• Sebuah object yang terkapsulasi dapat dianggap sebagai
black box.
• Proses di dalamnya adalah tertutup bagi klien, yang hanya
memanggil metode yang menjadi interface.
• Dalam Java, dasar enkapsulasi adalah Class. Variabel atau
method sebuah class tidak dapat diakses dengan menjadikan
class tersebut private/protected.
CONTOH ENKAPSULASI

Disini terjadi penyembunyian informasi tentang bagaimana


cara kerja pengecekan validitas kartu, kecocokan pin yang
dimasukkan, koneksi ke database server, dll, dimana hal-
hal tersebut tidak perlu diketahui oleh pengguna tentang
bagaimana cara kerjanya.
Karakteristik Berorientasi Objek
2. Inheritance (pewarisan)
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa
anak dari objek akan mewarisi data/atribut dan metode dari
induknya langsung. Bila inheritance dipergunakan, kita tidak
perlu membuat atribut dan metode lagi pada anaknya, karena
telah diwarisi oleh induknya. Inheritance mempunyai arti bahwa
atribut dan operasi yang dimiliki bersama di antara class yang
mempunyai hubungan secara hirarki.

• Sebuah class bisa mewariskan atribut dan method-nya ke class


yang lain
– Class yang mewarisi disebut superclass
– Class yang diberi warisan disebut subclass
– Sebuah subclass bisa mewariskan atau berlaku sebagai
superclass bagi class yang lain => disebut multilevel
inheritance
CONTOH INHERITANSI
GENERALISASI

• Generalisasi adalah relasi antara beberapa subclass


dengan superclass di atasnya.

• Kelas yang lebih rendah mewarisi semua atribut yang


dimiliki oleh kelas yang lebih tinggi dan juga memiliki
atribut yang membedakannya dengan kelas-kelas lain
yang sederajat.
GENERALISASI
Karakteristik Berorientasi Objek
3. Polymorphisme

Polymorphisme yaitu aksi yang sama yang dapat


dilakukan terhadap beberapa objek. Polimorfisme
berarti bahwa operasi yang sama mungkin mempunyai
perbedaan dalam kelas yang berbeda.
• Polymorphism adalah kemampuan untuk tampil dalam
berbagai bentuk.

• Hal ini mengacu pada kemungkinan message yang


sama dikirimkan ke obyek-obyek lain pada class yang
berbeda, dan merespon secara berbeda.
Contoh Polymorphism
Perbedaan Object Oriented dengan Non
Object

1. Penggunaan alat
 Metodologi non objek menggunakan beberapa alat untuk
menggambarkan model seperti data flow diagram, entity
relationship diagram dan structure chart.
 Sedangkan metodologi berorientasi objek menggunakan
satu jenis model dari tahap analisa sampai implementasi,
yaitu diagram objek.
Perbedaan Object Oriented dengan Non
Object
2. Data dan proses
 Pada metodologi non objek, data dan proses dianggap
sebagai dua komponen yang berlainan
 Sedangkan pada metodologi berorientasi objek, data dan
proses merupakan satu kesatuan, yaitu bagian dari objek.

3. Bahasa pemrograman
 Metodologi non objek dipergunakan untuk melengkapi
pemrograman terstruktur pada bahasa generasi ketiga.
 Sedangkan metodologi berorientasi objek dipergunakan
untuk pemrograman berorientasi objek dan bahasa
generasi keempat.
Pertemuan 2

UML
UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah metode


pemodelan (tools/model) secara visual sebagai
sarana untuk merancang dan atau membuat software
berorientasi objek dan memberikan standar penulisan
sebuah sistem untuk pengembangan sebuah software
yang dapat menyampaikan beberapa informasi untuk
proses implementasi pengembangan software.
UML (Unified Modeling Language)

SEJARAH UML

• Pada Oktober 1994, Dr. James Rumbaugh bergabung


dengan Perusahaan Rational sotware, dimana Grady
Booch sudah bekerja disana sebelumnya. Grady Booch
mengembangkan Object Oriented Design (OOD) dan Dr.
James Rumbaugh mengembangkan Object Modeling
Technique (OMT). Duet Mereka pada Oktober 1995
menghasilkan Unified Method versi 0.8.
UML (Unified Modeling Language)

• Musim gugur 1995 Dr. Ivar Jacobson ikut pula bergabung


dengan duet Rumbaugh-Booch, dengan memperkenalkan
tool use case. Trio tersebut pada bulan Juni 1996
menghasilkan Unified Modeling Language (UML) versi 0.9.
Sebelumnya Dr. Ivar Jacobson mengembangkan Object
Oriented Software Engineering (OOSE)
• Banyak perusahaan software merasakan bagaimana
pentingnya UML dalam tujuan strategis mereka, sehingga
beberapa perusahaan membentuk sebuah konsorsium yang
terdiri dari perusahaan-perusahaan seperti Microsoft,
Oracle, IBM, Hewlett-Packard, Intellicorp, I-Logix, DEC,
Digital Equipment Corp. texas instrument
UML (Unified Modeling Language)
Konsep Dasar UML

Untuk dapat mememahami UML diperlukan pemahaman


entang konsep bahasa pemodelan dan tiga eleman utama
UML.Tiga elemen utama UML antara lain:

a. Benda / Things / Objek


Objek merupakan bagian paling statik dari sebuah model,
yang menjelaskan elemen–elemen lainnya dari sebuah
konsep. Bentuk dari beberapa objek :

1. Classes, sekelompok dari object yang mempunyai


atribute, operasi, dan hubungan yang semantik
Konsep Dasar UML
2. Interfaces, antar-muka yang menghubungkan dan
melayani antarkelas dan atau elemen dan
mendefinisikan sebuah kelompok dari spesifikasi
pengoperasian.

3. Collaboration, interaksi dari sebuah kumpulan kelas–


kelas atau elemen–elemen yang bekerja secara
bersama–sama.

4. Use cases, pembentuk tingkah laku objek dalam sebuah


model serta di realisasikan oleh sebuah collaboration.

5. Nodes, bentuk fisik dari elemen–elemen yang ada pada


saat dijalankannya sebuah system
Konsep Dasar UML

b. Hubungan / Relationship

Ada 4 macam hubungan dalam penggunaan UML, yaitu :


1. Dependency, hubungan semantik antara dua objek yang
mana sebuah objek berubah mengakibatkan objek
satunya akan berubah pula.

2. Association, hubungan antar benda secara struktural


yang terhubung diantara objek dalam kesatuan objek.
Konsep Dasar UML

3. Generalizations, hubungan khusus dalam objek anak


yang menggantikan objek induk dan memberikan
pengaruhnya dalam hal struktur dan tingkah lakunya
kepada objek induk

4. Realizations, hubungan semantik antarpengelompokkan


yang menjamin adanya ikatan diantaranya yang
diwujudkan diantara interface dan kelas atau elements,
serta antara use cases dan collaborations.
Konsep Dasar UML
c. Bagan atau Diagrams
Diagram adalah yang menggambarkan permasalahan
maupun solusi dari permasalahan suatu model.

UML 1.0 mempunyai 9 diagram, yaitu:


1) Diagram Use Case, menggambarkan apa saja aktifitas
yang dilakukan oleh suatu sistem dari sudut pandang
pengamatan luar.
Diagram Use Case berguna dalam tiga hal :
a. Menjelaskan fasilitas yang ada (requirements)
b. Komunikas dengan klien
c. Membuat test dari kasus – kasus secara umum
Konsep Dasar UML
Contoh Usecase Diagram

Entry Data Pegawai

Entry Data Jabatan

Staff PayRoll
Entry Data Lokasi Kerja
Staff HRD

Entry Data Divisi


Konsep Dasar UML
2) Diagram Class, memberikan pandangan secara luas dari
suatu sistem dengan menunjukan kelas–kelasnya dan
hubungan mereka.
Diagram Class mempunyai 3 macam relationalships
(hubungan),
sebagai berikut :

a. Association, suatu hubungan antara bagian dari dua


kelas yang terjadi jika salah satu bagian dari kelas
mengetahui kelas yang lain dalam melakukan suatu
kegiatan..
Konsep Dasar UML

b. Aggregation, hubungan association dimana salah


satu kelasnya merupakan bagian dari suatu kumpulan dan
memiliki titik pusat yang mencakup keseluruhan bagian.

c. Generalization, hubungan turunan dengan


mengasumsikan satu kelas merupakan suatu kelas
super dari kelas yang lain.
Konsep Dasar UML

Cotoh Class Diagram

Class Buku terdiri dari :


– Atribut : judul, pengarang
– Method : ambilJenis(),
ambilHalaman();
Konsep Dasar UML

3) Diagram Package dan Object, merupakan kumpulan


elemen–elemen logika UML yang bertujuan untuk
mengelompokkan Diagram class yang lebih kompleks.

4) Diagram Sequence, merupakan salah satu diagram


Interaction yang menjelaskan bagaimana suatu operasi
itu dilakukan yang diatur berdasarkan waktu.
Konsep Dasar UML

5) Diagram Collaboration juga merupakan diagram


Interaction berfungsi membawa informasi yang
sama dengan diagram Sequence, tetapi lebih
memusatkan atau memfokuskan pada kegiatan obyek
dari waktu informasi itu dikirimkan dan bukan pada waktu
penyampaian message.

Tujuan: Membuat collaboration diagram, Membuat link


(relasi) antar obyek, Menambah message (pesan) pada
link, Memetakan message pada operasi, Buat
collaboration diagram dari sequence diagram dan
sebaliknya
Konsep Dasar UML
Contoh Collaboration Diagram
Konsep Dasar UML
6) Statechart diagram menggambarkan transisi dan
perubahan keadaan (dari satu state ke state lainnya)
suatu objek pada sistem sebagai akibat dari stimuli yang
diterima. Pada umumnya statechart diagram
menggambarkan class tertentu (satu class dapat
memiliki lebih dari satu statechart diagram).

Diagram StateChart merupakan indikator yang


menunjukan kemungkinan dari keadaan obyek dan
proses yang menyebabkan perubahan pada
keadaannya.
Konsep Dasar UML
Contoh State Chart Diagram
Konsep Dasar UML
7) Diagram Activity, menunjukkan bagaimana aktifitas –
aktifitas tersebut bergantung satu sama lain dan
berfokus pada aktifitas – aktifitas yang terjadi yang
terkait dalam suatu proses tunggal.

Menggambarkan berbagai alir aktivitas dalam sistem


yang sedang dirancang, bagaimana masing-masing alir
berawal, decision yang mungkin terjadi, dan bagaimana
mereka berakhir
Konsep Dasar UML
Contoh Activity Diagram

PEGAWAI STAFF PAYROL

Start

Menyerahkan Absensi yang


sudah ditandatangani
Menerima Absensi dan Rekap Lembur
yang sidah ditandatangani

Menyerahkan Rekap Lembur yang


sudah ditandatangani
End
Konsep Dasar UML
8) Diagram Component adalah sebuah kode–kode modul
yang merupakan fisik sebenarnya dari diagram Class.

Component diagram menggambarkan struktur dan


hubungan antar komponen piranti lunak, termasuk
ketergantungan (dependency) di antaranya.
Konsep Dasar UML
Contoh Component Diagram
Konsep Dasar UML
9) Diagram Deployment menerangkan bahwa konfigurasi
fisik software dan hardware.

Deployment/physical diagram menggambarkan detail


bagaimana komponen di-deploy dalam infrastruktur
sistem, di mana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-
hal lain yang bersifat fisikal
Konsep Dasar UML
Contoh Deployment Diagram
Konsep Dasar UML
Class Diagram

Component
Diagram
Composite
Structure Structure
Diagram Diagram
Deployment
Diagram

Object Diagram

Package
Diagram

Diagram

Sequence
Diagram
Activity
Diagram
Communication
Diagram
Interaction
Diagram
Behavior Interaction overview
Diagram Diagram
State Machine
Diagram
Timing Diagram
Use Case
Diagram
Artifact UML
Use-Case
Class Diagram State Diagram
Diagram add file

Writing
add file [ numberOffile= =MAX ] /
flag OFF

Openning

Use Case 1
close file

Actor A Actor B
close file
Closing
Reading

Use Case 2
<<entity>>
Customer
name
Domain Use Case 3
addr
receive()
withdraw() Deployment
Expert fetch()
send()

Diagram
UI

MF C
Class
DocumentApp

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³× Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬ °á ¸ðµ¨


- À©µµ¿ì 95 : Ŭ ¶óÀ̾ðÆ®
- À©µµ¿ì NT: ÀÀ¿ë¼-¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö

RogueW ave

Repository DocumentList W indow95 Windows95


9: sortByName ( ) Persistence Windows95

global

¹®¼-°ü¸®

FileManager Ŭ ¶óÀ̾ðÆ®.EXE
¹®¼-°ü¸® ¾ÖÇø´

mainWnd : MainWnd W indows


NT

1: Doc view request ( )

Package
L

Document Solaris

2: fetchDoc( )
¹®¼-°ü¸® ¿£Áø.EXE

4: create ( ) gFile : GrpFile


Alpha
8: fillFile ( ) UNIX
ÀÀ¿ë¼-¹ö.EXE

Windows
NT

Diagram
user : »ç¿ëÀÚ GraphicFile

User Interface fileMgr : FileMgr


3: create ( )

6: fillDocument ( )
File FileList
IBM
Mainframe

µ¥ÀÌŸº£À̽º¼-¹ö

Definition repository : Repository


7: readFile ( )

5: readDoc ( )
document : Document

Forward Engineering(Code Generation)


Collaboration Diagram Component and
Diagram Reverse Engineering
mainWnd fileMgr : document : gFile repository
user FileMgr Document

1: Doc v iew reques t ( )

Source Code edit, compile, debug, link


ƯÁ¤¹®¼-¿¡ ´ëÇ Ñ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ ´Ù.

2: fetc hD oc( )

3: create ( )

4: create ( )

5: readD oc ( )

È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillD oc ument ( )


¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼-
°´Ã¼¿¡ ¼³Á¤À» ¿äÃ»Ç Ñ ´Ù .

7: readFile ( )

8: fillFile ( )

È-¸é °´Ã¼´Â ÀÐ ¾îµéÀÎ 9: sortBy N ame ( )


°´Ã¼µé¿¡ ´ëÇ Ø À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù .

Sequence Diagram

Executable System
Mekanisme Umum Pemodelan UML
Mekanisme pembangunan model, menggunakan:
 specification : penjelasan rinci dari suatu model/elemen model
 adornments : notasi yang menyediakan representasi visual dari
aspek-aspek penting lain
 common divisions :
pembedaan antara kelas & objek
pemisahan antara interface & implementation
 extensibility mechanisms : untuk mengembangkan model yang
ada:
- Stereotypes : unsur pembangun baru
- tagged values : menambah properti dari unsur pembangun
baru
- constraints :batasan-batasan antar entitas dalam model
Pertemuan 3

Activity Diagram
Activity Diagram

Teknik untuk menjelaskan business process, procedural


logic, dan work flow Bisa dipakai untuk menjelaskan use
case text dalam notasi grafis

Menggunakan notasi yang mirip flow chart, meskipun


terdapat sedikit perbedaan notasi
Activity Diagram
 Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
 Dipakai pada business modeling untuk memperlihatkan
urutan aktifitas proses bisnis
 Struktur diagram ini mirip flowchart atau Data Flow
Diagram pada perancangan terstruktur
 Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses untuk
membantu memahami proses secara keseluruhan
 Activity diagram dibuat berdasarkan sebuah atau
beberapa use case pada use case diagram
Simbol Activity Diagram
Simbol Keterangan
Start Point

End Point

Activities

Fork (Percabangan)

Join (Penggabungan)

Decision

Sebuah cara untuk mengelompokkan activity


Swimlane berdasarkan Actor (mengelompokkan activity
dalam sebuah urutan yang sama)
Contoh Activity Diagram

Penarikan
Uang dari
Account
Bank
Melalui ATM
Contoh Activity Diagram
Bagian Gudang Bagian Pembelian Supplier

Memberi informasi data Menerima


Barang yang akan dipesan informasi

Buat Terima
SPP SPP

Terima Barang Kirim Barang


dan Faktur disertai Faktur

Buat Tandatangani Terima


SPBJ SPBJ SPBJ

Melakukan Konfirmasi
pembayaran pembayaran

Terima
pembayaran

Terima Buat
Kwitansi kwitansi
Contoh Activity Diagram
Contoh Activity Diagram

Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)


Proses pembuatan Daftar Data Pegawai dan Gaji pada SMP
PGRI 1 Depok adalah sebagai berkut :
1. Proses Absensi
Pegawai melakukan absensi harian melalui form daftar
hadir pegawai. Berdasarkan form daftar hadir pegawai
tersebut bagian Tata Usaha (TU) akan membuat Rekap
Absen (RA) harian untuk diserahkan kepada Administrasi.
Contoh Activity Diagram

Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)


Proses pembuatan Daftar Data Pegawai dan Gaji pada SMP
PGRI 1 Depok adalah sebagai berkut :

2. Proses Pemberian Rekap Biodata Pegawai (RBP)


Pegawai memberikan data pribadi pegawai, data
pendidikan, data keluarga yang dijadikan satu menjadi
data pegawai kepada bagian Tata Usaha yang kemudian
diarsipkan menjadi Rekap Biodata Pegawai (RBP). Lalu
Rekap Biodata Pegawai (RBP) diserahkan kepada bagian
administrasi untuk proses pengolahan Daftar Data
Pegawai Dan Gaji (DDPG).
Contoh Activity Diagram

Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)


Proses pembuatan Daftar Data Pegawai dan Gaji pada SMP
PGRI 1 Depok adalah sebagai berkut :

3. Proses Pengolahan Daftar Data Pegawai dan Gaji


(DDPG)
Setelah bagian administrasi menerima Rekap Biodata
Pegawai (RBP) dan Rekap Absen (RA) akan mengolah
kedua data tersebut untuk dibuatkan menjadi Daftar Data
Pegawai dan Gaji (DDPG) yang kemudian diserahkan
kepada Kepala Sekolah untuk ditanda tangani atau di Acc.
Contoh Activity Diagram
Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)
Proses pembuatan Daftar Data Pegawai dan Gaji pada SMP
PGRI 1 Depok adalah sebagai berkut :

4. Proses Pembuatan Laporan


Daftar Data Pegawai dan Gaji (DDPG) yang sudah diterima
dan ditanda tangani oleh Kepala Sekolah akan diserahkan
kembali kepada bagian Administrasi untuk dibuatkan Laporan
Data Pegawai (LDP) dan Laporan Gaji Pegawai (LGP).
Setelah bagian administrasi menerima Daftar Data Pegawai
dan Gaji yang sudah di Acc akan membuatkan Laporan Data
Pegawai (LDP) dan Laporan Gaji Pegawai (LGP) yang
nantinya akan diserakan kepada Kepala Sekolah.selain itu
bagian Administrasi akan membuatkan slip gaji untuk
diserahkan kepada pegawai.
Contoh Activity Diagram
Pegawai TU

Proses
Absensi
Melakukan absen
harian

Tidak Absen Menerima laporan


Pegawai melapor ke
Absen pegawai yang tidak
TU
absen

Ya Absen

Mencatat absen
Melakukan absen di
pegawai
form daftar hadir

Merekap absensi
berdasarkan form
daftar hadir
Contoh Activity Diagram
Pegawai TU

Proses
Rekap
Biodata
Pegawai Memberikan data
pegawai
Menerima data
pegawai

Menerima Mengecek berkas


berkas data pegawai data pegawai
tidak lengkap

Mengembalikan Data tidak Lengkap Data Lengkap


Data Data pegawai
berkas data pegawai
Pegawai diproses
tidak lengkap
Contoh Activity Diagram
TU Administrasi Kepala Sekolah

Proses
Pengola
han Memberikan data
Rekap Absen

daftar Menerima
rekap absen & data
pegawai

data Memberikan data


Pegawai

pegawai Membuat
daftar data pegawai
dan gaji

Menyerahkan Menerima
daftar data pegawai daftar data pegawai
dan gaji dan gaji

Menyetujui
daftar data pegawai
dan gaji
Contoh Activity Diagram
Kepala Sekolah Administrasi Pegawai

Proses
Pembuat
an
Menyerahkan Menerima
Laporan daftar data pegawai daftar data pegawai
dan gaji acc dan gaji acc

Membuat
Membuat
lap data pegawai dan
Slip gaji
lap gaji pegawai

Menerima
Lap data pegawai dan Menerima
lap gaji pegawai Slip gaji
Contoh Activity Diagram
Kepala Sekolah Administrasi Pegawai

Proses
Pembuat
an
Menyerahkan Menerima
Laporan daftar data pegawai daftar data pegawai
dan gaji acc dan gaji acc

Membuat
Membuat
lap data pegawai dan
Slip gaji
lap gaji pegawai

Menerima
Lap data pegawai dan Menerima
lap gaji pegawai Slip gaji
Contoh Activity Diagram
Procedure Berjalan (Acknowledgments Toeko triyanto)
Proses bisnis pelayanan pelanggan perubahan daya pada PT PLN
adalah sebagai berikut :

• Pendaftaran perubahan daya


Konsumen datang kekantor PT PLN(Persero) dengan membawa
fotocopy KTP dan kwitansi pembayaran rekening bulan terakhir
kemudian diserahkan dibagian pelayanan pelanggan. Pegawai
pelayanan pelanggan akan menginput berdasarkan data dari
konsumen, setelah diinput maka akan dicetak formulir pendaftaran
perubahan daya untuk kemudian ditandatangani oleh pelanggan.
Satu rangkap untuk pelanggan sebagai tanda bukti. Lainnya
disimpan oleh bagian pelayanan pelanggan untuk diteruskan ke
supervisor untuk proses persetujuan
Contoh Activity Diagram
Activity diagram pendaftaran perubahan daya
pelanggan pelayanan pelanggan spv pelayanan

memberikan fotocopy ktp menerima fotocopy ktp


dan rekening listrik dan rekening listrik

input pendaftaran
pelanggan

cetak formulir
pendaftaran

menerima formulir memberikan formulir


pendaftaran pendaftaran

menyetujui formulir
pendaftaran

memberikan formulir menerima formulir


pendaftaran pendaftaran

memberikan formulir menerima formulir


pendaftaran pendaftaran
Contoh Activity Diagram
Procedure Berjalan (Acknowledgments Toeko triyanto)
Proses bisnis pelayanan pelanggan perubahan daya pada PT PLN
adalah sebagai berikut :

• Persetujuan perubahan daya


Rangkap formulir pendaftaran yang disimpan oleh bagian
pelayanan pelanggan kemudian dibuatkan surat jawaban
persetujuan yang kemudian ditandatangani oleh supervisor
pelayanan pelanggan dicetak menjadi dua rangkap, rangkap
pertama diberikan kepada pelanggan, sedangkan rangkap
yang kedua disimpan oleh bagian pelayanan pelangan
sebagai arsip.
Contoh Activity Diagram
Activity diagram persetujuan perubahan daya
pelayanan pelanggan spv pelayanan pelanggan

memberikan formulir menerima formulir


pendaftaran pendaftaran

membuat surat
persetujuan

menyetujui surat
persetujuan

memberikan surat menerima surat


persetujuan persetujuan
Studi Kasus

1. Kasus sederhana diagram aktivitas untuk sistem Order.


Diagram diawali dengan start point status awal dan
kemudian melakukan aksi terima order. Kemudian
kegiatan isi order dan kirim faktur dapat dilakukan
secara paralel. Setelah kirim faktur dilakukan terima
pembayaran dan setelah isi order terdapat dua pilihan
jenis pengiriman yaitu pengiriman semalam (jenis kilat)
atau pengiriman biasa(jenis normal). Selanjutnya
diakhiri oleh aksi tutup order.
Buatlah diagram aktivitasnya sesuai dengan soal diatas
Studi Kasus

Jawaban :
Studi Kasus
2. Kasus pendaftaran siswa
Prosedur penerimaan siswa pada Madrasah abc saat ini masih
bersifat manual, adapun prosedurnya adalah sebagai berikut:
• Prosedur Pembelian Formulir
Dalam proses melakukan pendaftaran maka calon siswa
datang ke sekolah lalu menemui bagian pendaftaran dan
membeli formulir pendaftaran. Bagian pendaftaran mencatat
di buku pendaftaran.
• Prosedur Mengembalikan Formulir Pendaftaran
Setelah formulir diisi semuanya, calon siswa
mengembalikannya ke sekolah dan mendatangi bagian
pendaftaran. Bagian pendaftaran memberikan bukti
pendaftaran dan menyimpan.
Studi Kasus
2. Kasus pendaftaran siswa
Prosedur penerimaan siswa pada Madrasah abc saat ini
masih bersifat manual, adapun prosedurnya adalah sebagai
berikut:
• Prosedur Pembayaran
Calon siswa membawa bukti nomor pendaftaran lalu
mendatangi bagian tata usaha untuk melakukan
pembayaran. Bagian tata usaha memberikan kwitansi dan
menyimpan bukti pembayaran itu.
• Prosedur Laporan Penerimaan Siswa Baru
Setelah jadwal penerimaan siswa baru ditutup, maka
bagian pendaftaran membuat laporan kepada Bagian
Waka UR Kesiswaan.
• Buatlah diagram aktivity dari sistem diatas
Studi Kasus
3. Studi kasus pada koperasi

Koperasi Jaya adalah sebuah koperasi yang mengelola simpan


pinjam bagi para anggotanya, berikut ini adalah kegiatan yang
dilakukan oleh bagian Kredit dalam menangani pemberian
pinjaman bagi para anggotanya.

• Setiap kali bagian kredit akan memberikan pinjaman kepada


Anggota maka Anggota diharuskan mengisi Formulir
Permohonan Pinjaman yang berisi Nomor FPP, Tanggal
Permohonan, Nomor Anggota, Nama Anggota, Jumlah
Permohonan dan Keperluan. Yang kemudian oleh Bagian Kredit
dicatat dan disimpan kedalam Arsip FPP. Berdasarkan Arsip
FPP tersebut Bagian Kredit membuat Bukti Peminjaman yang
diberikan kepada Anggota yang berisi No. BP, tgl BP, Nomor
Anggota, Nama Anggota, Jumlah Realisasi, Lama Angsuran,
Jumlah Angsuran dan Bunga.
Studi Kasus
3. Studi kasus pada koperasi

Koperasi Jaya adalah sebuah koperasi yang mengelola simpan


pinjam bagi para anggotanya, berikut ini adalah kegiatan yang
dilakukan oleh bagian Kredit dalam menangani pemberian
pinjaman bagi para anggotanya.

• Setiap Bulan Anggota diharuskan membayar Angsuran sejumlah


Angsuran yang disepakati pada saat Peminjaman yang
kemudian oleh bagian Kredit dicatat dan direkam kedalam Arsip
Angsuran. Berdasarkan Arsip Angsuran tersebut bagian Kredit
membuat Bukti Angsuran yang diberikan kepada Anggota yang
berisi No. BA, Tanggal BA, No. BP, Jumlah Angsur dan Bunga

• Pada akhir bulan Bagian Kredit selalu membuat Laporan


Peminjaman dan Laporan Angsuran yang diberikan Kepada
Ketua Koperasi.
Studi Kasus
4. Kasus penyewaan mobil pada sebuah perusahaan

PT. Bendi Car adalah sebuah perusahaan yang bergerak


dibidang penyewaan mobil. Semua transaksi di perusahaan
masih dilakukan secara manual. Berikut ini adalah proses
bisnis sistem penyewaan mobil pada perusahaan Bendi Car :
1. Prosedur Peminjaman
2. Prosedur Pengembalian
3. Prosedur Pembuatan laporan
Studi Kasus
4. Kasus penyewaan mobil pada sebuah perusahaan

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang


penyewaan mobil. Semua transaksi di perusahaan masih dilakukan
secara manual. Berikut ini adalah proses bisnis sistem penyewaan mobil
pada perusahaan Bendi Car :
1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat harga
penyewaan mobil pada daftar harga sewa mobil. Penyewa dapat
menggunakan jasa supir atau tidak sesuai dengan kebutuhan penyewa
sendiri. Setiap jenis kendaraan memiliki harga sewa yang berbeda-beda
begitu juga harga sewa jasa sopir untuk daerah Jabodetabek dan diluar
jabodetabek pun berbeda. Setelah itu penyewa mengisi Formulir
Penyewaan (FS) disertai fotocopy identitas diri. Kemudian Formulir
penyewaan yang telah diisi beserta pelunasan pembayaran diserahkan
kepada petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
Studi Kasus
4. Kasus penyewaan mobil pada sebuah perusahaan

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang


penyewaan mobil. Semua transaksi di perusahaan masih dilakukan
secara manual. Berikut ini adalah proses bisnis sistem penyewaan mobil
pada perusahaan Bendi Car :
2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa, petugas membawa
Formulir Pengembalian dan memeriksa kondisi kendaraan apakah
terdapat kerusakan atau tidak. Bila ada (misalnya spion pecah, body
penyok, cat tergores, dll), maka diperhitungkan penggantiannya dan
dibebankan kepada penyewa. Bila tidak rusak/terlambat maka tidak perlu
mengisi Formulir pengembalian. Namun Bila penyewa terlambat dalam
pengembalian, maka jumlah keterlambatan mobil dan sopir akan
dibebankan kepada penyewa. Setelah membayar kerusakan dan
keterlambatan, maka petugas membuatkan kwitansi sebagai tanda bukti
pembayaran denda
Studi Kasus
4. Kasus penyewaan mobil pada sebuah perusahaan

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang


penyewaan mobil. Semua transaksi di perusahaan masih dilakukan
secara manual. Berikut ini adalah proses bisnis sistem penyewaan mobil
pada perusahaan Bendi Car :
3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan berikut denda atas
kerusakan atau keterlambatan yang terjadi dan laporan kendaraan.
Laporan tersebut diserahkan ke pemilik penyewaan Bendi car

• Buatlah diagram aktivity dari sistem diatas


Pertemuan 4

Usecase Diagram
Deskripsi USE CASE

 Sebuah use case adalah situasi dimana sistem


digunakan untuk memenuhi satu atau lebih kebutuhan
pemakai.

 Use case merupakan awal yang sangat baik untuk


setiap fase pengembangan berbasis objek, design
testing, dan dokumentasi.

 Use case menggambarkan kebutuhan sistem dari sudut


pandang di luar sistem.
Deskripsi USE CASE

 Use case menentukan nilai yang diberikan sistem


kepada pemakainya.

 Use cases hanya menetapkan apa yang seharusnya


dikerjakan oleh sistem, yaitu kebutuhan fungsional
sistem.

 Use case tidak untuk menentukan kebutuhan


nonfungsional, misalnya: sasaran kinerja, bahasa
pemrograman, dsb.
USE CASE Diagram

Use case diagram terdiri dari


a. Use case
 Use case class digunakan untuk memodelkan dan
menyatakan unit fungsi / layanan yang disediakan oleh
sistem (or bagian sistem: subsistem atau class) ke
pemakai.

 Use case dapat dilingkupi dengan batasan sistem yang


diberi label nama sistem.
USE CASE Diagram
 Use case adalah sesuatu yang menyediakan hasil yang
dapat diukur ke pemakai atau sistem eksternal

 Use case dibuat berdasar keperluan actor, merupakan


“apa” yang dikerjakan system, bukan “bagaimana”
system mengerjakannya

 Use case diberi nama yang menyatakan apa hal yang


dicapai dari hasil interaksinya dengan actor.

 Use case dinotasikan dengan gambar (horizontal


ellipse).
USE CASE Diagram
 Use case biasanya menggunakan kata kerja.

 Nama use case boleh terdiri dari beberapa kata dan


tidak boleh ada 2 use case yang memiliki nama yang
sama

 Use case class memiliki objek use case yang disebut


skenario. Skenario menyatakan urutan pesan dan
tindakan tunggal.

 Simbol use case :


USE CASE Diagram

Use case diagram terdiri dari


b. Actors
 Actor menggambarkan orang, system atau external
entitas / stakeholder yang menyediakan atau menerima
informasi dari system

 Actor menggambarkan sebuah tugas/peran dan


bukannya posisi sebuah jabatan

 Actor memberi input atau menerima informasi dari


system
USE CASE Diagram
 Actor biasanya menggunakan Kata benda

 Actor adalah eksternal terhadap sistem.

 Tidak boleh ada komunikasi langsung antar actor

 Indikasi <<system>> untuk sebuah actor yang merupakan


sebuah system

 Adanya actor bernama “Time” yang mengindikasikan


scheduled events (suatu kejadian yang terjadi secara
periodik/bulanan)
USE CASE Diagram
 Letakkan actor utama anda pada pojok kiri atas dari
diagram
 Actor berinteraksi dengan sistem.

 Actor memanfaatkan fungsi yang disediakan sistem,


termasuk fungsi aplikasi dan pemeliharaan.

 Actors bisa saja menyediakan fungsi ke sistem.

 Actors bisa menerima informasi yang disediakan


sistem.
USE CASE Diagram

 Actors bisa menyediakan informasi ke sistem.

 Simbol actor :
USE CASE Diagram

Use case diagram terdiri dari


c. Association
• Associations bukan menggambarkan aliran
data/informasi
• Associations digunakan untuk menggambarkan
bagaimana actor terlibat dalam use case
• Ada 4 jenis relasi yang bisa timbul pada use case
diagram
1. Association antara actor dan use case
2. Association antara use case
3. Generalization/Inheritance antara use case
4. Generalization/Inheritance antara actors
USE CASE Diagram

1. Association antara actor dan use case


 Ujung panah pada association antara actor dan use case
mengindikasikan siapa/apa yang meminta interaksi dan
bukannya mengindikasikan aliran data

 Sebaiknya gunakan Garis tanpa panah untuk association


antara actor dan use case

 association antara actor dan use case yang menggunakan


panah terbuka untuk mengindikasikan bila actor berinteraksi
secara pasif dengan system anda
USE CASE Diagram
2. Association antara use case
 <<include>> termasuk didalam use case lain (required)
/ (diharuskan)
– Pemanggilan use case oleh use case lain, contohnya adalah
pemanggilan sebuah fungsi program
– Tanda panah terbuka harus terarah ke sub use case
– Gambarkan association include secara horizontal
<<include>>
catat Register for courses
Buka <<include>>
data
Rekening
pribadi
<<include>>
Logon validation

Nasabah

Maintain curriculum
USE CASE Diagram
3. Generalization/inheritance antara use case
 Generalization/inheritance digambarkan dengan sebuah garis
berpanah tertutup pada salah satu ujungnya yang
menunjukkan lebih umum

 Gambarkan generalization/inheritance antara use case


secara vertical dengan inheriting use case dibawah
base/parent use case
 Generalization/inheritance dipakai ketika ada sebuah
keadaan yang lain sendiri/perlakuan khusus (single condition)
Buka
Rekening

Nasabah Buka
Deposito
USE CASE Diagram
4. Generalization/inheritance antara actor
Gambarkan generalization/inheritance antara actors secara
vertical dengan inheriting actor dibawah base/parent use
case
USE CASE Diagram

Use case diagram terdiri dari


d. System boundary boxes (optional)
 Untuk memperlihatkan batasan sistem dalam diagram
use case, Anda dapat menggambarkan sebuah kotak
yang melingkupi semua use case, namun actor tetap
berada di luar kotak
 Biasanya digunakan apabila memberikan beberapa
alternative system yang dapat dijadikan pilihan.
 System boundary boxes dalam penggunaannya
optional
USE CASE Diagram

Use case diagram terdiri dari


d. System boundary boxes (optional)
 System boundary boxes dalam penggunaannya
optional
Contoh Use Case

Sebuah Sekolah Menengah Kejuruan mengelola


administrasi akademik yang berkaitan dengan Data yang
akan disimpan meliputi data member yang meliputi siswa,
guru, orang tua, alumni dan tamu, data mata pelajaran,
data absensi, data BP/BK, data nilai, data pembayaran dan
sampai cetak laporan, dengan rincian sebagai berikut :

• Pemberian hak akses kepada pengguna SAS terdiri dari


siswa, guru, orang tua, alumni dan tamu. Pengguna
harus melakukan login terlebih dahulu untuk dapat
mengakses SAS dengan memasukan username dan
password agar privasi masing-masing pengguna tetap
terjaga keamanannya.
Contoh Use Case
• Administrator dapat menambah data administrator,
mengganti username dan password administrator.

• Administrator bertugas mengelola SAS seperti :


menambah administrator, melihat administrator, data
kelas, data pelajaran, data jurusan atau program,
semester dan tahun pelajaran.

• Pengunjung umum adalah pengunjung biasa (bukan


member) yang hanya dapat mengakses informasi profil,
melihat data guru, siswa dan alumni, serta tersedia
fasilitas seperti: agenda kegiatan, artikel, berita, buku
tamu, galeri foto, kontak sekolah dan peta sekolah.
Contoh Use Case
• Siswa dapat merubah profil, merubah latar belakang,
mengirim dan menerima pesan, melihat data guru,
siswa, alumni, member, nilai, absensi dan pembayaran,
mengunduh materi pelajaran dan materi ujian, mengikuti
belajar online, melihat dan mengirim tugas, mengikuti tes
online, serta fasilitas forum diskusi.

• Guru dapat merubah profil, merubah latar belakang,


mengirim dan menerima pesan, melihat data guru,
siswa, alumni, member, nilai, absensi dan pembayaran,
mengunduh materi ajar dan materi ujian, menambah
materi pelajaran dan belajar online, melihat dan menilai
tugas, mengadakan dan tes online, serta fasilitas forum
diskusi.
Contoh Use Case
• Alumni dapat dapat merubah profil, merubah latar
belakang, mengirim dan menerima pesan, melihat data
member dan group, informasi alumni, serta forum
diskusi.
• Orang tua merubah profil, merubah latar belakang,
mengirim dan menerima pesan, melihat data guru,
siswa, alumni, member, nilai, absensi dan pembayaran,
mengunduh materi pelajaran dan materi ujian, mengikuti
belajar online, melihat dan mengirim tugas, serta fasilitas
forum diskusi.
Contoh Use Case
Studi Kasus
PT. Bendi Car adalah sebuah perusahaan yang bergerak
dibidang penyewaan mobil Semua transaksi di perusahaan
masih dilakukan secara manual. Berikut ini adalah kegiatan
kegiatan yang dilakukan oleh petugas dalam melaksanakan
transaksi penyewaan mobil di dalam perusahaan.
1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat
harga penyewaan mobil pada daftar harga sewa mobil. Penyewa
dapat menggunakan jasa supir atau tidak sesuai dengan
kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki
harga sewa yang berbeda-beda begitu juga harga sewa jasa
sopir untuk daerah Jabodetabek dan diluar jabodetabek pun
berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS)
disertai fotocopy identitas diri. Kemudian Formulir penyewaan
yang telah diisi beserta pembayaran dimuka diserahkan kepada
petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
Studi Kasus
Studi Kasus
Studi Kasus
Studi Kasus
Studi Kasus
2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa,
petugas membawa Formulir Pengembalian dan
memeriksa kondisi kendaraan apakah terdapat kerusakan
atau tidak. Bila ada (misalnya spion pecah, body penyok,
cat tergores, dll), maka diperhitungkan penggantiannya dan
dibebankan kepada penyewa. Bila tidak rusak/terlambat
maka tidak perlu mengisi Formulir pengembalian. Namun
Bila penyewa terlambat dalam pengembalian, maka jumlah
keterlambatan mobil dan sopir akan dibebankan kepada
penyewa. Setelah membayar kerusakan dan
keterlambatan, maka petugas membuatkan kwitansi
sebagai tanda bukti pembayaran denda
Studi Kasus
3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan
berikut denda atas kerusakan atau keterlambatan yang
terjadi dan laporan kendaraan. Laporan tersebut
diserahkan ke pemilik penyewaan Bendi car

Buatlah Usecase dari sistem berjalan diatas


Pertemuan 5

Sequence Diagram
Sequence Diagram

• Sequence diagram menggambarkan interaksi antar


objek di dalam dan di sekitar sistem (termasuk
pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram
terdiri atar dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait).

• Diagram ini secara khusus berasosiasi dengan use case


diagram
Sequence Diagram
• Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkah-
langkah yang dilakukan sebagai respons dari sebuah
event untuk menghasilkan output tertentu. Diawali dari
apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan
output apa yang dihasilkan.

• Memperlihatkan tahap demi tahap apa yang seharusnya


terjadi untuk menghasilkan sesuatu didalam use case
Simbol Sequence Diagram
Looping, Syarat dan Like
Loop dan conditional menggunakan kerangka interaksi
(interaction frame), yaitu frame untuk memberi tanda pada
sequence diagram (lihat gambar pada slide berikutnya).
Umumnya frame terdiri dari beberapa region pada
sequence diagram, yang dibagi menjadi satu atau lebih
fragmen. Setiap frame mempunyai sebuah operator.
Sebuah fragmen mungkin mempunyai satu guard.

Operator Keterangan
alt Alternatif dari banyak fragmen. Hanya yang kondisinya
true yang akan dijalankan
opt Optional; fragmen akan dijalankan jika kondisi yang
mendukungnya true
Looping, Syarat dan Like
Operator Keterangan
par Paralel; setiap fragmen dijalankan secara paralel
loop Looping, fragmen mungkin dijalankan berulang kali dan
guard menunjukkan basis iterasi
region Critical region; fragmen hanya dapat mempunyai satu
thread untuk menjalankannya
neg Negatif; fragmen menunjukkan interaction yang salah
ref Reference; menunjukkan ke sebuah interaction yang
didefinisikan pada diagram yang lain
sd Sequence diagram
Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)

SEQUENCE Administrasi Form Data Pegawai Control Data Pegawai

DIAGRAM INPUT
Kepala Sekolah

Open Olah Data


Display Data

DATA PEGAWAI Pegawai

Input NIP

Input Data
Pegawai

Simpan ()
Display Data
Pegawai

Tambah ()

Edit ()

Batal ()

Keluar ()

Simpan () Simpan () Rec Data Pegawai


Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)
Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)

Form Data Control Data Pegawai


Administrasi Kepala Sekolah
Pendidikan Pendidikan

SEQUENCE Open
Get NIP () Get NIP ()

DIAGRAM Display NIP,


Nama

INPUT DATA
PENDIDIKAN
Input Data
Pendidikan

Simpan ()
Display Data
Pendidikan

Tambah ()

Edit ()

Batal ()

Keluar ()

Simpan () Simpan () Rec Data Pendidikan


Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)
Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)

Form Data Control Data Pegawai


Administrasi Kepala Sekolah
Keluarga Keluarga

SEQUENCE Open
Get NIP () Get NIP ()
Display NIP,

DIAGRAM Nama, Jenis


Kelamin,
Status

INPUT DATA Input Data

KELUARGA
Keluarga

Simpan ()
Display Data
Keluarga

Tambah ()

Edit ()

Batal ()

Keluar ()

Simpan () Simpan () Rec Data Keluarga


Contoh kasus Penggajian
(Acknowledgments Evi Lutfi Muktar)
Studi Kasus
PT. Bendi Car adalah sebuah perusahaan yang bergerak
dibidang penyewaan mobil Semua transaksi di perusahaan
masih dilakukan secara manual. Berikut ini adalah kegiatan
kegiatan yang dilakukan oleh petugas dalam melaksanakan
transaksi penyewaan mobil di dalam perusahaan.
1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat
harga penyewaan mobil pada daftar harga sewa mobil. Penyewa
dapat menggunakan jasa supir atau tidak sesuai dengan
kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki
harga sewa yang berbeda-beda begitu juga harga sewa jasa
sopir untuk daerah Jabodetabek dan diluar jabodetabek pun
berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS)
disertai fotocopy identitas diri. Kemudian Formulir penyewaan
yang telah diisi beserta pembayaran dimuka diserahkan kepada
petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
Studi Kasus
2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa,
petugas membawa Formulir Pengembalian dan
memeriksa kondisi kendaraan apakah terdapat kerusakan
atau tidak. Bila ada (misalnya spion pecah, body penyok,
cat tergores, dll), maka diperhitungkan penggantiannya dan
dibebankan kepada penyewa. Bila tidak rusak/terlambat
maka tidak perlu mengisi Formulir pengembalian. Namun
Bila penyewa terlambat dalam pengembalian, maka jumlah
keterlambatan mobil dan sopir akan dibebankan kepada
penyewa. Setelah membayar kerusakan dan
keterlambatan, maka petugas membuatkan kwitansi
sebagai tanda bukti pembayaran denda
Studi Kasus
3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan
berikut denda atas kerusakan atau keterlambatan yang
terjadi dan laporan kendaraan. Laporan tersebut
diserahkan ke pemilik penyewaan Bendi car

Buatlah Sequence diagram dari sistem berjalan diatas


Studi Kasus
6. Menu
Utama
Studi Kasus
6. Menu
Utama
Pertemuan 6

Class Diagram
Class Diagram

Class Diagram mendeskripsikan jenis-jenis objek dalam


sistem dan berbagai macam hubungan statis yang terdapat
diantara mereka. Class diagram juga menunjukkan properti
dan operasi sebuah class dan batasan-batasan yang
terdapat dalam hubungan-hubungan objek tersebut. UML
menggunakan istilah fitur sebagai istilah umum yang
meliputi properti dan operasi sebuah class.
Class Diagram
Properti, Atribut dan Asosiasi

Properti mewakili fitur-fitur struktural dari sebuah class.


Properti merupakan sebuah konsep tunggal, tetapi tampak
seperti dua notasi yang sedikit berbeda : atribut dan
asosiasi. Meskipun tampak berbeda dalam sebuah
diagram tetapi sebenarnya adalah hal yang sama.

Notasi atribut mendeskripsikan properti dengan sebaris


teks didalam kotak class tersebut

Contoh:
-name : string [1] = “untitled” {read only}
Properti, Atribut dan Asosiasi
Keterangan :
 +/- = tanda visibility, + public / - private
 name = atribut, bagaimana class tersebut mengacu pada
atribut
 string = tipe dari atribut, menunjukkan sebuah batasan
tentang objek apa yang dapat diletakkan dalam atribut
tersebut
 [1] = multiplicity
 untitled = devault value, nilai objek yang baru dibuat jika
atribut tidak dispesifikasi selama pembuatannya
 {property string}, memungkinkan untuk menunjuk properti
tambahan, misalnya read only yang berarti bahwa klien tidak
dapat mengubah properti tersebut
Properti, Atribut dan Asosiasi

Asosiasi merupakan sebuah garis solid antara dua class,


ditarik dari class sumber ke class target. Nama properti
bergerak sampai tujuan akhir sebuah asosiasi bersama
dengan multiplicity. Tujuan akhir sebuah asosiasi
menghubungkan dengan class yang merupakan jenis
properti.
Properti dalam susunan atribut dapat digambarkan sebagai
berikut:
Properti, Atribut dan Asosiasi

Contoh objek Barang

Barang

+KodeBrg : String
+NamaBrg : String
+HargaBrg : Long
+StokBrg : Int

-TambahData() : void
-HapusData() : void
-UbahData() : void
-HitungStok() : void
Multiplicity

Multiplicity merupakan indikasi tentang berapa banyak


objek yang akan mengisi properti. Multiplicity yang
sering digunakan adalah:
 1
contoh: satu pesanan hanya bisa untuk seorang pelanggan
 0..1
contoh: pelanggan perusahaan dapat memiliki seorang
sales rep
 *
contoh: tidak ada jumlah maksimal / tidak terbatas berapa
jumlah pesanan yang dapat dibuat oleh pelanggan)
Multiplicity
Indikator/Gambar Arti

0..1 Kosong atau satu


0..* Lebih dari sama dengan kosong
0..n Lebih dari sama dengan n, dimana n lebih dari 1

1 Hanya satu
1..* Lebih dari sama dengan satu
1..n Lebih dari sama dengan satu dimana n lebih dari satu

* Banyak atau Many


N Hanya N, dimana N lebih dari satu
n..* Lebih dari sama dengan N dimana N lebih dari satu

n..m Lebih dari sama dengan N dan kurang dari sama dengan M.
Dimana M dan N lebih dari satu.
Multiplicity

Association multiplicity merupakan batasan pada user


dalam melakukan aktifitasnya. Beberapa macam istilah
yang mengacu pada multiplicity:
 Optional
Menunjukkan sebuah batas bawah yang bernilai nol (0)

 Mandatory
Menunjukkan sebuah batas bawah yang bernilai satu (1)
atau mungkin lebih
Multiplicity

Association multiplicity merupakan batasan pada user


dalam melakukan aktifitasnya. Beberapa macam istilah
yang mengacu pada multiplicity:

 Single-valued
Menunjukkan sebuah batas atas yang bernilai satu (1)

 Multivalued
Menunjukkan sebuah batas atas yang bernilai lebih dari
satu (1) dan biasanya ditulis dengan tanda *
Asosiasi Bidireksional

Asosiasi bidireksional adalah sepasang properti yang


saling berhubungan satu sama lain.

pemilik
Orang Mobil
0..1 *

Sifat bidireksional ditunjukkan secara jelas dengan adanya


panah navigasi pada kedua ujung asosiasi.
Operasi
 Operasi merupakan suatu kegiatan yang dimengerti
sebuah class untuk dilakukan. Operasi secara jelas
berhubungan dengan metode dalam sebuah class.
 Istilah lain yang sering digunakan pada operasi adalah
metode tetapi sebenarnya tidak sama. Perbedaannya
adalah operasi adalah hal yang diharapkan pada
sebuah objek (deklarasi prosedur), sedangkan sebuah
metode adalah bentuk prosedur.
 Dalam metode ada istilah getting dan setting. Metode
getting akan mengembalikan nilai dari sebuh bidang
(dan tidak melakukan hal lain selain itu) sedangkan
metode setting meletakkan nilai kedalam sebuah
bidang (dan tidak melakukan hal lain selain itu)
Generalisasi

Contoh dari gambar class sebelumnya yang merupakan


generalisasi melibatkan pelanggan perorangan dan
pelanggan perusahaan. Keduanya mempunyai persamaan
dan perbedaan. Persamaan tersebut dapat dimasukkan
kedalam class pelanggan umum (supertype) dengan
pelanggan perorangan dan pelanggan perusahaan sebagai
subtype.
Dengan menggunakan perspektif perangkat lunak,
interpretasi tersebut sudah termasuk: pelanggan
perusahaan merupakan subclass dari pelanggan. Dalam
object oriented subclass mewarisi semua fitur superclass
dan dapat melakukan semua metode superclass.
Generalisasi

Contoh Generalisasi – Class Diagram


PEGAWAI

NIK
NAMA
ALAMAT
TGLLAHIR

DOSEN KARY_HARIAN KARY_TETAP

KDDOSEN UPAHHARIAN GAJIBULANAN


MULAINGAJAR JMLHARIKERJA
HONORPERJAM
Catatan dan Komentar

Catatan merupakan komentar didalam diagram. Catatan-


catatan dapat berdiri sendiri atau dihubungkan dengan
garis hubung dengan elemen yang dikomentari.
Ketergantungan

Sebuah ketergantungan muncul antara dua elemen jika


perubahan definisi sebuah elemen dapat menyebabkan
perubahan pada elemen lainnya. Dalam class
ketergantungan muncul karena banyak hal, antara lain :
salah satu class mengirim pesan ke class lain, salah satu
class memiliki sebagian data, salah satu class menyebut
class lain sebagai parameter sebuah operasi. Jika sebuah
class mengubah antarmukanya, setiap pesan yang dikirim
ke class tersebut dapat menjadi tidak valid.
Ketergantungan di gambarkan dengan garis putus-putus.
Ketergantungan

Banyak hubungan-hubungan UML menunjukkan


ketergantungan. Asosiasi dengan kemampuan navigasi
dari pesanan sampai ke pelanggan dalam gambar
sebelumnya, berarti pesanan tersebut tidak tergantung
pelanggan. Sebuah subclass tidak tergantung pada
superclass-nya tetapi tidak sebaliknya.
Kata kunci dalam ketergantungan dapat dijelaskan sebagai
berikut:
Kata Kunci Arti
<<call>> Sumber memanggil sebuah operasi pada target
<<create>> Sumber membuat perintah pada target
Ketergantungan
Kata Kunci Arti
<<derive>> Sumber diambil dari target
<<instantiate>> Sumber merupakan perintah target
<<permit>> Target memungkinkan sumber untuk mengakses fitur private
target
<<realize>> Sumber merupakan implementasi sebuah spesifikasi atau
antarmuka yang ditentukan oleh target
<<refine>> Perbaikan menunjukkan sebuah hubungan antara tingkat
semantik yang berbeda, contohnya, sumber merupakan
sebuah class desain dan targetnya adalah class analisis
yang terkait
<<substitute>> Sumber merupakan pengganti dari target
<<trace>> Digunakan untuk mencari sesuatu seperti persyaratan class
atau bagaimana perubahan dalam sebuah model
berhubungan dengan perubahan di lain tempat
<<use>> Sumber membutuhkan target untuk implementasinya
Ketergantungan

Contoh dependency

Mobil

+model : String Roda


-pabrik : String
-ukuran : int
<<use>>
+BelokKanan() : void
+BelokKiri() : void
+JalanLurus() : void
Class Diagram berdasarkan Contoh
Kasus (Acknowledgments Evi Lutfi Muktar)
Studi Kasus

Class diagram dari rancangan sistem informasi


penyewaan pada Bendi Car yang diusulkan sebagai
berikut:
Pertemuan 9

Disain Basis Data


Pembahasan

Entity Relationship Diagram adalah pemodelan data utama


dan akan membantu mengorganisasikan data dalam suatu
proyek ke dalam entitas-entitas dan menentukan hubungan
antar entitas.
• Komponen ERD

 Entitas (Entity)
 Relasi (Relationship)
 Atribut (Attribute)
 Kardinalitas (Kardinality)
 Modalitas (Modality)
Komponen ERD

Entitas (Entity)

 Entitas adalah suatu yang nyata atau abstrak dimana


kita akan menyimpan data.
 Contoh entitas pegawai, entitas kampus, entitas buku
dsb.
 simbol
Komponen ERD

Relasi (Relationship)

 Relasi adalah hubungan alamiah yang terjadi antara


satu atau lebih entitas, misal proses pembayaran
pegawai.
 Kardinalitas menentukan kejadian suatu entitas untuk
satu kejadian pada entitas yang berhubungan. Misal,
mahasiswa bisa mengambil banyak mata kuliah
 Berupa kata kerja
 simbol
Komponen ERD

Atribut (Attribute)

 Atribut adalah ciri umum semua atau sebagian besar


instansi pada entitas tertentu. Sebutan lain atribut
adalah properti, elemen data dan field.
 Contoh : Atribut Pelanggan terdiri dari No KTP/SIM,
Nama, Alamat
 simbol
Komponen ERD
Kardinalitas Relasi
 Angka yang menunjukkan banyaknya kemunculan
suatu obyek terkait dengan kemunculan obyek lain
pada suatu relasi.
 Kombinasi yang mungkin : (1:1, 1:N, M:N)
 Contoh :
• 1 Departemen mungkin mempekerjakan 1 atau lebih
pegawai
• 1 Pegawai hanya bekerja pada sebuah departemen
1 N

Departemen memiliki Pegawai


Komponen ERD
Kardinalitas Relasi
Komponen ERD
contoh 1 N

Departemen memiliki Pegawai

Setiap departemen setidaknya harus memiliki seorang pegawai.


Seorang pegawai yang tidak harus termasuk dalam sebuah
Departemen menunjukkan modalitas parsial dengan simbol

0..1 1..*
Departemen memiliki Pegawai
Metodologi ERD
Metode Keterangan

1. Menentukan entitas Menentukan peran, kejadian, lokasi, hal


nyata dan konsep dimana penggunaan
untuk menyimpan data
2. Menentukan relasi Menentukan hubungan antar pasangan
entitas menggunakan matriks relasi

3. Gambar ERD sementara Entitas digambarkan dengan kotak, dan


relasi digambarkan dengan garis
4. Isi kardinalitas Menentukan jumlah kejadian satu
entitas untuk sebuah kejadian pada
entitas yang berhubungan
Metodologi ERD
Metode Keterangan

5. Tentukan kunci utama Menentukan atribut yang


mengidentifikasikan satu dan hanya
satu kejadian masing-masing entitas

6. Gambar ERD Menghilangkan relasi many to many dan


berdasarkan kunci memasukkan primary dan kunci tamu
pada masing-masing entitas

7. Menentukan atribut Menentukan field-field yang diperlukan


system
8. Pemetaan atribut Memasangkan atribut dengan entitas
yang sesuai
Metodologi ERD

Metode Keterangan
9. Gambar ERD Mengatur ERD dari langkah 6
dengan atribut dengan menambahkan entitas
atau relasi yang ditemukan pada
langkah 8
10. Periksa hasil Apakah ERD sudah
menggambarkan system yang
akan dibangun?
Contoh Kasus:

Sebuah perusahaan mempunyai beberapa bagian.


Masing-masing bagian mempunyai pengawas dan
setidaknya satu pegawai. Pegawai ditugaskan paling
tidak di satu bagian (dapat pula dibeberapa bagian).
Paling tidak satu pegawai mendapat tugas di satu
proyek. Tetapi seorang pegawai dapat libur dan tidak
dapat tugas di proyek.

1. Menentukan entitas
Entitasnya : pengawas, bagian, pegawai, proyek
Contoh Kasus:

1. Menentukan entitas
Entitasnya : pengawas, bagian, pegawai, proyek
• Sebuah perusahaan mempunyai beberapa
bagian. Masing-masing bagian mempunyai
pengawas dan setidaknya satu pegawai. Pegawai
ditugaskan paling tidak di satu bagian (dapat pula
dibeberapa bagian). Paling tidak satu pegawai
mendapat tugas di satu proyek. Tetapi seorang
pegawai dapat libur dan tidak dapat tugas di
proyek.
Contoh Kasus:

2. Menentukan relasi dengan matrik relasi

Bagian Pegawai Pengawas Proyek

Bagian Ditugaskan ke Dijalankan oleh

pegawai Milik Bekerja pada

pengawas menjal
ankan
Proyek menggunakan
Contoh Kasus:
3. Gambar ERD sementara
Hubungkan entitas sesuai dengan matrik relasi yang dibuat

Bagian Dijalankan oleh Pengawas

Ditugaskan ke

Pegawai Bekerja pada Proyek


Contoh Kasus:
4. Mengisi kardinalitas
Dari gambaran permasalahan dapat diketahui bahwa:
 masing-masing bagian hanya punya satu pengawas
 seorang pengawas bertugas di satu bagian
 masing-masing bagian ada minimal satu pegawai
 masing-masing pegawai bekerja paling tidak di satu
bagian
 masing-masing proyek dikerjakan paling tidak oleh satu
pegawai
 seorang pegawai bisa mendapatkan libur
Contoh Kasus:

Bagian Dijalankan oleh Pengawas

Ditugaskan ke

Pegawai Bekerja pada Proyek


Contoh Kasus:
5. Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor
Pegawai, Nomor Proyek
Bagian Dijalankan oleh Pengawas

Nama Bagian Nomor pengawas

Ditugaskan ke

Pegawai Bekerja pada Proyek

Nomor Pegawai Nomor Proyek


Contoh Kasus:
5. Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor
Pegawai, Nomor Proyek
Bagian Dijalankan oleh Pengawas

Nama Bagian Nomor pengawas

Ditugaskan ke

Pegawai Bekerja pada Proyek

Nomor Pegawai Nomor Proyek


Contoh Kasus:
6. Menggambar ERD berdasarkan kunci
Ada dua relasi many to many pada ERD sementara, yaitu
antara bagian dengan pegawai, pegawai dengan proyek,
oleh sebab itu kita buat entitas baru yaitu bagian -pegawai
dan pegawai -proyek
Kunci utama dari entitas baru adalah kunci utama dari
entitas lain yang akan menjadi kunci tamu di entitas yang
baru.
Contoh Kasus:
Contoh Kasus:
7. Menentukan atribut

 Atribut yang diperlukan adalah: nama bagian, nama


proyek, nama pegawai, nama pengawas, nomor
proyek, nomor pegawai, nomor pengawas
Contoh Kasus:
8. Memetakan atribut

Atribut Entitas
Nama bagian Bagian

Nama proyek Proyek

Nama pegawai Pegawai

Nama pengawas Pengawas

Nama proyek Proyek


Nama pegawai Pegawai
Nama pengawas pengawas
Contoh Kasus:
9. Menggambar ERD dengan atribut
Latihan
Sebuah universitas akan membuat suatu sistim informasi akademik,
sebelum dibangun perangkat lunak sistim informasi tersebut dilakukan
analisis berbasis obyek data. Universitas tersebut mempunyai
beberapa fakultas, dimana dalam setiap fakultas dapat mempunyai
satu atau lebih jurusan. Sebaliknya suatu jurusan hanya dapat menjadi
bagian dari satu fakultas saja. Setiap jurusan mempunyai beberapa
orang dosen, dengan ketentuan seorang dosen hanya boleh terdaftar
pada satu jurusan. Dosen – dosen tersebut boleh mengajar banyak
mata kuliah sekaligus, tetapi bisa saja ada dosen yang tidak (belum
diijinkan) untuk mengajar satu mata kuliah pun. Dalam perkuliahan,
setiap mata kuliah boleh diajarkan oleh beberapa dosen dan tidak
boleh ada mata kuliah yang belum ditentukan dosen pengampunya.
Sementara mata kuliah – mata kuliah tersebut pada umumnya dapat
diambil oleh banyak mahasiswa, tetapi dapat juga tidak diikuti oleh
mahasiswa satu pun. Begitu juga sebaliknya, mahasiswa dapat
mengambil mata kuliah atau tidak sama sekali.
Buatlah ERD dari uraian diatas
Studi Kasus
PT. Bendi Car adalah sebuah perusahaan yang bergerak
dibidang penyewaan mobil Semua transaksi di perusahaan
masih dilakukan secara manual. Berikut ini adalah kegiatan
kegiatan yang dilakukan oleh petugas dalam melaksanakan
transaksi penyewaan mobil di dalam perusahaan.
1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat
harga penyewaan mobil pada daftar harga sewa mobil. Penyewa
dapat menggunakan jasa supir atau tidak sesuai dengan
kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki
harga sewa yang berbeda-beda begitu juga harga sewa jasa
sopir untuk daerah Jabodetabek dan diluar jabodetabek pun
berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS)
disertai fotocopy identitas diri. Kemudian Formulir penyewaan
yang telah diisi beserta pembayaran dimuka diserahkan kepada
petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
Studi Kasus
2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa,
petugas membawa Formulir Pengembalian dan
memeriksa kondisi kendaraan apakah terdapat kerusakan
atau tidak. Bila ada (misalnya spion pecah, body penyok,
cat tergores, dll), maka diperhitungkan penggantiannya dan
dibebankan kepada penyewa. Bila tidak rusak/terlambat
maka tidak perlu mengisi Formulir pengembalian. Namun
Bila penyewa terlambat dalam pengembalian, maka jumlah
keterlambatan mobil dan sopir akan dibebankan kepada
penyewa. Setelah membayar kerusakan dan
keterlambatan, maka petugas membuatkan kwitansi
sebagai tanda bukti pembayaran denda
Studi Kasus
3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan
berikut denda atas kerusakan atau keterlambatan yang
terjadi dan laporan kendaraan. Laporan tersebut
diserahkan ke pemilik penyewaan Bendi car

Buatlah ERD
Pertemuan 10

State Machine Diagram


State Machine Diagram
State Machine Diagram adalah teknik yang umum
digunakan untuk menggambarkan behaviour sebuah
sistem. Hal ini digunakan untuk membantu analis,
perancang dan pengembang untuk memahami perilaku
obyek pada sistem.

Tidak cukup hanya mengimplementasikan sebuah obyek,


pengembang juga harus membuat obyek tersebut
melakukan sesuatu. State diagram memastikan bahwa
obyek-obyek tersebut akan menebak apa yang seharusnya
dilakukan. Dengan gambaran yang jelas tentang perilaku
obyek, kemungkinan tim pengembang akan memproduksi
sebuah sistem yang sesuai dengan requirement.
Simbol
Simbol UML untuk state chart diagram adalah segiempat
yang tiap pojoknya dibuat rounded. Titik awalnya
menggunakan lingkaran solid yang diarsir dan diakhiri
dengan mata.
Status dari objek
Event

State

Initial State
Final State
Simbol
UML juga memberi pilihan untuk menambahkan detil ke
dalam simbol tersebut dengan membagi tiga area yaitu
nama state, variabel dan aktivitas.

NState Name

Variabel Name

Activity

State variabel seperti timer dan counter yang kadangkala


sangat membantu.
Simbol
Activity terdiri atas events dan action, tiga hal yang sering
digunakan dalam activity adalah:
1.Entry
Apa yang terjadi ketika sistem masuk ke state
2.Exit
Apa yang terjadi ketika sistem meninggalkan state
3.Do
Apa yang terjadi ketika sistem ada di state
State, Event dan Transition

Statechart diagram menampilkan state-state yang mungkin


dari sebuah obyek, event yang bisa dideteksi dan respon
atas event-event tersebut. Secara umum, pendeteksian
sebuah event dapat menyebabkan sebuah obyek bergerak
dari satu state ke state yang lain yang disebut dengan
transition. Sebagai contoh jika sebuah CD Player dalam
keadaan terbuka, penekanan tombol load akan
menyebabkan drawer CD Player berpindah ke state close,
sebagaimana digambarkan sebagai berikut:
Notasi
1. Event Transition
Suatu kejadian yang dapat membuat state dari objek berubah
/ event

2. Event Iteration
Event berulang pada state yang sama
/ event

3. Guard
Suatu kondisi atau keterangan
[guard]
State, Event dan Transition

Stop

Play Load
Stop Closed Stop
Load

Playing Stop Load Open

Play
Initial dan Final State

Gambar pada slide sebelumnya menjelaskan bagaimana


ketika CD Player sedang dipakai, tetapi tidak menjelaskan
apa yang terjadi ketika mesin di matikan atau dihidupkan.
Untuk menunjukkan perilaku ini kita bisa menambahkan
initial state diagram. Gambar berikut ini menunjukkan
bahwa initial state untuk CD Player selalu diposisi close
setelah mesin dihidupkan. Tidak ada event yang harus
dituliskan pada initial state.
Event yang menyebabkan final state bisa tercapai adalah
saat CD Player dimatikan (event = off)
Initial dan Final State

Stop

Off
Play Load
Stop Closed Stop
Load

Playing Stop Load Open

Play

Off
Guard Condition

Dalam gambar sebelumnya salah satu masalah adalah CD


player tidak selalu pada state playing ketika tombol play
ditekan. Seharusnya state playing dilakukan jika ada CD di
drawer atau tetap dalam kondisi close jika tidak ada CD di
drawer.
Untuk menampilkan informasi tersebut dengan statechart
bisa ditambahkan guard condition untuk transition play.
Guard condition adalah bagian spesifikasi dari transition
dan ditulis dengan sepasang kurung kotak/[] sesudah
nama event yang memberi label transition
Guard Condition

Stop

Play[no CD] Closed Play [no CD]

Load
Stop

Play[ CD present]

Playing Open
Play[ CD present]

Stop
Play Load
Guard Condition

Jika ada lebih dari satu transition yang mempunyai hasil


guard condition true, maka hanya ada satu saja yang akan
dijalankan. Sebagai contoh anggaplah CD player pada
posisi state open dan tombol play ditekan, yang pertama
kali terjadi adalah drawer akan ditutup. Hal ini penting
karena mesin akan bisa mendeteksi apakah ada CD atau
tidak di drawer bila drawer dalam posisi tertutup. Dalam
kondisi masih state open, guard condition dievaluasi pada
transition play untuk melihat transition mana yang harus
dijalankan. Jika CD ada, transition akan berubah dari open
menjadi playing.
Action
Action ditulis setelah nama event dengan diawali tanda slash (/).
Action bisa dideskripsikan dalam pseudo-code atau dengan
menggunakan notasi bahasa pemrograman yang akan dipakai.
Transition dapat membawa condition dan action sekaligus.

Action dibuat dalam bentuk pendek, mengandung bagian kecil


dari proses yang tidak butuh waktu lama. Karakteristik action
harus bisa selesai sebelum transition mencapai state yang baru.
Hal tersebut mengindikasikan bahwa action tidak dapat
diinterupsi oleh event yang lain yang mungkin dideteksi oleh
obyek, namun tetap harus bisa selesai dilakukan.
Action
Stop

Play[no CD]
Play [no CD] /
Closed close drawer
Stop Load/ close drawer
Play[ CD present] Load/ open
drawer
Playing Play[ CD present] / close drawer Open
Load / Open drawer

Play
Stop
Entry dan Exit Action
Entry action dijalankan setiap saat jika state menjadi aktif,
segera setelah action transition selesai. Sebagai contoh jika CD
player dalam state open dan tombol play ditekan, drawer akan
menutup dan transition play akan dijalankan. Hasilnya state
playing menjadi aktif dan entry action pada state playing segera
dilakukan. Exit action akan dijalankan kapanpun saat sebuah
action ditinggalkan.

Play[CD present]/close drawer


Playing
Entry/find start of track
Entry/lower head
Open
Entry/raise head
Load/open drawer Stop
Play
Activity
Saat posisi state playing, melakukan sesuatu yang disebut
memainkan current track dari CD, operasi ini yang disebut
activity. Seperti pada action maka activity ditulis dalam state
yang diawali dengan do.

Beda antara action dan activity adalah action lebih merupakan


instance sedangkan activity merupakan perluasan dari waktu.

Ketika state menjadi aktif, entry action dijalankan dan activitynya


dimulai. Activity berjalan secara kontinyu sepanjang periode
dimana state tersebut aktif.
Activity
Entry action harus dijalankan sampai selesai sebelum
obyek dapat merespon event apapun. Akan tetapi activity
bisa diinterupsi oleh event apapun yang mengakibatkan
transition keluar.

Playing
Entry/find start of track
Entry/lower head
Entry/raise head
Do/play track

Play
Completion Transition
Completion transition adalah transition yang tidak
mempunyai nama event. Ini bisa ditrigger ketika sebuah
state activity internal berhenti secara normal tanpa
interupsi oleh event dari luar. Ketika CD player dimainkan
user bisa menekan tombol play atau stop untuk interupsi.
Jika salah satu dari event ini terdeteksi maka track akan
berakhir. Dengan demikian calon transition yang harus
dijalankan tinggal completion transition. Yang terjadi
berikutnya tergantung pada apakah track yang baru saja
selesai adalah track terakhir atau bukan.
Completion Transition (lanjutan)
Completion transition mempunyai guard condition untuk
membedakan diantara dua kasus. Jika yang baru selesai adalah
track terakhir, transition pada state closed akan dijalankan dan
CD berhenti, tetapi jika tidak transition ke dirinya sendiri akan
dijalankan dan penhitung track akan naik, state playing akan
masuk kembali dan CD player akan menjalankan track
berikutnya.
Last track played
Playing
[no last track] / Entry/find start of track
increment track count Entry/lower head Closed
Entry/raise head
Do/play track
Stop
Play
Internal Transition
Internal transition ditulis didalam state yang diberi nama
dengan event yang menyebabkannya. Sebagai contoh
adalah informasi yang ditampilkan dalam CD player.

Playing
Entry/find start of track
Entry/lower head
Entry/raise head
Do/play track
Info/display time

Play
Composite State
Composite state mempunyai properties sebagai berikut:
1. Jika composite state active, salah satu dari sub state harus
aktif.
2. Jika sebuah event terdeteksi ketika sebuah obyek ada
didalam composite state, maka akan bisa mentrigger
transition keluar dari composite state itu sendiri maupun dari
sub state aktif saat itu.

Sebagai contoh, asumsikan CD player dalam state closed, jika


event load terdeteksi transition state open akan dijalankan dan
state open menjadi aktif. Ini adalah transition internal dari state
not playing dan masih aktif tetapi dengan sub state aktif yang
lain.
Composite State (lanjutan)
Sebaliknya jika event play terdeteksi, tidak ada transition
bernama “play” yang meninggalkan state closed. Namun
ada beberapa transition yang meninggalkan state no play.
Jika state ini aktif, transition akan menjadi enable,
tergantung apakah ada CD didrawer atau tidak. Jika CD
ada, state play menjadi aktif, jika tidak state closed menjadi
aktif. Hal ini berarti self-transition meninggalkan state not
play.
History State
Ketika tombol pause ditekan, maka saat tombol play ditekan lagi
CD player otomatis akan melanjtkan jalannya CD dari kondisi
terakhir pada saat tombol pause ditekan dan tidak memulai dari
awal lagi.

UML menangkap ide ini dengan mengunakan history state yang


dinyatakan dengan huruf H dalam lingkaran. Cara kerja history
state dilakukan dengan cara composite state mengingat sub
state yang aktif saat obyek keluar dari transition composite state.
Dengan adanya transition ke history state akan mengakibatkan
substate yang saat ini aktif akan menjadi aktif lagi
History State (lanjutan)
Busy
Entry/find start of track
Stop

play Play Not playing


Playing [CD present]
Do/play track
Last track played
H
Paused
[no last track]/increment track
Contoh StateChart Login
Mulai

Selesai
Reject
[Keluar/batal]
GettingUserName
[Ulangi, masukkan UserName&password]

[tekan tab untuk ke password]

[Submit]

[Not Valid]
[pindah kursor ke username]

Selesai
[valid] Validating GettingPassword
[submit]
Contoh soal

Ketika dosen melakukan login ke sistem akan divalidasi


user name dan password, jika valid akan muncul tampilan
pilihan olah nilai, absensi, forum diskusi atau logout

Buatlah statemachine diagram diatas


Studi Kasus
PT. Bendi Car adalah sebuah perusahaan yang bergerak
dibidang penyewaan mobil Semua transaksi di perusahaan
masih dilakukan secara manual. Berikut ini adalah kegiatan
kegiatan yang dilakukan oleh petugas dalam melaksanakan
transaksi penyewaan mobil di dalam perusahaan.
1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat
harga penyewaan mobil pada daftar harga sewa mobil. Penyewa
dapat menggunakan jasa supir atau tidak sesuai dengan
kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki
harga sewa yang berbeda-beda begitu juga harga sewa jasa
sopir untuk daerah Jabodetabek dan diluar jabodetabek pun
berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS)
disertai fotocopy identitas diri. Kemudian Formulir penyewaan
yang telah diisi beserta pembayaran dimuka diserahkan kepada
petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
Studi Kasus
2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa,
petugas membawa Formulir Pengembalian dan
memeriksa kondisi kendaraan apakah terdapat kerusakan
atau tidak. Bila ada (misalnya spion pecah, body penyok,
cat tergores, dll), maka diperhitungkan penggantiannya dan
dibebankan kepada penyewa. Bila tidak rusak/terlambat
maka tidak perlu mengisi Formulir pengembalian. Namun
Bila penyewa terlambat dalam pengembalian, maka jumlah
keterlambatan mobil dan sopir akan dibebankan kepada
penyewa. Setelah membayar kerusakan dan
keterlambatan, maka petugas membuatkan kwitansi
sebagai tanda bukti pembayaran denda
Studi Kasus
3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan
berikut denda atas kerusakan atau keterlambatan yang
terjadi dan laporan kendaraan. Laporan tersebut
diserahkan ke pemilik penyewaan Bendi car

Buatlah state diagram dari sistem diatas


Pertemuan 11

Collaboration Diagram
Component Diagram
Collaboration Diagram
• Collaboration diagram adalah perluasan dari obyek diagram (
obyek diagram menunjukkan obyek-obyek dan hubungannya
satu dengan yang lain). Collaboration diagram menunjukkan
message-message obyek yang dikirim satu sama lain.

• Collaboration diagram merupakan asosiasi diantara obyek-


obyek. Panah didekat garis asosiasi menunjukkan message,
sedangkan content message ditunjukkan dengan label. Angka
pada message menunjukkan message.

• Dengan collaboration diagram memungkinkan untuk


memodelkan pengiriman sebuah message ke banyak obyek
pada class yang sama. Demikian juga halnya untuk
menunjukkan adanya obyek aktif yang mengendalikan aliran
dari message.
Collaboration Diagram
Collaboration Diagram

• Antara collaboration diagram dan sequence diagram


bisa saling mengisi.

• Collaboration diagram bisa ditambahkan nomor urut


pada label sebuah message untuk menunjukkan urutan
informasi.

• Titik dua ( : ) perlu digunakan untuk memisahkan nomor


dengan message
Collaboration Diagram

Collaboration diagram untuk pembuatan proposal

Konsultan

1: startsearch
[found] 4.1 : open(file)
[not found] 4.2: new(file)
*[working 7 : useApps( )
[done]10 : closeAndStore ( )
2: Search ( )
GUI repository
3: Result ( )
13: store ( )
5: openAndSaveAs
(proposal)
8 : useApps( )
11: closeAndsave( ) MS Office Proposal
6: createFile( )
9: modify ( )
12: close ( )
Pembuatan sebuah Obyek
urutan skenarionya (modelnya) adalah
sebagai berikut :
1. Konsultan mencari proposal yang cocok untuk dipakai
kembali dari repository.
2. Jika proposal yang cocok ditemukan, file tersebut akan
dibuka dengan software office yang sesuai kemudian
disimpan dengan nama yang baru untuk proposal baru.
3. Jika tidak ada proposal yang cocok maka akan dibuat
file proposal baru dengan software office.
4. Ketika mengerjaan proposal, konsultan menggunakan
software office yang sesuai.
5. Setelah pengerjaan proposal selesai, maka file tersebut
akan diletakkan direpository.
Menunjukkan hasil operasi

sebuah message bisa jadi adalah sebuah permintaan


kepada obyek melakukan perhitungan dan
menghasilkan sebuah nilai.
contoh : obyek pelanggan akan meminta akan meminta
kepada obyek kalkulator untuk menghitung harga total
yang merupakan penjumlahan harga barang dan PPN .

Customer
1: totalPrice :=Computer(itemPrice, VAT)

calculator
Obyek Aktif

obyek aktif dapat mengirimkan message ke obyek pasif


dan berinteraksi dengan obyek aktif lainnya. disebuah
perpustakaan , librarian ( petugas perpustakaan )
mengambil permintaan referensi dari pengunjung
(patron), mencari informasi tentang referensi tersebut
kedatabase, kemudian memberi jawaban balik kepada
penanya, menugaskan pekerja untuk menata buku.
seorang librarian juga berinteraksi dengan librarian yang
lain yang melakukan operasi yang sama.
Obyek Aktif
Obyek aktif mengendalikan aliran dalam sequence

librarian 4:get(litle)

3:returninfo(title) pekerja

1: refernceRequest(title)
2:lookUp(title)

pekerja
patron
Obyek Aktif
1. component diagram merepresentasikan dunia riil item
yaitu component software.

2. component bisa diakses melalui interfacenya yaitu


koleksi operasi-operasi. relasi antara component dan
interfacenya disebut realization.

3. component mewakili potongan-potongan yang


independen yang dibisa dipesan dan diperbaharui
sewaktu-waktu. pembagian sistem kedalam component
lebih didorong untuk kepentingan marketing daripada
teknis.
Collaboration Diagram
Jika component menetap disebuah komputer dan bekerja
sebagai bagian dari sistem. Dengan memodelkan
component dan relasinya maka :
1. klien bisa melihat struktur sistem yang sudah selesai
2. pengembang mempunyai struktur untuk panduan kerja
3. dokumentator bisa memahami apa yang mereka tulis
4. siap untuk digunakan kembali untuk proyek lain

Tipe-tipe component
1. deployment diagram
2. work product component
3. execution componen
Hubungan Component dg Class

1. Component adalah implementasi software dari sebuah


class.

2. Class mewakili abstraksi dari serangkaian attribute dan


operation.

3. Component bisa jadi merupakan implementasi dari lebih


dari sebuah class.
Hubungan Component dg Class

1. Penjelasan gambar:
1. Komponen A bergantung pada komponen B. Terdapat
satu atau beberapa kelas di komponen A yang
bergantung pada satu atau beberapa kelas di komponen
B.
2. Dependensi memiliki implikasi kompilasi, dimana
komponen A tergantung pada komponen B. A tidak bisa
dikompilasi sampai B telah selesai dikompilasi.
Diagram component

Merupakan diagram UML yang menampilkan komponen


dalam sistem dan hubungan antara mereka.
Pertemuan 12

Package Diagram
Deployment Diagram
Deployment Diagram
• Diagram Deployment menunjukkan tata letak sebuah sistem
secara fisik, menampakkan bagian-bagian software yang
berjalan pada bagian-bagian hardware.

• Bagian utama hardware adalah node, yaitu nama umum


untuk semua jenis sumber komputasi.
Ada dua tipe node :
1. Processor : node yang bisa mengeksekusi sebuah
komponen, sedangkan device tidak
2. Device : perangkat keras (seperti printer atau monitor)
tipikalnya menjadi interface dengan dunia luar
Deployment Diagram
• Node mengandung artifak, dimana artifak adalah manifestasi
fisik dari software, biasanya file.

• File-file ini biasanya bisa dieksekusi/executable (seperti: .EXE


file, binner, dll, file JAR, script) atau file-file data, dokumen
HTML, dll…

• Daftar sebuah artifak di dalam sebuah node menunjukkan


bahwa artifak tersebut di deploy ke node tersebut pada saat
sistem sedang dijalankan.

• Dalam UML, kubus menunjukkan node.


Simbol-simbol Deployment Diagram
Contoh Deployment Diagram
Contoh Deployment Diagram
Package Diagram

• package adalah pengelompokan kontruksi kelevel yang


lebih tinggi.

• sebuah package bisa menjadi anggota package yang


lain. bila dibuat hierarki, package yang paling tinggi akan
mengandung package-package yang lain

• manfaat utama penggunaan package adalah


penerapannya pada sistem skala besar untuk
mendapatkan gambaran saling ketergantungan diantara
component-component utama pada sistem
Package Diagram

Pada gambar dibawah ini realisasi relasi menunjukkan


bahwa database gateway mendefinisikan sebuah interface
dan class gateway yang lain menyiapkan implementasi

application database gateway

SQL Server
oracle gateway test gateway
gateway
Pertemuan 13

Presentasi I
Tugas Kelompok
Pertemuan 14

Presentasi II
Tugas Kelompok

Anda mungkin juga menyukai