Minggu, 07 Februari 2016

PSBO


Mata kuliah : PSBO Semester : V Jurusan : Manajemen Informatika Sks : 4 sks CAPAIAN PEMBELAJARAN : Mahasiswa mengenal dan memahami serta dapat membuat model dengan diagram UML
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 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).
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 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
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 diagram dan structure chart.
Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisa sampai implementasi, yaitu diagram objek.
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 HRDEntry Data PegawaiEntry Data JabatanStaff PayRollEntry Data Lokasi KerjaEntry 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
StartMenyerahkan Absensi yang sudah ditandatanganiMenyerahkan Rekap Lembur yang sudah ditandatanganiMenerima Absensi dan Rekap Lembur yang sidah ditandatanganiEndSTAFF PAYROLPEGAWAI
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

Component DiagramDeployment DiagramPackage DiagramObject DiagramClass DiagramComposite Structure DiagramStructure DiagramBehavior DiagramUse Case DiagramActivity DiagramInteraction DiagramState Machine DiagramSequence DiagramCommunication DiagramInteraction overview DiagramTiming DiagramDiagram
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 ( )
L 1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: f illDocument ( )
4: create ( )
8: f illFile ( )
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 v iew reques t ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sor tByName ( )
ƯÁ¤¹®¼
¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°
ü¸®ÀÚ´Â Àоî¿Â
¹®¼ÀÇ
Á¤º¸ ¸ ¦ ÇØ´ç ¹®¼°
´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È
¸é °´Ã¼´Â ÀоîμéÀÎ
°´Ã¼μé¿¡ ´ëÇØ À̸§º°· Î
Á¤·ÄÀ» ½ÃÄÑ È
¸é¿¡
º¸¿©ÁØ´Ù.
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 [ numberOf file==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
SupplierBagian PembelianBagian GudangMemberi informasi data Barang yang akan dipesanMenerima informasiBuat SPPTerima SPPKirim Barang disertai FakturTerima Barang dan FakturBuat SPBJTandatangani SPBJTerima SPBJKonfirmasi pembayaranMelakukan pembayaranTerima pembayaranTerima KwitansiBuat kwitansi

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
Melakukan absen harianAbsenMelakukan absen di form daftar hadirPegawai melapor ke TUMenerima laporan pegawai yang tidak absenMencatat absen pegawaiMerekap absensi berdasarkan form daftar hadirPegawaiTUYa AbsenTidak Absen
Acivity Diagram Rekap Biodata Pegawai (RBP)
Memberikan data pegawaiData PegawaiMengembalikan berkas data pegawai tidak lengkapMenerima data pegawaiMengecek berkas data pegawaiData pegawai diprosesPegawaiTUData LengkapData tidak LengkapMenerima berkas data pegawai tidak lengkap
Activity Diagram Pembuatan Daftar Data pegawai dan Gaji (DDPG)
Memberikan data Rekap AbsenMemberikan data PegawaiMenerima rekap absen & data pegawaiMenerima daftar data pegawai dan gajiMenyetujui daftar data pegawai dan gajiTUAdministrasiMembuat daftar data pegawai dan gajiMenyerahkan daftar data pegawai dan gajiKepala Sekolah
Activity Diagram Proses Laporan
Menyerahkan daftar data pegawai dan gaji accMenerima daftar data pegawai dan gaji accMenerima Slip gajiKepala SekolahAdministrasiMembuat lap data pegawai dan lap gaji pegawaiMembuatSlip gajiPegawaiMenerima Lap data pegawai dan lap gaji pegawai
(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 pendaftaranmenerima formulir pendaftaranmembuat surat persetujuanmenyetujui surat persetujuanmemberikan surat persetujuanmenerima surat persetujuanpelangganspv pelayananpelayanan 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 persetujuanmenerima surat perjanjian jual beli tenaga listrikmenyetujui surat perjanjian jual beli tenaga listrikmemberikan surat perjanjian jual beli tenaga listrikmembuat surat perjanjian jual beli tenaga listrikmencetak surat perjanjian jual beli tenaga listrikmemberikan surat perjanjian jual beli tenaga listrikmenerima surat perjanjian jual beli tenaga listrikmemberikan surat perjanjian jual beli tenaga listrikmenerima surat perjanjian jual beli tenaga listrikmenerima surat perjanjian jual beli tenaga listrikmenyetujui surat perjanjian jual beli tenaga listrikmemberikan surat perjanjian jual beli tenaga listrikmanagerspv pelayananpelanggan
• 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 pembayaranmenerima bukti pembayaranmenerima pembayarancetak bukti pembayaranmenyetujui bukti pembayaranmemberikan bukti pembayaranloket PT PLNpelanggan
• 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 kerjamenyetujui perintah kerjamelakukan penggantian MCBmenerima perintah kerjamenerima perintah kerjamelakukan penggantian MCBmemberikan perintah kerjamenerima perintah kerjamemberikan perintah kerjamenerima perintah kerjamenyetujui perintah kerjamemberikan perintah kerjapelangganpelaksanabagian penyambungan
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 Bagian Waka 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
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. 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) BukaRekeningNasabahBukaDeposito
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 masing-masing 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
Administrasi Form Data Pegawai Control Data Pegawai
Open Olah Data
Display Data
Pegawai
Simpan ()
Input NIP
Simpan ()
Keluar ()
Input Data
Pegawai
Tambah ()
Edit ()
Batal ()
Simpan () Rec Data Pegawai
Kepala Sekolah
Display Data
Pegawai
Contoh kasus Penggajian (Acknowledgments Evi Lutfi Muktar)

SEQUENCE DIAGRAM INPUT DATA PENDIDIKAN
AdministrasiForm Data PendidikanControl Data PendidikanOpenSimpan ()Get NIP ()Rec Data PendidikanDisplay NIP, NamaPegawaiSimpan ()Keluar ()Tambah ()Edit ()Batal ()Simpan ()Display Data PendidikanInput Data PendidikanKepala SekolahGet NIP ()

SEQUENCE DIAGRAM INPUT DATA KELUARGA
AdministrasiForm Data KeluargaControl Data KeluargaOpenSimpan ()Get NIP ()Rec Data KeluargaDisplay NIP, Nama, Jenis Kelamin, Status PegawaiSimpan ()Keluar ()Tambah ()Edit ()Batal ()Simpan ()Display Data KeluargaInput Data KeluargaKepala SekolahGet NIP ()

SEQUENCE DIAGRAM ABSEN MASUK
PegawaiForm AbsenControl AbsenOpenGet NIP ()Display NIP, NamaPegawaiSimpan ()Display Absen MasukInput Absen MasukAbsenGet NIP ()Simpan ()Rec Data Absen MasukKeluar ()Simpan ()Absen ()

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. 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 (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)
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 class diagram
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 :
DepartemenPegawaimemiliki1N
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
Departemen memiliki Pegawai
0..1 1..*
Setiap departemen setidaknya harus memiliki seorang pegawai.
Seorang pegawai yang tidak harus termasuk dalam sebuah
Departemen menunjukkan modalitas parsial dengan simbol
Departemen memiliki Pegawai
1 N
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. 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
2. Menentukan relasi dengan matrik relasi
Bagian
Pegawai
Pengawas
Proyek
Bagian
Ditugaskan ke
Dijalankan oleh
pegawai
Milik
Bekerja pada
pengawas
menjalankan
Proyek
menggunakan
3. Gambar ERD sementara Hubungkan entitas sesuai dengan matrik relasi yang dibuat
BagianPengawasPegawaiProyekDijalankan olehDitugaskan keBekerja pada
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
BagianPengawasPegawaiProyekDijalankan olehDitugaskan keBekerja pada
5. Menentukan kunci utama Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek
BagianPengawasPegawaiProyekDijalankan olehDitugaskan keBekerja pada Nama BagianNomor pengawasNomor PegawaiNomor 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 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:
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]RejectGettingUserNameGettingPasswordValidatingMulaiSelesaiSelesai
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