MATERI PERTEMUAN SEBELUMNYA CLASS DIAGRAM
ANALISIS PERANCANGAN SISTEM INFORMASI
Object Oriented Analysis & Design (OOAD) Sequence Diagram Tim Pengajar: Darsono Nababan, S.Kom, M.Kom Windy Nugraha, S.T, M.T Information System Department Universitas Pelita Harapan
TOPIK PERKULIAHAN •UML • Use Case Diagram • Pendekatan Object Oriented
• Diagram Activity • Class Diagram
• 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 atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
SIMBOL – SIMBOL SEQUENCE DIAGRAM Simbol
Nama
Actor
keterangan
Menggambarkan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem
Boundary
Mengambarkan interaksi antara satu atau lebih actor dengan sistem, memodelkan bagian darisistem yang bergantung pada pihak lain disekitarnya dan merupakan pembatas sistem dengan dunia luar.
Control
Menggambarkan “perilaku mengatur”, mengkoordinasikan perilaku sistem dan dinamika dari suatu sistem, menangani tugas utama dan mengontrol alur kerja suatu sistem
Lifeline
Eksekusi obyek selama sequence (message dikirim atau diterima dan aktifasinya
SIMBOL – SIMBOL SEQUENCE DIAGRAM Simbol
Nama
keterangan
Entity
Menggambarkan informasi yang harus disimpan oleh sistem (struktur data dari sebuah sistem)
Object Message
Menggambarkan pesan/hubungan antar obyek yang menunjukkan urutan kejadian yang terjadi
Message to Self
Mengambarkan pesan/hubungan obyek itu sendiri, yang menunjukkan urutan kejadian yang terjadi
Return Message
Menggambarkan pesan/hubungan antar obyek, yang menunjukan urutan kejadian yang terjadi.
CONTOH SEQUENCE DIAGRAM Urutan kejadian pada proses pemesanan tiket pesawat sebagai berikut. 1. Pemesan membuka halaman website. 2. Dari sisi website akan mengambil jadwal perjalanan pesawat. 3. Lalu akan ditampilkan hasil pengambilan pada halaman. 4. Website secara otomatis memberikan informasi hasil kepada pemesan. 5. Pemesan selanjutnya akan memilih jadwal yang sesuai. 6. Lalu menyimpan ke database. 7. Kemudian database memberikan konfirmasi ke website. 8. Terakhir pemesan akan mengecek jadwal yang telah dipesan olehnya.
CONTOH SEQUENCE DIAGRAM PERPUSTAKAAN Sequence Diagram Pencarian Sequence Diagram Peminjaman
Sequence Diagram Pengembalian Sequence Diagram Penambahan Buku Baru
Sequence Diagram Penggantian Buku Sequence Diagram Hitung Denda
Sintaks
Nama Komponen
Deskripsi
generalization
Garis yg menyatakan bahwa sebuah elemen merupakan spesialisasi dari elemen lainnya (inheritance). Elemen yg menjadi spesialiasi mewarisi sifat dari elemen parent nya.
Contoh: Pelanggan reguler dapat dirincikan menjadi pelanggan pemegang kartu Gold Gold Card Customer
Regular Customer
Nama Komponen
Deskripsi
extend
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu.
Sintaks <>
Contoh: Ketika meminjam kendaraan, sistem menyediakan fitur tambahan yakni pembelian asuransi.
Menyusun asuransi tambahan
Deskripsi include
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya.
Sintaks <>
Contoh: - Sistem melakukan verifikasi kartu kredit setelah pemesanan kendaraan dilakukan. - Sistem dapat memverifikasi kartu izin mengemudi setelah pemesanan kendaraan dilakukan.
Perbedaan Extend dan Include menggunakan contoh:
- Pada Extend, misalkan customer mau lihat barang, maka ketika customer mau melihat barang tidak perlu melewati proses login dan pesan barang. - Pada Include, misalkan admin mau isi data barang, maka ketika admin mau isi data barang harus melewati proses login terlebih dahulu misal dengan mengisi username dan password.
LANGKAH PEMBUATAN USE CASE - Identifkasi aktor yang terlibat dalam sistem informasi. - Identifikasi aktifitas dalam sistem informasi (yang akan menjadi use case) - Identifikasi potensi adanya relasi use case tambahan seperti include, extend, generalization. - Gambarkan use case menggunakan tools bantuan.
CONTOH PENDEFINISIAN USE CASE Toko Prima Solution merupakan toko yang menjual berbagai jenis peralatan elektronik. Seorang sales akan melayani customer yang datang dan jika customer membeli barang maka sales akan membuatkan nota penjualan yang diberikan kepada cashier. Selanjutnya pelanggan akan membayar di cashier, setiap bulannya cashier membuat laporan penjualan untuk accountant. Dari laporan penjualan ini accountant akan membuat laporan keuangan yang diserahkan kepada pimpinan toko. Jika terjadi komplain dari customer, maka langsung diterima oleh pimpinan toko. Identifikasikan komponen use case dan buat gambarnya!
JAWABAN Identifikasi Aktor dan Use Casenya. Toko Prima Solution merupakan toko yang menjual berbagai jenis peralatan elektronik. Seorang sales akan melayani customer yang datang dan jika customer membeli barang maka sales akan membuatkan nota penjualan yang diberikan kepada cashier. Selanjutnya pelanggan akan membayar di cashier, setiap bulannya cashier membuat laporan penjualan untuk accountant .Dari laporan penjualan ini accountant akan membuat laporan keuangan yang diserahkan kepada pimpinan toko. Jika terjadi komplain dari customer, maka langsung diterima oleh pimpinan toko. Aktor
Use Case
Sales
Melayani customer, Membuat nota penjualan
Customer
Membeli barang, Membayar
Cashier
Membuat Laporan Penjualan
Accountant
Membuat Laporan Keuangan
Pimpinan Toko
Menerima Komplain
JAWABAN Use Case-1.mdj
CONTOH(2) Badan geofisika dan meteorologi ingin membangun sebuah sistem ramalan cuacu berbasis web (yang sudah mendukung pemograman berorientasi objek) sistem ini akan memprediksi tiga nilai berikut : • Curah hujan • Suhu udara • Arah angin dan kecepatanya
Informasi setiap ibu kota provinsi selama 10 tahun terakhir terekam dengan baik. Curah hujan sesungguhnya yang terjadi di hari itu, suhu udara dan arah angin direkam oleh petugas BMG di setiap ibu kota provinsi. Untuk para pengguna ramalan cuaca, ada fasilitas melihat cuaca dengan terlebih dahulu memliih kota yang akan dilihat. Identifikasikan komponen use case dan buat gambarnya!
JAWABAN Aktor
Use Case
petugas BMG
Mengolah data ramalan cuaca, Merekam data ramalan cuaca, Mengolah data curah hujan, Mengolah data mata angin, Mengolah data arah angin dan kecepatan
pengguna(user)
Melihat ramalan cuaca Memilih kota
DISKUSI KELOMPOK Coba diskusikan seperti apa use case yang terdapat pada Sistem Informasi Pelayanan Perizinan Satu Pintu (PTSP).
Artinya tiap kelompok perlu menyelidiki apa saja proses, entitas yang terdapat pada PTSP. (Identifikasi proses dan entitasnya dengan lengkap) Silakan menggunakan internet .
Setelah berdiskusi, silakan desain diagram use casenya menggunakan StarUML.
TOPIK PERKULIAHAN •UML •Use Case Diagram •Pendekatan Object Oriented : Overview Class Diagram
OBJECT-ORIENTED APPROACH Objects are abstractions of real-world or system entities
Reality Domain
Model Domain bus models vehicle car models
cup models
OBJECT-ORIENTED APPROACH Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan-batasan dan pengertian yang tepat.
Object bisa mewakili sesuatu yang nyata seperti komputer, mobil dll. Object juga dapat berupa konsep seperti proses kimia, transaksi bank, permintaan pembelian, dll.
CLASS DIAGRAM Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
CLASS DIAGRAM Class memiliki tiga area pokok :
1. Nama (dan stereotype) 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : Private, tidak dapat dipanggil dari luar class yang bersangkutan Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya Public, dapat dipanggil oleh siapa saja
PENULISAN OBJEK/CLASS Objek memiliki 3 bagian utama yang dibungkus menjadi sebuah kelas.
Bagian tsb adalah nama kelas, atribut, dan operation/fungsi. Product serialNumber name price buy() display()
Class Name Attributes Operations
HUBUNGAN ANTAR CLASS Terdapat 3 jenis hubungan antar kelas: 1.
Is-a (Generalization, Realization: Inheritance)
2.
Has-a (Association)
3.
Others (Association , Dependency) Association (Aggregation, Composition) Aggregation (One of associations)
Generalization Realization Dependency
INTERAKSI/KOMUNIKASI ANTAR KELAS Terdapat 4 jenis tipe interaksi/komunikasi antar kelas, yakni:
Notasi Penulisan Kelas dan Hubungan Antar Kelas Class Name Attributes
Role name
Association name
1
Role name
Class Name
Navigability
Attributes
1..*
Operations (Methods)
Operations (Methods) Multiplicity
Multiplicity Notation 1 0..* 1..* 0..1
: : : :
One and only one None or more One or more None or one
TAHAPAN PEMBUATAN CLASS DIAGRAM 1. Identifikasi Candidate Class (sesuatu yg berpotensi menjadi objek, yakni memiliki atribut dan method/procedure)
2. Definisikan hubungan antar kelas. 3. Definisikan interaksi/komunikasi antar kelas.
CONTOH IDENTIFIKASI CANDIDATE CLASS
Transfer
ATM
ATM Card
User
Withdrawal
Bank
CONTOH PENDEFINISIAN HUBUNGAN ANTAR KELAS Aggregation Indicator Multiplicity 1
1 Company
1
Owner
Person
Role 1..* Company owner:Person employee[]:Person
Detail of the class
Employee
Person
CONTOH PENDEFINISIAN HUBUNGAN ANTAR KELAS Composition
Car
1
1
1
handle
Handle
1
1 engine
Engine
Car handle:Handle engine[]:Engine tire[4]:Tire
Detail of the class
4
tire
Tire
CONTOH PENDEFINISIAN HUBUNGAN ANTAR KELAS Class name
Class: Furniture Attribute A1 Method A1
Methods
Is a specialization of or Inherits from
Class: Chairs [Attribute A1] Attribute B1 [Method A1] Method B1
Class: Executive Chairs [Attribute A1] [Attribute B1] Attribute C1 [Method A1] Method B1 (overriding) Method C1
Attributes
CLASS INHERITANCE & SPECIALIZATION
CONTOH PENDEFINISIAN INTERAKSI/KOMUNIKASI ANTAR KELAS (SISTEM INFORMASI ATM)
CONTOH PENDEFINISIAN INTERAKSI/KOMUNIKASI ANTAR KELAS (PEMBELIAN BARANG)
CONTOH PENDEFINISIAN INTERAKSI/KOMUNIKASI ANTAR KELAS (SISTEM AKADEMIK)
CONTOH KASUS CLASS DIAGRAM (1) Melanjutkan use case yang sudah dikerjakan. Tiap kelompok membuat class diagram untuk: Sistem Informasi Pelayanan Perizinan Satu Pintu (PTSP). Langkah pengerjaan:
1. Identifikasi Candidate Class (sesuatu yg berpotensi menjadi objek, yakni memiliki atribut dan method/procedure) 2. Definisikan hubungan antar kelas. 3. Definisikan interaksi/komunikasi antar kelas. Setelah berdiskusi, silakan desain diagram use casenya menggunakan StarUML.
END OF SLIDE