Data Flow Diagram (DFD)

Pengantar Umum

Merancang sistem komputerisasi adalah tugas pokok dari seorang Systems Analyst. Hasil rancangan tersebut selanjutnya akan ditindaklanjuti dengan pembuatan program aplikasi oleh programmer. Sistem komputerisasi yang telah dibuat selanjutnya akan diimplementasikan oleh user.

Pada kenyataannya, banyak sekali pertimbangan yang harus dilakukan seseorang dalam membuat sistem komputerisasi, misalkan spesifikasi hardware dan software (teknologi) apa saja yang dibutuhkan, berapa anggaran yang disediakan, siapa saja yang terlibat dan harus ditraining, waktu yang tersedia, dan sebagainya.

Karenanya, perancangan sistem komputerisasi akan melibatkan banyak orang di dalamnya. Hal ini mengharuskan dibuatnya ‘master plan,’ ‘blue print,’ atau skenario umum yang harus disepakati bersama terlebih dulu.

Catatan ini hanya memberikan sedikit gambaran dari perancangan sistem komputerisasi yang sangat rumit, yaitu hanya membahas tentang Data Flow Diagram, Entity Relationship Diagram, dan Normalisasi Data.

Data Flow Diagram (DFD)

Pengantar DFD

DFD merupakan salah satu komponen dalam serangkaian pembuatan perancangan sebuah sistem komputerisasi. DFD menggambarkan aliran data dari sumber pemberi data (input) ke penerima data (output). Aliran data itu perlu diketahui agar si pembuat sistem tahu persis kapan sebuah data harus disimpan, kapan harus ditanggapi (proses), dan kapan harus didistribusikan ke bagian lain.





Komponen-komponen DFD

Komponen-komponen DFD terdiri atas :

Terminator Proses Alur Data Penyimpan Data (data store)

Gambar 1. Komponen-komponen DFD

(1). Terminator

Terminator dapat disebut juga ‘Kesatuan Luar,’ yaitu suatu unit kerja/ jabatan, atau sejenisnya yang berada di luar sistem tetapi memberi andil atas pemberian atau penerimaan data dari sistem secara langsung. Terminator dapat pula disebut dengan ‘Sumber Pemberi Data (input),’ maupun ‘Tujuan Pemberian Data (output).’

Pemberi data dan penerima data yang dimaksud adalah pihak yang sangat dekat dan memiliki hubungan langsung dengan sistem. Adapun pihak luar yang berhubungan dengan pihak luar lainnya tidak boleh digambarkan. Misalkan, dalam pengisian KRS, mahasiswa berhubungan dengan sistem. Orang tua berhubungan dengan mahasiswa, tetapi tidak berhubungan dengan sistem, karenanya, kesatuan luar ‘orang tua’, tidak boleh digambarkan.



Gambar 2. Contoh Hubungan Terminator yang Salah

(2). Proses

Proses adalah suatu tindakan yang akan diambil terhadap data yang masuk. Karena proses adalah tindakan, maka proses berisi kata kerja, Proses diberikan identifikasi (nomor) agar mempermudah sekuen untuk diagram detilnya.



Gambar 3. Contoh Proses

(3). Alur Data

Alur data menggambarkan data yang mengalir dari terminator ke proses atau dari proses ke proses lainnya. Data yang dibawa oleh alur data harus disebutkan dan diletakkan di atas lambang alur data dan bila alur data digambar panjang, sebaiknya penulisan data mendekati lambang anak panahnya.





Gambar 4. Contoh Alur Data Searah dan Dua Arah

Data yang menempati alur data dapat berupa elemen data tunggal, maupun kumpulan elemen data. Misalkan, pada kumpulan elemen data : ‘Jawaban Ujian’, dapat ditulis secara lengkap dengan menyebutkan setiap elemen data yang ada di sana, yaitu : ‘Lembar Jawaban’, dan ‘Naskah Soal’.

(4). Penyimpan Data (Data Store)

Data yang akan disimpan perlu ditempatkan ke satu tempat penyimpanan data. Data yang disimpan dapat berupa data manual maupun data digital. Untuk data digital, penyimpan data tersebut kelak akan dijadikan file data di komputer. Alur data yang anak panahnya menuju penyimpan data, kegiatannya adalah ‘menulis/ merekam’ data, sehingga isi file data akan berubah karenanya. Sedangkan alur data yang anak panahnya menuju ke proses dari penyimpan data, kegiatannya adalah ‘membaca’ data, sehingga isi file data tidak akan berubah karenanya.

Penyimpan data harus diberi nama, misalkan data yang berisi biodata mahasiswa diberi nama ‘MAHASISWA’.


Gambar 5. Menulis dan Membaca data di Penyimpan Data

LEVELISASI DFD

DFD digambarkan secara bertingkat, dari tingkat yang global berturut-turut hingga tingkat yang sangat detil. Tingkat yang global (umum) disebut dengan ‘Diagram Konteks’ atau ‘Context Diagram’. Ini termasuk level 0.

Selanjutnya, dari diagram konteks, prosesnya dijabarkan lebih rinci lagi di ‘Diagram Nol’ atau ‘Zero Diagram.’ Ini disebut level 1. Pada diagram nol ini yang berkembang hanya proses dan alur data yang menghubungkan proses-prosesnya, sedangkan jumlah terminator dan alur data yang masuk atau keluar dari terminator, tetap.

Bila, masih dirasakan perlu memerinci proses berikutnya, maka diagram selanjutnya disebut dengan ‘Diagram Detil’ atau ‘Diagram primitif.’ Ini disebut dengan level 2. Dalam diagram detil, yang digambar cukup proses (nomor berapa) yang perlu didetilkan saja, selain itu (proses lainnya, atau terminatornya) tidak perlu digambarkan.

Bila masih dapat lebih didetilkan lagi, maka level 3, dan seterusnya bisa dibuat.

Contoh Kasus

Di sebuah tempat penyewaan Video Compact Disk (VCD), masih dilakukan pencatatan manual untuk Penyewaan dan pengembalian VCD oleh Penyewa. Dalam kasus ini, akan dirancang sistem komputerisasi Penyewaan (saja) VCD tersebut.

Analisis

1. Pihak-pihak yang terkait :
a. Penyewa;
b. Pemilik usaha;
c. Petugas.

Petugas berada di dalam sistem (yang menjalankan sistem), sehingga tidak perlu digambarkan. Dari sini, terdapat 2 terminator, yaitu a dan b.

1.a. Penyewa

Data apa saja yang akan diberikan oleh Penyewa kepada sistem, dan data apa saja yang diberikan sistem kepada penyewa ?. Analisis ini bertujuan untuk menentukan data apa saja yang akan mengalir di alur data dari terminator Penyewa ke sistem (proses), dan sebaliknya.

1.a.1. Penyewa Baru
Penyewa baru (di kasus ini) harus membuat Kartu Anggota terlebih dulu. Pembuatan Kartu Anggota tidak dipungut biaya tetapi si Penyewa harus menunjukkan identitas diri (contoh : KTP).

Petugas akan mencatat identitas Penyewa, membuatkan Kartu Anggota, dan bersama dengan KTP tersebut diserahkan kembali ke Penyewa.



Proses manual bahwa KTP tersebut dikembalikan ke Penyewa tidak harus digambarkan di dalam arus data.

1.a.2. Prosedur Penyewaan oleh Penyewa

Penyewa yang akan meminjam film dipersilakan mencari sendiri filmnya, namun, bila mereka enggan mencarinya (tidak ketemu), mereka dapat langsung bertanya ke petugas. Petugas akan mengecek data film yang dicari dan akan dipinjam tersebut ke file di komputer. Hasil pengecekan itu diinformasikan kepada Penyewa.

Bila film dicari ada dan mereka mau meminjamnya, maka si Penyewa harus menyerahkan Kartu Anggotanya (di lapangan, bisa saja hanya dengan menyebutkan identitasnya saja), dan uang sewanya.

Adakalanya, petugas yang tidak yakin akan keanggotaan si Penyewa, dia melakukan cek keanggotaan ke file komputer. Bila ternyata data keanggotaannya tidak ada, maka si Petugas akan melakukan penolakan (pembatalan transaksi).

Bila benar anggota, maka Petugas akan mencatat data film yang dipinjam si Penyewa tersebut (transaksi) dan akan menyerahkan kembali Kartu Anggota dan film yang akan dipinjam tersebut ke Penyewa.



[Film | Informasi Penolakan] bisa ditulis : Film, Informasi Penolakan.

1.b. Pemilik Usaha (disingkat dengan Pemilik).

Apa saja data yang dibutuhkan oleh pemilik atas sistem, dan data apa saja yang diberikan oleh pemilik kepada sistem, perlu di analisis. Analisis ini akan menghasilkan alur data apa saja yang mengalir dari Terminator ke sistem dan sebaliknya.

Pada kasus ini, dicontohkan bahwa Pemilik hanya butuh laporan keuangan harian.



Dari analisis di atas, dapat dirancang DFD konteksnya :




Gambar 6. DFD Konteks Kasus di Atas

“Aplikasi Peminjaman” yang tergambar di atas bisa saja ditulis secara detil, misalkan Bukti Keanggotaan, Uang Sewa, dan Daftar Film yang akan Disewa. “Identitas” boleh saja ditulis [KTP|SIM].

Sekali lagi, yang mengalir adalah data yang akan mempegaruhi proses komputerisasi, sedangkan untuk proses manualnya tidak perlu digambarkan. Misalkan, sewaktu akan meminjam film, Penyewa menyerahkan Kartu Anggota dan sewaktu menerima film, Kartu Anggota tersebut dikembalikan. Hal itu tidak perlu digambarkan.

2. Pembuatan Diagram Nol (Level 1)

Diagram Nol adalah pengembangan proses yang lebih mendetil dari proses (sistem) yang ada di konteksnya. Jadi, jumlah terminator dan alur data yang masuk dan keluar dari terminator harus tetap.

2.1. Proses Pembuatan Kartu Anggota

Lihat poin 1.a.1. di atas. Gambar DFD-nya :


Gambar 7. Penggalan Diagram Nol

2.2. Proses Penyewaan VCD

Lihat poin 1.a.2. di atas. DFD-nya akan digambarkan sebagai :

Gambar 8. Penggalan Diagram Nol

2.3. Proses Permintaan Informasi Keberadaan Film
Gambar 9. Penggalan Diagram Nol

2.4. Gambar DFD Zero (level 1) Lengkapnya


Gambar 10. DFD Level 1 Kasus di Atas

Beberapa catatan tambahan :

(1) Pembuatan rancangan DFD harus sesuai dengan prosedur yang berlaku di tempat penelitian (jadi harus ada pembahasan mengenai prosedur yang berlaku, dan prosedur tersebut bukan penguji yang menentukan);
(2) Penggambaran DFD hendaknya dibuat sebaik mungkin (mudah ditelusuri, dan tidak rumit, misalkan dengan tidak adanya alur data yang bersilangan).
(3) Bila akan terjadi persilangan alur di penyimpan data, maka penyimpan data tersebut dapat digambar kembali dan diberi tanda ‘*’ yang menandakan bahwa penyimpan data tersebut sama dengan nama penyimpan data sebelumnya (copy).
(4) Tanda ‘*’ di nomor proses berarti proses tersebut tidak perlu didetilkan lagi.

3. Pembuatan Diagram Detil (level 2)

Diagram detil perlu digambarkan bila masih ada suatu proses yang bisa dirinci lebih lanjut. Di sini dimisalkan penggambaran dari proses 1.0 (Pembuatan Kartu Anggota).



Gambar 11. Diagram 1.0 Level 2

Gambar 12. Diagram 2.0 Level 2


ENTITY RELATIONSHIP DIAGRAM (ERD)

Pengantar

ERD adalah gambaran mengenai berelasinya antarentitas. Sistem adalah kumpulan elemen yang setiap elemen memiliki fungsi masing-masing dan secara bersama-sama mencapai tujuan dari sistem tersebut. ‘Kebersama-sama’-an dari sistem di atas dilambangkan dengan saling berelasinya antara satu entitas dengan entitas lainnya.

Entitas (entity/ entity set), memiliki banyak istilah di dalam ilmu komputer, seperti tabel (table), berkas (data file), penyimpan data (data store), dan sebagainya.