Beranda

Contoh DFD Sistem Informasi Perpustakaan: Diagram Konteks, Level 0, dan Level 1

Yogi Mardilah ·

Setelah membuat ERD database perpustakaan, tugas berikutnya di mata kuliah analisis sistem biasanya adalah membuat DFD (Data Flow Diagram). ERD menjawab pertanyaan "data apa saja yang disimpan", sedangkan DFD menjawab "data mengalir dari mana, diproses apa, dan disimpan di mana".

Lorong rak buku di perpustakaan

Foto: rawpixel (CC0)

Simbol DFD

Ada dua gaya notasi yang umum dipakai: Yourdon/DeMarco dan Gane-Sarson. Isinya sama, hanya bentuk simbolnya yang berbeda. Di tulisan ini saya pakai Yourdon/DeMarco.

KomponenYourdon/DeMarcoGane-SarsonFungsi
Entitas luar (terminator)PersegiPersegiOrang atau sistem di luar sistem yang memberi atau menerima data
ProsesLingkaranPersegi sudut tumpulKegiatan yang mengubah data masukan menjadi keluaran
Penyimpanan data (data store)Dua garis sejajarPersegi terbuka di satu sisiTempat data disimpan, biasanya menjadi tabel database
Aliran dataPanahPanahData yang berpindah, selalu diberi nama berupa kata benda

Kasus: sistem informasi perpustakaan

Ringkasan kebutuhan sistem:

  • Anggota mendaftar, lalu menerima kartu anggota.
  • Petugas mencatat buku baru.
  • Anggota meminjam dan mengembalikan buku. Keterlambatan dikenai denda.
  • Kepala perpustakaan menerima laporan peminjaman setiap bulan.

1. Diagram konteks (level konteks)

Diagram konteks menggambarkan seluruh sistem sebagai satu proses beserta entitas luar yang berhubungan dengannya. Di level ini belum ada data store.

Anggota Petugas KepalaPerpustakaan 0Sistem InformasiPerpustakaan data pendaftaran,permintaan pinjam,buku kembali kartu anggota, buktipinjam, tagihan denda data buku laporan peminjaman

2. DFD level 0

Proses tunggal di diagram konteks dipecah menjadi proses-proses utama, dan mulai muncul data store. Data store ini nanti menjadi tabel database, sehingga harus konsisten dengan ERD.

Anggota Petugas KepalaPerpustakaan 1.0Pendaftaran 2.0Kelola Buku 3.0Peminjaman 4.0Pengembalian 5.0Buat Laporan D1 AnggotaD2 BukuD3 Peminjaman data daftar data buku minta pinjam bukti pinjam buku kembali tagihan denda laporan status kembali

Penjelasan setiap proses:

  • 1.0 Pendaftaran — menerima data pendaftaran dari anggota, lalu menyimpannya ke D1 Anggota.
  • 2.0 Kelola Buku — petugas memasukkan data buku ke D2 Buku.
  • 3.0 Peminjaman — memeriksa keanggotaan (D1) dan ketersediaan buku (D2), mencatat transaksi ke D3 Peminjaman, lalu memberi bukti pinjam.
  • 4.0 Pengembalian — membaca data pinjaman dari D3, menghitung keterlambatan, memperbarui tanggal kembali, dan memberi tagihan denda bila ada.
  • 5.0 Buat Laporan — membaca D3 dan D2, lalu menghasilkan laporan bulanan untuk kepala perpustakaan.

Agar gambar tidak terlalu ramai, sebagian panah baca/tulis ke data store hanya digambar sekali. Dalam tugas resmi, setiap aliran data sebaiknya diberi nama.

3. Level 1 (contoh: proses 4.0 Pengembalian)

Proses yang masih kompleks bisa dipecah lagi. Proses 4.0 misalnya dipecah menjadi:

  • 4.1 Cari data pinjaman — berdasarkan kode anggota dan kode buku, dibaca dari D3.
  • 4.2 Hitung keterlambatan — membandingkan tanggal kembali dengan jatuh tempo.
  • 4.3 Hitung denda — hari terlambat × tarif denda per hari.
  • 4.4 Perbarui status — menulis tanggal kembali dan denda ke D3.

Aturan penting yang sering bikin tugas salah

  1. Balancing. Aliran masuk dan keluar di level 0 harus sama dengan aliran di diagram konteks. Jika di konteks ada "laporan peminjaman" ke kepala perpustakaan, di level 0 juga harus ada.
  2. Tidak ada aliran langsung entitas ke entitas, entitas ke data store, atau data store ke data store. Semua aliran harus melewati proses.
  3. Setiap proses punya masukan dan keluaran. Proses yang hanya menerima disebut black hole, sedangkan yang hanya mengeluarkan disebut miracle. Keduanya salah.
  4. Nama proses diawali kata kerja (Catat, Hitung, Buat), sedangkan nama aliran data berupa kata benda (bukti pinjam, data buku).
  5. Penomoran berjenjang: 1.0, 2.0, dst. di level 0, lalu 4.1, 4.2 di level 1 untuk pecahan proses 4.0.

Hubungan DFD dengan ERD

Data store di DFD (D1 Anggota, D2 Buku, D3 Peminjaman) sebaiknya sama dengan entitas atau tabel di ERD. Jika di DFD ada data store yang tidak ada di ERD, atau sebaliknya, berarti salah satu diagram belum lengkap. Pemeriksaan silang ini yang biasanya dicari dosen saat menilai tugas.

Baca juga: normalisasi database sampai 3NF.