Pertemuan 1
Object Oriented
Sistem dan Kriteria Penilaian
• Sistem Penilaian:
– 20% Absensi
– 25% Tugas & Quiz (Tugas kelompok di tiap pertemuan)
– 25% UTS (Ujian Online)
– 30% UAS (Ujian Online)
• Kriteria Penilaian Tugas:
1. Dapat mengerjakan sesuai dengan perintah tugas (50%).
2. Dapat menganalisa, menjelaskan deskripsi dan membuat
diagram UML (25%).
3. Dapat mengerjakan tugas dengan baik sesuai dengan
tujuan, tepat waktu dan dapat bekerja sama (25%).
Perbedaan Class dan Object
• Class adalah cetakan, template atau blueprint.
• Objek adalah bentuk nyata dari class.
• Contoh dari class dan objek
– Class: cetakan kue.
– Objek: kue yang dihasilkan dari cetakan tersebut.
Class dengan Attribute dan Behavior
• Attribute → Variabel (member). Nilai datanya bisa ditentukan
di object.
• Behavior → Perilaku suatu objek dinyatakan dalam operation
(method/fungsi).
Attribute
Behavior
(Orang)
Budi
30
(Orang)
Amel
28
Class dengan atribut Objek dengan nilai
Class/Cetakan Objek/Hasil
Contoh Class dan Object
Class Object
(Matakuliah)
Algoritma &
Pemrograman
4
(Matakuliah)
E-commerce
3
Karakteristik Pemrograman
Berorientasi Objek
• Encapsulation
– Mekanisme menyembunyikan suatu proses dalam sistem
untuk menghindari interferensi dan menyederhanakan
penggunaan sistem itu sendiri. Contoh: Tombol on/off
pengaturan suhu pada AC.
– Enkapsulasi berarti membungkus class dan menjaga apa
apa saja yang ada di dalam class tersebut, baik method
ataupun atribut, agar tidak dapat diakses oleh class
lainnya. Oleh karena itu, terdapat level akses class yang
terdiri dari Public, Protected, dan Private.
– Enkapsulasi data dapat dilakukan dengan cara:
• mendeklarasikan instance variable sebagai private
• mendeklarasikan method yang sifatnya public untuk
mengakses variable tersebut
Encapsulation dan Access Modifier
Modifier | Dalam Class yang Sama | Dalam Package yang Sama | Dalam SubClass | Dalam Package Lain |
private | ✓ | |||
protected | ✓ | ✓ | ✓ | |
public | ✓ | ✓ | ✓ | ✓ |
Contoh Encapsulation
• Class Mahasiswa
package latihan;
public class Mahasiswa {
private String nim;
private String nama;
private String kelas;
private int nilaiAbsen;
private int nilaiTugas;
private int nilaiUTS;
private int nilaiUAS;
public Mahasiswa(){
}
public Mahasiswa(int kondisi){
System.out.println("INPUT DATA MAHASISWA CUTI");
}
}
Karakteristik Pemrograman
Berorientasi Objek
• Inheritance (Pewarisan)
– Suatu class dapat mewariskan atribut dan method
kepada class lain (subclass) serta membentuk
class hierarchy.
– Dalam pemrograman java, penerapan inheritance
ditandai dengan keyword extends.
Contoh Inheritance (Pewarisan)
• Class SepedaGunung mewarisi class Sepeda
class Kendaraan
SepedaGunungBeraksi
+ main(String[]) : void
SepedaGunung
+ setSadel(int) : void
Sepeda
~ gir: int = 0
~ kecepatan: int = 0
~ tambahKecepatan(int) : void
~ ubahGir(int) : void
Contoh Inheritance (Pewarisan)
• Class Sepeda
public class Sepeda{
int kecepatan, gir ;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan) {
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
}
Class SepedaGunung Mewarisi Class Sepeda
Class SepedaGunung | Class SepedaGunungBeraksi |
class SepedaGunung extends Sepeda{ public void setSadel(int nilaiSadel) { System.out.println(“Tinggi Sadel:”+ nilaiSadel); } } | class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object SepedaGunung spd= new SepedaGunung(); // Memanggil method di object spd.tambahKecepatan(10); spd.ubahGir(2); spd.setSadel(20); } } |
SepedaGunung dapat mengakses method ubahGir dan
tambahKecepatan dari class Sepeda.
Karakteristik Pemrograman
Berorientasi Objek
• Polymorphism
– Suatu objek dapat memiliki berbagai bentuk.
– Implementasi konsep polymorphism:
• Overloading: Penggunaan satu nama untuk beberapa
method yang berbeda parameter.
• Overriding: Terjadi ketika deklarasi method subclass
persis sama dengan method dari superclassnya.
Contoh Polymorphism - Overloading
class Lingkaran{
void gambarLingkaran(){
}
void gambarLingkaran(int diameter){
...
}
void gambarLingkaran(int diameter, int x, int y){
...
}
void gambarLingkaran(int diameter, int x, int y, int warna, String
namaLingkaran){
...
}
}
Contoh Polymorphism - Overriding
• Class Sepeda
class Sepeda{
int kecepatan, gir ;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan) {
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
}
Class SepedaGunung Mewarisi Class Sepeda
Class SepedaGunung | Class SepedaGunungBeraksi |
class SepedaGunung extends Sepeda { void ubahGir(int pertambahanGir) { gir= 2*(gir+ pertambahanGir ); System.out.println("Gir:" + gir); } } | class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object SepedaGunung sepedaku = new sepedaGunung(); // Memanggil method di object sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); } } |
superclassnya (class Sepeda), yaitu void ubahGir(int pertambahanGir)
Software Development Life Cycle (SDLC)
Design
Implementation Analysis
Planning
Software Development Life Cycle (SDLC)
1. Planning (Perencanaan): Mengapa membuat
sistem?
Yang dilakukan pada tahap ini adalah membuat
permintaan sistem (System Request) dan analisis
kelayakan (Feasibility Analysis).
2. Analysis (Analisis): Siapa, apa, kapan, di mana
sistem akan digunakan?
Yang dilakukan pada tahap ini adalah pengumpulan
kebutuhan (Requirement Gathering) dan membuat
pemodelan proses bisnis (Business Process Modeling).
Software Development Life Cycle (SDLC)
3. Design (Desain): Bagaimana sistem akan bekerja?
Yang dilakukan pada tahap ini adalah merancang
program (Program Design), merancang antar muka
(User Interface Design), dan merancang data (Data
Design).
4. Implementation (Implementasi): Pembangunan dan
penyampaian sistem.
Yang dilakukan pada tahap ini adalam membangun,
menguji, mendokumentasikan dan memasang sistem.
Model Analisis Desain dan Diagram
Model | Diagram |
Data-oriented | Data Flow Diagram (DFD) |
Process-oriented | Flowchart |
Object-oriented (Data + process) | Unified Modeling Langauge (UML) |
UML
• UML: Unified Modeling Language
• UML adalah bahasa pemodelan visual yang
digunakan untuk menspesifikasi,
memvisualisasi, membangun, dan
mendokumentasikan artefak dari sistem
perangkat lunak.
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.
Sejarah UML
• 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
Sejarah UML
UML Tools
• Microsoft Visio
• draw.io
• Enterprise Architect
• Star UML
• Netbeans UML Plugin
• Rational Rose
• Visual Paradigm
Diagram UML
• UML versi 2.4 memiliki 14 diagram yang dibagi
ke dalam 2 grup utama:
– Structure Diagram
– Behavior Diagram
Structure Diagram
• Structure Diagram merepresentasikan data dan
hubungan statis di dalam suatu sistem informasi.
• Structure Diagram terdiri dari:
– Class Diagram
– Object Diagram
– Package Diagram
– Deployment Diagram
– Component Diagram
– Composite Structure Diagram
Structure Diagram
• Class Diagram
– Mewakili sesuatu, contoh: pegawai, gaji, dst.
– Menunjukkan relasi antar class
• Object Diagram
– Mirip dengan class diagram
– Menunjukkan relasi antar objek
• Package Diagram
– Mengelompokkan elemen-elemen UML untuk
membentuk tingkat konstruksi yang lebih tinggi
Structure Diagram
• Deployment Diagram
– Menunjukkan arsitektur fisik dan komponen
perangkat lunak dari sistem
– Contoh: simpul jaringan (network nodes)
• Component Diagram
– Relasi fisik diantara komponen perangkat lunak
– Contoh: Client/Server
• Composite Structure Diagram
– Mengilustrasikan struktur internal dari sebuah class
yang kompleks
Behavior Diagram
• Behavior Diagram mengambarkan relasi dinamis
diantara objek yang merepresentasikan bisnis sistem
informasi.
• Behavior Diagram terdiri dari:
– Activity Diagram
– Sequence Diagram
– Communication Diagram
– Interaction Diagram
– Timing Diagram
– Behavior State Machine
– Protocol State Machine
– Use Case Diagram
Behavior Diagram
• Activity Diagram
– Memodelkan proses dalam suatu sistem informasi
– Contoh: alur kerja bisnis (business workflows), logika
bisnis (business logic)
• Interaction Diagram
– Menunjukkan interaksi diantara objek
• Sequence Diagram
– Pengurutan interaksi berdasarkan waktu
• Communication Diagram
– Komunikasi antara sekumpulan objek yang
berkolaborasi dari suatu aktivitas
Behavior Diagram
• Timing Diagram
– Menunjukkan bagaimana suatu objek berubah seiring waktu
• Behavior State Machine
– Memeriksa perilaku suatu class
– Memodelkan keadaan dan transisi keadaan yang berbeda yang
dapat dialami suatu objek
• Protocol State Machine
– Mengilustrasikan ketergantungan antara berbagai antarmuka
dari suatu class
• Use Case Diagram
– Menunjukkan interaksi antara sistem dan lingkungannya
– Menangkap kebutuhan bisnis
SDLC dan Artefak
1. Planning
– System Request
– Feasibility Analysis
2. Analysis
– Use Case Diagram
– Activity Diagram
– Sequence Diagram
3. Design
– Class Diagram
– Deployment Diagram
– User Interface Design
– Data Model
4. Implementation
– Program Code
– Testing Plan
– Documentation
Proposal Sistem
Spesifikasi Sistem
Software Baru
Pertemuan 2
Use Case Diagram
Use Case
• Use case adalah sebuah teknik untuk
menangkap kebutuhan fungisonal sistem.
• Use case menggambarkan interaksi antara
pengguna dengan sistem.
• Use case menyediakan sebuah narasi
bagaimana sebuah sistem digunakan.
Use Case
• Sebuah use case menggambarkan bagaimana
pengguna berinteraksi dengan sistem untuk
melakukan beberapa aktivitas, seperti
menempatkan pesanan, membuat reservasi,
atau mencari informasi.
• Use case digunakan untuk mengidentifikasi
dan mengkomunikasikan persyaratan
(requirement) untuk sistem ke programmer
yang harus menulis sistem.
Elemen-Elemen Use Case Diagram
• Actor
– Orang atau sistem lain yang
berinteraksi dengan sistem saat ini.
– Sebuah peran, bukan pengguna
spesifik.
– Memberikan input, menerima output,
ataupun keduanya.
Elemen-Elemen Use Case Diagram
• Use Case
– Bagian utama dari fungsionalitas
sistem.
– Bisa extend (memperluas) use case
lainnya.
– Ditempatkan di dalam system
boundary (batasan sistem).
– Dilabeli dengan kata kerja – frase
kata benda.
Elemen-Elemen Use Case Diagram
• System Boundary
– Berisi nama dari sistem yang
diletakkan di dalam atau di bagian
atas boundary.
– Mewakili ruang lingkup sistem.
– Actor berada di luar ruang lingkup
sistem.
Boundary
Elemen-Elemen Use Case Diagram
• Association Relationship
– Menghubungkan actor dengan use
case.
– Menunjukkan komunikasi dua arah
(Menunjukkan komunikasi satu arah
jika menggunakan tanda panah).
– Tanda * untuk keragaman dari
asosiasi (multiplicity of the
association).
– Namun umumnya hanya
digambarkan garis saja.
Elemen-Elemen Use Case Diagram
• Include Relationship
– Memasukkan satu use case
dalam use case lainnya.
– Perilaku (behavior) yang harus
terpenuhi agar sebuat event
dapat terjadi, di mana kondisi ini
sebuah use case adalah bagian
dari use case lainnya.
– Tanda panah mengarah dari
base use case (pusat) menuju ke
use case yang di-include.
Elemen-Elemen Use Case Diagram
• Extend Relationship
– Memperluas use case untuk
memasukkan perilaku opsional.
– Tanda panah mengarah dari use
case tambahan ke base use case
(pusat)
Elemen-Elemen Use Case Diagram
• Generalization Relationship
– Mewakili use case khusus untuk use case
yang lebih umum.
– Tanda panah mengarah dari use case khusus
(specialized) ke use case yang lebih umum.
Level Use Case
• Sea-level
Biasanya mewakili interaksi diskrit antara aktor utama
dan sistem.
• Fish-level
Use case level ini ada karena di-include oleh use case
sea-level.
• Kite-level
Use case level ini menunjukkan bagaimana use case
sea-level sesuai dengan interaksi bisnis yang lebih luas.
Use case level ini biasanya use case bisnis, sedangkan
sea dan fish level adalah use case sistem.
Contoh Kasus 1
• Sistem Pendaftaran Siswa di EF (English First)
– Calon siswa melakukan pendaftaran di kantor cabang EF dengan
mengisi formulir pendaftaran. Calon siswa akan diminta untuk
membayar biaya pendaftaran Rp. 100.000.
– Setelah membayar biaya pendaftaran, Calon siswa mengikuti tes tulis
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa mengikuti tes wawancara langsung dengan native speaker
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa menerima hasil tes tulis dan tes wawancara, beserta level
pembelajaran yang sesuai. Setelah itu Calon siswa membayar biaya
kursus sesuai level.
– Petugas mengelola data pendaftaran calon siswa, mengatur jadwal tes
tulis dan wawancara, mengelola pembayaran biaya pendaftaran dan
kursus.
Use Case Diagram Contoh Kasus 1
Contoh Kasus 2
• Sebuah toko buku ingin membuat sebuah web agar
mendukung penjualannya secara online. Pembeli bisa
membeli buku dengan mendaftar menjadi anggota
terlebih dahulu. Anggota bisa membeli buku lebih dari
satu dalam setiap transaksi. Buku akan dikirimkan
setelah anggota membayar via trasnsfer bank dan
melakukan konfirmasi pembayaran secara online.
• Admin web bisa mengelola data buku, mengelola
transaksi penjualan buku, dan melihat laporan
penjualan.
• Aktor yang terlibat dalam sistem penjualan buku online
ini adalah Anggota dan Admin.
Contoh Kasus 2
• Functional Requirement
– Anggota
• Anggota bisa membeli buku
• Anggota bisa melihat sejarah transaksi
• Anggota bisa melakukan konfirmasi pembayaran
• Anggota bisa mengatur alamat pengiriman
• Anggota bisa melakukan deposit dan refund
• Anggota bisa melihat informasi akun
• Anggota bisa mengubah sandi
• Anggota bisa membuat review produk
• Anggota bisa membatalkan transaksi
• Anggota bisa mengatur pengingat ketersediaan buku
Contoh Kasus 2
• Functional Requirement
– Admin
• Admin bisa mengelola transaksi penjualan
• Admin bisa mengelola data buku
• Admin bisa melihat laporan penjualan
Contoh Kasus 2
Contoh Kasus 2
Use Case Sea-Level
Use Case Fish-Level
Use Case Fish-Level
Contoh Generalization
Umum Umum
Khusus
Khusus
Membuat Skenario Use Case
• Tiap use case dibuatkan skenario atau deskripsinya. Berikut
adalah contoh skenario use case mengatur alamat
pengiriman.
Membuat Skenario Use Case
Skenario Use Case
Skenario Use Case
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah use case sea-level dan fish-level dari
tampilan web berrybenka.com.
• Buatlah skenario dari salah satu use case yang
ada.
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Use Case Diagram
Use Case
• Use case adalah sebuah teknik untuk
menangkap kebutuhan fungisonal sistem.
• Use case menggambarkan interaksi antara
pengguna dengan sistem.
• Use case menyediakan sebuah narasi
bagaimana sebuah sistem digunakan.
Use Case
• Sebuah use case menggambarkan bagaimana
pengguna berinteraksi dengan sistem untuk
melakukan beberapa aktivitas, seperti
menempatkan pesanan, membuat reservasi,
atau mencari informasi.
• Use case digunakan untuk mengidentifikasi
dan mengkomunikasikan persyaratan
(requirement) untuk sistem ke programmer
yang harus menulis sistem.
Elemen-Elemen Use Case Diagram
• Actor
– Orang atau sistem lain yang
berinteraksi dengan sistem saat ini.
– Sebuah peran, bukan pengguna
spesifik.
– Memberikan input, menerima output,
ataupun keduanya.
Elemen-Elemen Use Case Diagram
• Use Case
– Bagian utama dari fungsionalitas
sistem.
– Bisa extend (memperluas) use case
lainnya.
– Ditempatkan di dalam system
boundary (batasan sistem).
– Dilabeli dengan kata kerja – frase
kata benda.
Elemen-Elemen Use Case Diagram
• System Boundary
– Berisi nama dari sistem yang
diletakkan di dalam atau di bagian
atas boundary.
– Mewakili ruang lingkup sistem.
– Actor berada di luar ruang lingkup
sistem.
Boundary
Elemen-Elemen Use Case Diagram
• Association Relationship
– Menghubungkan actor dengan use
case.
– Menunjukkan komunikasi dua arah
(Menunjukkan komunikasi satu arah
jika menggunakan tanda panah).
– Tanda * untuk keragaman dari
asosiasi (multiplicity of the
association).
– Namun umumnya hanya
digambarkan garis saja.
Elemen-Elemen Use Case Diagram
• Include Relationship
– Memasukkan satu use case
dalam use case lainnya.
– Perilaku (behavior) yang harus
terpenuhi agar sebuat event
dapat terjadi, di mana kondisi ini
sebuah use case adalah bagian
dari use case lainnya.
– Tanda panah mengarah dari
base use case (pusat) menuju ke
use case yang di-include.
Elemen-Elemen Use Case Diagram
• Extend Relationship
– Memperluas use case untuk
memasukkan perilaku opsional.
– Tanda panah mengarah dari use
case tambahan ke base use case
(pusat)
Elemen-Elemen Use Case Diagram
• Generalization Relationship
– Mewakili use case khusus untuk use case
yang lebih umum.
– Tanda panah mengarah dari use case khusus
(specialized) ke use case yang lebih umum.
Level Use Case
• Sea-level
Biasanya mewakili interaksi diskrit antara aktor utama
dan sistem.
• Fish-level
Use case level ini ada karena di-include oleh use case
sea-level.
• Kite-level
Use case level ini menunjukkan bagaimana use case
sea-level sesuai dengan interaksi bisnis yang lebih luas.
Use case level ini biasanya use case bisnis, sedangkan
sea dan fish level adalah use case sistem.
Contoh Kasus 1
• Sistem Pendaftaran Siswa di EF (English First)
– Calon siswa melakukan pendaftaran di kantor cabang EF dengan
mengisi formulir pendaftaran. Calon siswa akan diminta untuk
membayar biaya pendaftaran Rp. 100.000.
– Setelah membayar biaya pendaftaran, Calon siswa mengikuti tes tulis
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa mengikuti tes wawancara langsung dengan native speaker
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa menerima hasil tes tulis dan tes wawancara, beserta level
pembelajaran yang sesuai. Setelah itu Calon siswa membayar biaya
kursus sesuai level.
– Petugas mengelola data pendaftaran calon siswa, mengatur jadwal tes
tulis dan wawancara, mengelola pembayaran biaya pendaftaran dan
kursus.
Use Case Diagram Contoh Kasus 1
Contoh Kasus 2
• Sebuah toko buku ingin membuat sebuah web agar
mendukung penjualannya secara online. Pembeli bisa
membeli buku dengan mendaftar menjadi anggota
terlebih dahulu. Anggota bisa membeli buku lebih dari
satu dalam setiap transaksi. Buku akan dikirimkan
setelah anggota membayar via trasnsfer bank dan
melakukan konfirmasi pembayaran secara online.
• Admin web bisa mengelola data buku, mengelola
transaksi penjualan buku, dan melihat laporan
penjualan.
• Aktor yang terlibat dalam sistem penjualan buku online
ini adalah Anggota dan Admin.
Contoh Kasus 2
• Functional Requirement
– Anggota
• Anggota bisa membeli buku
• Anggota bisa melihat sejarah transaksi
• Anggota bisa melakukan konfirmasi pembayaran
• Anggota bisa mengatur alamat pengiriman
• Anggota bisa melakukan deposit dan refund
• Anggota bisa melihat informasi akun
• Anggota bisa mengubah sandi
• Anggota bisa membuat review produk
• Anggota bisa membatalkan transaksi
• Anggota bisa mengatur pengingat ketersediaan buku
Contoh Kasus 2
• Functional Requirement
– Admin
• Admin bisa mengelola transaksi penjualan
• Admin bisa mengelola data buku
• Admin bisa melihat laporan penjualan
Contoh Kasus 2
Contoh Kasus 2
Use Case Sea-Level
Use Case Fish-Level
Use Case Fish-Level
Contoh Generalization
Umum Umum
Khusus
Khusus
Membuat Skenario Use Case
• Tiap use case dibuatkan skenario atau deskripsinya. Berikut
adalah contoh skenario use case mengatur alamat
pengiriman.
Membuat Skenario Use Case
Skenario Use Case
Use Case Name | Mengatur Alamat Pengiriman |
Requirements | Anggota dapat mengatur alamat pengiriman |
Goal | Anggota dapat menambah, mengubah dan menghapus alamat pengiriman |
Pre-conditions | Anggota telah sign in |
Post-conditions | Data alamat pengiriman tersimpan, terupdate, atau terhapus |
Failed end condition | Gagal menyimpan, mengupdate atau menghapus |
Primary Actors | Anggota |
Main Flow / Basic Path | 1. Anggota memilih Tambah Alamat Baru 2. Sistem menampilkan form entry alamat 3. Sistem membuat nomor otomatis. 4. Anggota menginput nama alamat 5. Anggota memilih negara 6. Sistem menampilkan pilihan propinsi yang sesuai dengan negara 7. Anggota memilih propinsi 8. Sistem menampilkan pilihan kota yang sesuai dengan propinsi 9. Anggota memilih kota 10. Sistem menampilkan pilihan kecamatan yang sesuai 11. Anggota menginput kode pos, alamat, catatan pengiriman, telepon selular, telepon rumah, telepon kantor dan email. 12. Anggota menyimpan data alamat pengiriman 13. Sistem menampilkan alamat pengiriman |
Skenario Use Case
Alternate Flow / Invariant A | A1. Anggota mengubah alamat pengiriman A2. Sistem menampilkan alamat pengiriman yang akan diubah A3. Anggota menginput data perubahan alamat pengiriman A4. Anggota menyimpan alamat pengiriman A5. Sistem menampilkan alamat pengiriman yang sudah diubah. |
Invariant B | B1. Anggota menghapus alamat pengiriman B2. Sistem menampilkan konfirmasi B3. Anggota menghapus alamat |
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah use case sea-level dan fish-level dari
tampilan web berrybenka.com.
• Buatlah skenario dari salah satu use case yang
ada.
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Tugas
Pertemuan 3
Activity Diagram
Activity Diagram
• Activity diagram digunakan untuk
memodelkan proses dalam suatu sistem
informasi.
• Activity diagram menggambarkan kegiatan
utama dan hubungan di antara kegiatan dalam
suatu proses.
• Setiap use case dapat membuat satu diagram
aktivitas.
Elemen-Elemen Activity Diagram
• Action
– Perilaku yang sederhana dan
tidak dapat diuraikan.
– Dilabeli dengan namanya.
Elemen-Elemen Activity Diagram
• Activity
– Digunakan untuk mewakili
sekumpulan tindakan (action).
– Dilabeli dengan namanya.
Elemen-Elemen Activity Diagram
• Object Node
– Digunakan untuk mewakili
sebuah objek yang terhubung ke
sekumpulan arus objek.
– Dilabeli dengan nama classnya.
Elemen-Elemen Activity Diagram
• Control Flow
– Menunjukkan urutan eksekusi
Elemen-Elemen Activity Diagram
• Object Flow
– Menunjukkan aliran suatu objek
dari satu aktivitas (atau
tindakan) ke aktivitas (atau
tindakan) lain.
Elemen-Elemen Activity Diagram
• Initial Node
– Menggambarkan awal dari
serangkaian tindakan atau
kegiatan.
Elemen-Elemen Activity Diagram
• Final-Activity Node
– Digunakan untuk menghentikan
semua arus kontrol dan arus
objek dalam suatu aktivitas
(atau tindakan).
Elemen-Elemen Activity Diagram
• Final-Flow Node
– Digunakan untuk menghentikan
aliran kontrol atau aliran objek
tertentu.
Elemen-Elemen Activity Diagram
• Decision Node
– Digunakan untuk mewakili
kondisi pengujian untuk
memastikan bahwa aliran
kontrol atau aliran objek
hanya turun satu jalur.
– Dilabeli dengan kriteria
keputusan untuk melanjutkan
ke jalur tertentu.
Elemen-Elemen Activity Diagram
• Merge Node
– Digunakan untuk menyatukan
kembali berbagai jalur
keputusan yang dibuat
menggunakan simpul
keputusan.
Elemen-Elemen Activity Diagram
• Fork Node
– Digunakan untuk membagi
perilaku menjadi seperangkat
aktivitas yang paralel atau
bersamaan dari aktivitas (atau
tindakan).
Elemen-Elemen Activity Diagram
• Join Node
– Digunakan untuk menyatukan
kembali serangkaian arus
aktivitas (atau tindakan) yang
paralel atau bersamaan.
Elemen-Elemen Activity Diagram
• Swimlane
– Digunakan untuk memecah
diagram aktivitas menjadi baris
dan kolom untuk menetapkan
kegiatan individu (atau tindakan)
kepada individu atau objek yang
bertanggung jawab untuk
melaksanakan aktivitas (atau
tindakan).
– Dilabeli dengan nama individu atau
objek yang bertanggung jawab.
Contoh Kasus 1
• Sistem Pendaftaran Siswa di EF (English First)
– Calon siswa melakukan pendaftaran di kantor cabang EF dengan
mengisi formulir pendaftaran. Calon siswa akan diminta untuk
membayar biaya pendaftaran Rp. 100.000.
– Setelah membayar biaya pendaftaran, Calon siswa mengikuti tes tulis
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa mengikuti tes wawancara langsung dengan native speaker
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa menerima hasil tes tulis dan tes wawancara, beserta level
pembelajaran yang sesuai. Setelah itu Calon siswa membayar biaya
kursus sesuai level.
– Petugas mengelola data pendaftaran calon siswa, mengatur jadwal tes
tulis dan wawancara, mengelola pembayaran biaya pendaftaran dan
kursus.
– Native speaker menilai tes tulis dan wawancara.
Use Case Diagram Contoh Kasus 1
Activity Diagram Contoh Kasus 1
Contoh Kasus 2
• Berdasarkan use case diagram di bawah ini, akan
dibuat satu activity diagram.
Contoh Kasus 2
• Tampilan web bukabuku.com untuk anggota
saat diklik menu Atur Alamat Pengiriman.
Contoh Kasus 2
• Tampilan web saat diklik tombol Tambah Alamat Baru.
Contoh Kasus 2
• Tampilan web saat diklik tombol Ubah.
Contoh Kasus 2
• Tampilan web saat diklik tombol Hapus.
• Ketika diklik OK, maka web akan menampilkan
alamat pengiriman yang ada.
Activity Diagram: Mengatur Alamat Pengiriman
Activity Diagram: Mengatur Alamat Pengiriman
Tugas Kelompok
• Tugas dikerjakan
di kelas.
• Waktu 1 jam.
• Buatlah activity
diagram dari use
case Melihat
Informasi Akun.
Tampilan Menu Informasi Akun
Tampilan Menu Informasi Akun
• Tampilan saat tombol Ganti diklik
Activity Diagram
Activity Diagram
• Activity diagram digunakan untuk
memodelkan proses dalam suatu sistem
informasi.
• Activity diagram menggambarkan kegiatan
utama dan hubungan di antara kegiatan dalam
suatu proses.
• Setiap use case dapat membuat satu diagram
aktivitas.
Elemen-Elemen Activity Diagram
• Action
– Perilaku yang sederhana dan
tidak dapat diuraikan.
– Dilabeli dengan namanya.
Elemen-Elemen Activity Diagram
• Activity
– Digunakan untuk mewakili
sekumpulan tindakan (action).
– Dilabeli dengan namanya.
Elemen-Elemen Activity Diagram
• Object Node
– Digunakan untuk mewakili
sebuah objek yang terhubung ke
sekumpulan arus objek.
– Dilabeli dengan nama classnya.
Elemen-Elemen Activity Diagram
• Control Flow
– Menunjukkan urutan eksekusi
Elemen-Elemen Activity Diagram
• Object Flow
– Menunjukkan aliran suatu objek
dari satu aktivitas (atau
tindakan) ke aktivitas (atau
tindakan) lain.
Elemen-Elemen Activity Diagram
• Initial Node
– Menggambarkan awal dari
serangkaian tindakan atau
kegiatan.
Elemen-Elemen Activity Diagram
• Final-Activity Node
– Digunakan untuk menghentikan
semua arus kontrol dan arus
objek dalam suatu aktivitas
(atau tindakan).
Elemen-Elemen Activity Diagram
• Final-Flow Node
– Digunakan untuk menghentikan
aliran kontrol atau aliran objek
tertentu.
Elemen-Elemen Activity Diagram
• Decision Node
– Digunakan untuk mewakili
kondisi pengujian untuk
memastikan bahwa aliran
kontrol atau aliran objek
hanya turun satu jalur.
– Dilabeli dengan kriteria
keputusan untuk melanjutkan
ke jalur tertentu.
Elemen-Elemen Activity Diagram
• Merge Node
– Digunakan untuk menyatukan
kembali berbagai jalur
keputusan yang dibuat
menggunakan simpul
keputusan.
Elemen-Elemen Activity Diagram
• Fork Node
– Digunakan untuk membagi
perilaku menjadi seperangkat
aktivitas yang paralel atau
bersamaan dari aktivitas (atau
tindakan).
Elemen-Elemen Activity Diagram
• Join Node
– Digunakan untuk menyatukan
kembali serangkaian arus
aktivitas (atau tindakan) yang
paralel atau bersamaan.
Elemen-Elemen Activity Diagram
• Swimlane
– Digunakan untuk memecah
diagram aktivitas menjadi baris
dan kolom untuk menetapkan
kegiatan individu (atau tindakan)
kepada individu atau objek yang
bertanggung jawab untuk
melaksanakan aktivitas (atau
tindakan).
– Dilabeli dengan nama individu atau
objek yang bertanggung jawab.
Contoh Kasus 1
• Sistem Pendaftaran Siswa di EF (English First)
– Calon siswa melakukan pendaftaran di kantor cabang EF dengan
mengisi formulir pendaftaran. Calon siswa akan diminta untuk
membayar biaya pendaftaran Rp. 100.000.
– Setelah membayar biaya pendaftaran, Calon siswa mengikuti tes tulis
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa mengikuti tes wawancara langsung dengan native speaker
untuk menentukan level pembelajaran yang sesuai.
– Calon siswa menerima hasil tes tulis dan tes wawancara, beserta level
pembelajaran yang sesuai. Setelah itu Calon siswa membayar biaya
kursus sesuai level.
– Petugas mengelola data pendaftaran calon siswa, mengatur jadwal tes
tulis dan wawancara, mengelola pembayaran biaya pendaftaran dan
kursus.
– Native speaker menilai tes tulis dan wawancara.
Use Case Diagram Contoh Kasus 1
Activity Diagram Contoh Kasus 1
Contoh Kasus 2
• Berdasarkan use case diagram di bawah ini, akan
dibuat satu activity diagram.
Contoh Kasus 2
• Tampilan web bukabuku.com untuk anggota
saat diklik menu Atur Alamat Pengiriman.
Contoh Kasus 2
• Tampilan web saat diklik tombol Tambah Alamat Baru.
Contoh Kasus 2
• Tampilan web saat diklik tombol Ubah.
Contoh Kasus 2
• Tampilan web saat diklik tombol Hapus.
• Ketika diklik OK, maka web akan menampilkan
alamat pengiriman yang ada.
Activity Diagram: Mengatur Alamat Pengiriman
Activity Diagram: Mengatur Alamat Pengiriman
Tugas Kelompok
• Tugas dikerjakan
di kelas.
• Waktu 1 jam.
• Buatlah activity
diagram dari use
case Melihat
Informasi Akun.
Tampilan Menu Informasi Akun
Tampilan Menu Informasi Akun
• Tampilan saat tombol Ganti diklik
Pertemuan 4
Class Diagram
Class Diagram
• Diagram kelas adalah model statis yang
menunjukkan kelas dan hubungan di antara
kelas yang tetap konstan dalam sistem dari
waktu ke waktu.
• Diagram kelas menggambarkan kelas, yang
meliputi perilaku dan keadaan, dengan
hubungan antar kelas.
Elemen-Elemen Class Diagram
• Class
– Mewakili orang, tempat, atau hal-hal yang
dibutuhkan sistem untuk menangkap dan
menyimpan informasi.
– Memiliki nama yang diketik dengan huruf
tebal dan berpusat di bagian atas kotak.
– Memiliki daftar atribut di kotak
tengahnya.
– Memiliki daftar operasi di kotak
bawahnya.
– Tidak secara eksplisit menunjukkan
operasi yang tersedia untuk semua kelas.
Elemen-Elemen Class Diagram
• Attribute
– Merupakan properti yang
menggambarkan keadaan
suatu objek.
– Dapat diturunkan dari atribut
lain, ditampilkan dengan
menempatkan garis miring
sebelum nama atribut.
Elemen-Elemen Class Diagram
• Operation
– Mewakili tindakan atau fungsi
yang dapat dilakukan oleh kelas.
– Dapat diklasifikasikan sebagai
konstruktor, permintaan, atau
operasi pembaruan.
– Termasuk tanda kurung yang
mungkin berisi parameter atau
informasi yang diperlukan untuk
melakukan operasi.
Elemen-Elemen Class Diagram
• Generalization
– Mewakili hubungan sejenis di
antara beberapa kelas
Elemen-Elemen Class Diagram
• Association
– Mewakili hubungan antara
beberapa kelas atau kelas dan
dirinya sendiri.
– Dilabeli menggunakan frasa kata
kerja atau nama peran, yang
lebih baik mewakili hubungan.
– Dapat ada di antara satu atau
beberapa kelas.
– Berisi simbol multiplisitas, yang
mewakili waktu minimum dan
maksimum instance kelas dapat
dikaitkan dengan instance kelas
terkait.
Multiplicity
• Tujuan utama dari class diagram adalah untuk
menunjukkan relasi, atau asosiasi, yang class
miliki dengan class lainnya.
• Relasi juga memliki multiplicity, yang
mendokumentasikan bagaimana class bisa
diasosiasikan dengan class lainnya.
• Format multiplicity: angka minimal..angka
maksimal.
Multiplicity
Multiplicity
Multiplicity
• Untuk menentukan kadinalitas (derajat relasi) antar dua entitas/class,
cukup ambil angka maksimal dari tiap multiplicity.
• Kardinalitas dari gambar di atas adalah 1..M
• Membaca dari kiri ke kanan: menunjukkan 1 user menginput minimal 1,
maksimal banyak transaksi.
• Membaca dari kanan ke kiri: 1 Transaksi hanya bisa diinput oleh 1 orang.
• Jika ada relasi 1..M (di sebelah kiri) dan 1..M (di sebelah kanan), maka
kardinalitasnya M..N (many to many).
Elemen-Elemen Class Diagram
• Aggregation
– Merupakan hubungan sebagian
(a part of) yang logis diantara
beberapa kelas atau suatu kelas
dengan kelas itu sendiri.
– Aggregation terbuat dari objekobjek yang bisa dibagi atau
ditukar.
– Angka di sebelah kanan boleh 1,
boleh juga banyak (*).
Elemen-Elemen Class Diagram
• Contoh dari Aggregation
Elemen-Elemen Class Diagram
• Composition
– Mewakili hubungan fisik antara
beberapa kelas atau kelas dan
kelas itu sendiri.
– Composition terdiri dari objekobjek yang tidak bisa dibagi
atau ditukar dan hidup selama
composite objek hidup.
– Angka di sebelah kanan hanya
boleh 1.
Elemen-Elemen Class Diagram
• Contoh dari Composition
Contoh Class Diagram
+save()
+update()
+delete()
+findBarang()
+nomorOtomatis()
+cetak()
-KodeBarang
-NamaBarang
-Harga
-Stok
Barang
+save()
+update()
+delete()
+findUser()
+cetak()
-KodeUser
-NamaUser
-Password
-HakAkses
User
+save()
+findTransaksi()
+nomor()
+cetak()
-NoTrans
-Tanggal
-Total
Transaksi
+saveDetail()
-Id
-NoTrans
-KodeBarang
-Harga
-Qty
-Subtotal
DetailTransaksi
1 1..*
1
1..*
1 1..*
1..*
1
Menginput
dari
Penjelasan Class Diagram
• User boleh menginput satu atau banyak data barang.
Sedangkan satu data barang diinput oleh satu orang
user saja.
• User boleh menginput satu kali atau sebanyak mungkin
transaksi penjualan. Sedangkan dalam satu transaksi
boleh diinput oleh satu orang user saja.
• Detail transaksi merupakan Agregasi Komposit, dalam
artian Transaksi memiliki Detail transaksi atau Detail
transaksi tidak akan ada kalau kelas Transaksi tidak ada.
• Dalam satu detail transaksi harus tercatat kode barang
minimal satu atau banyak.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah class diagram sesuai dengan petunjuk
di slide berikut ini.
Tugas
• Class yang dibuat terdiri dari:
– Mahasiswa
• Atribut: nim, nama, alamat, noTelepon, jurusan, semester
• Method: tambah dan cetak
– Jurusan
• Atribut: kodeJurusan, namaJurusan
• Method: tambah dan cetak
– Dosen
• Atribut: kodeDosen, namaDosen, pendTerakhir, alamat, noTelepon
• Method: tambah dan cetak
• Subclass: StaffAkademik dan DosenLuarBiasa
– Matakuliah
• Atribut: kodeMatkul, namaMatkul, sks
• Method: tambah dan cetak
Tugas
• Association:
– 1 Dosen mengampu minimal 0, maksimal banyak
matakuliah. 1 matakuliah diampu oleh minimal 1,
maksimal banyak dosen.
– 1 Mahasiswa mempelajari minimal 1, maksimal
banyak matakuliah. Matakuliah dipelajari oleh
minimal 1, maksimal banyak mahasiswa.
– 1 Mahasiswa hanya bisa mengambil 1 jurusan.
• Generalization:
– Class Dosen memiliki subclass StaffAkademik dan
DosenLuarBiasa
Class Diagram
Class Diagram
• Diagram kelas adalah model statis yang
menunjukkan kelas dan hubungan di antara
kelas yang tetap konstan dalam sistem dari
waktu ke waktu.
• Diagram kelas menggambarkan kelas, yang
meliputi perilaku dan keadaan, dengan
hubungan antar kelas.
Elemen-Elemen Class Diagram
• Class
– Mewakili orang, tempat, atau hal-hal yang
dibutuhkan sistem untuk menangkap dan
menyimpan informasi.
– Memiliki nama yang diketik dengan huruf
tebal dan berpusat di bagian atas kotak.
– Memiliki daftar atribut di kotak
tengahnya.
– Memiliki daftar operasi di kotak
bawahnya.
– Tidak secara eksplisit menunjukkan
operasi yang tersedia untuk semua kelas.
Elemen-Elemen Class Diagram
• Attribute
– Merupakan properti yang
menggambarkan keadaan
suatu objek.
– Dapat diturunkan dari atribut
lain, ditampilkan dengan
menempatkan garis miring
sebelum nama atribut.
Elemen-Elemen Class Diagram
• Operation
– Mewakili tindakan atau fungsi
yang dapat dilakukan oleh kelas.
– Dapat diklasifikasikan sebagai
konstruktor, permintaan, atau
operasi pembaruan.
– Termasuk tanda kurung yang
mungkin berisi parameter atau
informasi yang diperlukan untuk
melakukan operasi.
Elemen-Elemen Class Diagram
• Generalization
– Mewakili hubungan sejenis di
antara beberapa kelas
Elemen-Elemen Class Diagram
• Association
– Mewakili hubungan antara
beberapa kelas atau kelas dan
dirinya sendiri.
– Dilabeli menggunakan frasa kata
kerja atau nama peran, yang
lebih baik mewakili hubungan.
– Dapat ada di antara satu atau
beberapa kelas.
– Berisi simbol multiplisitas, yang
mewakili waktu minimum dan
maksimum instance kelas dapat
dikaitkan dengan instance kelas
terkait.
Multiplicity
• Tujuan utama dari class diagram adalah untuk
menunjukkan relasi, atau asosiasi, yang class
miliki dengan class lainnya.
• Relasi juga memliki multiplicity, yang
mendokumentasikan bagaimana class bisa
diasosiasikan dengan class lainnya.
• Format multiplicity: angka minimal..angka
maksimal.
Multiplicity
Hanya satu | 1 | Dalam satu departemen hanya memiliki satu bos |
Nol atau lebih | 0..* | Seorang karyawan bisa saja tidak memiliki anak (0) atau memiliki banyak anak (*) |
Satu atau lebih | 1..* | Satu bos bertanggungjawab untuk satu atau lebih karyawan |
Multiplicity
Nol atau satu | 0..1 | Seorang karyawan bisa saja belum/tidak menikah (memiliki 0 pasangan) atau menikah (memiliki satu pasangan) |
Range yang spesifik | 2..4 | Seorang karyawan bisa mengambil libur (cuti) mulai dari 2 sampai 4 hari setiap tahunnya |
Multiple | 1..3,5 | Seorang karyawan adalah anggota dari satu sampai 3 atau 5 komite |
Multiplicity
• Untuk menentukan kadinalitas (derajat relasi) antar dua entitas/class,
cukup ambil angka maksimal dari tiap multiplicity.
• Kardinalitas dari gambar di atas adalah 1..M
• Membaca dari kiri ke kanan: menunjukkan 1 user menginput minimal 1,
maksimal banyak transaksi.
• Membaca dari kanan ke kiri: 1 Transaksi hanya bisa diinput oleh 1 orang.
• Jika ada relasi 1..M (di sebelah kiri) dan 1..M (di sebelah kanan), maka
kardinalitasnya M..N (many to many).
Elemen-Elemen Class Diagram
• Aggregation
– Merupakan hubungan sebagian
(a part of) yang logis diantara
beberapa kelas atau suatu kelas
dengan kelas itu sendiri.
– Aggregation terbuat dari objekobjek yang bisa dibagi atau
ditukar.
– Angka di sebelah kanan boleh 1,
boleh juga banyak (*).
Elemen-Elemen Class Diagram
• Contoh dari Aggregation
Elemen-Elemen Class Diagram
• Composition
– Mewakili hubungan fisik antara
beberapa kelas atau kelas dan
kelas itu sendiri.
– Composition terdiri dari objekobjek yang tidak bisa dibagi
atau ditukar dan hidup selama
composite objek hidup.
– Angka di sebelah kanan hanya
boleh 1.
Elemen-Elemen Class Diagram
• Contoh dari Composition
Contoh Class Diagram
+save()
+update()
+delete()
+findBarang()
+nomorOtomatis()
+cetak()
-KodeBarang
-NamaBarang
-Harga
-Stok
Barang
+save()
+update()
+delete()
+findUser()
+cetak()
-KodeUser
-NamaUser
-Password
-HakAkses
User
+save()
+findTransaksi()
+nomor()
+cetak()
-NoTrans
-Tanggal
-Total
Transaksi
+saveDetail()
-Id
-NoTrans
-KodeBarang
-Harga
-Qty
-Subtotal
DetailTransaksi
1 1..*
1
1..*
1 1..*
1..*
1
Menginput
Menginput |
Bagian |
Bagian dari |
Penjelasan Class Diagram
• User boleh menginput satu atau banyak data barang.
Sedangkan satu data barang diinput oleh satu orang
user saja.
• User boleh menginput satu kali atau sebanyak mungkin
transaksi penjualan. Sedangkan dalam satu transaksi
boleh diinput oleh satu orang user saja.
• Detail transaksi merupakan Agregasi Komposit, dalam
artian Transaksi memiliki Detail transaksi atau Detail
transaksi tidak akan ada kalau kelas Transaksi tidak ada.
• Dalam satu detail transaksi harus tercatat kode barang
minimal satu atau banyak.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah class diagram sesuai dengan petunjuk
di slide berikut ini.
Tugas
• Class yang dibuat terdiri dari:
– Mahasiswa
• Atribut: nim, nama, alamat, noTelepon, jurusan, semester
• Method: tambah dan cetak
– Jurusan
• Atribut: kodeJurusan, namaJurusan
• Method: tambah dan cetak
– Dosen
• Atribut: kodeDosen, namaDosen, pendTerakhir, alamat, noTelepon
• Method: tambah dan cetak
• Subclass: StaffAkademik dan DosenLuarBiasa
– Matakuliah
• Atribut: kodeMatkul, namaMatkul, sks
• Method: tambah dan cetak
Tugas
• Association:
– 1 Dosen mengampu minimal 0, maksimal banyak
matakuliah. 1 matakuliah diampu oleh minimal 1,
maksimal banyak dosen.
– 1 Mahasiswa mempelajari minimal 1, maksimal
banyak matakuliah. Matakuliah dipelajari oleh
minimal 1, maksimal banyak mahasiswa.
– 1 Mahasiswa hanya bisa mengambil 1 jurusan.
• Generalization:
– Class Dosen memiliki subclass StaffAkademik dan
DosenLuarBiasa
Pertemuan 5
Sequence Diagram
Sequence Diagram
• Sequence diagram mengilustrasikan objekobjek yang berpartisipasi di dalam suatu use
case.
• Sequence diagram menunjukkan pesan yang
lewat di antara objek untuk use case tertentu
dari waktu ke waktu.
Elemen-Elemen Sequence Diagram
• Actor
– Adalah orang atau sistem yang
memperoleh manfaat dari dan
berada di luar sistem.
– Berpartisipasi dalam suatu urutan
dengan mengirim dan / atau
menerima pesan.
– Ditempatkan di bagian atas diagram.
Elemen-Elemen Sequence Diagram
• Object
– Berpartisipasi dalam suatu urutan dengan
mengirim dan / atau menerima pesan.
– Ditempatkan di bagian atas diagram.
Penggambaran lain dari object
Boundary Class: Menggambarkan tampilan program
Control Class: Menggambarkan controller
Entity Class: Menggambarkan class
Elemen-Elemen Sequence Diagram
• Lifeline
– Menunjukkan kehidupan suatu objek
selama suatu urutan.
– Berisi X pada titik di mana kelas tidak lagi
berinteraksi.
Elemen-Elemen Sequence Diagram
• Execution Occurrence (Kejadian eksekusi)
– Merupakan persegi panjang sempit panjang yang
ditempatkan di atas lifeline.
– Menunjukkan kapan suatu objek mengirim atau
menerima pesan.
Elemen-Elemen Sequence Diagram
• Message
– Menyampaikan informasi dari
satu objek ke objek lainnya.
– Pemanggilan operasi diberi label
dengan pesan yang dikirim dan
panah padat, sedangkan
pengembalian diberi label
dengan nilai yang dikembalikan
dan ditampilkan sebagai tanda
panah putus-putus.
Elemen-Elemen Sequence Diagram
• Guard Condition
– Merupakan tes yang harus
dipenuhi untuk pesan
yang akan dikirim.
Elemen-Elemen Sequence Diagram
• Object Destruction
– X ditempatkan di ujung lifeline
objek untuk menunjukkan
bahwa objek tersebut akan
keluar dari eksistensi.
Elemen-Elemen Sequence Diagram
• Frame
– Menunjukkan konteks sequence
diagram
Metode MVC
• Model-View-Controller (MVC) adalah sebuah
metode untuk membuat sebuah aplikasi
dengan memisahkan data (Model) dari
tampilan (View) dan cara bagaimana
memprosesnya (Controller).
Metode MVC
• Model mewakili struktur data.
• View adalah bagian yang mengatur tampilan
ke pengguna.
• Controller merupakan bagian yang
menjembatani model dan view. Controller
berisi perintah-perintah yang berfungsi untuk
memproses suatu data dan mengirimkannya
ke tampilan program.
Contoh Penerapan MVC
• Sebuah database penjualan memiliki 4 tabel:
– Barang
– User
– Transaksi
– Detail transaksi
• Masing-masing tabel dibuatkan MVC-nya:
– Model berisi variabel sesuai nama field dari tabel beserta fungsi.
– View berupa tampilan form program (kecuali detail transaksi).
– Controller berisi coding yang berhubungan dengan database.
Contoh Penerapan MVC
Controller
Model
View
Contoh Penerapan MVC
• Contoh Model dari tabel Transaksi
Contoh Penerapan MVC
• View dari tabel Transaksi
Contoh Penerapan MVC
• Controller dari tabel Transaksi
Contoh Sequence Diagram
sd Form Transaksi
User
FormTransaksi BarangController Barang DetailController DetailTransaksi TransaksiController Transaksi
Buka_Form() ShowForm(Object obj)
Input_Kode_Barang() findBarang(String kode) findBarang(String kode)
Input_Qty() Hitung_Subtotal_dan_Total()
simpanDetail()
saveDetail(Detailtransaksi
detail)
Simpan_Transaksi() simpan() save(Transaksi trans)
Penjelasan Diagram
• User berinteraksi langsung dengan tampilan layar, pada
contoh di atas, User berinteraksi dengan form transaksi. Hal
yang pertama dilakukan adalah membuka form transaksi,
lalu input kode barang, proses pencarian kode barang
melalui controller barang menuju ke entitas Barang,
kemudian nama dan harga barang ditampilkan pada form.
• Selanjutnya User menginput jumlah beli (qty) dan dilakukan
perhitungan subtotal dan total. Setelah itu data tersebut
masuk disimpan dalam entitas DetailTransaksi melalui
controller detail.
• Setelah semua data diinput, maka semua data transaksi
disimpan dalam entitas Transaksi melalui controller
transaksi.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah sequence diagram sesuai dengan
petunjuk di slide berikut ini.
Tugas
Tugas
• User membuka form barang, klik tombol New,
lalu muncul kode barang otomatis melalui
BarangController.
• User menginput nama barang, harga, dan
stok, lalu klik tombol Save untuk menyimpan
data ke dalam entitas/class Barang melalui
BarangController.
Sequence Diagram
Sequence Diagram
• Sequence diagram mengilustrasikan objekobjek yang berpartisipasi di dalam suatu use
case.
• Sequence diagram menunjukkan pesan yang
lewat di antara objek untuk use case tertentu
dari waktu ke waktu.
Elemen-Elemen Sequence Diagram
• Actor
– Adalah orang atau sistem yang
memperoleh manfaat dari dan
berada di luar sistem.
– Berpartisipasi dalam suatu urutan
dengan mengirim dan / atau
menerima pesan.
– Ditempatkan di bagian atas diagram.
Elemen-Elemen Sequence Diagram
• Object
– Berpartisipasi dalam suatu urutan dengan
mengirim dan / atau menerima pesan.
– Ditempatkan di bagian atas diagram.
Penggambaran lain dari object
Boundary Class: Menggambarkan tampilan program
Control Class: Menggambarkan controller
Entity Class: Menggambarkan class
Elemen-Elemen Sequence Diagram
• Lifeline
– Menunjukkan kehidupan suatu objek
selama suatu urutan.
– Berisi X pada titik di mana kelas tidak lagi
berinteraksi.
Elemen-Elemen Sequence Diagram
• Execution Occurrence (Kejadian eksekusi)
– Merupakan persegi panjang sempit panjang yang
ditempatkan di atas lifeline.
– Menunjukkan kapan suatu objek mengirim atau
menerima pesan.
Elemen-Elemen Sequence Diagram
• Message
– Menyampaikan informasi dari
satu objek ke objek lainnya.
– Pemanggilan operasi diberi label
dengan pesan yang dikirim dan
panah padat, sedangkan
pengembalian diberi label
dengan nilai yang dikembalikan
dan ditampilkan sebagai tanda
panah putus-putus.
Elemen-Elemen Sequence Diagram
• Guard Condition
– Merupakan tes yang harus
dipenuhi untuk pesan
yang akan dikirim.
Elemen-Elemen Sequence Diagram
• Object Destruction
– X ditempatkan di ujung lifeline
objek untuk menunjukkan
bahwa objek tersebut akan
keluar dari eksistensi.
Elemen-Elemen Sequence Diagram
• Frame
– Menunjukkan konteks sequence
diagram
Metode MVC
• Model-View-Controller (MVC) adalah sebuah
metode untuk membuat sebuah aplikasi
dengan memisahkan data (Model) dari
tampilan (View) dan cara bagaimana
memprosesnya (Controller).
Metode MVC
• Model mewakili struktur data.
• View adalah bagian yang mengatur tampilan
ke pengguna.
• Controller merupakan bagian yang
menjembatani model dan view. Controller
berisi perintah-perintah yang berfungsi untuk
memproses suatu data dan mengirimkannya
ke tampilan program.
Contoh Penerapan MVC
• Sebuah database penjualan memiliki 4 tabel:
– Barang
– User
– Transaksi
– Detail transaksi
• Masing-masing tabel dibuatkan MVC-nya:
– Model berisi variabel sesuai nama field dari tabel beserta fungsi.
– View berupa tampilan form program (kecuali detail transaksi).
– Controller berisi coding yang berhubungan dengan database.
Contoh Penerapan MVC
Controller
Model
View
Contoh Penerapan MVC
• Contoh Model dari tabel Transaksi
Contoh Penerapan MVC
• View dari tabel Transaksi
Contoh Penerapan MVC
• Controller dari tabel Transaksi
Contoh Sequence Diagram
sd Form Transaksi
User
FormTransaksi BarangController Barang DetailController DetailTransaksi TransaksiController Transaksi
Buka_Form() ShowForm(Object obj)
Input_Kode_Barang() findBarang(String kode) findBarang(String kode)
Input_Qty() Hitung_Subtotal_dan_Total()
simpanDetail()
saveDetail(Detailtransaksi
detail)
Simpan_Transaksi() simpan() save(Transaksi trans)
loop |
Penjelasan Diagram
• User berinteraksi langsung dengan tampilan layar, pada
contoh di atas, User berinteraksi dengan form transaksi. Hal
yang pertama dilakukan adalah membuka form transaksi,
lalu input kode barang, proses pencarian kode barang
melalui controller barang menuju ke entitas Barang,
kemudian nama dan harga barang ditampilkan pada form.
• Selanjutnya User menginput jumlah beli (qty) dan dilakukan
perhitungan subtotal dan total. Setelah itu data tersebut
masuk disimpan dalam entitas DetailTransaksi melalui
controller detail.
• Setelah semua data diinput, maka semua data transaksi
disimpan dalam entitas Transaksi melalui controller
transaksi.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah sequence diagram sesuai dengan
petunjuk di slide berikut ini.
Tugas
Tugas
• User membuka form barang, klik tombol New,
lalu muncul kode barang otomatis melalui
BarangController.
• User menginput nama barang, harga, dan
stok, lalu klik tombol Save untuk menyimpan
data ke dalam entitas/class Barang melalui
BarangController.