Kamis, 04 Desember 2014

jrengjreng


Mata kuliah : PSBO
Semester : V
Jurusan : Manajemen Informatika
Sks : 4 sks
CAPAIAN PEMBELAJARAN :
Mahasiswa mengenal dan memahami serta dapat
membuatmodel dengan diagramUML
Capaian Pembelajaran
Pertemuan 1-6 dilakukan dengan penyampaian materi
kepada mahasiswa
Pertemuan 7 diadakan QUIZ / review materi
Pertemuan 8 diadakan UTS dimana materi diambil dari
pertemuan 1-6
Setelah UTS Penyampaian materi tetap dilakukan
sebagaimana biasa sampai pertemuan 12.
Di pertemuan 13-14 presentasi tugas yang dibuat oleh
mahasiswa secara berkelompok. Dimana tugas tersebut
berbentuk cd presentasi dan makalah yang sesuai
dengan kasus yang dibahas.
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
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.
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.
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.
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.
Istilah-istilah Objek
Atribut : Data itemyang 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).
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.
Kelas yang mempunyai sifat umumdisebut 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
2. Gen-Spec memperlihatkan kelas sebagai spesialisasi dari
kelas diatasnya
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.
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.
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.
Atribut :
Nomor Polisi
Ban, Stir, Pedal
Kopling/Gas/Rem,
Warna, Tahun Produksi
Behavior/Tingkah Laku :
Cara Menghidupkan Mesin
Cara Manjalankan Mobil
Cara Memundurkan Mobil

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.
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.
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
20
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.
21

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.

1. Penggunaan alat
Metodologi non objek menggunakan beberapa alat untuk
menggambarkan model seperti data flow diagram, entity relationship
diagramdan structure chart.
Sedangkan metodologi berorientasi objek menggunakan satu jenis
model dari tahap analisa sampai implementasi, yaitu diagramobjek.
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.


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

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
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
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.
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.
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
Contoh Use Case Diagram
Staff HRD
Entry Data Pegawai
Entry Data Jabatan
Staff PayRoll
Entry Data Lokasi Kerja
Entry Data Divisi
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..
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.
Contoh Class Diagram
Class Buku terdiri dari :
– Atribut : judul, pengarang
– Method : ambilJenis(),
ambilHalaman();
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.
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
Contoh Collaboration Diagram
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.
Contoh State Chart Diagram
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
Contoh Activity Diagram
Start
Menyerahkan Absensi yang
sudah ditandatangani
Menyerahkan Rekap Lembur yang
sudah ditandatangani
Menerima Absensi dan Rekap Lembur
yang sidah ditandatangani
End
PEGAWAI STAFF PAYROL
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.
Contoh Component Diagram
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


Artifact UML
Actor A
Use Case 1
Use Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repository
document : Document
gFile : GrpFile
9: sortByName ( )
1: Doc view request ( ) L
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
GrpFile
read( )
open( )
create( )
fillFile( )
rep
Repository
name : char * = 0
readDoc( )
readFile( )
(from Persistence)
FileMgr
fetchDoc( )
sortByName( )
DocumentList
add( )
delete( )
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )
fList
1
FileList
add( )
delete( )
File
read( )
read() fill the
code..
UI
MFC
RogueWave
global
DocumentApp
Persistence
Window95
¹®¼-°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
Windows
NT
¹®¼-°ü¸® ¿£Áø.EXE
Windows
NT
Windows95
Solaris
ÀÀ¿ë¼-¹ö.EXE
Alpha
UNIX
IBM
Mainframe
μ¥ÀÌŸº£À̽º¼-¹ö
Windows95
¹®¼-°ü¸® ¾ÖÇø´
ºÐ»ê ȯ °æÀÇ ÇÏμå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬° á ¸ðμ¨
- À©μμ¿ì 95 : Ŭ¶óÀ̾ðÆ®
- À©μμ¿ì NT: ÀÀ¿ë¼-¹ö
- À¯ ´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd fileMgr :
FileMgr
document : repository
Document
gFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â
¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼-
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È-¸é °´Ã¼´Â ÀоîμéÀÎ
°´Ã¼μé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù.
Customer
name
addr
withdraw()
fetch()
send()
receive()
<<entity>>
Forward Engineering(Code Generation)
and
Reverse Engineering
Executable System
User Interface
Definition
Domain
Expert
Openning
Writing
Reading
Closing
add file [ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Use Case 3
Source Code edit, compile, debug, link
Use-Case
Diagram
Class Diagram
Collaboration Diagram
Sequence Diagram
Component
Diagram
State Diagram
Package
Diagram
Deployment
Class Diagram
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
Pembahasan
1. Activity Diagram
2. Studi Kasus
1. 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
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
Swimlane
Sebuah cara untuk mengelompokkan activity
berdasarkan Actor (mengelompokkan activity
dalam sebuah urutan yang sama)
CONTOH
ACTIVITY
DIAGRAM
Penarikan
Uang dari
Account
Bank Melalui
ATM
CONTOH ACTIVITY DIAGRAM

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.
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).
Procedure Berjalan (Acknowledgments Evi Lutfi Muktar)
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.
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.
Proses Absensi
Acivity Diagram Rekap Biodata Pegawai (RBP)
Activity Diagram Pembuatan Daftar Data pegawai dan Gaji (DDPG)
Activity Diagram Proses Laporan
(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
memberikan fotocopy ktp
dan rekening listrik
menerima formulir
pendaftaran
menyetujui formulir
pendaftaran
memberikan formulir
pendaftaran
menerima fotocopy ktp
dan rekening listrik
input pendaftaran
pelanggan
cetak formulir
pendaftaran
memberikan formulir
pendaftaran
menerima formulir
pendaftaran
memberikan formulir
pendaftaran
menerima formulir
pendaftaran
pelanggan pelayanan pelanggan spv pelayanan
Activity diagram pendaftaran perubahan daya
•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.
memberikan formulir
pendaftaran
menerima formulir
pendaftaran
membuat surat
persetujuan
menyetujui surat
persetujuan
memberikan surat
persetujuan
menerima surat
persetujuan
pelayanan pelanggan spv pelayanan pelanggan
•Perjanjian jual beli tenaga listrik
Setelah pelanggan menerima surat jawaban persetujuan dari PT.
PLN (Persero) maka sipelanggan akan datang ke kantor PT PLN
untuk menandatangani surat perjanjian jual beli tenaga listrik sesuai
dengan daya listrik yang baru yang akan dipasang. Surat perjanjian
jual beli tenaga listrik tersebut juga ditandatangani oleh manager.
menerima surat
persetujuan
menerima surat perjanjian
jual beli tenaga listrik
menyetujui surat perjanjian
jual beli tenaga listrik
memberikan surat perjanjian
jual beli tenaga listrik
membuat surat perjanjian
jual beli tenaga listrik
mencetak surat perjanjian
jual beli tenaga listrik
memberikan surat perjanjian
jual beli tenaga listrik
menerima surat perjanjian
jual beli tenaga listrik
memberikan surat perjanjian
jual beli tenaga listrik
menerima surat perjanjian
jual beli tenaga listrik
menerima surat perjanjian
jual beli tenaga listrik
menyetujui surat perjanjian
jual beli tenaga listrik
memberikan surat perjanjian
jual beli tenaga listrik
pelanggan spv pelayanan manager
• Pembayaran
Setelah menandatangani surat perjanjian jual beli tenaga listrik
maka sipelanggan tinggal membayar sejumlah yang tertera pada
surat perjanjian jual beli tenaga listrik ke loket pembayaran
perubahan daya, pelanggan akan mendapatkan kwitansi
pembayaran sebagai bukti bahwa si pelanggan telah melaksanakan
kewajibannya.
melakukan
pembayaran
menerima bukti
pembayaran
menerima
pembayaran
cetak bukti
pembayaran
menyetujui bukti
pembayaran
memberikan bukti
pembayaran
pelanggan loket PT PLN
• Perintah kerja
Saaat si pelanggan membayar kewajibannya maka perintah kerja
terbit dan siap untuk di cetak, untuk diberikan kepada pelaksana
sebagai perintah kerja untuk pelanksanaan penggantian MCB
pelanggan.
cetak perintah
kerja
menyetujui
perintah kerja
melakukan
penggantian MCB
menerima
perintah kerja
menerima
perintah kerja
melakukan
penggantian MCB
memberikan
perintah kerja
menerima
perintah kerja
memberikan
perintah kerja
menerima
perintah kerja
menyetujui
perintah kerja
memberikan
perintah kerja
bagian penyambungan pelaksana pelanggan
2. 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
jawaban
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.
Prosedur Laporan Penerimaan Siswa Baru
Setelah jadwal penerimaan siswa baru ditutup, maka bagian pendaftaran
membuat laporan kepada BagianWaka UR Kesiswaan.
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.
Buatlah diagram aktivity dari sistem diatas
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.
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.
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 :
4. Kasus penyewaan mobil pada sebuah perusahaan
1. Prosedur Peminjaman
2. Prosedur Pengembalian
3. Prosedur Pembuatan laporan
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.
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
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
Pembahasan
1. Deskripsi USE CASE
2. USE CASE Diagram
3. Studi Kasus
1. 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.
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.
2. 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 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 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 :
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
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)
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.
Actors bisa menyediakan informasi ke sistem.
Simbol actor :
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
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
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
Buka
Rekening
<<include>> catat
data pribadi
Nasabah
Register for courses
<<include>>
Logon validation
<<include>>
Maintain curriculum
<<extend>> perluasan dari use case lain jika kondisi atau
syarat terpenuhi
– Kurangi penggunaan association Extend ini, terlalu banyak
pemakaian association ini membuat diagram sulit
dipahami.
– Tanda panah terbuka harus terarah ke parent/base use
case
– Gambarkan association extend secara vertical
Buka
Rekening
<<extend>>
Buka
Deposito
Nasabah
Association antara use case (Lanjut)
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
4. Generalization/inheritance antara actor
Gambarkan generalization/inheritance antara actors secara
vertical dengan inheriting actor dibawah base/parent use case
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
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 masingmasing
pengguna tetap terjaga keamanannya.
• 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.
• 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.
• 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.

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




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
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 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).
• 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.
• Diagram ini secara khusus berasosiasi dengan use case
diagram
• 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 (lanjutan)
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
SEQUENCE DIAGRAM
INPUT DATA PEGAWAI
Contoh kasus Penggajian (Acknowledgments Evi Lutfi Muktar)

SEQUENCE DIAGRAM
INPUT DATA PENDIDIKAN

SEQUENCE DIAGRAM
INPUT DATA KELUARGA

SEQUENCE DIAGRAM
ABSEN MASUK

Studi Kasus
lanjutan
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 pelunasan pembayaran
diserahkan kepada petugas kemudian petugas membuatkan kwitansi
pembayaran sebagai bukti pembayaran.
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
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 diatas

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.

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 (lanjutan)
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 (lanjutan)
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:
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)
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 (lanjutan)
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
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.
Sifat bidireksional ditunjukkan secara jelas dengan adanya
panah navigasi pada kedua ujung asosiasi.
Orang Mobil
pemilik
0..1 *
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.
Catatan dan Komentar
Catatan merupakan komentar didalam diagram. Catatancatatan
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 (lanjutan)
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 (lanjutan)
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
Class Diagram diperoleh berdasarkan dari database
Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

Pertemuan 9
Disain Basis Data
Entity Relationship Diagram adalah pemodelan data
utama dan akan membantu mengorganisasikan data dalam
suatu proyek ke dalam entitas-entitas dan menentukan
hubungan antar entitas.
Pembahasan
Komponen ERD
Entitas (Entity)
Relasi (Relationship)
Atribut (Attribute)
Kardinalitas (Kardinality)
Modalitas (Modality)
Entitas (Entity)
Entitas adalah suatu yang nyata atau abstrak dimana kita akan
menyimpan data.
Contoh entitas pegawai, entitas kampus, entitas buku dsb.
simbol
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
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
Angka yang menunjukkan banyaknya kemunculan
suatu obyek terkait dengan kemunculan obyek lain pada
suatu relasi.
Kombinasi yang mungkin : (1:1, 1:N, M:N)
Kardinalitas Relasi
1 Departemen mungkin mempekerjakan 1 atau lebih pegawai
1 Pegawai hanya bekerja pada sebuah departemen
Contoh :
Kardinalitas Relasi
Adalah Partisipasi sebuah entitas pada suatu relasi.
0 jika partisipasi bersifat “optional”/parsial
1 jika partisipasi bersifat “wajib”/total
Contoh : Partisipasi total
Setiap anak memiliki ibu
Partisipasi parsial
Tidak setiap perempuan memiliki anak
Modalitas Relasi
Contoh
Setiap departemen setidaknya harus memiliki seorang pegawai.
Seorang pegawai yang tidak harus termasuk dalam sebuah
Departemen menunjukkan modalitas parsial dengan simbol
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
Metode Keterangan
5. Tentukan kunci utama Menentukan atribut yang
mengidentifikasikan satu dan hanya
satu kejadian masing-masing entitas
6. Gambar ERD
berdasarkan kunci
Menghilangkan relasi many to many dan
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
Metode Keterangan
9. Gambar ERD
dengan atribut
Mengatur ERD dari langkah 6
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. Masingmasing
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
2. Menentukan relasi dengan matrik relasi
Bagian Pegawai Pengawas Proyek
Bagian Ditugaskan ke Dijalankan oleh
pegawai Milik Bekerja pada
pengawas menjal
ankan
Proyek menggunakan
3. Gambar ERD sementara
Hubungkan entitas sesuai dengan matrik relasi yang dibuat
4. Mengisi kardinal itas
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
5. Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor
Proyek
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.

7. Menentukan atribut
Atribut yang diperlukan adalah: nama bagian, nama
proyek, nama pegawai, nama pengawas, nomor proyek,
nomor pegawai, nomor pengawas
8. Memetakan atribut
Atribut Entitas
Nama bagian Bagian
Nama proyek Proyek
Nama pegawai Pegawai
Nama pengawas Pengawas
Nama proyek
Nama pegawai
Proyek
Pegawai
Nama pengawas pengawas
9. Menggambar ERD dengan atribut
10. Memeriksa Hasil ERD akhir untuk pemodelan data pada sistem.
Studi Kasus
lanjutan
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 pelunasan pembayaran diserahkan
kepada petugas kemudian petugas membuatkan kwitansi pembayaran
sebagai bukti pembayaran.
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
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 dari sistem diatas

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.
Simbol (lanjutan)
UML juga memberi pilihan untuk menambahkan detil ke
dalam simbol tersebut dengan membagi tiga area yaitu
nama state, variabel dan aktivitas.
State variabel seperti timer dan counter yang kadangkala
sangat membantu.
NState Name
Variabel Name
Activity
Simbol (lanjutan)
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 eventevent
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:
State, Event dan Transition
Closed
Playing Open
Play
Load
Stop
Stop
Stop
Play Load
Stop
Load
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
Closed
Playing Open
Play
Load
Stop
Stop
Stop
Play Load
Stop
Load
Off
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 (lanjutan)
Closed
Playing Open
Play[ CD present]
Stop
Stop
Stop
Play[no CD]
Play [no CD]
Load
Load
Play
Load
Play[ CD present]
Guard Condition (lanjutan)
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 (lanjutan)
Closed
Playing Open
Play[ CD present]
Stop
Stop
Stop
Play[no CD]
Play [no CD] /
close drawer
Load / Open drawer
Load/ open
drawer
Play
Load/ close drawer
Play[ CD present] / close drawer
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.
Playing
Entry/find start of track
Entry/lower head
Entry/raise head
Open
Play
Stop
Play[CD present]/close drawer
Load/open drawer
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 (lanjutan)
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.
Playing
Entry/find start of track
Entry/lower head
Entry/raise head
Do/play track
Play
[no last track] /
increment track count
Closed
Last track played
Stop
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.
1.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
[no last track]/increment track
play Not playing
Last track played
Stop
Play
[CD present]
Paused
H
Playing
Do/play track
Contoh StateChart Login
[tekan tab untuk ke password]
[pindah kursor ke username]
[submit]
[Submit]
[valid]
[Not Valid]
[Ulangi, masukkan UserName&password]
[Keluar/batal]
Reject
GettingUserName
Validating GettingPassword
Mulai
Selesai
Selesai
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

Pertemuan 11
Collaboration Diagram
Component 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.

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
Konsultan
GUI repository
MS Office Proposal
1: startsearch
[found] 4.1 : open(file)
[not found] 4.2: new(file)
*[working 7 : useApps( )
[done]10 : closeAndStore
( )
2: Search ( )
3: Result (
)
13: store ( )
6: createFile( )
9: modify ( )
12: close ( )
5:
openAndSaveAs
(proposal)
8 : useApps( )
11: closeAndsave(
)
Collaboration diagram untuk pembuatan proposal
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.
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
calculator
1: totalPrice :=Computer(itemPrice, VAT)
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.
librarian
patron
pekerja
pekerja
1: refernceRequest(title)
2:lookUp(title)
3:returninfo(title)
4:get(litle)
Obyek aktif mengendalikan aliran
dalam sequence
Component Diagram
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.
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.
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
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
•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 pada Deployment Diagram
Contoh Deployment Diagram
Contoh Deployment 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
application database gateway
oracle
gateway
SQL Server
gateway test gateway
PENERAPAN PACKAGE
pada gambar dibawah ini realisasi relasi menunjukkan bahwa
database gateway mendefinisikan sebuah interface dan class
gateway yang lain menyiapkan implementasi



Tidak ada komentar:

Posting Komentar