Mengenal DFD (Data Flow Diagram )



Alat bantu pemodelan pada pendekatan terstruktur   adalah Data Flow Diagram (DFD). Beberapa hal yang sering dialami dalam penggambaran DFD adalah ketidakkonsistenan penggambaran aliran data antara diagram konteks dan DFD-DFD level selanjutnya, tidak terdefinisinya kamus data untuk beberapa aliran data, atau tidak terdefinisiya  Process Specification (PSPEC) pada proses-proses yang tidak didekomposisi lagi. Untuk ruang lingkup masalah yang kecil, yang dapat digambarkan oleh DFD dengan 1-3 level, hal ini tidak  terlalu  memusingkan.  Kita  dengan  mudah  memperbaikinya  atau  melengkapinya. Namun untuk masalah yang kompleks dan berskala cukup besar, yang digambarkan oleh DFD dengan 7-10 level misalnya apakah   kita masih bisa bersabar meneliti satu persatu level untuk memeriksa kekonsistenan aliran data dan kemudian memperbaikinya ? Untuk itulah diperlukan CASE tool (Computer Aided Software Engineering tool), suatu perangkat lunak yang dapat membantu menjaga kekonsistenan pemodelan.

CASE tool banyak digunakan di dunia industri perangkat lunak karena terbukti membantu mempercepat dan menjaga konsistensi hasil pemodelan. Penggunaan CASE tool semakin meluas seiring perkembangan CASE tool yang dapat mentransformasikan hasil pemodelan ke kode bahasa pemrograman tertentu. Ada beberapa CASE tool yang dapat digunakan untuk membantu melakukan pemodelan dengan DFD, antara lain CASE studio dan easy CASE. Pada materi ini akan diperkenalkan CASE studio 2, dengan harapan mahasiswa dapat melakukan pemodelan fungsional dengan memanfaatkan CASE tool tersebut.

Untuk memberikan pemahaman yang lebih lengkap      terlebih dulu akan dibahas DFD. Penjelasan meliputi fungsi DFD, notasi, dan cara pembuatan DFD. Selanjutnya dalam menjelaskan penggunaan CASE Studio 2 ini disertai dengan studi kasus. Studi kasus yang digunakan  dalam  pembuatan  DFD  tersebut  adalah  Sistem  Katalog  Perjalanan  (proses pemesanan tiket pesawat dan hotel dalam paket perjalanan). Dalam sistem ini terdapat tiga buah entitas yaitu Customer (pihak pemesan paket perjalanan), Airline (pihak pengelola jasa penerbangan) dan Hotel (pihak penyedia jasa penginapan). Pada diagram konteks terdapat satu buah proses yaitu Order processing. Proses ini selanjutnya didekomposisi menjadi dua buah sub proses yaitu Order creation dan Travel choice.

Data Flow Diagram (DFD)

DFD     digunakan untuk menggambarkan aliran data yang mengalir dalam sistem atau perangkat  lunak.  DFD  juga  menggambarkan  fungsi-fungsi  yang  dimiliki  sistem  atau perangkat lunak tersebut. Notasi DFD yang digunakan mengacu pada notasi yang pertama kali diperkenalkan Tom De Marco (Gambar 1.1).


Gambar 1.1 Notasi Data Flow Diagram

Pembuatan DFD dimulai dengan pembuatan diagram konteks dan DFD level selanjutnya.

Pembuatan Diagram Konteks

Pembuatan diagram konteks dilakukan dengan tahapan berikut :
a.    menentukan entitas eksternal
b.    menentukan informasi yang mengalir dari entitas luar ke sistem dan sebaliknya
c.    menggambarkan diagram konteks

Diagram konteks memperlihatkan sistem sebagai suatu proses yang berinteraksi dengan lingkungannya.  Gambar 1.2 memperlihatkan contoh diagram konteks.

Gambar 1.2 Contoh Diagram Konteks


Pembuatan Data Flow Diagram (DFD)


DFD merupakan dekomposisi dari proses besar yang terdapat pada diagram konteks seperti yang  diperlihatkan  pada  Gambar  1.3.  Untuk  membuat  DFD  lakukan  langkah-langkah berikut :
a.    Definisikan secara naratif fungsi-fungsi yang dimiliki perangkat lunak
b.    Gambarkan proses-proses yang mewakili fungsi yang telah didefinisikan
c.    Gambarkan aliran data yang masuk dan keluar dari masing-masing proses
d.   Periksa kelogisan dari masing-masing proses dan kekontinuan aliran data
e.    Lakukan langkah seperti tersebut di atas untuk level berikutnya

The Data Flow Hierarchy



Gambar 1.3 Data Flow Diagram level 1

Catatan untuk pemodelan fungsional :
a.    Semua  notasi harus diberi label dengan nama yang memiliki arti
b.    DFD sebaiknya terdiri dari beberapa level untuk memperinci proses atau fungsi yang dimiliki perangkat lunak
c.    Setiap  proses  harus  diberi  label  dengan  kata  kerja  atau  kata  benda  yang menunjukkan fungsi.
d.   DFD dimulai dengan menggambarkan diagram konteks (DFD level0)
e.    Pada diagram konteks entitas eksternal harus digambarkan
f.     Setiap anak panah (merepresentasikan aliran data) harus diberi label dengan kata benda
g.    Proses dapat didekomposisi menjadi proses-proses yang lebih detil sampai tiap-tiap proses teleh merepresentasikan fungsi tertentu
h.    Kebanyakan sistem memerlukan 3 sampai 7 level DFD
i.      Nama  yang  dipakai  untuk  proses,  data  store,  aliran  data  harus  konsisten  dan representastif dengan fungsi atau data yang didefinisikan
j.      Setiap level harus konsisten aliran datanya dengan level sebelumnya
k.    Banyaknya proses yang disarankan pada setiap level tidak melebihi 7 proses
l.      Dekomposisi berdasarkan  kelompok  data  lebih disarankan (memudahkan  aliran data ke storage yang sama)
m.  Untuk proses yang masih perlu didekomposisi lagi, gunakan nama proses yang lebih umum
n.    Untuk proses spesifik (yang tidak didekomposisi lagi), definisikan PSPEC (ProcessSpecification)
o.    Pada proses yang sudah tidak didekomposisi, nama proses dan nama data harus sudah spesifik
p.    Aliran ke data store harus melalui proses, tidak boleh langsung dari entitas luar
q.    Aliran data yang tidak ada data store-nya        harus diteliti, apakah memang tidak mencerminkan presisten entity (perlu disimpan dalam file atau tabel), yaitu kelak hanya akan menjadi variabel dalam program




Komentar

Postingan populer dari blog ini

Cara membatalkan Layanan 92011 Fortumo CB yang tiba tiba aktif

contoh algoritma sederhana (game menyebrang sungai)

Jenis Proses Algoritma