Anda di halaman 1dari 217

Pertemuan 1

Rekayasa Perangkat Lunak dan Konsep Dasar


Berorientasi Objek
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%).
Rekayasa Perangkat Lunak
• Rekayasa Perangkat lunak merupakan Sebuah disiplin
yang mengintegrasikan proses, metode dan alat-alat bantu
untuk mengembangkan perangkat lunak komputer.
• Menghasilkan perangkat lunak komputer
Metode Pengembangan Perangkat Lunak

• Metode Pengembangan Perangkat Lunak atau Sistem


merupakan Teknik yang digunakan dalam membuat
sistem/perangkat lunak atau biasa disebut Software
Development Life Cycle (SDLC)
• Dalam SDLC terdapat beberapa model yang umum
digunakan:
1. Waterfall
2. Prototype
3. RAD
4. Spiral
Tahapan dalam Software Development Life
Cycle (SDLC)

Planning
Implementati Analysis
on

Design

• Diagram diatas merupkan tahapan SDLC secara umum, secar khusus akan
ada perbedaan pada tahapannya. Hal ini tergantung dari jenis metode
SDLC yang diguankan dan buku referensi yang digunakan
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).
Tahapan 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). Dalam tahapan ini design sistem
menggunakan diagram-diagram pemodelan sistem berbasis objek.
4. Implementation (Implementasi): Pembangunan dan penyampaian
sistem.
Yang dilakukan pada tahap ini adalam membangun, menguji,
mendokumentasikan dan memasang sistem.
Pemodelan Sistem Berbasis Objek
Apa itu Pemodelan(Modeling)?
Proses merancang/mengambarkan perangkat lunak sebelum
dilakukan pembuatan code program. Pemodelan digunakan
untuk menyederhanakan permasalahan yang komplek
sehingga lebih mudah dipahami dan dipelajari.
Pemodelan Sistem Berbasis Objek
• Sistem
Kumpulan elemen yang saling terkait untuk mencapai suatu tujuan
tertentu.
• Konsep dasar berorientasi objek
Suatu teknik atau cara dalam melihat permasalahan suatu sistem.
Sistem yang dikembangkan dianggap sebagai kumpulan objek
dalam dunia nyata.
Pemodelan Sistem Berbasis Objek

Modeling yang digunakan untuk merancang atau mendesign


sistem atau perangkat lunak pada pemograman
berorientasikan objek.
Konsep Dasar Berbasis Objek
• Kelas (class)
Kumpulan objek-objek dengan karakteristik yang sama.
Sebuah kelas akan memiliki sifat (atribut/variabel),
perilaku(metode/behavior), hubungan dan arti. Suatu kelas
terdiri dari Nama kelas, atribut dan behavior.
• Class adalah cetakan, template atau blueprint
Nama Kelas

Artibut Bentuk Class

Behavior
Konsep Dasar Berbasis Objek
• Objek
Objek adalah abstarsi dan sesuatu yang mewakili dunia nyata.
Objek suatu entitas yang mampu menyimpan informasi ciri-ciri
(state) dan perilaku (behavior).
• Objek adalah bentuk nyata dari class.
• Attribute dapat disebut juga Variabel (member) yaitu
nilai datanya bisa ditentukan di object.
• Behavior dapat disebut juga Perilaku suatu objek
dinyatakan dalam operation (method/fungsi).
Perbedaan Class dan Object

Class/Cetakan Objek/Hasil

(Orang) (Orang)
Attribute Budi Amel
30 28
Behavior

Class dengan atribut Objek dengan nilai


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);
}

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{ class SepedaGunungBeraksi {
public static void main(String[] args) {
public void setSadel(int nilaiSadel) { // Membuat object
System.out.println(“Tinggi Sadel:”+ nilaiSadel); SepedaGunung spd= new
} SepedaGunung();
}
// Memanggil method di object
spd.tambahKecepatan(10);
spd.ubahGir(2);
spd.setSadel(20);
}
}
Karena class SepedaGunung mewarisi class Sepeda, maka class
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 { class SepedaGunungBeraksi {
public static void main(String[] args) {
void ubahGir(int pertambahanGir) {
gir= 2*(gir+ pertambahanGir ); // Membuat object
System.out.println("Gir:" + gir); SepedaGunung sepedaku = new
} sepedaGunung();
} // Memanggil method di object
sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2);
}
}

Class SepedaGunung membuat method yang sama persis dengan


superclassnya (class Sepeda), yaitu void ubahGir(int pertambahanGir)
Model Analisis Desain dan Diagram

Model Diagram
Data-oriented Data Flow Diagram (DFD)
Process-oriented Flowchart
Object-oriented Unified Modeling
(Data + process) 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 yaitu kumpulan diagram yang digunakan untuk
mengambarkan perilaku atau rangkaian perubahan dalam sistem.
• 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
Proposal Sistem
– Feasibility Analysis
2. Analysis
– Use Case Diagram
– Activity Diagram
– Sequence Diagram
3. Design Spesifikasi Sistem
– Class Diagram
– Deployment Diagram
– User Interface Design
– Data Model
4. Implementation
– Program Code
– Testing Plan Software Baru
– Documentation
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 dan menerima informasi
ke dan dari sistem
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.
Boundary – Actor berada di luar ruang lingkup
sistem.
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/Pewarisan
– Mewakili use case khusus untuk use case
yang lebih umum.
– Tanda panah mengarah dari use case khusus
(specialized) ke use case yang lebih umum.
Contoh Generalization

Umum Umum

Khusus

Khusus
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
Suatu Instansi ingin membuat sistem informasi untuk sistem
perjalanan dinas. Prosedur yang akan dibangun:
• Prosedur penginputan data pegawai
Sistem melakukan proses penyimpanan data pegawai didalam
database pegawai setelah data tersebut diinput serta memberikan
informasi tentang penjelasan data pegawai yang dicari entitas
• Prosedur penerbitan Surat Tugas
Pada penginputan surat tugas dimana data diambil dari tabel
database pegawai, sistem akan memproses data pegawai dan
kemudian menyimpan didalam tabel database surat tugas. Lalu
sistem melakukan proses cetak dan menghasilkan form Surat
Tugas.
Contoh Kasus 2
• Prosedur Penerbitan SPPD
Pada penginputan SPPD dimana data yang diinput diperoleh dari tabel
database Surat Tugas, lalu sistem akan memproses dan menyimpan kedalam
tabel database SPPD, kemudian dari database SPPD dilakukan proses cetak
dan menghasilkan form SPPD.
• Prosedur Realisasi Biaya
Untuk proses realisasi biaya SPPD data diambil dari tabel database SPPD
dan tabel database biaya SPPD. Sistem memproses dan menyimpan di dalam
database realisasi biaya. Kemudian dilakukan proses cetak sehingga
menghasilkan laporan rincian realisasi biaya. Dalam hal ini yang melakukan
input data adalah entitas pegawai. Pada entitas admin hanya dapat
memverifikasi laporan realisasi biaya
Penyelesaian Kasus 2
• Membuat analisa Kebutuhan
Analisa kebutuhan adalah proses mempelajari
kebutuhan pemakai untuk mendapatkan
kebutuhan sistem atau perangkat lunak.
Penyelesaian Contoh Kasus 2
• Analisa Kebutuhan Admin
– Admin dapat melakukan login
– Admin dapat mengelola data pengguna
– Admin dapat mengelola pegawai
– Admin dapat mengelola Surat Tugas (ST)
– Admin dapat mengelola SPPD
– Admin dapat mengelola Biaya SPPD
– Admin Memverifikasi data realisasi biaya

• Analisa Kebutuhan Pegawai


– Pegawai dapat melakukan login
– Pegawai dapat menginput data realisasi biaya
Use Case Admin- Sea Level
Use Case Pegawai

• Contoh kasus diambil dari artikel ilmiah Nurfarida, Hilda Amalia dan Yunita, Judul Artikel
ilmiah Rancang Bangun Sistem Informasi Perjalanan Dinas
• Dosen disarankan untuk memberikan studi kasus berdasarkan artikel ilmiah sendiri.
Use Case Diagram Fish Level
Use Case Diagram Kite Level
Membuat Skenario Use Case
• Tiap use case dibuatkan skenario atau deskripsinya
Use Case Name Login
Requirements
Goal Anggota masuk ke aplikasi
Pre-conditions -
Post-conditions Mengelola data penguna, pegawai, ST, SPPD, , biaya sppd, verifikasi, menginput
laporan perjalanan
Failed end condition Username atau Password Salah
Primary Actors Admin, Aktor
Main Flow / Basic Path 1. Admin/Pegawai menginput username dan password
2. Sistem memeriksa valid atau tidaknya data masukan dengan memeriiksa ke tabel
user
3. Masuk asuk Ke aplikasi.

Alternative Flow 1. Admin/Pegawai menginput username dan password


2. Sistem memerikas valid atau tidaknya data masukan
3. Menampilkan pesan login tidak valid
Skenario Use Case
Use Case Name Mengelola data penguna
Requirements Telah melakukan Login
Goal Dapat menambah, mengedit, menghapus data pengguna

Pre-conditions Login
Post-conditions Menyimpan data ke basis data, menampilkan data dari basis data

Failed end condition Data masukan tidak valid


Primary Actors Admin
Main Flow / Basic Path 1. Memasukan data masukan
2. Sistem merikan valid atau tidaknya data
3. Menyimpan data ke basis data
4. Menampilkan pesan data berhasil disimpan
Ltenative Flow 1. Memasukan data masukan tidak
2. Memeriksa data masukan
3. Sistem menampilakn pesan data masukan tidak lengkap atau tidak valid
4. Memperbaiki data masukan
5. Sistem menampilkan pesan data berhasil disimpan
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
Studi Kasus 3
• Analisis Kebutuhan di Sistem Informasi Geografis Pemetaan Bencana
Berbasis Web Pada Badan Penanggulangan Bencana Daerah Brebes terdapat
dua hak akses yaitu hak akses admin dan hak akses pengguna. Kedua
pengguna tersebut memiliki interaksi dengan sistem yang berbeda - beda dan
memiliki kebutuhan informasi berbeda juga. Sistem menyediakan login,
berita, komentar, pengaduan online serta maps. Peneliti juga membutuhkan
perangkat keras dan perangkat lunak untuk menunjang dalam
menimplementasikan sistem ini. 2 hak akses yaitu masyarakat dan Admin .
Dimana masyarkat dapat melihat daerah bencana, melakukan tanya jawab,
iput aduan dan melihat artikel mengenail bencana, sedangkan admin
melakukan tanya jawab dengan masyarakat, mengolah daerah bencana,
mengolah aduan masyarakat, mengolah artikel, mengolah galeri, mengolah
laporan bencana dan mengolah statistik bencana
Use Case Diagram

Studi kasus diambil dari artikel ilmiah


Warjiyono, Sopian Aji & Tri Indah
Permesti dengan judul Sistem Informasi
Geografis Pemetaan Bencana Alam Kota
Brebes Menggunakan Metode Extreme
Programming
Tugas kelompok tipe 1
Buatlah Use Case Sea Level dan Fish Level Untuk studi kasus
dibawah ini:
A. Kebutuhan Pengguna
Dalam aplikasi kearsipan terdapat 3 pengguna yang dapat saling
berinteraksi dalam lingkungan sistem, yaitu: Divisi, sekretaris dan
direktur. Pengguna-pengguna tersebut memiliki karakteristik
interaksi dengan sistem yang berbeda-beda dam memiliki
kebutuhan informasi yang berbeda-beda, seperti berikut :
1. Skenario Kebutuhan Sekretaris
a. Mengelola data surat masuk dan surat keluar
b. Mengarsipkan surat masuk dan surat keluar
c. Menerima disposisi surat
2. Skenario Kebutuhan Direktur
a. Menerima surat masuk
b. Menerima konsep surat keluar
c. Membuat lembar disposisi
3. Skenario Kebutuhan Divisi
a. Membuat konsep surat
b. Menerima disposisi
Kebutuhan Sistem
1. Pengguna harus melakukan login terlebih dahulu untuk dapat mengakses
aplikasi ini dengan memasukan username dan password agar privasi masing-
masing pengguna tetap terjaga keamannya.
2. Pengguna harus melakukan lougout setelah selesai menggunakan aplikasi.
• Tugas diatas diambil dari artikel ilmiah Artika Surniandari, Hilda Rachmi, Ria Septilinah dengan judul
Sistem Informasi kearsipan Pada PT. PERMATA GRAHA NUSANTARA (PGNMAS)
• Disediakan beberapa tipe soal sehingga beberapa kelompok dapat mengerjakan tugas yang berbeda
Tugas Kelompok tipe 2
• Buatlah Use Case Diagram untuk sistem dibawah ini:
• Analisa kebutuhan Sistem yang akan digunakan dalam rancang bangun
persedian obat berbasis web ini terdiri dari beberapa bagian, baik pengguna
sebagai admin maupun pengguna sebagai pimpinan, yaitu:
A. Kebutuhan Pengguna
1. Kebutuhan Admin
a. Admin dapat melakukan login
b. Admin dapat mengakses data kategori obat
c. Admin dapat mengakses stok obat
d. Admin dapat mengakses transaksi obat
e. Admin dapat mengakses data user
f. Admin dapat mengakses laporan
g. Admin dapat melakukan logout
2. Kebutuhan Pimpinan
a. Pimpinan dapat melakukan login
b. Pimpinan dapat mengakses data transaksi obat
c. Pimpinan dapat mengakses laporan transaksi
d. Pimpinan dapat melakukan logout.
B. Kebutuhan Sistem
1. Pengguna harus melakukan login terlebih dahulu agar dapat mengakses
program dengan memasukkan username dan password agar privasi data
pengguna dan data-data yang ada pada program tetap terjaga.
2. Sistem dapat menampilkan menu-menu yang ada pada program.
3. Pengguna harus melakukan logout setelah selesai meggunakan program.
• Tugas diambil dari artikel ilmiah Nurul Afni , Roida Pakpahan & Indra Zaman Dengan judul Rancang
Bangun Persediaan Obat Berbasis Web
• Disediakan beberapa tipe soal sehingga memungkin hanya beberapa kelompok mengerjakan soal
yang berbeda
Tugas Kelompok Tipe 3
• Buatlah Use case diagram berdasarkan analisa kebutuhan:
A. Analisis kebutuhan pengguna
Terdapat tiga pengguna yang berinteraksi dengan aplikasi e-reservation yaitu:
pengunjung, member, dan admin. Ketiga pengguna tersebut memiliki kebutuhan
informasi yang berbedabeda:
1) Pengunjung, dapat melihat tipe kamar, dapat melihat cara pemesanan, dapat
melihat cara pembayaran, dapat melakukan daftar member, dapat mencetak
bukti reservasi.
2) Member dapat melakukan login, dapat melakukan reservasi kamar hotel,
dapat melakukan konfirmasi pembayaran, dapat melihat cara pembayaran,
dapat melihat cara pemesanan, dapat melakukan logout
3) Administrator, dapat melakukan login, dapat mengelola data member, dapat
mengelola data kamar, dapat mengelola data kategori kamar, dapat mengelola
data reservasi, dapat mengelola data konfirmasi pembayaran, dapat membuat
laporan reservasi, .dapat membuat laporan pembayaran.
Analisis kebutuhan sistem
1) Pengguna harus melakukan login terlebih dahulu untuk dapat mengakses
aplikasi ini dengan memasukkan username dan password agar privasi
masing-masing pengguna tetap terjaga keamanannya.
2) Pengguna harus melakukan logout setelah selesai menggunakan aplikasi.
3) Sistem melakukan kalkulasi pembayaran.
• Tugas diambil dari artikel ilmiah Nunung Hidayatun, Mia Rosmiati, Eko Saputro dengan judul
Aplikasi E-Reservation Untuk Pemesanan Kamar pada Hotel HIN’S
• Disediakan beberapa tipe soal sehingga beberapa kelompok dapat mengerjakan tugas yang
berbeda
Tugas Kelompok Tipe 4
• Buatlah use case diagram berdasarkan:
Analisa kebutuhan fungsional dari sistem yang akan dibangun:
A. Sistem harus dapat mengelola data master provinsi
1) Sistem dapat menambah data provinsi
2) Sistem dapat mengedit data provinsi
3) Sistem dapat mencari data provinsi
4) Sistem dapat menghapus data provinsi
B. Sistem harus dapat mengelola data user
1) Sistem dapat menambah user baru pada level super admin
2) Sistem dapat mengganti password user pada level admin operator
C. Sistem harus dapat mendeteksi potensi kenaikan CFR DB
1) Sistem dapat menginput data suatu provinsi dan dapat
melakukan deteksi terhadap potensi kenaikan CFR DB di
provinsi tersebut
2) Sistem dapat menyimpan data inputan diatas
3) Sistem dapat mencetak hasil deteksi

Tugas berdasarkan artikel ilmiah dari Anik Andriani & Noor Hasan dengan
Perancangan Sistem Informasi Deteksi Kenaikan Fatality Rate Deman Berdarah
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.
Studi Kasus 1
• Prosedure Mengajar Guru
Wakamad Kurikulum membuat jadwal mengajar
guru dan diserahkan kepada Kepala Madrasah.
Setelah mendapat persetujuan dari Kepala
Madrasah, jadwal mengajar diberikan kepada
guru pengajar.
Activity diagram
Studi Kasus 1
• Prosedur Jadwal Mata Pelajaran Wakamad
Kurikulum membuat jadwal pelajaran untuk
setiap kelas, setelah itu memberikan ke kepala
Madrasah untuk meminta persetujuan. Setelah
mendapat persetujuan dari Kepala Madrasah,
jadwal Pelajaran didistribusikan kepada para
siswa
Activity Diagram
Studi Kasus 1
• Pembuatan Raport
Setelah siswa melakukan ujian, maka guru akan
memberikan nilai kepada Wali Kelas kemudian
wali kelas mengisi Raport Sementara sebagai
bayangan dari nilai raport dan kemudian
diserahkan kepada siswa.

Studi kasus pembuatan activity diagram diambil dari artikel ilmiah Dian Ardiansyah,
Atang Saepudin Riska Aryanti, Eka Fitriani dengan judul Perancangan Sistem Informasi
Akademik Madrasah Alliyah negeri (MAN) 4 Karawang
Activity Diagram
Studi Kasus 2
• Buatlah Activity diagram berdasarkan bisnis proses dibawah ini:
Proses Bisnis Sistem Berjalan Futsal Station Futsal Station merupakan usaha
yang bergerak dibidang penyewaan lapangan. Dalam kegiatan penyewaan
lapangan diawali dengan pelanggan datang ke Futsal Station lalu pelanggan
melakukan booking lapangan dengan memberi informasi untuk tanggal berapa,
jam berapa, atas nama siapa dan lapangan mana yang akan dibooking. Pelanggan
membayar dp booking lapangan kepada petugas lalu petugas akan mencatat data
bookingan pada lembar booking harian kemudian petugas akan membuat
kwitansi dp untuk diberikan kepada pelanggan sebagai bukti booking. Pada saat
tanggal main, pelanggan melapor pada petugas dengan membawa bukti kwitansi
dp serta membayar sisa pembayaran, kemudian petugas akan membuatkan
kwitansi pelunasan yang akan diberikan kepada pelanggan. Jika semua selesai,
pengelola akan merekap data booking harian dan membuat laporan keuangan
yang akan diberikan kepada pemilik
Activity
Diagram

Studi Kasus diambil dari artikel


ilmiah A. Merdekawati, L. K.
Rahayu W. Yulianti dengan judul
Sistem Informasi Penyewaan
Lapangan Futsal Berbasis Web
Pada Futsal Station Bekasi
Tugas 1
• Buatlah Activity Diagram dari Analisa sistem penjualan spare part dibawah
ini:
Konsumen akan datang ke toko untuk memberikan daftar nama barang yang akan
dibeli kepada pegawai, kemudian pegawai akan melakukan pengecekan daftar
nama barang yang diminta. Jika barang tidak ada, pegawai akan memberikan info
jika barang tidak tersedia. Namun jika barang ada, pegawai akan memberikan
barang kepada konsumen. Setelah itu, konsumen akan melakukan pembayaran
barang kepada pegawai. Kemudian pegawai akan membuatkan bon untuk
diserahkan kepada konsumen. Pegawai juga akan mencatat rekap barang yang
sudah terjual di dalam buku dan akan membuatkan laporan penjualan untuk
diserahkan kepada pimpinan untuk diarsip
Tugas diatas diambil dari artikel ilmiah Ari Puspita, Ade Fitria Lestari &Hilda Amalia Dengan judul Sistem
Informasi Penjualan Spare part Mobil Menggunakan Aplikasi Java Berbasis Unified Modeling Language
Studi Kasus 3
• Contoh Pembuatan Actitvity diagram untuk use case pemesanan.
Dengan bisnis proses:
Untuk memesan tiket, calon penumpang membuka web pemesanan
tiket. Pilih apakah tiket untuk sekali jalan atau pulang pergi.
Kemudian pilihkota asal, kota tujuan, tipe bus dan tanggal
keberangkatan. Klik tombol search untuk melihat ketersediaan kursi.
Bila kursi masih tersedia, pilih kursi dan klik tombol booking my
ticket. Kemudian isi data nama, nomor KTP, nomor telepon, tanggal
lahir, alamat dan email. Klik tombol Submit untuk memastikan
pemesanan
Studi Kasus diambil dari
artikel ilmiah Frieyadi
dengan judul Penggunaan
Model RAD Untuk
Pembangunan Sistem
Informasi Penjualan Tiket
Online
Tugas 2
• Buatlah activity diagram berdasarkan proses bisnis berikut ini:
• Prosedur Update Status Tiket, Ticket status adalah konfrmasi
pembayaran tiket yang telah dipesan. Untuk dapat melakukan
konfirmasi status tiket, operator harus login terlebih dahulu.
Setelah login, akan muncul konfirmasi status tiket yang telah
dipesan oleh calon penumpang. Pada kolom status, terlihat status
tiket apakah sudah dibayar atau belum. Bila calon penumpang
telah membayar dan melakukan konfirmasi pembayaran, operator
selanjutnya mengupdate status tersebut dengan menekan tombol
klik
Tugas diambil dari artikel ilmiah Frieyadi dengan judul Penggunaan Model RAD Untuk Pembangunan
Sistem Informasi Penjualan Tiket Online
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.

• 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 objek-
objek 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 objek-
objek 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
User
-KodeUser Transaksi
-NamaUser -NoTrans
-Password 1 1..* -Tanggal
-HakAkses -Total
+save()
Menginput
+save()
+update() +findTransaksi()
+delete() +nomor()
+findUser() +cetak()
+cetak()
1
1
Menginput 1..* Bagian dari
1..*
Barang
-KodeBarang DetailTransaksi
-NamaBarang
-Id
-Harga 1 1..* -NoTrans
-Stok
-KodeBarang
+save() Bagian dari -Harga
+update() -Qty
+delete() -Subtotal
+findBarang()
+saveDetail()
+nomorOtomatis()
+cetak()
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.
Contoh classDiagram 2
Penjelasan Class Diagram
• Gambar class diagram diatas digunakan untuk menentukan model
(struktur datanya) dalam rancang bangun sistem informasi
pembelian obat secara kredit pada Apotik. Kelas-kelas yang
dibutuhkan seperti kelas Obat, Supplier, Pengguna, Pemesanan,
DetailPemesanan, Pembelian, DetailPembelian, Pembayaran,
ReturPembelian dan DetailReturPembelian. Masing-masing kelas
memiliki atribut dan operasi, seperti yang terlihat dari gambar
class diagram diatas

Studi kasus class diagram diambil dari artikel ilmiah Nurhidayati dengan judul Pengembangan
Sistem Informasi Pembelian Obat Secara Kredit Pada Apotik Dengan Menggunakan Model MVC
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 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.

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)

loop
Input_Kode_Barang() findBarang(String kode) findBarang(String kode)

Input_Qty() Hitung_Subtotal_dan_Total()

saveDetail(Detailtransaksi
simpanDetail() 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.
Contoh Sequence Diagram
Penjelasan Diagram
• Sequence diatas merupakan sequence diagram dari proses
pemesana buku pada perpustakaan. User berinteraksi
melalui form pemesanan dengan memilih buku, kemudian
dilakukan validasi ketersediaan buku oleh controler,
dilakukan pengecekan ke tabel buku. Tabel buku
mengirim data buku ke form pemesanan. User melakukan
pemesanan buku data buku dikirim ke tabel pemesanan
Studi kasus diambil dari artikel ilmiah Yoyok Maryono & Ida Darwati dengan judul
Perancangan Web Perpustakaan Pada SMP Taruna Bhakti
Contoh Sequence Diagram
Penjelasan Diagram
• Sequence diatas adalah sequence dari use case
mengelola data pemasok dimana kegiatan yang bisa
dilakukan adalah menyimpan, mencari, menghapus
data pemasok. Nomor otamatis ditampilkan oleh
sistem, data yang diinput adalah nama pemasok,
alamat, No tlp. Tabel yang terkoneksi adalah tabel
pemasok.
Studi kasus diambil dari artikel ilmiah Bibit Sudarsono & Erniyati dengan judul Perancangan
Program Sistem Informasi Persediaan dan Penjualan Barang pada Toko Sparepart Motor
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.
Pertemuan 6

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 students.bsi.ac.id.
• Buatlah 5 skenario dari use case yang ada.
Pertemuan 9

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.

Package Z menambahkan konten public (yang bertanda +)


dari package X ke Z.
Pedoman Membuat Package Diagram

1. Gunakan package diagram untuk secara logis


mengatur desain.
2. Jika ada hubungan inheritance, gambarlah secara
vertikal, dengan package yang berisi superclass
ditempatkan di atas package yang berisi subclass.
Gambarlah secara horizontal untuk mendukung
aggregation dan hubungan association, dengan
package yang ditempatkan berdampingan.
3. Ketika ada hubungan ketergantungan (dependency)
pada diagram, digambarkan dengan arah dari
subclass ke superclass, dari klien ke server.
Pedoman Membuat Package Diagram

4. Saat menggunakan package untuk


mengelompokkan use case, pastikan untuk
menyertakan aktor dan asosiasi yang ada pada use
case tersebut.
5. Berikan setiap package nama yang sederhana,
tetapi deskriptif.
6. Buatlah package yang bersatu padu (kohesif).
Implementasi Package dalam Java

• Perubahan nama package yang


awalnya bernama penjualan.control,
berubah menjadi folder bernama
control, bisa dilihat awalan penjualan.
menandakan folder utama letak
package dibuat.
Import File Antar Package

• File BarangController mengimport file


Barang.java yang ada di package
penjualan.data
Import File Antar Package

• File DetailController mengimport file


DetailTransaksi.java yang ada di package
penjualan.data
Import File Antar Package

• File TransaksiController mengimport file


Transaksi.java yang ada di package
penjualan.data
Import File Antar Package

• File UserController mengimport file User.java


yang ada di package penjualan.data
Import File Antar Package

• File FormBarang mengimport file penjualan.java yang


ada di package penjualan, file BarangController yang
ada di package penjuaan.control, dan file Barang yang
ada di package penjualan.data
Import File Antar Package

• File FormUser mengimport file penjualan.java yang ada


di package penjualan, file UserController yang ada di
package penjualan.control, dan file User yang ada di
package penjualan.data
Import File Antar Package
Package Diagram

<<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 Machine Diagram


State Machine Diagram
• State machine diagram adalah teknik terkenal
untuk mendeskripsikan perilaku dari suatu
sistem.
• Dalam pendekatan berorientasi objek, state
machine diagram digambar untuk suatu class
untuk menunjukkan perilaku seumur hidup
dari suatu objek.
• State machine berisi state (keadaan) yang
terhubung oleh transisi (peralihan).
State Machine Diagram
• Setiap state (keadaan) memodelkan periode
waktu selama kehidupan suatu objek di mana
ia memenuhi kondisi tertentu.
State
• State (keadaan) dari suatu object didefinisikan
oleh nilai dari atribut dan hubungannya
(relationship) dengan object pada titik waktu
tertentu.
• Contoh: Pasien bisa memiliki state (keadaan)
diantaranya, pasien baru, pasien saat ini (yang
sedang diperiksa), dan pasien lama.
Event
• Sebuah event (kejadian) adalah nilai yang
mendeskripsikan suatu objek yang mengubah
state (keadaan) suatu objek.
Transition
• Sebuah transisi /peralihan adalah suatu relasi
yang mewakili pergerakan dari suatu objek
dari satu state ke state lainya.
• Beberapa transition memiliki “guard
condition”. Guard condition adalah ekspresi
Boolean yang berisi nilai atribut, yang
memperbolehkan suatu transisi terjadi hanya
jika kondisinya benar (true).
Action dan Activity
• Action adalah suatu proses yang tidak dapat
diuraikan dan tidak bisa diganggu. Action
diasosiasikan dengan sebuah transition.
• Activity adalah suatu proses yang dapat
diuraikan dan bisa diganggu.
• Activity mengambil waktu lama untuk
diselesaikan daripada action, dan bisa diawali
dan dihentikan oleh sebuah action.
Elemen-Elemen State Machine Diagram

• 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 = Tidak Sehat]

[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

Latihan Studi Kasus Membuat Use


Case dan Activity Diagram
LATIHAN
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Latihan dikerjakan di kelas.
• Waktu 2 jam.
• Buatlah Use Case dan Activity Diagram dari
tugas project matakuliah Web Programming II.
Pertemuan 14

Latihan Studi Kasus Membuat Class


dan Sequence Diagram
LATIHAN
• Buatlah kelompok terdiri dari maksimal 5
orang.
• Latihan dikerjakan di kelas.
• Waktu 2 jam.
• Buatlah Class dan Sequence Diagram dari
tugas project matakuliah Web Programming II.

Anda mungkin juga menyukai