Anda di halaman 1dari 53

Rekayasa Perangkat Lunak

Pemodelan Proses menggunakan


Data flow Diagram (DFD)
APA ITU...?

• Data Flow Diagram (DFD)


• Diagram Arus Data (DAD)
– alat bantu pemodelan proses yang
menggambarkan aliran data dalam suatu
sistem serta aktivitas atau pemrosesan yang
dilakukan oleh sistem tersebut
– sinonim : model proses, data flow diagram
(DFD)

Rekayasa Perangkat Lunak


DFD/DAD
• Data Flow Diagram atau DFD adalah salah satu tools penting yang
digunakan oleh analis sistem.
• Penggunaan DFD dipopulerkan oleh DeMarco (1978) dan Gane &
Sarson (1979) melalui metodologi analisis sistem terstruktur
(structured systems analysis methodologies).
• Mereka menganjurkan agar DFD menjadi alat pertama yang
digunakan “analis sistem” untuk membuat sebuah model sistem
yang menunjukkan keterkaitan setiap komponen-komponen
sistemnya.
• Komponen sistem tersebut adalah proses-proses dalam sistem,
data yang digunakan oleh proses-proses tersebut, eksternal
entitas yang berinteraksi dengan sistem dan aliran data/informasi
di dalam sistem.

Rekayasa Perangkat Lunak


DFD/DAD
• Menggunakan beberapa simbol untuk merepresentasikan aliran data
antara proses, penyimpanan data dan aliran data ke dalam dan keluar
sistem
• Mengutamakan aliran data dibandingkan aliran dokumen atau laporan
• Lebih bersifat konseptual, tampilan non fisik / logika data dalam sistem,
menyediakan dokumentasi aliran data dan proses pengolahan data yang
lebih baik
• Tidak memperlihatkan urutan atau waktu dari setiap proses
• Tidak menampilkan keputusan
• Memiliki pandangan sistem secara global dan rinci (sub sistem/proses)
serta digambarkan dalam hierarki level
• Dapat digunakan untuk mendeskripsikan aliran data dalam berbagai level
dan antar level

Rekayasa Perangkat Lunak


Versi Representasi DFD

• DeMarco
• Gane & Sarson
• Coad & Yordon
• A. Seen
• SSADM
• dll

Rekayasa Perangkat Lunak


Komponen Penggambaran DFD

DeMarco/Yourdon Gane and Sarson

Rekayasa Perangkat Lunak


Proses (Process)
• kerja yang dilakukan oleh sebuah sistem menanggapi
aliran data yang masuk atau kondisikondisi tertentu.
Sinonimnya adalah transform.
• Pekerjaan atau kegiatan yang dilakukan terhadap data yang
masuk (input) untuk menghasilkan data keluaran (output)
• Proses memperlihatkan mengenai apa yang dilakukan oleh
sistem, kaitannya dengan aktifitas pengolahan data
(perekaman, pengolahan, pembentukan informasi, dsb)
• Proses hanya menunjukkan kegiatannya saja, tidak
merujuk orang/pihak yang melakukan
• Setiap proses mempunyai satu atau lebih data input dan
menghasilkan satu atau lebih data output.
• Setiap proses mempunyai nomor dan nama yang unik.
 contoh: proses pembayaran, proses cetak KRS, dll
 Contoh: Pembuatan Faktur Penjualan, dsb)

Rekayasa Perangkat Lunak


Entitas (Entity)
• Entitas Luar (External Entity )
Merupakan pihak di luar organisasi (bisa orang atau
organisasi) yang mengirimkan input ke sistem atau
menerima output dari sistem berupa data atau informasi
guna menunjukkan batasan dari sistem
• Perannya memberi input data ke sistem atau menerima
output data/informasi dari sistem.
• Desainer (analis sistem) tidak mempunyai kontrol atau
kekuasaan terhadap entitas eksternal.
• Tidak sama dengan entitas dalam basis data
• contoh: Bank, Sekretariat, Kaprodi, Departemen Pendidikan,
dll

Rekayasa Perangkat Lunak


Aliran Data (Data Flow)
• Data flow (aliran data) adalah data yang mengalir di dalam sistem,
tepatnya adalah :
– diantara dua proses
– dari data store ke proses dan sebaliknya
– dari entitas eksternal ke sistem dan sebaliknya
• Dari sifatnya data yang mengalir dapat sebagian atau keseluruhan
tergantung kebutuhan dan dilepaskan dari pandangan proses fisik
• Nama sebuah aliran data diusahakan sesuai mewakili objek data
sebenarnya dan sedapat mungkin tidak menimbulkan kesan
proses, atau sesuatu yang berkaitan dengan format/media
(misalnya : Laporan, Faktur, Surat, dsb)
• menyatakan data masukan ke suatu proses atau data keluaran dari
suatu proses
• dapat juga menyatakan update data dalam suatu file, basis data
atau simpanan data yang lain.
• contoh: Matakuliah yang diambil, Jumlah yang dibayarkan, Saldo
terakhir, dll

Rekayasa Perangkat Lunak


Data Flow Packet Concept

Rekayasa Perangkat Lunak


Diverging and Converging Data Flows
• Aliran divergen dan konvergen aliran
ini digunakan untuk menggambarka
aliran data menyebar atau memusat
pada diagram aliran data.
– Aliran data divergen adalah suatu
aliran yang terpisah menjadi banyak
data, hal ini mengindikasikan bahwa
semua atau sebagian aliran data
tunggal terkirim ke tujuan yang
berbeda
– Aliran data konvergen adalah
penyatuan banyak aliran data
menjadi aliran data tunggal, hal ini
mengindikasikan bahwa aliran data
dari sumber yang berbeda dating
sebagai paket tunggal untuk
pengolahan selanjutnya.

Rekayasa Perangkat Lunak


Simpanan Data (Data Store)

• Data store adalah tempat penyimpanan atau ‘file


cabinet’ (repository).
• Setiap data store mempunyai nama yang unik.
• Pandangan data store dilepaskan dari konsep file
database komputer atau arsip dokumen manual.
• Bisa berupa file atau basis data tapi tidak selalu
berupa file atau basis data
• Merupakan kumpulan data
• contoh: file Mahasiswa, data KRS, dll

Rekayasa Perangkat Lunak


Data Flows to and from Data Stores

Rekayasa Perangkat Lunak


ATURAN-ATURAN PEMBUATAN DAD
Minimal salah satu ujung
suatu aliran data adalah
proses. Jadi tidak boleh
ada aliran data :
•Dari entitas ke entitas
•Dari entitas ke simpanan
data
•Dari simpanan data ke
entitas
•Dari simpanan data ke
simpanan data

Rekayasa Perangkat Lunak


ATURAN-ATURAN PEMBUATAN DAD
1. Data yang mengalir dalam setiap
level DAD harus konsisten (jumlah
data masuk dan keluar dalam suatu
proses harus konsisten)
2. Suatu proses harus punya output
Blackhole: proses tanpa output
3. Suatu proses harus punya input
Miracle: proses tanpa input
4. Suatu proses harus punya cukup
input untuk menghasilkan output
Gray hole: proses tanpa input
memadai untuk menghasilkan
output

Rekayasa Perangkat Lunak


ATURAN-ATURAN PEMBUATAN DAD
7. Data-data yang berasal dari sumber yang sama dan
mengalir dengan tujuan yang sama dapat digambar
dalam satu aliran data (aliran data komposit)
8. Jangan gunakan aliran data menyebar untuk DAD yang
penting. Sebaiknya aliran data dipisahkan menurut
komponen-komponennya
9. Sebaiknya simpanan data diberi nama sesuai dengan
nama yang dipakai dalam model data (diagram ER).
Kata DATA tidak perlu dipakai.
10. Untuk mengurangi kompleksitas gambar, simbol-
simbol proses, entitas, simpanan data dapat dibuat
duplikatnya

Rekayasa Perangkat Lunak


Bagaimana Membuat DFD Yang Baik?

• Sebuah DFD yang baik harus:


– Tidak ada data flow yang terbagi (split) menjadi beberapa
data flow
– Tidak ada data flow yang bertumpuk (crossing lines)
– Tidak mempunyai looping untuk mengontrol elemen seperti
dalam flow chart
– Tidak ada data flow yang berfungsi sebagai ‘sinyal’ untuk
menjalankan suatu proses
• Catatan:
Membangun model sistem dengan tools DFD, tidak dapat
dilepaskan dari penguasaan konsep data dan proses pada
analisis dan desain sebuah sistem informasi

Rekayasa Perangkat Lunak


Model – gambaran dari realitas
Model Proses

Logical model – sebuah Physical model – sebuah


gambaran non-teknis yang gambaran teknis yang
melukiskan sebuah sistem. melukiskan bagaimana
Sinonim: essential model, sebuah sistem dijalankan.
conceptual model, dan Sinonim: implementation
business model. model dan technical model.

Rekayasa Perangkat Lunak


Diagram Aliran Data
Struktur Data

Nama Aliran Data (input)


Entitas Menambah Data
Mengubah Data
Menghapus Data
Nomor Proses

Nama Aliran Data


Nama Proses
Nama Aliran Data (output)

Spesifikasi Proses
Data Store
Nama Aliran Data
Membaca, Menampilkan

Rekayasa Perangkat Lunak


No. Proses

Nama Proses

Nomor Proses

Rekayasa Perangkat Lunak


Diagram Aliran Data (Logis)

Identitas_pelanggan_baru
Administrasi

1.1

Pelanggan_Baru
Mencatat
Info_Pelanggan Pelanggan Baru

Pelanggan
Pelanggan

Rekayasa Perangkat Lunak


Diagram Aliran Data (Fisik)

Win GUI XP: Identitas_pelanggan_baru


Administrasi

1.1

SQL Insert: Pelanggan_Baru


Mencatat
Pelanggan_baru Pelanggan Baru

VB + SQL Server

SQL Server 2005:


SQL Select: Pelanggan Pelanggan

Rekayasa Perangkat Lunak


Diagram Aliran Data (Fisik)

Barang
Administrasi

1.1

Catat pembelian
Pelanggan
pelanggan

Penjualan

Det_penjualan Pelanggan

Rekayasa Perangkat Lunak


Mengapa menggunakan Model
Sistem Logik?
• Meniadakan bias yang dihasilkan dari cara yang
dijalankan sistem saat ini
• Mengurangi resiko hilangnya business
requirement karena kita terlalu terpengaruh
dengan hasil-hasil teknis
• Memudahkan komunikasi dengan end-users
dalam bahasa non-teknis

Rekayasa Perangkat Lunak


Simple Data Flow Diagram

Rekayasa Perangkat Lunak


• Sebuah toko obat digarut ingin membuat sebuah applikasi untuk
mencatat pemesanan obat diapoteknya. Sebelum melakukan
pemesanan, apoteker nya terlebih dahulu mengecek jumlah obat
yang kosong, apabila obat ada stok obat yang kosong selanjutnya
seorang apoteker akan membuat faktur pesanan yang akan
diberikan kepada supplier nya. Selain itu data pemesanan tadi
akan disimpan juga didata pemesanan. Setiap bulannya seorang
apoterker akan membuat laporan pemesanan yang akan diberikan
kepada pemilik toko tersebut.

Rekayasa Perangkat Lunak


• “21” grup merupakan perusahaan pengelola bioskop. Grup ini memiliki sejumlah besar bioskop
yang tersebar di berbagai daerah di Indonesia. SGrup ini akan mengembangkan sistem
penjualan tiket berbasis komputer yang akan digunakan oleh semua bioskop yang dimilikinya.
Seseorang yang akan menonton film Langsung datang kapanpun ke suatu bioskop, tiket bisa
dibeli kapan saja (selama masih dalam hari yang sama) dan di loket mana saja. Jadi seseorang
yang sudah kehabisan tiket untuk jadwal penayangan saat ini, bisa langsung membeli untuk
jadwal penayangan yang berikutnya.
• Seorang resepsionis akan menginputkan tiket yang dipesan kemudian mencetak tiket tersebut.
Setiap tiket yang dijual akan dicatat dalam database dan digunakan sebagai data untuk laporan
penjualan yang nantinya akan diserahkan kepada pemilik bioskop.
Setelah membayar, orang tersebut akan mendapatkan tiket yang merupakan print-out
komputer. Dalam tiket tersebut tercantum nama bioskop, studio, judul film, hari dan tanggal
penayangan, waktu penayangan, baris dan nomor kursi yang ditempati, harga, dan nomor tiket.

Rekayasa Perangkat Lunak


Perbedaan antara DFD dan Flowchart
• Proses dalam DFD dapat dilakukan secara paralel (pada saat yang
sama)
– Proses dalam flowchart dilakukan satu per satu (one at a time)
• DFD memperlihatkan aliran data melalui sebuah sistem
– Flowchart memperlihatkan aliran kontrol (urutan dan
pemindahan kontrol)
• Proses pada DFD dapat memiliki satuan waktu yang berbeda
(daily, weekly, on demand)
– Proses pada flowchart adalah bagian dari sebuah program
tunggal dengan satuan waktu yang konsisten (a single
program with consistent timing)

Rekayasa Perangkat Lunak


Penurunan level dalam DFD

• Konteks Diagram • Konteks Diagram


• Diagram Aliran Data Level 0 • Diagram Dekomposisi
• Diagram Aliran Data Level 1 • Diagram Aliran Data Kejadian
• Diagram Aliran Data Level … • Diagram Aliran Data Subsistem
• Diagram Aliran Data Level N • Diagram Aliran Data Sistem

Rekayasa Perangkat Lunak


Penurunan level dalam DFD

Rekayasa Perangkat Lunak


Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Diagram Konteks (Context Diagram )
• Context Diagram merupakan tingkatan tertinggi dalam diagram
aliran data dan hanya memuat satu proses, menunjukkan sistem
secara keseluruhan.
• Proses tersebut diberi nomor nol.
• Semua entitas eksternal yang ditunjukkan pada diagram konteks
berikut aliran data-aliran data utama menuju dan dari sistem.
• Diagram tersebut tidak memuat penyimpanan data dan tampak
sederhana untuk diciptakan, begitu entitas-entitas eksternal serta
aliran data-aliran daa menuju dan dari sistem diketahui
penganalisis dari wawancara dengan user dan sebagai hasil
analisis dokumen.

Rekayasa Perangkat Lunak


Diagram Konteks (Context Diagram )

• Context Diagram adalah data flow diagram


tingkat atas (DFD Top Level), yaitu diagram yang
paling tidak detail, dari sebuah sistem informasi
yang menggambarkan aliran-aliran data ke dalam
dan ke luar sistem dan ke dalam dan ke luar
entitas-entitas eksternal.
• CD menggambarkan sistem dalam satu lingkaran
dan hubungan dengan entitas luar. Lingkaran
tersebut menggambarkan keseluruhan proses
dalam sistem.
Rekayasa Perangkat Lunak
Aturan dalam (Context Diagram )
• Menggunakan satu simbol proses,
• Nama/keterangan di simbol proses tersebut sesuai dengan fungsi
sistem tersebut,
• Antara Entitas Eksternal/Terminator tidak diperbolehkan
komunikasi langsung
• Jika terdapat termintor yang mempunyai banyak masukan dan
keluaran, diperbolehkan untuk digambarkan lebih dari satu
sehingga mencegah penggambaran yang terlalu rumit, dengan
memberikan tanda asterik ( * ) atau garis silang ( # ).
• Jika Terminator mewakili individu (personil) sebaiknya diwakili
oleh peran yang dipermainkan personil tersebut.
• Aliran data ke proses dan keluar sebagai output keterangan aliran
data berbeda.
Rekayasa Perangkat Lunak
Dekomposisi Proses (Process
Decomposition)
Sistem kompleks biasanya terlalu sulit untuk di
pahami secara menyeluruh pada saat
ditampilkan sebagai suatu keseluruhan (dalam
arti sebagai suatu proses tunggal atau yang
utuh). Oleh karena itu system yang seperti ini
dalam analisis sistem diuraikan menjadi
subsistem-subsistem yang lebih kecil sampai kita
mendapatkan subset yang mampu di kelola
keseluruhan sistem.

Rekayasa Perangkat Lunak


Dekomposisi Proses (Process
Decomposition)
• Dekomposisi adalah kegiatan menguraikan sistem ke
dalam subsistem, proses dan subproses komponennya.
Tiap tingkatan abstraksi menampilkan detail lebih
banyak atau lebih sedikit (sesuai keinginan) mengenai
keseluruhan sistem atau subset system tersebut.
• Dekomposisi diagram adalah alat yang digunakan untuk
menggambarkan dekomposisi system. Disebut juga
bagan hirarki, menunjukkan dekomposisi fungsional
top-down dan struktur sistem. Dekomposisi diagram
merupakan alat perencanaan untuk model proses yang
lebih detail, yaitu diagram aliran data.

Rekayasa Perangkat Lunak


Subsistem

Proses

Subproses

Rekayasa Perangkat Lunak


Dekomposisi Proses (Process
Decomposition)

Decomposition –
tindakan membagi
sebuah sistem ke dalam
beberapa subkomponen.
Masing-masing tingkat
abstraksi menampilkan
lebih banyak atau lebih
sedikit rincian.

Rekayasa Perangkat Lunak


Ketentuan Dalam Pendekomposisian
• Tiap proses dalam diagram dekomposisi merupakan proses
induk, proses anak, atau keduanya.
• Induk harus memiliki dua anak atau lebih-satu anak tunggal tidak
masuk akal karena tidak akan menunjukkan detail tambahan
mengenai system tersebut.
• Pada sebagian besar standar pendiagraman dekomposisi satu
anak hanya dapat memiliki satu induk
• Pada akhirnya anak dari satu induk dapat menjadi induk dari
anak-anaknya sendiri.

Rekayasa Perangkat Lunak


Diagram Dekomposisi
(Decomposition Diagrams)

• Decomposition diagram
Alat yang digunakan untuk
menggambarkan
dekomposisi sebuah sistem.
• Disebut juga hierarchy chart.

Rekayasa Perangkat Lunak


Diagram Dekomposisi
(Decomposition Diagrams)
Konvensi penamaan untuk proses logika tergantung pada letak
proses dalam diagram dekomposisi/diagram aliran data dan tipe
proses yang di gambarkan.ada 3 tipe proses logika: fungsi,
kejadian, dan proses elementer.
– Function/fungsi: satu sel kegiatan yang saling berkaitan dan
berkelajutan pada suatu bisnis.
– Event/kejadian: unit kerja logika yang harus diselesaikan
secara keseluruhan.
– Elementary process/proses elementer: kegiatan atau tugas
diskrit dan detail yang dibutuhkan untuk merespon suatu
kejadian.proses elementer harus dinamai dengan kata kerja
kuat diikuti dengan klausa objek yang mendeskripsikan
“tindakan apa yang dilakukan pada (atau untuk)….”

Rekayasa Perangkat Lunak


Diagram Level n / Data Flow
Diagram Levelled
• Dalam diagram n DFD dapat digunakan untuk
menggambarkan diagram fisik maupun diagram
diagram logis.
• Dimana Diagram Level n merupakan hasil
pengembangan dari Context Diagram ke dalam
komponen yang lebih detail tersebut disebut
dengan top-down partitioning.
• Jika kita melakukan pengembangan dengan
benar, kita akan mendapatkan DFD-DFD yang
seimbang.
Rekayasa Perangkat Lunak
Beberapa hal yang harus diperhatikan
dalam membuat DFD
• Pemberian Nomor pada diagram level n
• Jangan menghubungkan langsung antara satu
penyimpanan dengan penyimpanan lainnya (harus
melalui proses).
• Jangan menghubungkan langsung dengan tempat
penyimpanan data dengan entitas eksternal /
terminator (harus melalui proses), atau sebaliknya.
• Jangan membuat suatu proses menerima input tetapi
tidak pernah mengeluarkan output yang disebut dengan
istilah “black hole”.

Rekayasa Perangkat Lunak


Beberapa hal yang harus diperhatikan
dalam membuat DFD
• Jangan membuat suatu tempat penyimpanan menerima
input tetapi tidak pernah digunakan untuk proses.
• Jangan membuat suatu hasil proses yang lengkap dengan
data yang terbatas yang disebut dengan istilah “magic
process”.
• Jika terdapat terminator yang mempunyai banyak masukan
dan keluaran, diperbolehkan untuk digambarkan lebih dari
satu sehingga mencegah penggambaran yang terlalu rumit,
dengan memberikan tanda asterik ( * ) atau garis silang
( # ), begitu dengan bentuk penyimpanan.
• Aliran data ke proses dan keluar sebagai output keterangan
aliran data berbeda.
Rekayasa Perangkat Lunak
Pemberian Nomor pada diagram level n

• Setiap penurunan ke level yang lebih rendah harus


mampu merepresentasikan proses tersebut dalam
sepesifikasi proses yang jelas. Sehingga seandainya
belum cukup jelas maka seharusnya diturunkan ke level
yang lebih rendah.
• Setiap penurunan harus dilakukan hanya jika perlu.
• Tidak semua bagian dari sistem harus diturunkan
dengan jumlah level yang sama karena yang kompleks
bisa saja diturunkan, dan yang sederhana mungkin tidak
perlu diturunkan. Selain itu, karena tidak semua proses
dalam level yang sama punya derajat kompleksitas yang
sama juga.
Rekayasa Perangkat Lunak
Pemberian Nomor pada diagram level n

• Konfirmasikan DFD yang telah dibuat pada pemakai


dengan cara top-down atau botten-up.
• Aliran data yang masuk dan keluar pada suatu proses di
level n harus berhubungan dengan aliran data yang
masuk dan keluar pada level n+1. Dimana level n+1
tersebut mendefinisikan sub-proses pada level n
tersebut.
• Penyimpanan yang muncul pada level n harus
didefinisikan kembali pada level n+1, sedangkan
penyimpanan yang muncul pada level n tidak harus
muncul pada level n-1 karena penyimpanan tersebut
bersifat lokal.
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Jenis bahasa pemrograman berdasarkan
metodanya

– Pemrograman terstruktur :
Pascal, C/C++, …
– Pemrograman berorientasi
objek : C++, Java, …

Rekayasa Perangkat Lunak

Anda mungkin juga menyukai