Biar Nggak Bingung: Ini Beda DFD Level 0 dan 1 yang Wajib Kamu Tahu!
Diagram Arus Data (DFD) adalah salah satu alat visual yang paling umum digunakan dalam analisis sistem untuk memodelkan bagaimana data bergerak melalui sebuah sistem. DFD membantu kita memahami proses-proses, entitas eksternal yang berinteraksi dengan sistem, dan penyimpanan data yang digunakan. Ada beberapa tingkatan dalam DFD, dan yang paling fundamental serta sering dibicarakan adalah Level 0 dan Level 1. Memahami perbedaan keduanya sangat krusial sebelum kita bisa menggambar atau membaca DFD dengan benar. Yuk, kita telusuri lebih dalam apa saja sih bedanya DFD Level 0 dan Level 1 itu.
Image just for illustration
Apa Itu DFD Secara Umum?¶
Sebelum masuk ke level-level spesifik, penting untuk mengerti konsep dasar DFD. DFD adalah representasi grafis dari aliran data dalam sebuah sistem. Sistem di sini bisa berupa sistem informasi berbasis komputer, manual, atau bahkan gabungan keduanya. Tujuan utama DFD adalah menunjukkan bagaimana data masuk ke dalam sistem, diproses, disimpan, dan keluar dari sistem.
DFD fokus pada aliran data, bukan kontrol atau urutan eksekusi. Ini yang membedakannya dari flowchart atau diagram alir proses lainnya. Komponen dasar DFD biasanya meliputi proses (lingkaran atau persegi bulat), entitas eksternal (persegi panjang), data flow (panah), dan data store (dua garis paralel). Simbol-simbol ini mungkin sedikit bervariasi tergantung metodologi (Yourdon-DeMarco, Gane & Sarson), tapi konsepnya sama.
DFD sering digunakan pada tahap awal analisis sistem karena membantu analis dan stakeholder memahami ruang lingkup sistem dan fungsi utamanya secara visual. Kemampuannya untuk digambarkan dalam level yang berbeda (hierarkis) memungkinkan detail yang lebih mendalam seiring dengan perkembangannya. Proses penggambaran DFD biasanya dimulai dari level paling abstrak dan kemudian dipecah (dekomposisi) menjadi level yang lebih rinci.
Komponen-Komponen Dasar DFD¶
Untuk menyegarkan ingatan atau bagi yang baru belajar, mari kita lihat kembali simbol-simbol dasar dalam DFD yang akan kita temui di Level 0 maupun Level 1:
-
Entitas Eksternal (External Entity): Ini adalah sumber atau tujuan data di luar sistem yang sedang dimodelkan. Bisa berupa orang, organisasi, atau sistem lain yang berinteraksi dengan sistem kita. Entitas eksternal digambarkan sebagai persegi panjang. Mereka mengirim data ke sistem atau menerima data dari sistem. Contoh: Pelanggan, Supplier, Bank, Departemen Lain.
-
Proses (Process): Ini adalah fungsi atau transformasi yang dilakukan pada data. Data masuk (input) ke proses, diproses, dan data keluar (output). Proses digambarkan sebagai lingkaran atau persegi dengan sudut membulat. Setiap proses harus memiliki setidaknya satu input dan satu output. Contoh: Proses Pesanan, Hitung Gaji, Verifikasi Data.
-
Aliran Data (Data Flow): Ini adalah data yang bergerak dari satu komponen ke komponen lain. Aliran data digambarkan sebagai panah berlabel yang menunjukkan arah pergerakan data. Label pada panah biasanya menjelaskan jenis data yang mengalir. Contoh: Informasi Pesanan, Laporan Penjualan, Data Pelanggan.
-
Penyimpanan Data (Data Store): Ini adalah tempat data disimpan untuk digunakan nanti. Data store mewakili file, database, arsip, atau tempat penyimpanan data lainnya. Digambarkan sebagai dua garis paralel. Data dapat masuk ke data store (ditulis) atau keluar dari data store (dibaca). Contoh: Database Pelanggan, File Inventori, Arsip Faktur.
Penting dicatat, entitas eksternal dan data store adalah ‘pasif’ dalam diagram, mereka hanya sumber/tujuan atau tempat penyimpanan. Hanya proses yang melakukan ‘aksi’ atau ‘transformasi’ data.
DFD Level 0: Diagram Konteks¶
DFD Level 0, sering juga disebut sebagai Diagram Konteks (Context Diagram), adalah level DFD yang paling abstrak. Level ini menyajikan gambaran sistem secara keseluruhan sebagai satu kesatuan proses tunggal. Tujuan utamanya adalah untuk menunjukkan interaksi antara sistem yang sedang dikaji dengan entitas-entitas eksternal yang ada di sekitarnya.
Pada DFD Level 0, seluruh fungsi sistem “disembunyikan” dalam satu proses besar. Kita tidak melihat detail internal sistem di level ini. Yang kita lihat hanyalah bagaimana sistem secara keseluruhan berinteraksi dengan dunia luar – data apa yang masuk, data apa yang keluar, dan siapa (atau apa) saja yang mengirim atau menerima data tersebut. Ini seperti melihat sistem dari helikopter, hanya melihat batas luarnya dan interaksi di perbatasan.
Diagram Konteks sangat penting sebagai titik awal karena mendefinisikan lingkup dari sistem. Ia secara jelas menunjukkan apa saja yang ada di dalam sistem (proses tunggal di tengah) dan apa saja yang ada di luar sistem (entitas eksternal di sekelilingnya). Semua aliran data yang masuk ke sistem atau keluar dari sistem harus terwakili di level ini, menghubungkan proses tunggal dengan entitas eksternal terkait.
Tidak ada data store (penyimpanan data) yang digambarkan di DFD Level 0. Kenapa? Karena data store adalah detail internal sistem, dan Level 0 hanya fokus pada interaksi di batas sistem. Penyimpanan data baru akan muncul di level-level yang lebih rinci, di mana proses tunggal ini dipecah.
Komponen DFD Level 0¶
- Satu Proses Tunggal: Mewakili seluruh sistem. Biasanya diberi nomor ‘0’.
- Entitas Eksternal: Sumber dan tujuan data di luar sistem. Terhubung langsung ke proses tunggal.
- Aliran Data: Panah yang menghubungkan entitas eksternal dengan proses tunggal, menunjukkan data yang masuk dan keluar dari sistem.
Misalnya, untuk sistem pemrosesan pesanan online:
- Proses 0: Sistem Pemrosesan Pesanan Online
- Entitas Eksternal: Pelanggan, Sistem Gudang, Sistem Pembayaran, Sistem Pengiriman
- Aliran Data: Pesanan Masuk (dari Pelanggan ke Sistem), Konfirmasi Pesanan (dari Sistem ke Pelanggan), Informasi Pengiriman (dari Sistem ke Sistem Pengiriman), Detail Pembayaran (dari Sistem ke Sistem Pembayaran), Detail Produk (dari Sistem Gudang ke Sistem), dll.
Ini adalah gambaran paling sederhana. DFD Level 0 memberikan pandangan tingkat tinggi yang mudah dipahami oleh semua pihak, termasuk yang tidak memiliki latar belakang teknis mendalam.
Image just for illustration
Contoh DFD Level 0 dengan Mermaid¶
mermaid
graph LR
A[Pelanggan] -->|Pesan Barang| B(Sistem Toko Online);
B -->|Konfirmasi Pesanan| A;
B -->|Informasi Pesanan| C[Gudang];
C -->|Status Stok| B;
B -->|Data Pembayaran| D[Sistem Bank];
D -->|Konfirmasi Pembayaran| B;
Diagram di atas menunjukkan gambaran DFD Level 0 yang sangat sederhana untuk “Sistem Toko Online” (proses tunggal ‘B’). Entitas eksternalnya adalah Pelanggan (‘A’), Gudang (‘C’), dan Sistem Bank (‘D’). Panah menunjukkan aliran data antara entitas eksternal dan sistem.
DFD Level 1: Dekomposisi Tingkat Pertama¶
Setelah kita punya DFD Level 0 yang menunjukkan sistem sebagai satu kotak hitam yang berinteraksi dengan dunia luar, langkah selanjutnya adalah “membuka kotak hitam” itu. DFD Level 1 adalah hasil dekomposisi (pemecahan) dari proses tunggal di DFD Level 0. DFD Level 1 menunjukkan fungsi-fungsi utama atau sub-proses yang ada di dalam sistem.
Pada DFD Level 1, proses tunggal dari Level 0 dipecah menjadi beberapa proses yang lebih kecil. Setiap proses ini mewakili fungsi utama atau tahap penting dalam aliran data di dalam sistem. Misalnya, jika proses di Level 0 adalah “Sistem Pemrosesan Pesanan Online”, maka di Level 1, proses-prosesnya mungkin adalah “Memproses Pesanan Masuk”, “Mengelola Inventori”, “Melakukan Pembayaran”, dan “Menyiapkan Pengiriman”.
Selain proses-proses yang terpecah, DFD Level 1 juga memperkenalkan data store (penyimpanan data). Data store ini diperlukan karena data yang mengalir antar proses di dalam sistem seringkali perlu disimpan untuk sementara atau permanen. Entitas eksternal dari Level 0 tetap ada di Level 1 dan terhubung ke proses-proses yang relevan.
Hubungan antara DFD Level 0 dan DFD Level 1 sangat penting dan disebut sebagai balancing. Ini berarti bahwa semua aliran data yang masuk ke proses tunggal di Level 0 harus muncul sebagai aliran data masuk ke salah satu proses di Level 1. Begitu juga, semua aliran data yang keluar dari proses tunggal di Level 0 harus muncul sebagai aliran data keluar dari salah satu proses di Level 1. Aliran data yang baru muncul di Level 1 adalah aliran data internal antar proses atau antara proses dan data store.
DFD Level 1 memberikan detail yang cukup untuk memahami operasi utama sistem, tetapi masih mempertahankan tingkat abstraksi yang wajar. Ini adalah level pertama di mana kita bisa melihat bagaimana data bergerak di dalam sistem, melewati berbagai fungsi utama dan berinteraksi dengan penyimpanan data.
Komponen DFD Level 1¶
- Beberapa Proses: Hasil dekomposisi proses tunggal Level 0. Setiap proses diberi nomor (misalnya 1.0, 2.0, 3.0, atau 1, 2, 3) yang menunjukkan bahwa mereka adalah bagian dari dekomposisi Level 0.
- Entitas Eksternal: Sama seperti di Level 0, terhubung ke proses-proses yang relevan di level ini.
- Aliran Data: Menunjukkan pergerakan data antar entitas eksternal dan proses, antar proses, dan antara proses dan data store.
- Data Store: Tempat data disimpan di dalam sistem.
Melanjutkan contoh sistem pemrosesan pesanan online:
- Proses-proses Level 1: 1.0 Proses Pesanan Masuk, 2.0 Kelola Inventori, 3.0 Proses Pembayaran, 4.0 Siapkan Pengiriman.
- Entitas Eksternal: Pelanggan, Sistem Gudang, Sistem Pembayaran, Sistem Pengiriman (sama seperti Level 0).
- Data Store: Data Pesanan, Data Pelanggan, Data Produk.
- Aliran Data: Pesanan Masuk (dari Pelanggan ke Proses 1.0), Detail Pesanan (dari Proses 1.0 ke Data Pesanan), Informasi Pesanan (dari Data Pesanan ke Proses 2.0), Status Stok (dari Sistem Gudang ke Proses 2.0), Update Stok (dari Proses 2.0 ke Data Produk), Informasi Pembayaran (dari Proses 1.0 ke Proses 3.0), Konfirmasi Pembayaran (dari Sistem Bank ke Proses 3.0), Update Status Pembayaran (dari Proses 3.0 ke Data Pesanan), Data Pengiriman (dari Data Pesanan ke Proses 4.0), dll.
Perhatikan bagaimana aliran data dari Level 0 (Pesanan Masuk, Konfirmasi Pesanan, Informasi Pengiriman, Detail Pembayaran) harus “seimbang” di Level 1, masuk dan keluar dari proses-proses yang relevan.
Image just for illustration
Contoh DFD Level 1 dengan Mermaid¶
Melanjutkan contoh DFD Level 0 sebelumnya:
```mermaid
graph LR
A[Pelanggan] →|Pesanan Barang| P1(1.0 Proses Pesanan);
P1 →|Detail Pesanan| DS1[Data Pesanan];
DS1 →|Informasi Pesanan| P2(2.0 Kelola Inventori);
C[Gudang] →|Status Stok| P2;
P2 →|Update Stok| DS2[Data Produk];
DS1 →|Data Pembayaran| P3(3.0 Proses Pembayaran);
D[Sistem Bank] →|Konfirmasi Pembayaran| P3;
P3 →|Update Status Pembayaran| DS1;
DS1 →|Data Pengiriman| P4(4.0 Siapkan Pengiriman);
P4 →|Informasi Pengiriman| E[Sistem Pengiriman];
P4 →|Konfirmasi Pesanan| A;
subgraph Sistem Toko Online
P1; P2; P3; P4;
DS1; DS2;
end
```
Diagram Mermaid ini menggambarkan DFD Level 1 yang memecah proses tunggal “Sistem Toko Online” menjadi proses-proses (1.0 - 4.0) dan memperkenalkan data store (Data Pesanan, Data Produk). Entitas eksternal (Pelanggan, Gudang, Sistem Bank, Sistem Pengiriman) tetap ada dan terhubung ke proses yang relevan. Aliran data dari Level 0 (Pesanan Barang, Konfirmasi Pesanan) muncul di level ini, serta aliran data internal baru (Detail Pesanan, Informasi Pesanan, dll.).
Perhatikan subgraf “Sistem Toko Online” di sekitar proses dan data store. Ini secara implisit menunjukkan bahwa komponen-komponen ini berada di dalam “kotak” sistem dari Level 0.
Perbedaan Utama DFD Level 0 dan Level 1¶
Setelah melihat penjelasan masing-masing, mari kita rangkum perbedaan mendasar antara DFD Level 0 dan DFD Level 1 agar lebih mudah dipahami:
- Jumlah Proses: DFD Level 0 hanya memiliki satu proses tunggal, mewakili seluruh sistem. DFD Level 1 memiliki beberapa proses yang merupakan hasil dekomposisi dari proses Level 0.
- Tingkat Detail: DFD Level 0 adalah yang paling abstrak, hanya menunjukkan interaksi eksternal sistem. DFD Level 1 memberikan detail lebih lanjut tentang fungsi-fungsi utama di dalam sistem.
- Komponen Penyimpanan Data (Data Store): DFD Level 0 tidak pernah memiliki data store. Data store muncul di DFD Level 1 dan level-level berikutnya, karena mereka mewakili penyimpanan data internal sistem.
- Fokus: DFD Level 0 fokus pada ruang lingkup (scope) sistem dan interaksinya dengan dunia luar. DFD Level 1 fokus pada fungsi-fungsi utama sistem dan aliran data antar fungsi tersebut serta penyimpanan data.
- Hubungan: DFD Level 1 adalah dekomposisi (pecahan) dari proses tunggal di DFD Level 0. Mereka harus seimbang (balanced) dalam hal aliran data eksternal.
- Penomoran Proses: Proses di Level 0 biasanya diberi nomor ‘0’. Proses di Level 1 diberi nomor yang menunjukkan mereka adalah pecahan dari Level 0 (misalnya 1.0, 2.0, 3.0 jika dipecah dari proses 0).
Memulai dengan Level 0 lalu lanjut ke Level 1 adalah praktik standar dalam analisis sistem. Level 0 memastikan kita semua sepakat tentang apa saja yang ada di dalam dan di luar sistem, serta interaksi utamanya. Level 1 kemudian memecah sistem menjadi bagian-bagian yang lebih mudah dikelola dan dipahami fungsi-fungsinya.
| Fitur | DFD Level 0 (Diagram Konteks) | DFD Level 1 |
|---|---|---|
| Jumlah Proses | Satu proses tunggal | Beberapa proses (hasil dekomposisi Level 0) |
| Tingkat Detail | Paling abstrak, fokus pada batas sistem | Lebih detail, menunjukkan fungsi utama di dalam sistem |
| Data Store | Tidak ada | Muncul di level ini, menunjukkan penyimpanan data internal |
| Fokus | Ruang lingkup sistem & interaksi eksternal | Fungsi-fungsi utama, aliran data antar fungsi, dan interaksi dengan data store |
| Hubungan | Titik awal, mewakili seluruh sistem | Dekomposisi Level 0, harus balanced dengan Level 0 |
| Penomoran | Proses ‘0’ | Proses bernomor (misal 1.0, 2.0, …) |
Tabel ini bisa jadi referensi cepat untuk melihat perbedaannya.
Kenapa Perlu Ada Banyak Level?¶
Mungkin ada yang bertanya, kenapa tidak langsung saja buat DFD yang sangat rinci? Jawabannya ada pada prinsip dekomposisi fungsional. Sistem yang kompleks akan sangat sulit dipahami jika digambarkan dalam satu diagram super besar dan rinci. DFD bertingkat memungkinkan kita untuk:
- Memahami dari Umum ke Khusus: Mulai dari gambaran besar (Level 0) lalu masuk ke detail (Level 1, Level 2, dst.). Ini memudahkan pemahaman bagi semua pihak.
- Mengelola Kompleksitas: Setiap level hanya menampilkan detail yang relevan untuk tingkat abstraksi tersebut. Ini mencegah diagram menjadi terlalu rumit dan membingungkan.
- Komunikasi yang Efektif: Level yang berbeda cocok untuk audiens yang berbeda. DFD Level 0 mungkin cukup untuk manajer tingkat atas, sementara DFD Level 1 atau Level 2 diperlukan untuk analis dan pengembang.
- Identifikasi Kebutuhan Secara Bertahap: Detail fungsional dan kebutuhan penyimpanan data bisa diidentifikasi secara bertahap seiring dengan proses dekomposisi.
Biasanya, proses dekomposisi berlanjut sampai setiap proses di level terbawah cukup sederhana untuk dijelaskan dengan narasi atau spesifikasi yang jelas (misalnya, dalam satu atau dua paragraf). Level ini disebut primitive process.
Tips Penting Saat Menggambar DFD Level 0 dan 1¶
Menggambar DFD, termasuk Level 0 dan Level 1, butuh ketelitian. Berikut beberapa tips yang bisa membantu:
- Mulai dari Level 0: Selalu definisikan Diagram Konteks terlebih dahulu. Ini membantu menetapkan batasan sistem yang jelas sebelum masuk ke detail internal.
- Identifikasi Entitas Eksternal dengan Benar: Pikirkan siapa/apa saja yang mengirim data ke sistem Anda dan siapa/apa saja yang menerima data dari sistem Anda.
- Label Aliran Data dengan Jelas: Gunakan label yang spesifik untuk menggambarkan jenis data yang mengalir, bukan hanya kata kerja (misalnya, “Data Pelanggan”, bukan “Kirim”).
- Jaga Keseimbangan (Balancing): Pastikan semua aliran data eksternal di Level 0 muncul dengan tepat di Level 1. Jika ada aliran data masuk di Level 0, itu harus masuk ke salah satu proses di Level 1. Jika ada aliran data keluar di Level 0, itu harus keluar dari salah satu proses di Level 1.
- Fokus pada Aliran Data, Bukan Kontrol: Ingat, DFD adalah tentang data, bukan urutan eksekusi langkah-langkah (itu domain flowchart).
- Gunakan Notasi Secara Konsisten: Pilih satu set simbol (misalnya Yourdon-DeMarco atau Gane & Sarson) dan gunakan secara konsisten di semua level diagram Anda.
- Libatkan Pengguna: Validasi DFD Anda dengan pengguna sistem atau stakeholder terkait. Mereka adalah sumber informasi terbaik mengenai bagaimana sistem (seharusnya) beroperasi.
Fakta Menarik Seputar DFD¶
- DFD pertama kali dikembangkan pada tahun 1970-an oleh Larry Constantine sebagai bagian dari metode Structured Design. Kemudian dipopulerkan oleh Edward Yourdon, Tom DeMarco, Chris Gane, dan Trish Sarson.
- Ada berbagai notasi simbol untuk DFD (Yourdon-DeMarco, Gane & Sarson, Martin). Perbedaan utama terletak pada bentuk simbol proses dan data store, tapi konsepnya sama. Di dunia akademis dan profesional, notasi Yourdon-DeMarco (lingkaran untuk proses) dan Gane & Sarson (persegi membulat untuk proses, dua garis paralel untuk data store) paling umum.
- DFD sering digunakan bersama dengan alat analisis terstruktur lainnya seperti Kamus Data (Data Dictionary) dan Spesifikasi Proses (Process Specifications) untuk memberikan gambaran sistem yang lebih lengkap. Kamus data menjelaskan setiap elemen data dan aliran data dalam DFD, sementara spesifikasi proses menjelaskan logika di balik setiap proses primitif.
Memahami DFD Level 0 dan Level 1 adalah langkah awal yang sangat baik dalam mempelajari pemodelan sistem. Mereka memberikan fondasi visual untuk berkomunikasi dan menganalisis kebutuhan sistem sebelum melangkah ke tahap desain.
Kesimpulan¶
Secara ringkas, DFD Level 0 memberikan pandangan tingkat tinggi sistem sebagai satu unit yang berinteraksi dengan entitas eksternal, menetapkan ruang lingkup sistem. DFD Level 1, hasil dekomposisi Level 0, memberikan detail lebih lanjut tentang fungsi-fungsi utama di dalam sistem, menunjukkan aliran data antar fungsi tersebut dan interaksinya dengan penyimpanan data internal (data store). Keduanya saling melengkapi dan merupakan langkah penting dalam proses analisis sistem yang terstruktur. Memahami perbedaan dan hubungan antara kedua level ini sangat krusial untuk bisa membaca dan menggambar DFD dengan efektif.
Gimana? Semoga penjelasan ini bikin kamu makin paham bedanya DFD Level 0 dan Level 1 ya!
Punya pengalaman menggambar DFD? Atau mungkin ada pertanyaan lain seputar topik ini? Yuk, bagikan di kolom komentar di bawah!
Posting Komentar