Professional Documents
Culture Documents
PERANGKAT LUNAK
2. Data-Oriented Methodologies
Metodologi ini menekankan pada karakteristik
dari data yang akan diproses.
a. Data-flow Oriented Methodologies
Metodologi ini secara umum didasarkan pada
pemecahan dari sistem kedalam modul-modul
didasarkan jenis elemen data dan hubungan antara
fungsi modul-modul.
Yang termasuk dalam kelompok metodologi ini:
- SADT (Structured Analysis and Design Techniques)
- Composite Design
- SSAD (Structured Systems Analysis and Design)
2. Object-Oriented Methodologies
Yang termasuk dalam metodologi ini adalah:
- OMT (Object Modelling Technique),
- OOA/D (Object-Oriented Analysis/Design ),
- UML (Unified Modelling Language).
3. Prescriptive Methodologies
Yang termasuk dalam metodologi ini adalah:
- PLEXSYS
- PRIDE
- SDM/70 (System Development Methodology/70)
- SRES (Software Requirment Engineering
System)
Software Process
Requirements
definition
System
design
Implementation
and testing
Integration
and testing
Operation and
maintenance
PERANCANGAN PERANGKAT LUNAK
Penalaran, bahasa,
aritmatika dan logika Kreativitas, seni,
Apa tujuan dari Perancangan
Tujuan dari perancangan adalah untuk menghasilkan
suatu model atau gambaran lengkap dari suatu
perangkat lunak yang akan dibangun.
Perancangan disini adalah mendekomposisi fungsi
program menjadi modul-modul dan kemudian
menjelaskan spesifikasi dari setiap modul (data,
proses, interface).
Penggunaan Model-model
Dapat dibangun oleh satu
orang dan membutuhkan:
• Pemodelan Minimal
• Proses sederhana Dibangun oleh sejumlah Tim
• Peralatan sederhana Kontraktor dan membutuhkan:
• Model rekayasa
• Proses yang terkoordinasi
mnya dibangun oleh suatu tim dan
• Mesin-mesin indutri
utuhkan:
modelan
oses yang baik
t-alat canggih
Apa pentingnya perancangan
perangkat lunak ?
Pentingnya perancangan perangkat lunak dapat
dinyatakan dengan kata tunggal – kualitas.
Perancangan adalah tempat dimana kualitas dibangun
dalam pengembangan perangkat lunak.
Perancangan memberi kita gambaran perangkat lunak
yang kualitasnya dapat dinilai.
Perancangan adalah satu-satunya cara dimana kita
dapat secara akurat menerjemahkan kebutuhan
pelanggan ke dalam produk/sistem perangkat lunak.
Tanpa rancangan, kita berisiko membangun sistem yang
tidak stabil, sulit diuji dan kualitasnya tidak dapat dinilai.
PERANCANGAN PERANGKAT LUNAK
(Menurut ANSI/IEEE Std 729-1983)
Perancangan Perangkat Lunak adalah suatu perioda
didalam siklus hidup rekayasa perangkat lunak,
mulai dari analisis, dokumentasi, dan pemeriksaan
kembali rancangan data, arsitektur, interface dan
prosedur perangkat lunak, untuk memenuhi
kebutuhan tententu.
Definisi Umum
Perancangan perangkat lunak adalah suatu
proses untuk mengubah kebutuhan-kebutuhan
(requirements) fungsional menjadi suatu
struktur dan prosedur sebelum dilakukan
pengkodean atau pemrograman.
Aspek Manajemen dan Aspek Teknis
Interface Design
Perancangan perangkat lunak menurut aspek teknis:
Table
Table field
Data element
uses
Domain
uses
File Data Structures
A file: “STUDENT”
field
3 Smith Jane A
1 Wood Bob C
record
2 Kent Chuck B
4 Boone Dan B
Contoh Data
Program 3
Data Dictionary
Apa itu Entity Relationships Diagram ?
Entitas adalah komponen-komponen yang ada dalam sistem yang
dijadikan model.
Relationship adalah hubungan antara entitas-entitas
- One to Many (1:M) – mis: Ibu ke Anak
- One to One (1:1) – mis: Tgl. kelahiran ke Tgl. Kematian
- Many to Many (M:M) – mis: Produk ke Purchase Order.
Premises
– The real world consists of entities
– Entities in one enterprise are
related
– Database model =
relevant entities + relationships among them
– Entities and relationships have attributes
Database Design
Logical design
Logical Schema
Physical design
Relationship sets
Relationship set: a relation among entity sets:
– e.g. (Smith,IST210) takes
Relationship sets
– have degree
– may have attributes
– e.g. final mark attribute for takes relationship
Graphical Elements of the ER Diagram
Its components are:
– rectangles representing entity sets.
– ellipses representing attributes.
– diamonds representing relationship sets.
Relationship
Entity Attribute
Weak Entity
Entity, Attribute, Relationship
Name Address
Numb
CLIENT PASSPORT
Exp
ITINERARY
• A client must have a passport
• Each client has only one passport
Date city • A client may have one or more
itinerates
• An itinerary belongs to one client
Basic relationships
One-to-One HUSBAND WIFE
Has Take
Teach
Review
Levelisasi DFD
Diagram Konteks (Level 0)
Merupakan data flow diagram level
tertinggi dan langkah awal pada sebuah
sistem, yang menggambarkan sistem
dengan lingkungan luar sistem yang
berhubungan secara langsung.
Diagram Level 1
Penguraian dari proses sistem yang ada
pada diagram konteks, menggambarkan
hubungan proses utama yang ada didalam
Tujuan Data Flow Diagrams ?
Untuk memperlihatkan:
Empat komponen sistem komputer: input,
output, processing, storage.
Bagaimana informasi masuk dan
meninggalkan sistem.
Apa saja yang mengubah informasi.
Dimana informasi di simpan.
Data
Flow
Data store
Simple Data Flow Diagram
Common Process Errors on DFDs
SOAL
Buatlah Data Flow Diagram siklus transaksi dari
empat siklus aktivitas bisnis yang umum.
Empat Siklus Aktivitas Bisnis yang Umum
1. Siklus Pendapatan. Kejadian-kejadian yang berkaitan
dengan penjualan barang dan jasa dan penagihan hasil-
hasilnya (pesanan pelanggan, penagihan, piutang dagang dan
pelaporan penjualan).
2. Siklus Pengeluaran. Kejadian-kejadian yang berkaitan
dengan perolehan barang dan jasa dan pelunasan kewajiban /
hutang (pemilihan pemasok, pembelian, hutang dagang dan
penggajian).
3. Siklus Produksi. Kejadian-kejadian yang berkaitan dengan
manajemen dan pengendalian sumber daya, investasi dan
fasilitas (akutansi biaya produksi, pengendalian persediaan
dan akutansi kekayaan).
4. Siklus Keuangan. Kejadian-kejadian yang berkaitan dengan
perolehan dan manajemen dana-dana modal, termasuk kas
(kas, hutang, dan pensiun karyawan).
Kejadian-
kejadian
Ekonomik
Transaksi-
transaksi
Siklus Siklus
Siklus Siklus
Produksi Keuangan
Pendapatan Pengeluaran
Siklus
Laporan
Pelaporan
Keuangan
Keuangan
Apa itu State Transition Diagram ?
State Transition Diagram merepresentasikan perilaku suatu
sistem dengan menggambarkan keadaan-keadaannya (states)
dan kejadian-kejadian yang dapat membuat sistem berubah
keadaan.
Menunjukkan tindakan-tindakan apa yang harus dilakukan
sebagai akibat dari kejadian tertentu.
Keadaan adalah mode perilaku yang dapat diamati.
2-state Coffee
Switch button to on
Maker:
Requirements
Requirements
specification
specification
Data
Architectural Abstract Interface Component structure Algorithm
design specification design design design design
Decomposition
diagram – suatu
perangkat yang
digunakan untuk
menggambarkan
dekomposisi dari
suatu sistem.
Disebut juga
hierarchy chart.
Structure Chart
Perangkat utama yang digunakan pada perangcangan
tersetruktur adalah Structure Chart.
Structure Chart memberi gambaran mengenai modul-
modul dalam suatu sistem, bagaimana sistem
diorganisasikan menjadi modul-modul yang terkelola,
hirarki dari tiap-tiap modul tersebut, dan interface
komunikasi antara modul.
Structure Chart tidak memperlihatkan prosedur
internal yang dilakukan suatu modul atau data internal
yang digunakan oleh suatu modul.
Structure Chart terdiri dari: (1) Modul-modul individual;
(2) Data dari dan ke modul; (3) Kontrol sebagai interface
antara modul-modul.
Simbol-simbol Structure Charts
Module
Control flow
Data flow (data structure or data element)
Control flag
Panah lingkaran berlubang untuk
menggambarkan data yang dipertukarkan
antara dua modul
Panah lingkaran solid untuk menggambrakan
pesan-pesan (flag) yang dilewatkan antara
dua modul.
Get
Customer
Details
Find
Customer Data dari yang dipanggil ke pemaggil
Name
Intan : hanya satu modul dibawahnya (subordinate)
yang dipanggil.
Kura garis: modul-modul subordinat akan dipanggil
secara berulangulang sampai kondisi akhir terpenuhi.
CONTOH SOAL
Buat data flow graph dari ATM (automatic teller
machine).
MAIN
ne tra
Rec t # ns
Re
w
#
c
c
t Ac
Acc
Ac
Rp
Rp ct
SUMMARIZE
PAYMENTS
FOR ALL
CUSTOMERS
Total for One Total for All
Customer Customers
Total for One
EOTP
Customer
GET TOTAL
PUT
PAYMENT FOR PUT FINAL
CUSTOMER
ONE TOTAL
TOTAL
CUSTOMER
Field
right personalauthor
notes ? corporatename*
book
title
bibliographic
category + conference*
descriptor + format
subject
keyword* size
abstract* isbn
availability notes ?
Diagram W/O Buku trn type
Perpustakaan publisher
status
notes ? corporatename*
title
bibliographic
(1)
book category + conference*
descriptor + format
subject
(1) keyword* size
abstract* isbn
availability notes ?
(1)
Prosedur Perangkat Lunak
Prosedur Perangkat Lunak lebih
menajamkan pada rincian tahap-tahap
pemrosesan dari setiap modul secara
individual.
Prosedur harus memberikan spesifikasi
yang lengkap dari suatu pemrosesan,
meliputi urutan-urutan kejadian, titik-titik
keputusan yang nyata, operasi-operasi
berulang, dan bahkan organisasi dan
struktur data.
Prosedur Perangkat Lunak
Flowcharts
Flowchart adalah teknis analitik digunakan
untuk menggambarkan beberapa aspek dari
suatu sistem informasi secara logis, jelas, dan
konsisten.
On-line storage
Proses
SEQUENCE
PROCESS B
TRUE PROCESS E
TRUE
PROCESS D PROCESS C
S
SELECTION ITERATION
KONSTRUKSI FLOWCHARTs
Berurut
Bersyarat
Seleksi Berulang
SYSTEM FLOWCHART:
HUMAN
RESOURCES PAYROLL
DATA TIME CARDS MASTER
LOAD &
VALIDATE
PAYROLL SYSTEM
VALID
TRANS- PAYROLL
ACTIONS MASTER
PAYROLL
DIRECT GENERAL UPDATED
REPORTS & PAYROLL
CHECKS DEPOSITS LEDGER
MASTER
Pertanyaan
module
integration
cost
Forms Spec
Order Product
Customer
ERD
O rder Product
Salesperson
Salesperson
Architecture
Update
Marketing
Authorize
Credit
Order
Entry
Tables
Bill
VB Code
Customer
VC++ Code
Schedule
Delivery
Inventory
1. Abstraksi Fungsional
Dalam abstraksi fungsional suatu modul dicirikan
dari fungsi yang dibentuknya. Abstraksi ini
berhubungan dengan metodologi perancangan
struktural
Misalnya suatu modul untuk menghitung nilai
sinus dapat diberi abstrak yang digambarkan
sebagai fungsi sinus.
2. Abstraksi Data
Dalam abstraksi data, data diperlakukan seperti
suatu obyek dengan beberapa operasi yang
ditentukan sebelumnya untuk data-data
tersebut. Bentuk abstraksi ini merupakan dasar
metodologi perancangan berorientasi obyek.
Suatu modul yang mengendalikan modul modul yang lain disebut
superodinate terhadap modul tersebut.
Sedangkan suatu modul yang dikendalikan modul lain disebut
subordinate terhadap modul tersebut
Menurut struktur perangkat lunak, suatu modul
dapat dikategorikan sebagai:
Modul berurutan (sequential module) yaitu diacu dan
dieksekusi tanpa adanya interupsi oleh perangkat
lunak aplikasi. Misalnya subprogram
konvensional, subroutine, functions atau procedures.
Module bertambah (incremental module) yaitu dapat
diinterupsi sebelum menyelesaikan seluruh tugasnya
oleh perangkat lunak aplikasi dan sesudah itu
melanjutkan kembali dari titik yang terinterupsi
Sering disebut dengan coroutines.
Modul paralel yang melaksanakan secara simultan
dengan modul lain dalam lingkungan multiprosesor
yang bekerja secara paralel.
Modul-modul paralel disebut conroutines
KUALITAS PERANCANGAN
(MODULE INDEPENDENCE )
coupling
antara
module
cohesion
didalam
module
Bagaimana terjadinya interaksi antara modul-
modul ?
Jawab:
Module 2
4. Control coupling
Control coupling ditandai dengan adanya jalur
kendali antara modul. Modul satu mengendalikan
aliran data di modul yang lain, kendali dilakukan
melalui flag yang mengontrol logika intern modul
yang lain.
5. External coupling
Tingkat coupling yang terjadi bila modul-
modul terikat pada lingkungan luar (external)
dari perangkat lunak.
6. Common coupling
Modul-modul dikatakan common coupling jika
modoul-modul tersebut menggunakan data
yang disimpan di area memori yang sama.
7. Content coupling
Content coupling terjadi jika suatu modul menggu-nakan
data atau mengendalikan informasi dari modul yang lain
tanpa berhubungan lewat suatu parameter.
Content coupling dapat juga terjadi jika percabangan
dilakukan ke tengah-tengah suatu modul yang lain
Isi Jenis Jenis
informasi komunika hubungan
si
Low Sederhana, Data Koneksi
coupling jelas normal
(terbaik)
Data coupling dengan
parameter
Stamp coupling
Control coupling
Common coupling
Content coupling
Rumit, Pathalogical,
High Tidak jelas Kontrol tidak dengan
coupling parameter
(terjelek)
Exercise: Classify the Couplings
p Numbe
In Out
r
1 Aircraft Status
1
type flag
q 2 List of
2 -
parts
3 4 Functio
3 -
r s n code
List of
4 -
5 6 parts
Part
t u Part
manu-
5 numbe
facture
p, t, u access the same r
r
database in update mode Part
Part
6 numbe
KEPADUAN (COHESION)
Cohesion adalah ukuran keterpaduan dimana hubungan
antara elemen-elemen dalam suatu modul jelas dan
terstruktur, sehingga modul dapat dipandang sebagai suatu
unit dengan fungsi tunggal (functionally cohesive).
Low coupling
High cohesion.
Struktur Informasi
Inisialisasi
x = 0, y = 0
abc
x=x+y
y=y+5
x, y
hitung1 hitung2
x=x+5
y=y+x
x=x+y
y=y+5
Output
b. Jelaskan jenis coupling apa yang terjadi
dan modifikasi program diatas untuk
memperbaiki struktur programnya
sehingga coupling menjadi lebih rendah.
c. Jenis Content coupling
d. Modifikasi menjadi data coupling dengan
menghilangkan pemanggilan modul
hitung 1 pada modul hitung 2
Otomatisasi Sistem Manual Terdefinisi Baik
DETAILED DESIGN TOOLS
Graphical tools. Rincian prosedur digambarkan
dalam bentuk bangunan logika dalam bentuk
gambar-gambar khusus.
- Flowchart.
- Diagram Kotak (Box Diagram).
Tabular tools. Rincian prosedur
direpresentasikan dalam bentuk tabel yang
menggambarkan aksi-aksi, kondisi-kondisi dan
alternatif-alternatif yang menghu-bungan
informasi masukan, pengolahan, dan keluaran .
- Tabel Keputusan (Decision Tables).
Language tools. Rincian prosedur digambarkan
dalam suatu pseudocode yang sangat
menyerupai suatu bahasa pemrograman.
- Program Design Language (PDL)
Pertanyaan
Satuan
Aliran data
Label
Proses
Penyimpan data
Aturan-aturan Diagram Aliran Data
Aliran informasi dari sistem manual,
otomatis, hibrid, dapat digambarkan dengan
jelas.
Setiap gagasan membutuhkan
penyempurnaan untuk memberikan
pengertian yang lengkap.
Aliran data diberi tekanan lebih dari pada
aliran kendali.
Satuan eksternal dan manusia tidak
dimodelkan dalam Diagram Aliran Data.
Setiap panah diberi label.
Panah yang membawa data, tidak punya
Contoh DFD
Konteks DFD
Hierarchy of DFDs
Context Diagram (Level 0 DFD)
– Terminology not consistent
High-level
DFD (Level 1) presents the
overview of the system
– shows major processes / functions / sub-
systems in the system, and has the
same number of external entities as in
the Context Diagram
Lower-levelDFD expands each higher
level process into more detailed
processes
Level 0 DFD (Context Diagram)
Level 0 DFD
– Shows system boundaries
– External entities that interact with
the system
– Major information flows between
entities and system
Defines the scope and boundary of
the system
Diagram Level 0
DIAGRAM KOTAK
Diagram kotak disusun untuk mengembangkan suatu
perangkat rancangan grafik yang tidak
membolehkan adanya pelanggaran konsutriksi
struktur
Diagran N-S charts (Nassi-Shneiderman
charts )
1. Domain fungsional didefinisikan dengan baik
dan terlihat jelas sebagai suatu representasi
piktorial.
2. Perpindahan kendali yang berubah-ubah
tidak dimungkinkan.
3. Batasan dari data lokal dan/atau global dapat
dengan mudah ditentukan.
4. Pengulangan dapat dengan mudah
DIAGRAM KOTAK
Berulang
DIAGRAM KOTAK
1. Elemen utama dari diagram adalah suatu kotak.
2. Untuk menggambarkan suatu urutan, dua atau lebih
kotak dihubungkan dari atas ke bawah.
3. Untuk menggambarkan if-then-else, suatu kotak
kondisional diikuti dengan suatu kotak bagian then
dan suatu kotak bagian else.
4. Pengulangan digambarkan dengan suatu pola
keliling yang melingkari proses (bagian do-while
atau bagian repeat-until) yang diulang.
5. Seleksi digambarkan menggunakan bentuk kotak
pilihan.
TABEL KEPUTUSAN
Tabel keputusan (decision tables) adalah suatu
perangkat yang menerjemahkan aksi-aksi dan
kondisi-kondisi dalam bentuk tabular
Garis tebal membagi tabel menjadi empat
bagian :
Seperempat bagian kiri-atas berisi daftar dari
segala kondisi-kondisi.
Seperempat bagian kiri-bawah berisi daftar
dari seluruh aksi-aksi yang mungkin
berdasarkan kombinasi dari kondisi diatas.
Bagian kanan berbentuk matriks
menunjukkan kombinasi kondisi dan aksi-aksi
berhubungan yang akan terjadi untuk suatu
kombinasi tertentu.
Setiap kolom matriks dapat dinterpretasikan
sebagai suatu aturan pengolahan (processing
rule).
Untuk mengembangkan tabel keputusan
dilakukan langkah-langkah berikut: :
Daftar seluruh tindakan/aksi yang dapat
dihubungkan dengan suatu prosedur
tertentu.
Daftar seluruh kondisi (atau keputusan yang
dibuat) selama pelaksanaan prosedur .
Satukan sejumlah kondisi tertentu dengan
aksi-aksi tertentu yang menghapuskan
kombinasi-kombinasi yang tidak mungkin;
kemungkinan lain, kembangkan setiap
permutasi kondisi-kondisi yang mungkin.
Tentukan aturan-aturan ( rules) dengan
menunjukkan aksi apa yang dapat terjadi
TABEL KEPUTUSAN
IPO CHARTS
IPO CHARTS
Input-processing-output (IPO) charts adalah suatu
perancangan perangkat lunak dan teknik
dokumentasi yang dikembangkan oleh IBM.
• Deklarasi Data
• Teknik penstrukturan blok.
• Konstruksi Kondisi
• Konstruksi Pengulangan (Repetition)
• Definisi Subprogram
• Penggambaran Interface
• Konstruksi I/O
PROGRAM DESIGN LANGUAGE
Contoh: PDL untuk kendali pintu Lift (IEEE CSP).
Apa itu CASE ?
(Computer-Aided Software Engineering)