SISTEM INFORMASI
(INF-55201-213)
TEKNIK PEMODELAN SISTEM
Eva Faja Ripanti, PhD (evaripanti@untan.ac.id)
PONTIANAK
2019
Process Modeling
Planning
Mainteana
Analysis
nce
Implement
Design
ation
Process Modeling
• Graphically represent the processes that capture,
manipulate, store, and distribute data between a
system and its environment and among system
components.
• Utilize information gathered during requirements
determination.
• Processes and data structures are modeled.
3 Chapter 7
Phases of the Systems Development Life Cycle
Project Project
Identification Initiation and
Two Activities:
and Selection Two Main Activities: - Planning - Formal preliminary
Identification of need investigation of the problem at
- Prioritisation and translation of hand
need into a development - Presentation of reasons why
schedule system should or should not be
developed by the organization
Helps organisation to determine
whether or not resources should
be dedicated to a project
Analysis
Generate alternative
Compare alternatives
designs
Determine
requirements: Study
current system Recommend best
Structure requirements alternative
and eliminate Study of
redundancies current
procedures and
information
systems
Design
Logical Design Physical Design
• Concentrates • Technical
on business specifications
aspects of the
system
Hardware &
software
installation
Documentation Implementation Programming
User Training
Data Flow Diagram
• Data flow diagrams (DFDs) are one of the
diagramming techniques used in structured
systems analysis and design
• Data flow diagrams show:
– Data flowing through a system to or from users
(external entities)
– The processes that transform the data
– The data stores that hold the data
Creating DFDs
Define Entities
• External entities represent
persons, processes or
machines which produce data
to be used by the system or Student
receive data that is output by
the system
• Examples: Student, Customer,
Client
2.1
Define Processes
• Processes are discrete actions Create
that transform input data to Student
output data Record
• Examples: Create Student
Record, Calculate Purchase
Cost, Register Client
9
Object Oriented Analysis Design (OOAD)
Aktivitas Istilahnya Tools Brand
Analisis OOA UML VISIO, Rational Rose
Desain / Perancangan OOD UML IDEM
Programming OOP Netbean Java, C++, VB
Object Oriented Analysis Design (OOAD)
Problem Application
domain domain
Object Oriented Analysis Design (OOAD)
Problem Adalah
Dipandang Objek
Domain
Object Oriented Analysis Design (OOAD)
• Ranah pembicaraan sebenarnya bisa diceritakan
dengan menggunakan system definition dimana
pada system definition ini, si pengembang system
menceritakan lingkup / area / semesta pembicaraan
dari system yang dikembangkan, tapi tidak
menceritakan computer system
• Pada problem domain ini, lupakan yang dinamakan
aplikasi komputer! Everything is object
Biasanya
objek itu
noun /
Atribut kata benda
Operasi
Nama
(aktifitas)
Objek
atribut yang
mencerminkan
Namanya: mobil keunikan objek,
hanya objek itu aja
yang memilikinya;
List objek2 ini itu yang disebut
disebut dengan primary
dengan object code
candidate
Objek
mobil
Operasi: diam,
maju, mundur, dll
Atributnya: warna,
dll (mungkin juga
merk, tahun keluar,
terbang, miring,
no pol, dll
dll; tergantung
analisis
Contoh
Jangangan terlalu lebar,
dan jangan juga mudah Sebutkan
untuk mengabaikan) semua yang
Bagaimana dianggap
dengan tong objek!
sampah
Area
Supir
parkir
Gardu Staff
Kalau udah
dipilah-pilih
mana yang
Motor penting, itu Tiket
semua disebut
dengan class
candidate
Sistem
Mobil Perparkiran dll
Class candidate
• mobil, motor, gardu, staf parkir, supir,
area parkir, tiket. Lengkapi semua
denngan atribut dan operasinya
Class
• Adalah kumpulan objek
• Penamaan class untuk java strandard
biasanya huruf capital di awal, dan jika
dua kata dia digabung)
Perbedaan Objek & Class
• Tunjuk ‘mobil itu’, yg berwarna merah, dg
no pol B 4455 XZ, bermerk Suzuki XXXX,
dll; disebut ‘objek mobil’; karena mobil
dg atribut (tersebut) yang disebutkan,
pasti hanya satu-satunya di dunia;
makanya dia disebut dengan objek mobil.
Susun atribut-atributnya
• Misal Class Mobil, atributnya: noPol (sebagai
primary key), warna, tipeMobil, tahunProduksi,
dll
• Misal Class StafParkir, atributnya: NIP (sbg
primary key), nama, alamat, jenisKelamin, dll dll
• Penamaan atribut / variable, biasanya pada java
standard menggunakan huruf kecil pada awal
katanya; dan huruf capital pada kata kedua dan
seterusnya, tanpa ada pemisah. Jika
menggunakan underline, bisa tulis seperti
‘jenis_kelamin‘ (semua awal kata huruf kecil)
Operation
• Operasi / proses adalah aktivitas yang melekat pada class /
biasa dilakukan oleh objek class. Operasi biasanya
menggunakan kata kerja. Misal untuk class Mobil,
operasinya: maju, mundur, berhenti, parkir, dll. Misal class
StafParkir, operasinya adalah: entriData, cetakTiket, absen,
pulang, dll. (tuliskan semua aktivitas objek / kelas yang ada
pada ranah pembicaraan)
• Silahkan, lengkapi nama-nama class tersebut, lengkap
dengan atribut dan tipe datanya, serta operasi-operasinya
Class Diagram
• Analisis class diagram, bayangkan seperti terjadi di
dunia nyata; karena class diagram ini (untuk awal-
awal), masih berada di dalam problem domain,
bukan pada application domain
• Ada 3 jenis hubungan antar klas:
– Garis lurus, itu hubungan sederajat (asosiasi / association).
Silahkan menggambarkan hubungan apa yang terjadi antar
class yang kira2 sederajat. Misal Mobil dengan Supir.
Class Diagram
Ada 3 jenis hubungan antar klas:
Garis lurus, itu hubungan sederajat (asosiasi /
association). Silahkan menggambarkan hubungan apa
yang terjadi antar class yang sederajat. Misal Mobil
dengan Supir.
Mobil
Supir
+noPolisi: string
+warna: string +kodeSupir: string
+tipeMobil: string +nama: string
+alamat: string
+maju()
+mundur() +mengendarai()
+parkir() +istirahat()
+keluar()
Class Diagram
– Hubungan segitiga (generalisasi / generalization).
Ini maksudnya hubungan inheritance, hubungan
turunan; hubungan dua level, bukan sederajat.
Misal, Manusia dengan Staf; bahwa Staf ADALAH
Manusia (atau Staf TURUNAN Manusia)
Manusia
Staf
Class Diagram
– Hubungan belah ketupat (agregasi / aggregation).
Misal Mesin, Rangka, Ban; adalah class-class yang
merupakan BAGIAN DARI Mobil.
Mobil
Mesin Rangka Ban
Class Diagram
• Notasi cardinality antar class, logikanya sama
dengan yg di ERD. Dan cardinality ini hanya
ada pada hubungan asosiasi dan agregasi; dan
tidak ada pada hubungan generalisasi! Contoh
cardinality pada agregasi: Mobil
1
1 1
1 1 1..*
Mesin Rangka Ban
Usecase Diagram
• Usecase dan usecase diagram
• Bedakan usecase dengan usecase diagram
• Sudah masuk ke application domain.
• Usecase adalah pola interaksi antara si user / pengguna
dengan system computer.
• Sedangkan usecase diagram adalah diagram yang
digunakan untuk menggambarkan pola interaksi tersebut
• Usecase berbeda dengan operasi atau proses
Usecase Diagram
• Contoh pada atm, bayangkan seorang nasabah melakukan pola interaksi dengan
atm. Pola interaksi apa saja yang bisa dilakukan nasabah dengan atm? Mengambil
uang, membayar tagihan, mengecek saldo dll; itu semua adalah usecase
• Sedangkan di dalam mengerjakan usecase, nasabah melakukan beberapa operasi /
proses; misal di usecase mengambil uang, nasabah melakukan operasi
memasukkan kartu, memasukkan pin, memasukkan jumlah uang, mengambil
uang, mencetak slip, dll. Jadi jelas sekali, usecase berbeda dengan operasi atau
proses.
• Sekarang bayangkan / analisis untuk kasus sistem parkir. Siapa yang menjadi
usernya (atau dalam hal ini disebut dengan actor)? Jelas StafParkir (nanti
dijelaskan user / actor bukanlah class). Sederhananya, bayangkan saja di real
world, siapa saja yang ‘berinteraksi langsung‘ dengan sistem komputer, jika sistem
itu dijalankan.
Usecase Diagram
• Contoh lain, actornya sistem atm adalah nasabah. Tetapi actornya system teller
pada bank adalah staf teller; nasabah pada kasus ini tidak masuk actor, karena dia
tidak berinteraksi langsung dengan system.
• Bagaimana menentukan atau membuat usecase nya?
• Sederhananya, bayangkan sebuah aktivitas / kumpulan operasi yang dilakukan
oleh seseorang actor di dalam menjalankan aktivitas tersebut dari awal sampai
akhir, actor tersebut menggunakan sistem komputer. Contoh tadi ketika nasabah
mengambil uang, usecase tersebut adalah kumpulan operasi (dari awal sampai
akhir) dari mulai actor tersebut memasukkan kartu, memasukkan pin,
memasukkan jumlah uang, mengambil uang, dan mencetak slip; itu disebut
dengan usecase mengambil uang.
Usecase Diagram
Perhatikan usecase diagram untuk sistem
parkir berikut ini.
System
KendaraanMasuk
StafParkir
KendaraanKeluar
Usecase Diagram
• Dari usecase diagram itu dapat dianalisis
– Usecase diagram terdiri dari 2 usecase: KendaraanMasuk, dan
KendaraanKeluar
– Actor: StafParkir
– Aktivitas / kegiatan terhadap sistem yang dilakukan actor:
• Pada usecase KendaraanMasuk: entri nomor polisi kendaraan, cetak tiket
masuk, buka portal, dan tutup portal
• Pada usecase KendaraanKeluar: entri nomor polisi kendaraan, cetak tiket
keluar, masukkan jumlah nominal pembayaran, buka portal, dan tutup
portal
Usecase Diagram
• Pada usecase diagram ada beberapa notasi yang sering
digunakan, yaitu include dan extend. Notasi include
digunakan jika sebuah usecase harus dilakukan sebelum
usecase berikutnya dilakukan.
• Sedangkan notasi extend digunakan jika sebuah usecase
dapat melakukan usecase lain, sebelum selesai dilakukan.
Untuk contoh kasus notasi extend seperti usecase cek
saldo dan mengambil uang pada atm, sebelum usecase cek
saldo selesai dilakukan (quit), maka bisa melakukan usecase
mengambil uang.
Usecase Diagram
System
KendaraanMasuk
<<include>>
StafParkir
KendaraanKeluar
Activity diagram dan State diagram
• Logikanya sama dengan flowchart pada pengembangan system terstruktur
• Hanya lebih detail, pada activity dan state diagram ini, bukan hanya proses (activity) yang
dijelaskan, namun juga state of object (class) nya dijelaskan
• Activity diagram dibuat berdasarkan usecase diagram; seberapa banyak usecase, akan sama dengan
jumlah activity diagram. Sebagai contoh pada usecase diagram system parkir di atas, memiliki dua
usecase, maka harus digambarkan dua jenis activity diagram untuk masing-masing usecase tersebut
• Sedangkan untuk state diagram, diturunkan dari class diagram; jumlah state diagram harus sesuai
dengan jumlah class (induk bukan turunan) pada class diagram. Sebagai contoh pada system parkir
memiliki empat jenis class (induk), karena Mobil dan Motor, serta TiketMasuk dan TiketKeluar,
termasuk class turunan; maka jumlah state diagramnya pun ada empat.
Activity diagram
/ Kendaraan menunggu
mengentriNoPolisi
/ No Polisi telah dientri
mencetakTiketMasuk
/ KartuMasuk telah dicetak
membukaPortal
/ Portal terbuka
menutupPortal
/ Portal tertutup,Kendaraan masuk area parkir
Activity diagram dan State diagram
• Perhatikan gambar activity diagram untuk usecase KendaraanMasuk di
atas. Semua yang berada di dalam rounded corner box adalah semua
activitas yang dilakukan oleh actor (karena sedang menjelaskan /
menggambarkan usecase) dan semua dijelaskan dalam bentuk kata kerja.
• Sedangkan kata-kata yang ada pada transition line (garis panah) itu adalah
state (status) untuk class yang terlibat; bagaimana kondisi / status dari
masing-masing class yang terlibat pada usecase tersebut terjadi.
• Status digambarkan oleh sebuah atau beberapa kata dimana bayangkan
bahwa kondisi sebuah class / objek yang bisa dipantau / di-record oleh
system.
•
Activity diagram dan State diagram
/ Datang
menungguCetakTIketMasuk
/ Tiket dicetak,Portal dibuka
/ Move
parkir
/ Menuju keluar
menungguCetakTiketKeluar
/ TiketKeluar dicetak,Membayar,Portal dibuka
keluar
/ Portal ditutup
Activity diagram dan State diagram
• Di atas adalah contoh gambar untuk state diagram untuk class Kendaraan
• Kebalikkan dengan activity diagram; bahwa yang berada pada box di dalam state diagram adalah
kata2 yang menjelaskan kondisi / status dari class yang sedang kita gambar state diagramnya (dalam
contoh ini class Kendaraan); sedangkan kata-kata pada garis adalah menggambarkan status / state
dari class-class yang terlibat pada activitas class bersangkutan.
• Perhatikan ketika kendaraan berstatus ‘parkir’, Kendaraan dapat melakukan aktivitas (move);
artinya selama kendaraan ada di area parkir (dan system mencatata bahwa kendaraan tersebut
berstatus ‘parkir’), Kendaraan dapat berpindah-pindah atau memilah-milah area parkir yang lain.
• Status digambarkan oleh sebuah atau beberapa kata dimana bayangkan bahwa kondisi sebuah class
/ objek yang bisa dipantau / di-record oleh system.
Sequence diagram
• Sequence diagram dibuat berdasarkan activity
diagram (dan juga memperhatikan usecase
dan class diagram serta state diagram); dalam
kasus ini berarti akan ada dua jenis sequence
diagram
•
Sequence diagram
StafParkir Kendaraan TiketMasuk Gardu
noStaf
noPolisi noPolisi
noPolisi
noTiket, tanggal, waktuMasuk
noGardu
noGardu
Sequence diagram
• Sequence diagram adalah sebuah diagram yang menjelaskan keterlibatan objek / class dalam (dari)
sebuah usecase pada urutan waktu tertentu. Keterlibatan class biasanya terjadi karena class
tersebut diakses oleh actor atau class lain atau bahkan oleh sistem. Cara mengakses sebuah class
biasa dengan cara mengirim kode message terhadap class tersebut (baik dari actor, class lain atau
sistem); dan biasanya kode message ini berupa kode / primary key class tersebut (class yang
diakses).
• Perintah / proses pemanggilan akses class digambarkan oleh panah dari arah kiri ke kanan
• Sedangkan informasi atau data dari class yang diakses (sebagai return message-nya) digambarkan
oleh panah garis putus-putus dari arah kanan ke kiri
• Seperti pada contoh sequence diagram di atas; sebuah panah dari arah kiri dengan kode ‘noStaf’
adalah sebuah perintah akses terhadap class StafParkir oleh actor (dalam hal ini actor yang
dimaksud adalah StafParkir; pada kesempatan ini terbukti bahwa actor dan class adalah term yang
berbeda); dimana ‘noStaf’ adalah merupakan primary key dari class StafParkir.
Sequence diagram
• Selanjutnya, dalam waktu yang berbeda, perintah akses terjadi pada class Kendaraan dengan kode
message adalah noPolisi (datangnya dari actor juga; artinya perintah akses ini ditrigger oleh actor)
dan dalam waktu yang bersamaan (parallel process; hanya berbeda seper sekian second saja) class
TiketMasuk pun diakses, dimana kode noPolisi sebagai kode messagenya; artinya sebenarnya kode
noPolisi ini hanya sebagai trigger untuk mengakses dua jenis class secara bersamaan (class
Kendaraan dan class TiketMasuk)
• Lalu dari class yang diakses, class tersebut mengembalikan kode (data atau informasi) yang
dibutuhkan (dengan panah garis putus2 dari arah kanan ke kiri); dalam hal ini actor membutuhkan
semua semua data / informasi tersebut (noPolisi, noTiket, tanggal, waktuMasuk, semua tercetak
pada struk tiket masuk; sedangkan noGardu hanya dibutuhkan oleh actor untuk melihat status
portal apakah tertutup atau terbuka).
• Kebutuhan jenis data / informasi oleh si actor tergantung dari seorang analystnya, data / informasi
jenis apa yang dibutuhkan oleh si actor; dan tentunya data dan informasi tersebut merupakan jenis
atribut yang ada pada sebuah class atau hasil perhitungan yang tidak tercatat pada class (hasil dari
operasi class yang diakses)
• Lanjutkan ke sequence diagram untuk usecase KendaraanKeluar
Any Questions?