Mengerti, Mencari dan Menumbuhkan Cinta.

Data Flow Diagram (DFD), Process Modeling

Photo by Digital Buggu from Pexels

Apa Itu Data Flow Diagram?

Data flow diagram adalah sebuah model yang mengambarkan pergerakan, proses dan penyimpanan data dalam sistem. Jadi yang perlu diperhatikan di sini adalah yang berada di dalam sistem. Apabila ada sebuah data diberikan tidak melalui sistem tidak akan digambarkan di DFD. Seperti mengirimkan file melalui flashdisk tidak akan digambarkan dalam data flow diagram.

Tujuan Data Flow Diagram (DFD)

Tujuannya sama seperti model yang lain yaitu merepresentasikan sebuah objek. seperti pada paragraf sebelumnya DFD digunakan untuk menggambarkan alur data, sehingga saat tim developer software melihat DFD mereka dapat mengerti input, proses dan output yang harus terjadi dalam sebuah sistem.

Simbol-Simbol DFD

DFD hanya memiliki 4 simbol utama :


1. Interface adalah bagian tatap muka dengan user, disebut juga sebagai source, sumber/pemberi data atau sink, tempat data berakhir/penerima data.

Sumber data bisa dari user, sistem lain.

2.  Data flow, digunakan untuk menggambarkan alur data dari simbol DFD menuju simbol lainnya. 



3. Proses, tempat data di proses. Misal data A masuk dalam proses maka outputnya berupa data lain atau data hasil olahan dari proses tersebut.

 

Berikut adalah contoh dari alur data yang berubah setelah melalui proses 

Jadi data nota dimasukan ke dalam proses rekap dan akan menghasilkan laporan nota. Sebagai catatan tambahan alur data masuk dan alur data boleh lebih dari 1, namun ada aturan-aturan tertentu dalam proses. 

Seperti tidak boleh alur data hanya masuk saja namun tidak menghasilkan apapun, fenomenan ini disebut blackhole.

Blackhole Process

Atau sebaliknya, sebuah proses yang hanya mengeluarkan sebuah data tetapi tidak diketahui sumber data dari mana, fenomena ini disebut miracle dan merupakan sesuatu yang salah dalam menggambar Data Flow Diagram.


Miracle Process


4. Data Store, adalah sebuah simbol yang digunakan untuk menyimpan data yang nantinya akan digunakan pada proses/DFD lain. Data store digunakan untuk membuat gambar lebih rapi agar alur data flow tidak saling bersinggungan dan DFD yang digambarkan menjadi terlalu besar dan sangat kompleks.


Menggambar Data Flow Diagram

Menggambarkan Data Flow Diagram selalu dimulai dari Context Diagram. Context Diagram terdiri dari source/sink dan alur data yang diterima dan dikeluarkan oleh source/sink tetapi proses hanya ada 1 di tengah. Seperti gambar berikut context diagram transaksi penjualan berikut.

Context Diagram Transaksi Penjualan

Context Diagram digunakan untuk mengetahui siapa yang berperan dalam sebuah proses dan transaksi penjualan. Peran di sini adalah data apa yang diberikan dan data apa yang diterima. Context hanya sebatas itu dan tidak memberikan proses lebih detil. Untuk proses lebih detil maka akan digambarkan dalam Data Flow Diagram Level 1: Transaksi Penjualan 

Pastikan semua sink/source tergambar dalam context diagram karena tidak boleh ada sink/source yang tiba-tiba muncul dalam DFD selanjutnya.

Data Flow Diagram Level

Semakin besar level dalam Data Flow Diagram maka alur data dan proses yang digambarkan akan makin detil. Sekedar informasi saja Context Diagram juga dapat disebut Data Flow Diagram level 0.

Untuk Data Flow Diagram Level 1 adalah sebuah bentuk lebih detil dari context Diagram. Seperti gambar berikut.

DFD level 1 Transaksi Penjualan

Perhatikan DFD level 1 ini dengan context diagram sebelumnya. yang berubah di sini adalah jumlah proses lebih banyak dan data mengalir pada proses-proses spesifik yang terjadi di dalam transaksi penjualan. Namun nama data yang berada pada flow, jumlah data keluar dan masuk dari source/sink tidak berubah. Ini adalah aturan dalam menulis DFD agar tidak terjadi kebingungan dalam membaca Data Flow Diagram.

Apabila ada sebuah proses yang perlu didetilkan maka tinggal digambar saja Data Flow Diagram level 2. Misalkan Proses pembuatan nota memiliki sub-proses yang perlu dijelaskan maka kita akan gambar DFD level 2 Proses Pembuatan Nota

Data Flow Diagram Level 2 Proses Pembuatan Nota

Data Flow Diagram Level 2 : Proses Pembuatan Nota  

 

Sekilas gambar terlihat berubah dan jauh dari DFD level 1, namun saya berani jamin tidak. Perhatikan pada gambar DFD Level 1 terutama pada proses pembuatan nota. Pada Proses tersebut ada 3 alur data masuk dan 2 alur data keluar. Hal tersebut masih sama di sini Proses validasi penghapusan mengirimkan 1 alur data, proses penambahan barang mengirimkan 1 alur data, customer menerima 1 alur data dan memberikan 1 alur data dan proses rekap nota menerima 1 alur data. 

Kemana simbol yang lain?

Simbol yang lain tidak harus digambar, karena tidak berhubungan langsung dengan proses pembuatan nota. Tetapi semua simbol yang berhubungan langsung dengan proses pembuatan nota harus digambar ulang.

Aturan-aturan Lain Dalam DFD

Pertama seperti yang dilihat dalam gambar DFD level 1 dan DFD level 2 setiap alur data yang masuk dalam proses keluar dengan nama lain dan setiap nama bersifat unik. Namun akan keluar pertanyaan "Bagaimana dengan data yang digunakan untuk 2 proses?"

Untuk sebuah data yang digunakan dalam 2 proses maka alur data kita gambarkan dengan fork di mana alur data menjadi 2 cabang dengan gambar sebagai berikut


 Untuk hal sebaliknya juga ada yakni 2 alur data menjadi 1. Hal ini disebut join. Data tersebut berasal dari 2 sumber dan menjadi 1 alur. Namun sampai saat ini saya masih belum menemukan contoh yang tepat. 

Penggunaan Data Store

 Untuk penggunaan data store, seperti yang saya bilang sebelumnya, digunakan agar alur data tidak bersinggungan. Untuk ini saya akan kembangkan dari gambar DFD level 2 yang ada di atas.

Data Barang tidak seolah-olah muncul Data barang mungkin berada pada proses atau DFD lain. Di sini data store digunakan untuk mengambil data atau melakukan update dari penyimpanan yang dimiliki. Seperti yang ada pada bagian atas gambar di mana data barang mengeluarkan alur pada proses penambahan barang dan pada proses pengembalian stok barang melakukan update jumlah barang pada data barang. 

Note :

Gambar saya hanya contoh untuk penggunaan data store karena pada kenyataan ini adalah cara gambar yang salah. Karena pada level sebelumnya di proses penambahan barang tidak ada pengambilan dari data store.

Selain itu masih ada banyak aturan yang perlu diingat seperti 

  1. Data Store tidak boleh mengeluarkan alur dan langsung menuju sink/source.
  2. Data store tidak boleh menerima atau memberikan alur dari Data Store lain.
  3. Sink/source tidak boleh mengeluarkan alur data langsung menuju data store
  4. Sink/source tidak boleh mengeluarkan alur data langsung menuju sink/source
  5. Sebuah proses yang mengeluarkan alur menuju proses lain tidak boleh mengembalikan alur apapun pada proses sebelumnya. Contohnya adalah gambar berikut 


 

Dari mana tahu alur data, sink/source dan data yang disimpan dalam data store?

Hal ini tentunya bukan dari diri kita, melainkan dari client kita yang ingin membangun sebuah sistem baru atau dari hasil analisa sistem lamanya client. Lakukan fact finding terlebih dahulu sebelum menggambarkan Data Flow Diagram






Komentar