Object Oriented
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).
Class/Cetakan Objek/Hasil
(Orang) (Orang)
Behavior
Algoritma &
Pemrograman E-commerce
4 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
Dalam Class Dalam Package Dalam Dalam Package
Modifier
yang Sama yang Sama SubClass 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
Sepeda
~ gir: int = 0
~ kecepatan: int = 0
SepedaGunungBeraksi
~ tambahKecepatan(int) : void
~ ubahGir(int) : void
+ main(String[]) : void
SepedaGunung
+ setSadel(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);
}
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
Planning
Implementation Analysis
Design
Software Development Life Cycle (SDLC)
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
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
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.
Sequence Diagram
Sequence Diagram
• Sequence diagram mengilustrasikan objek-
objek 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.
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
loop
Input_Kode_Barang() findBarang(String kode) findBarang(String kode)
Input_Qty() Hitung_Subtotal_dan_Total()
saveDetail(Detailtransaksi
simpanDetail() detail)
Latihan
LATIHAN
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Latihan dikerjakan di kelas.
• Waktu 2 jam.
• Buatlah use case sea-level dan fish-level dari
web student.nusamandiri.ac.id.
• Buatlah 5 skenario dari use case yang ada.
Pertemuan 7
Package Diagram
Package Diagram
• Package
Package bisa dianggap sebagai folder. Ketika
package digunakan dalam bahasa
pemrograman seperti Java, package
diimplemetasikan sebagai folder.
• Package Diagram
Package diagram bisa diartikan sebagai
sebuah class diagram yang hanya
menunjukkan package.
Elemen-Elemen Package Diagram
• Package
– Digunakan untuk
menyederhanakan diagram UML
dengan mengelompokkan
elemen terkait menjadi satu
elemen tingkat yang lebih tinggi.
Elemen-Elemen Package Diagram
• Dependency Relationship
– Mewakili ketergantungan antara
package: Jika package diubah,
package dependen juga bisa
dimodifikasi.
– Memiliki panah yang diambil dari
package tergantung pada package
yang bergantung padanya
Dependency dan Stereotype
• Ada dua stereotype yang biasanya digunakan
dalam menggambarkan package diagram,
yaitu <<import>> dan <<access>>.
Stereotype Import dan Access
Package Y menambahkan konten public (yang bertanda +) dari package Z ke Y secara private.
<<import>> <<import>>
<<import>>
Package Diagram
• Beberapa referensi tidak menyantumkan
stereotype/keyword Import di dalam diagram.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah diagram package (tanpa
menyantumkan stereotype) dari soal cerita di
slide berikut.
Tugas
• Diagram terdiri dari 4 package, yaitu: Customer
Package, Order Package, Book Package, dan
Shopping Package.
• Customer package menambahkan konten public
dari Order package ke Customer package.
• Customer package menambahkan konten public
dari Shopping package ke Customer package.
• Order package menambahkan konten public dari
Book package ke Order package.
• Shopping package menambahkan konten public
dari Book package ke Shopping package.
Pertemuan 10
Object Diagram
Object Diagram
• Object diagram pada dasarnya merupakan
instansiasi dari semua atau sebagian dari class
diagram.
• Object diagram adalah potret dari objek
dalam sistem pada suatu titik waktu.
Karena object diagram lebih menunjukkan
instance daripada class, maka object diagram
sering disebut instance diagram.
Object Diagram
• Instansiasi (instantiation) berarti membuat
instance (object) dari class dengan satu set
nilai atribut yang sesuai.
• Object diagram menunjukkan sekumpulan
objek, hubungannya (relationship), dan nilai
atribut.
• Object diagram bisa sangat berguna ketika
mencoba untuk menemukan detail dari suatu
class.
Object Diagram
• Object diagram umumnya terdiri dari:
– Objek
– Penghubung
• Object diagram digunakan untuk memodelkan
tampilan desain statis atau tampilan proses
statis dari sistem, sama seperti class diagram,
tetapi dari perspektif contoh nyata atau
prototipe.
Object Diagram
• Penulisan objek pada diagramnya ditulis
dengan garis bawah.
• Jika menyebutan nama classnya, diikuti
dengan tanda : (titik dua).
• Bentuk umum:
Instance name : class name
• Jika hanya menyebutkan nama classnya saja,
maka tetap harus mengikutsertakan tanda :
(titik dua).
Class Diagram
User
-KodeUser Transaksi
-NamaUser -NoTrans
-Password 1 1..* -Tanggal
-HakAkses -Total
+save() +save()
+update() +findTransaksi()
+delete() +nomor()
+findUser() +cetak()
+cetak()
1
1
1..*
1..*
Barang
-KodeBarang DetailTransaksi
-NamaBarang
-Id
-Harga 1 1..* -NoTrans
-Stok
-KodeBarang
+save() -Harga
+update() -Qty
+delete() -Subtotal
+findBarang()
+saveDetail()
+nomorOtomatis()
+cetak()
Membuat Object Diagram
• Tabel Barang
• Tabel User
Membuat Object Diagram
• Tabel Transaksi
• Tabel DetailTransaksi
Object Diagram
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah object diagram dari tabel-tabel yang
ada di slide berikut ini.
Tugas
• Tabel mahasiswa
• Tabel matakuliah
Tugas
• Tabel nilai
• Tabel jurusan
• Tabel dosen
Tugas
• Relasi
– Objek mahasiswa terhubung ke objek jurusan,
matakuliah, dan nilai.
– Objek dosen terhubung ke objek matakuliah.
Pertemuan 11
Deployment Diagram
Deployment Diagram
• Deployment diagram digunakan untuk
merepresentasikan hubungan antara komponen
perangkat keras yang digunakan dalam infrastruktur
fisik dari suatu sistem informasi.
• Deployment diagram menunjukkan konfigurasi proses
node dan artifact yang berjalan di suatu sistem.
• Sebagai contoh, ketika merancang sistem informasi
terdistribusi yang akan menggunakan jaringan area
luas, deployment diagram dapat digunakan untuk
menunjukkan hubungan komunikasi di antara berbagai
node dalam jaringan.
Elemen-Elemen Deployment Diagram
• Node
– Merupakan sumber daya
komputasi, misalnya, komputer
klien, server, jaringan terpisah,
atau perangkat jaringan
individu.
– Dilabeli dengan namanya.
– Dapat berisi stereotip untuk
secara khusus memberi label
jenis node yang diwakili,
misalnya, perangkat,
workstation klien, server
aplikasi, perangkat seluler, dll.
Elemen-Elemen Deployment Diagram
• Bentuk lain/node tambahan dari node yang biasa
digambarkan dalam deployment diagram
Elemen-Elemen Deployment Diagram
• Artifact
– Adalah spesifikasi perangkat
lunak atau basis data, misalnya,
tabel atau database atau
tampilan database, komponen
atau lapisan (layer) perangkat
lunak.
– Dilabeli dengan namanya.
– Dapat berisi stereotip untuk
secara khusus memberi label
jenis artefak, misalnya file
sumber, tabel basis data, file
yang dapat dieksekusi, dll.
Elemen-Elemen Deployment Diagram
• Node dengan artefak yang
digunakan
– Menampilkan artefak yang
ditempatkan pada simpul fisik
(physical node).
Elemen-Elemen Deployment Diagram
• Communication path
– Merupakan asosiasi antara dua
node.
– Memungkinkan node untuk
bertukar pesan.
– Dapat berisi stereotip untuk secara
khusus memberi label jenis jalur
komunikasi yang diwakili,
(misalnya, Lan, Internet, serial,
paralel).
Deployment Diagram
• Versi 1
Deployment Diagram
• Versi 2
Keterangan:
Appt System = nama sistem yang digunakan
Deployment Diagram
• Versi 3
Deployment Diagram
• Versi 4:
Deployment
diagram yang
menggambar
kan Top-Level
Network
Model
Deployment Diagram
• Versi 5:
Deployment diagram versi sederhana yang
menggambarkan Low-Level Network Model
Deployment Diagram
• Versi 6:
Deployment
diagram versi
detail yang
menggambarkan
Low-Level
Network Model
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah 6 versi deployment diagram dari
sistem absensi online mahasiswa.kampus.id.
Pertemuan 12
• State
– Berbentuk persegi panjang
dengan sudut membulat.
– Memiliki nama yang mewakili
state (keadaan) dari suatu objek.
Elemen-Elemen State Machine Diagram
• Initial state
– Mewakili titik di mana suatu objek
mulai ada.
Elemen-Elemen State Machine Diagram
• Final state
– Mewakili penyelesaian aktivitas
(activity).
• Event
– Kejadian yang memicu perubahan
dalan suatu state.
Elemen-Elemen State Machine Diagram
• Frame
– Menujukkan konteks state
machine
State Machine Diagram
• Contoh sederhana dari State Machine Diagram.
Membuat Mengemas makanan Makan
Membuat makanan
Meletakkan makanan di
dalam kotak makan
Keluarkan makanan
dari kotak makan
Makan
State Machine Diagram
• State Machine Diagram dari Pasien.
[Diagnosis =
Masuk RS Daftar Sehat]
Masuk Diterima Keluar
[Diagnosis = Sehat]
Dirawat
State Machine Diagram
• State Machine Diagram dari Order barang.
Tugas
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Tugas dikerjakan di kelas.
• Waktu 1 jam.
• Buatlah state machine diagram dari
peminjaman buku di perpustakaan.
Pertemuan 13
QUIZ
Pertemuan 16