Data Flow Diagram (DFD) adalah diagram grafis yang digunakan untuk merepresentasikan aliran data dalam suatu sistem. DFD membantu menggambarkan bagaimana data masuk, diproses, dan keluar dari sistem dengan menunjukkan sumber data, tujuan data, penyimpanan data, dan proses yang terlibat.
Memudahkan pemahaman: DFD membantu dalam memahami bagaimana sistem bekerja dengan menampilkan alur data secara visual.
Analisis kebutuhan: DFD digunakan dalam tahap analisis untuk menentukan kebutuhan sistem yang akan dikembangkan.
Komunikasi antar tim: DFD menjadi alat komunikasi yang efektif antara tim pengembang dan pemangku kepentingan (stakeholder).
Menyederhanakan kompleksitas: DFD membantu memecah sistem yang kompleks menjadi bagian-bagian yang lebih kecil sehingga lebih mudah dimengerti dan dipecahkan.
DFD terdiri dari beberapa komponen dasar yang saling berhubungan:
External Entity (Entitas Eksternal)
Entitas eksternal adalah sumber atau tujuan data yang berada di luar sistem. Entitas ini bisa berupa orang, organisasi, atau sistem lain yang berinteraksi dengan sistem yang sedang dimodelkan.
Simbol: Persegi panjang.
Data Flow (Aliran Data)
Aliran data menunjukkan pergerakan data dari satu komponen ke komponen lain dalam sistem. Aliran data diwakili oleh panah, dengan nama yang menjelaskan jenis data yang mengalir.
Simbol: Panah.
Process (Proses)
Proses menggambarkan aktivitas atau fungsi yang dilakukan untuk mengubah input menjadi output. Setiap proses diberi nomor dan nama yang menjelaskan apa yang dilakukan.
Simbol: Lingkaran atau elips.
Data Store (Penyimpanan Data)
Data Store adalah tempat penyimpanan data sementara yang digunakan dalam sistem, seperti basis data atau file. Data yang masuk ke Data Store dapat digunakan atau diambil oleh proses lain.
Simbol: Garis paralel atau dua garis horizontal.
DFD biasanya dibagi menjadi beberapa level untuk menyederhanakan kompleksitas sistem:
DFD Level 0 (Context Diagram)
Context Diagram adalah representasi tertinggi dari DFD, yang menunjukkan seluruh sistem sebagai satu proses besar. Diagram ini menggambarkan hubungan sistem dengan entitas eksternal dan aliran data antar mereka. Tidak ada rincian proses dalam DFD Level 0.
DFD Level 1
DFD Level 1 memberikan rincian lebih lanjut dari DFD Level 0. Pada level ini, proses utama dipecah menjadi subproses untuk menggambarkan bagaimana data diproses lebih rinci.
DFD Level 2 dan Seterusnya
Pada Level 2 dan seterusnya, proses yang ada di Level 1 dipecah lagi menjadi subproses yang lebih spesifik, sampai semua aspek sistem dipahami dengan jelas.
Identifikasi Entitas Eksternal: Tentukan siapa saja yang berinteraksi dengan sistem, seperti pengguna, sistem lain, atau organisasi eksternal.
Identifikasi Aliran Data: Tentukan aliran data yang bergerak antar entitas eksternal dan sistem, serta di dalam sistem itu sendiri.
Definisikan Proses-Proses: Gambarkan aktivitas atau proses yang mengolah data di dalam sistem.
Identifikasi Data Store: Tentukan di mana data disimpan, baik sementara maupun permanen.
Rincikan Proses Lebih Lanjut: Lakukan dekomposisi proses untuk membuat DFD Level 1 dan seterusnya sampai sistem menjadi jelas.
Arus data harus jelas: Setiap aliran data harus menunjukkan perpindahan dari satu komponen ke komponen lain.
Proses harus memiliki input dan output: Setiap proses harus menerima input dari entitas eksternal, data store, atau proses lain, dan menghasilkan output.
Konsistensi antar level: Data yang ada di DFD level yang lebih rendah harus konsisten dengan yang ada di level yang lebih tinggi.
Misalkan kita membuat sistem manajemen perpustakaan. Berikut contoh DFD level 0:
Entitas Eksternal: Pengguna Perpustakaan (Mahasiswa), Admin Perpustakaan.
Proses Utama (Level 0): Sistem Perpustakaan.
Aliran Data: Data peminjaman buku, data pengembalian buku, data pemesanan buku.
Data Store: Basis data buku, basis data transaksi peminjaman.
Kelebihan:
Sederhana dan mudah dipahami.
Menyediakan pandangan top-down yang baik untuk menganalisis sistem.
Mampu memodelkan sistem secara bertahap dan berurutan.
Kekurangan:
Tidak menggambarkan urutan waktu atau kontrol aliran.
Tidak menunjukkan detail implementasi fisik.
Bisa menjadi terlalu kompleks untuk sistem yang sangat besar.
DFD: Fokus pada aliran data dan transformasi data di dalam sistem. Lebih cocok digunakan pada tahap awal analisis sistem.
Diagram UML: Lebih berfokus pada objek dan interaksi antar objek. Cocok digunakan dalam perancangan detail dan pengembangan sistem berorientasi objek.
Data Flow Diagram (DFD) adalah alat yang sangat berguna untuk menggambarkan dan menganalisis aliran data dalam sistem. Dengan menggunakan simbol-simbol standar, DFD memberikan pandangan visual yang jelas tentang bagaimana data diproses, disimpan, dan didistribusikan dalam suatu sistem, membantu dalam pengembangan perangkat lunak yang lebih efisien.