11. Data Flow Diagram - Repository UNIKOM
Pemograman Terstruktur
- Modul ini berisi tentang konsep rekayasa
perangkat lunak (software engineering) untuk
pemograman terstruktur • Pemodelan perangkat lunak menggunakan DFD
(Data Flow Diagram).- Untuk mempermudah pemahaman, ilustrasi perancangan perangkat lunak dengan DFD disertai menggunakan studi kasus
- Pemograman terstruktur adalah konsep atau
paradigma atau sudut pandang pemograman yang
membagi-bagi program berdasarkan fungsi-fungsi
atau prosedur-prosedur yang dibutuhkan program
komputer • Fungsi-fungsi dan prosedur ditulis secara sekuensial
atau terurut dari atas ke bawah sesuai dengan kebergantungan antar fungsi atau prosedur
- DFD tidak sesuai untuk memodelkan sistem perangkat lunak yang akan
dibangun menggunakan pemograman
berorientasi objek.
Notasi-notasi pada DFD
The Hierarchy of Data-Flow Diagrams
T h e H i e r a r c h y o f D a t a F l o w D i a g r a m s
- Contex Diagram/
C o n t e x t D i a g r a m
Diagram Konteks
- DFD Fisik
P h y s i c a l D F D L e v e l- 0 l o g i c a l D F D N o l o w e r l e v e ls L o w e r l e v e l s p o s s ib l e
- DFD Logic
L e v e l 1 d i a g r a m ( s ) L e v e l 2 d i a g r a m s ( s ) , e t c . Tahap Perancangan Database Perancangan Secara Konseptual
• Diagram konteks adalah diagram yang terdiri dari suatu
proses dan menggambarkan ruang lingkup suatu sistem.• Diagram konteks merupakan level tertinggi dari DFD
yang menggambarkan seluruh input ke sistem atau output dari sistem. Ia akan memberi gambaran tentang keseluruhan sistem. Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus).• Dalam diagram konteks hanya ada satu proses. Tidak
boleh ada store dalam diagram konteks.• Diagram konteks berisi gambaran umum (secara garis
besar) sistem yang akan dibuat. Secara kalimat, dapat dikatakan bahwa diagram konteks ini berisi “siapa saja yang memberi data (dan data apa saja) ke sistem, serta kepada siapa saja informasi (dan informasi apa saja) yang harus dihasilkan sistem.”
- Jadi, yang dibutuhkan adalah (1) Siapa saja pihak
yang akan memberikan data ke sistem, (2) Data apa saja yang diberikannya ke sistem, (3) kepada siapa sistem harus memberi informasi atau laporan, dan (4) apa saja isi/ jenis laporan yang harus dihasilkan sistem.
Kata “Siapa” di atas dilambangkan dengan kotak
persegi (disebut dengan terminator), dan kata “apa” di
atas dilambangkan dengan aliran data (disebut dengan
data flow), dan kata “sistem” dilambangkan denganContext Diagram
- Sering disebut DFD Level 0
- Hanya Ada satu proses
- CD menyoroti sejumlah karakteristik penting sistem, yaitu :
1.Kelompok pemakai, organisasi atau sistem lain dimana sistem melakukan komunikasi (sebagai terminator).
2.Data masuk, yaitu data yang diterima sistem dari lingkungan dan harus diproses dengan cara tertentu.
3.Data keluar, yaitu data yang dihasilkan sistem dan diberikan ke dunia luar.
4.Penyimpanan data (storage), yaitu digunakan secara
bersama antara sistem dengan terminator. Data ini
dapat dibuat oleh sistem dan digunakan oleh lingkungan atau sebaliknya dibuat oleh lingkungan dan digunakan oleh sistem. Hal ini berarti pembuatansimbol data storage dalam CD dibenarkan, dengan
syarat simbol tersebut merupakan bagian dari dunia diluar sistem. 9
Contoh Kasus
- Sebagai Contoh, beberapa kemungkinan (data) yang
diberikan pembeli kepada kasir adalah : (1) barang
yang ditanyakan, (2) barang yang akan dibeli,
dan (3) Uang pembayaran. Sebaliknya,kemungkian informasi yang diberikan kasir kepada
pembeli adalah (1) keadaan barang yang ditanyakan, (2) jumlah uang yang harus dibayar.Sedangkan informasi yang diberikan kasir kepada
Pemilik adalah Laporan Jumlah Uang Masuk beserta
Jumlah Barang yang Terjualnya. DFD Konteksnya menjadi Contoh Context Diagram
11 Tahap Perancangan Database Perancangan Secara Konseptual
- Data Flow Diagram (DFD) adalah representasi
grafik dari sebuah sistem. DFD menggambarkan
komponen-komponen sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal, tujuan, dan penyimpanan dari data tersebut. - Kita dapat menggunakan DFD untuk dua hal
utama, yaitu untuk membuat dokumentasi dari
sistem informasi yang ada, atau untuk menyusundokumentasi untuk sistem informasi yang baru.
- Pilih nama yang jelas maksudnya (bagi proses, aliran, penyimpanan, dan terminator)
– Untuk proses sebaiknya menggunakan nama yang mengacu pada fungsi, yaitu
gabungan antara kata kerja yang spesifik dan obyek, misalnya memproses laporan inventori, validasi nomer telepon dan lain-lain. Untuk terminator lebih mengacupada orang atau kelompok orang, sedangkan untuk aliran dan penyimpanan
mengacu pada paket data atau informasi yang terkandung didalamnya.– Jangan menggunakan nama yang terlalu umum, misalnya proses data, tangani
masukan dan lain-lain.- – Gunakan nama yang familiar bagi pemakai.
- Menomori proses untuk memperjelas sistematika.
- – Tidak jadi masalah bagaimana urutan ditempatkan.
- – Nomor tidak menunjukkan urutan.
- – Penomoran dimaksudkan sebagai identifikasi proses dan memudahkan penurunan
13 Petunjuk Membuat DFD
Petunjuk Membuat DFD (2)
- Menggambar kembali DFD hingga beberapa kali, sehingga cukup estetik. Penggambaran kembali yang kadang-kadang bahkan lebih dari sepuluh kali digunakan untuk menjaga secara teknis gambar tersebut sudah benar, dapat diterima oleh pemakai, misalnya tingkat operasional yang akan mengoperasikan dan dapat diterima oleh pimpinan yang dalam hal ini menentukan strategi organisasi. Ketika penggambaran dilakukan ada beberapa hal yang perlu diperhatikan, yaitu :
- – Ukuran dan bentuk lingkaran sebaiknya tetap sama, karena jika tidak dapat menimbulkan kesan lingkaran yang lebih besar memproses sesuatu yang juga lebih besar.
- – Panah yang melengkung dan lurus tidak jadi masalah tetapi sebaiknya tidak menggunakan kedua cara tersebut pada gambar yang sama.
- – Menggambar dengan tangan atau menggambar dengan perangkat tertentu, tidak merupakan masalah. Menggambar dengan tangan seringkali memberikan sesuatu yang lain katakanlah sentuhan seni, tetapi menggambar dengan mesin, seringkali lebih memudahkan modifikasi.
Petunjuk Membuat DFD (3)
- Mencegah DFD yang terlalu kompleks dan tidak perlu.
- – Kegunaan DFD bukan hanya menggambarkan fungsi dan interaksinya dalam sistem secara akurat tetapi juga untuk dibaca dan dimengerti oleh bukan hanya penganalisa sistem, tetapi juga pemakai yang berpengalaman dalam sistem yang dimodelkan. Hal ini berarti : jangan membuat DFD dengan terlalu banyak proses, aliran, penyimpanan dan terminator.
- Menjamin konsistensi DFD tersebut secara intern ataupun yang berkaitan dengan DFD. Konsistensi dalam hal ini juga menyangkut konsistensi dengan model lain (misalnya : entity relationship diagram, state transition diagram, dan process specification).
Perhatikan !
Mencegah proses yang mempunyai
- masukan tetapi tidak mempunyai keluaran yang dikenal dengan lubang hitam (black-hole) Mencegah proses yang mempunyai
- keluaran tetapi tidak punya masukan, misalnya penghasil bilangan acak. Hati-hati dengan aliran dan proses
- yang tidak dinamakan karena dapat mengakibatkan elemen data yang saling tidak berhubungan menjadi satu. Hati-hati dengan penyimpanan yang
- punya status hanya dapat dibaca atau hanya dapat ditulis dan berkaitan dengan proses yang hanya memproses masukan atau hanya memproses keluaran. 16
Penurunan Level DFD
- Setiap penurunan ke level yang lebih rendah harus mampu mempresentasikan proses tersebut dalam spesifikasi 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.
- Konfirmasikan DFD yang telah dibuat pada pemakai dengan cara top-down.
- Aliran data yang masuk dan keluar pada suatu proses di level harus berhubungan dengan aliran data yang masuk dan keluar pada level x+1. Dimana level x+1 tersebut mendefinisikan sub proses pada level x tersebut.
- Ketika mulai menurunkan DFD dari level tertinggi, cobalah untuk mengindentifikasi external events dimana sistem harus memberikan respon. External events dalam hal ini berarti suatu kejadian yang berkaitan dengan pengolahan data di luar sistem, dan menyebabkan sistem kita memberikan
18 Penurunan Level DFD
Nama Level Nama Diagram Nomor Process Context
1 Diagram 0 1.0 2.0 3.0 ....
2 Diagram 1.0 1.1 1.2 1.3 ....
2 Diagram 2.0 2.1 2.2 2.3 ....
2 Diagram 3.0 3.1 3.2 3.3 ....
3 Diagram 1.1 1.1.1 1.1.2 ....
3 Diagram 1.2 1.2.1 1.2.2 ....
3 Diagram 1.3 1.3.1 1.3.2 ....
dstContoh DFD Sistem Pembayaran Royalti
Bagian Penjualan Manajer Keuangan
Bank Pengarang Sistem
Pembayaran Royalti Laporan penjualan
Transfer Bukti transfer Daftar rencana pembayaran
Persetujuan Surat pemberitahuan
Laporan penjualan
1 Mencatat buku terjual Catatan royalti Data buku terjual Jadwal pembayaran
2 Membuat Laporan royalti Jatuh tempo Waktu pembayaran
3 Memproses pembayaran Royalti terbayar Royalti belum terbayar Pengarang Rekening bank Pembayaran Surat pemberitahuan Royalti belum terbayar Data pengarang Nomor rekening Ringkasan royalti Transfer Bukti transfer Daftar rencana pembayaran Persetujuan
Contoh Kasus
• Di sebuah tempat penyewaan Video Compact
Disk (VCD), masih dilakukan pencatatan manual
untuk Penyewaan dan pengembalian VCD oleh Penyewa. Dalam kasus ini, akan dirancang sistem komputerisasi Penyewaan (saja) VCD tersebut.